summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE.md54
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md36
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.md19
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md33
-rw-r--r--.gitlab-ci.yml195
-rw-r--r--.mailmap95
-rw-r--r--.travis.yml68
-rw-r--r--CHANGELOG.md379
-rw-r--r--CONTRIBUTING.md24
-rw-r--r--Hercules.xcodeproj/project.pbxproj170
-rw-r--r--Makefile.in11
-rw-r--r--README.md39
-rw-r--r--conf/atcommand.conf1
-rw-r--r--conf/channels.conf6
-rw-r--r--conf/char/char-server.conf12
-rw-r--r--conf/clans.conf2
-rw-r--r--conf/common/inter-server.conf3
-rw-r--r--conf/common/socket.conf2
-rw-r--r--conf/global/console.conf44
-rw-r--r--conf/global/sql_connection.conf2
-rw-r--r--conf/groups.conf3
-rw-r--r--conf/import-tmpl/battle.conf2
-rw-r--r--conf/import-tmpl/char-server.conf2
-rw-r--r--conf/import-tmpl/inter-server.conf2
-rw-r--r--conf/import-tmpl/login-server.conf2
-rw-r--r--conf/import-tmpl/logs.conf2
-rw-r--r--conf/import-tmpl/map-server.conf2
-rw-r--r--conf/import-tmpl/script.conf2
-rw-r--r--conf/import-tmpl/socket.conf2
-rw-r--r--conf/login/login-server.conf6
-rw-r--r--conf/map/battle.conf5
-rw-r--r--conf/map/battle/battle.conf2
-rw-r--r--conf/map/battle/battleground.conf2
-rw-r--r--conf/map/battle/client.conf27
-rw-r--r--conf/map/battle/drops.conf7
-rw-r--r--conf/map/battle/exp.conf2
-rw-r--r--conf/map/battle/feature.conf17
-rw-r--r--conf/map/battle/gm.conf2
-rw-r--r--conf/map/battle/guild.conf2
-rw-r--r--conf/map/battle/homunc.conf2
-rw-r--r--conf/map/battle/items.conf10
-rw-r--r--conf/map/battle/limits.conf57
-rw-r--r--conf/map/battle/misc.conf2
-rw-r--r--conf/map/battle/monster.conf4
-rw-r--r--conf/map/battle/party.conf2
-rw-r--r--conf/map/battle/pet.conf2
-rw-r--r--conf/map/battle/player.conf3
-rw-r--r--conf/map/battle/skill.conf45
-rw-r--r--conf/map/battle/status.conf2
-rw-r--r--conf/map/logs.conf2
-rw-r--r--conf/map/map-server.conf3
-rw-r--r--conf/map/maps.conf22
-rw-r--r--conf/map/script.conf4
-rw-r--r--conf/messages.conf13
-rwxr-xr-xconfigure94
-rw-r--r--configure.ac25
-rw-r--r--db/constants.conf160
-rw-r--r--db/item_db2.conf2
-rw-r--r--db/map_index.txt15
-rw-r--r--db/mob_db2.conf2
-rw-r--r--db/option_drop_groups.conf53
-rw-r--r--db/pre-re/item_db.conf2470
-rw-r--r--db/pre-re/mob_db.conf2
-rw-r--r--db/pre-re/mob_skill_db.conf6
-rw-r--r--db/pre-re/refine_db.conf185
-rw-r--r--db/pre-re/skill_db.conf3
-rw-r--r--db/re/item_combo_db.txt1
-rw-r--r--db/re/item_db.conf2518
-rw-r--r--db/re/mob_db.conf2
-rw-r--r--db/re/refine_db.conf624
-rw-r--r--db/re/skill_db.conf11
-rw-r--r--doc/atcommands.txt24
-rw-r--r--doc/constants.md795
-rw-r--r--doc/effect_list.md1126
-rw-r--r--doc/effect_list.txt986
-rw-r--r--doc/global_configuration.md65
-rw-r--r--doc/global_configuration.txt69
-rw-r--r--doc/item_bonus.md436
-rw-r--r--doc/item_bonus.txt444
-rw-r--r--doc/mob_db.txt68
-rw-r--r--doc/mob_db_mode_list.md72
-rw-r--r--doc/mob_db_mode_list.txt113
-rw-r--r--doc/option_drop_group.md97
-rw-r--r--doc/permissions.md51
-rw-r--r--doc/permissions.txt39
-rw-r--r--doc/quest_variables.md262
-rw-r--r--doc/quest_variables.txt108
-rw-r--r--doc/sample/getiteminfo.txt9
-rw-r--r--doc/sample/npc_trader_sample.txt8
-rw-r--r--doc/script_commands.txt645
-rw-r--r--maps/pre-re/1@cor.mcachebin0 -> 4146 bytes
-rw-r--r--maps/pre-re/1@gl_prq.mcachebin0 -> 3437 bytes
-rw-r--r--maps/pre-re/1@os_a.mcachebin0 -> 7350 bytes
-rw-r--r--maps/pre-re/1@os_b.mcachebin0 -> 2157 bytes
-rw-r--r--maps/pre-re/1@rgsr.mcachebin0 -> 1836 bytes
-rw-r--r--maps/pre-re/gl_cas01_.mcachebin0 -> 6131 bytes
-rw-r--r--maps/pre-re/mag_dun03.mcachebin0 -> 1749 bytes
-rw-r--r--maps/pre-re/pub_cat.mcachebin0 -> 763 bytes
-rw-r--r--maps/pre-re/rgsr_in.mcachebin0 -> 1833 bytes
-rw-r--r--maps/pre-re/sp_cor.mcachebin0 -> 4146 bytes
-rw-r--r--maps/pre-re/sp_os.mcachebin0 -> 7339 bytes
-rw-r--r--maps/pre-re/sp_rudus.mcachebin0 -> 6326 bytes
-rw-r--r--maps/pre-re/sp_rudus2.mcachebin0 -> 7390 bytes
-rw-r--r--maps/pre-re/sp_rudus3.mcachebin0 -> 6494 bytes
-rw-r--r--maps/re/1@cor.mcachebin0 -> 4146 bytes
-rw-r--r--maps/re/1@gl_prq.mcachebin0 -> 3437 bytes
-rw-r--r--maps/re/1@os_a.mcachebin0 -> 7350 bytes
-rw-r--r--maps/re/1@os_b.mcachebin0 -> 2157 bytes
-rw-r--r--maps/re/1@rgsr.mcachebin0 -> 1836 bytes
-rw-r--r--maps/re/gl_cas01_.mcachebin0 -> 6131 bytes
-rw-r--r--maps/re/mag_dun03.mcachebin0 -> 1749 bytes
-rw-r--r--maps/re/pub_cat.mcachebin0 -> 763 bytes
-rw-r--r--maps/re/rgsr_in.mcachebin0 -> 1833 bytes
-rw-r--r--maps/re/sp_cor.mcachebin0 -> 4146 bytes
-rw-r--r--maps/re/sp_os.mcachebin0 -> 7339 bytes
-rw-r--r--maps/re/sp_rudus.mcachebin0 -> 6326 bytes
-rw-r--r--maps/re/sp_rudus2.mcachebin0 -> 7390 bytes
-rw-r--r--maps/re/sp_rudus3.mcachebin0 -> 6494 bytes
-rw-r--r--npc/cities/jawaii.txt4
-rw-r--r--npc/cities/morocc.txt2
-rw-r--r--npc/custom/bartershop.txt21
-rw-r--r--npc/custom/etc/quest_warper.txt6
-rw-r--r--npc/custom/events/disguise.txt10
-rw-r--r--npc/custom/events/mushroom_event.txt11
-rw-r--r--npc/custom/quests/quest_shop.txt4
-rw-r--r--npc/custom/quests/thq/THQS_TTShop.txt4
-rw-r--r--npc/dev/test.txt26
-rw-r--r--npc/events/gdevent_aru.txt36
-rw-r--r--npc/events/gdevent_sch.txt36
-rw-r--r--npc/jobs/2-2e/SoulLinker.txt2
-rw-r--r--npc/merchants/advanced_refiner.txt19
-rw-r--r--npc/merchants/hd_refine.txt15
-rw-r--r--npc/merchants/refine.txt17
-rw-r--r--npc/other/CashShop_Functions.txt27
-rw-r--r--npc/other/Global_Functions.txt52
-rw-r--r--npc/other/inventory_expansion.txt63
-rw-r--r--npc/other/poring_war.txt4
-rw-r--r--npc/quests/kiel_hyre_quest.txt12
-rw-r--r--npc/quests/newgears/2004_headgears.txt16
-rw-r--r--npc/quests/quests_13_1.txt50
-rw-r--r--npc/quests/quests_airship.txt134
-rw-r--r--npc/quests/quests_hugel.txt4
-rw-r--r--npc/quests/quests_louyang.txt2
-rw-r--r--npc/quests/quests_moscovia.txt14
-rw-r--r--npc/quests/quests_rachel.txt10
-rw-r--r--npc/quests/seals/brisingamen_seal.txt4
-rw-r--r--npc/quests/thana_quest.txt14
-rw-r--r--npc/re/cities/dewata.txt8
-rw-r--r--npc/re/events/halloween_2014.txt18
-rw-r--r--npc/re/instances/BangungotHospital.txt10
-rw-r--r--npc/re/instances/OldGlastHeim.txt4
-rw-r--r--npc/re/instances/WolfchevLaboratory.txt54
-rw-r--r--npc/re/instances/ghost_palace.txt2
-rw-r--r--npc/re/jobs/2e/kagerou_oboro.txt14
-rw-r--r--npc/re/jobs/3-1/archbishop.txt14
-rw-r--r--npc/re/jobs/3-1/ranger.txt4
-rw-r--r--npc/re/jobs/3-2/genetic.txt12
-rw-r--r--npc/re/jobs/3-2/sura.txt10
-rw-r--r--npc/re/jobs/novice/academy.txt10
-rw-r--r--npc/re/merchants/hd_refiner.txt11
-rw-r--r--npc/re/merchants/refine.txt11
-rw-r--r--npc/re/merchants/shadow_refiner.txt10
-rw-r--r--npc/re/quests/eden/eden_iro.txt4
-rw-r--r--npc/re/quests/eden/eden_tutorial.txt2
-rw-r--r--npc/re/quests/quests_brasilis.txt6
-rw-r--r--npc/re/quests/quests_malaya.txt24
-rw-r--r--npc/scripts.conf1
-rw-r--r--npc/scripts_custom.conf1
-rw-r--r--npc/woe-fe/agit_main.txt3
-rw-r--r--npc/woe-se/agit_main_se.txt1184
-rw-r--r--sql-files/item_db.sql495
-rw-r--r--sql-files/item_db2.sql2
-rw-r--r--sql-files/item_db_re.sql502
-rw-r--r--sql-files/main.sql75
-rw-r--r--sql-files/mob_db.sql2
-rw-r--r--sql-files/mob_db2.sql2
-rw-r--r--sql-files/mob_db_re.sql2
-rw-r--r--sql-files/mob_skill_db.sql8627
-rw-r--r--sql-files/mob_skill_db2.sql38
-rw-r--r--sql-files/mob_skill_db_re.sql6460
-rw-r--r--sql-files/upgrades/2018-09-01--05-22.sql63
-rw-r--r--sql-files/upgrades/2018-12-14--01-02.sql24
-rw-r--r--sql-files/upgrades/2018-12-29--07-51.sql29
-rw-r--r--sql-files/upgrades/2019-04-08--21-52.sql29
-rw-r--r--sql-files/upgrades/2019-04-25--02-12.sql24
-rw-r--r--sql-files/upgrades/index.txt5
-rw-r--r--src/char/HPMchar.c1
-rw-r--r--src/char/Makefile.in2
-rw-r--r--src/char/char.c250
-rw-r--r--src/char/char.h7
-rw-r--r--src/char/int_guild.c26
-rw-r--r--src/char/int_guild.h2
-rw-r--r--src/char/int_pet.c2
-rw-r--r--src/char/int_pet.h2
-rw-r--r--src/char/int_rodex.c142
-rw-r--r--src/char/int_rodex.h6
-rw-r--r--src/char/inter.c6
-rw-r--r--src/char/mapif.c84
-rw-r--r--src/char/mapif.h7
-rw-r--r--src/char/packets_hc_struct.h45
-rw-r--r--src/common/HPM.c5
-rw-r--r--src/common/HPMDataCheck.h97
-rw-r--r--src/common/HPMSymbols.inc.h23
-rw-r--r--src/common/Makefile.in26
-rw-r--r--src/common/console.c21
-rw-r--r--src/common/core.c47
-rw-r--r--src/common/memmgr.h5
-rw-r--r--src/common/mmo.h59
-rw-r--r--src/common/packets.c64
-rw-r--r--src/common/packets.h47
-rw-r--r--src/common/packets/packets2003_len_main.h1258
-rw-r--r--src/common/packets/packets2003_len_sak.h1258
-rw-r--r--src/common/packets/packets2004_len_ad.h1620
-rw-r--r--src/common/packets/packets2004_len_main.h1810
-rw-r--r--src/common/packets/packets2004_len_sak.h1734
-rw-r--r--src/common/packets/packets2005_len_ad.h1927
-rw-r--r--src/common/packets/packets2005_len_main.h1935
-rw-r--r--src/common/packets/packets2005_len_sak.h1869
-rw-r--r--src/common/packets/packets2006_len_ad.h1925
-rw-r--r--src/common/packets/packets2006_len_main.h1919
-rw-r--r--src/common/packets/packets2006_len_sak.h1932
-rw-r--r--src/common/packets/packets2007_len_ad.h2223
-rw-r--r--src/common/packets/packets2007_len_main.h2217
-rw-r--r--src/common/packets/packets2007_len_sak.h2203
-rw-r--r--src/common/packets/packets2008_len_ad.h18487
-rw-r--r--src/common/packets/packets2008_len_main.h39478
-rw-r--r--src/common/packets/packets2008_len_re.h2944
-rw-r--r--src/common/packets/packets2008_len_sak.h8968
-rw-r--r--src/common/packets/packets2009_len_main.h15405
-rw-r--r--src/common/packets/packets2009_len_re.h3418
-rw-r--r--src/common/packets/packets2009_len_sak.h3054
-rw-r--r--src/common/packets/packets2010_len_main.h5784
-rw-r--r--src/common/packets/packets2010_len_re.h5291
-rw-r--r--src/common/packets/packets2011_len_main.h7200
-rw-r--r--src/common/packets/packets2011_len_re.h4781
-rw-r--r--src/common/packets/packets2012_len_main.h8486
-rw-r--r--src/common/packets/packets2012_len_re.h8498
-rw-r--r--src/common/packets/packets2013_len_main.h8876
-rw-r--r--src/common/packets/packets2013_len_re.h8941
-rw-r--r--src/common/packets/packets2014_len_main.h9079
-rw-r--r--src/common/packets/packets2014_len_re.h9014
-rw-r--r--src/common/packets/packets2015_len_main.h8641
-rw-r--r--src/common/packets/packets2015_len_re.h8562
-rw-r--r--src/common/packets/packets2016_len_main.h9134
-rw-r--r--src/common/packets/packets2016_len_re.h9140
-rw-r--r--src/common/packets/packets2017_len_main.h9103
-rw-r--r--src/common/packets/packets2017_len_re.h9109
-rw-r--r--src/common/packets/packets2017_len_zero.h5375
-rw-r--r--src/common/packets/packets2018_len_main.h5786
-rw-r--r--src/common/packets/packets2018_len_re.h5670
-rw-r--r--src/common/packets/packets2018_len_zero.h5958
-rw-r--r--src/common/packets/packets2019_len_main.h4453
-rw-r--r--src/common/packets/packets2019_len_re.h4459
-rw-r--r--src/common/packets/packets2019_len_zero.h4467
-rw-r--r--src/common/packets/packets_len_ad.h39
-rw-r--r--src/common/packets/packets_len_main.h63
-rw-r--r--src/common/packets/packets_len_re.h53
-rw-r--r--src/common/packets/packets_len_sak.h43
-rw-r--r--src/common/packets/packets_len_zero.h35
-rw-r--r--src/common/packets_len.h35
-rw-r--r--src/common/packetsstatic_len.h41
-rw-r--r--src/common/socket.c158
-rw-r--r--src/common/socket.h20
-rw-r--r--src/common/sysinfo.c8
-rw-r--r--src/config/const.h5
-rw-r--r--src/login/HPMlogin.c3
-rw-r--r--src/login/lclif.c88
-rw-r--r--src/login/lclif.h4
-rw-r--r--src/login/lclif.p.h300
-rw-r--r--src/login/login.c75
-rw-r--r--src/login/login.h1
-rw-r--r--src/login/packets_ac_struct.h156
-rw-r--r--src/login/packets_ca_struct.h239
-rw-r--r--src/map/HPMmap.c5
-rw-r--r--src/map/Makefile.in10
-rw-r--r--src/map/achievement.c82
-rw-r--r--src/map/achievement.h4
-rw-r--r--src/map/atcommand.c230
-rw-r--r--src/map/atcommand.h6
-rw-r--r--src/map/battle.c156
-rw-r--r--src/map/battle.h40
-rw-r--r--src/map/buyingstore.c6
-rw-r--r--src/map/channel.c70
-rw-r--r--src/map/channel.h1
-rw-r--r--src/map/chat.c12
-rw-r--r--src/map/chrif.c5
-rw-r--r--src/map/clif.c2341
-rw-r--r--src/map/clif.h201
-rw-r--r--src/map/guild.c16
-rw-r--r--src/map/guild.h2
-rw-r--r--src/map/homunculus.c4
-rw-r--r--src/map/homunculus.h2
-rw-r--r--src/map/instance.c70
-rw-r--r--src/map/instance.h1
-rw-r--r--src/map/intif.c98
-rw-r--r--src/map/intif.h8
-rw-r--r--src/map/irc-bot.c1
-rw-r--r--src/map/itemdb.c36
-rw-r--r--src/map/itemdb.h8
-rw-r--r--src/map/log.c4
-rw-r--r--src/map/log.h2
-rw-r--r--src/map/mail.c6
-rw-r--r--src/map/map.c200
-rw-r--r--src/map/map.h118
-rw-r--r--src/map/mapdefines.h103
-rw-r--r--src/map/messages_ad.h3
-rw-r--r--src/map/messages_main.h362
-rw-r--r--src/map/messages_re.h362
-rw-r--r--src/map/messages_sak.h3
-rw-r--r--src/map/messages_zero.h424
-rw-r--r--src/map/mob.c377
-rw-r--r--src/map/mob.h57
-rw-r--r--src/map/npc.c305
-rw-r--r--src/map/npc.h33
-rw-r--r--src/map/packets.h4706
-rw-r--r--src/map/packets_keys_main.h886
-rw-r--r--src/map/packets_keys_zero.h70
-rw-r--r--src/map/packets_shuffle_main.h17015
-rw-r--r--src/map/packets_shuffle_re.h16981
-rw-r--r--src/map/packets_shuffle_zero.h1230
-rw-r--r--src/map/packets_struct.h851
-rw-r--r--src/map/party.c6
-rw-r--r--src/map/pc.c230
-rw-r--r--src/map/pc.h132
-rw-r--r--src/map/pet.c41
-rw-r--r--src/map/pet.h4
-rw-r--r--src/map/quest.c77
-rw-r--r--src/map/quest.h35
-rw-r--r--src/map/refine.c669
-rw-r--r--src/map/refine.h148
-rw-r--r--src/map/refine.p.h144
-rw-r--r--src/map/rodex.c100
-rw-r--r--src/map/rodex.h4
-rw-r--r--src/map/script.c1776
-rw-r--r--src/map/script.h45
-rw-r--r--src/map/searchstore.c4
-rw-r--r--src/map/searchstore.h2
-rw-r--r--src/map/skill.c242
-rw-r--r--src/map/skill.h3
-rw-r--r--src/map/status.c527
-rw-r--r--src/map/status.h101
-rw-r--r--src/map/storage.c8
-rw-r--r--src/map/stylist.c228
-rw-r--r--src/map/stylist.h69
-rw-r--r--src/map/trade.c32
-rw-r--r--src/map/unit.c14
-rw-r--r--src/map/unit.h10
-rw-r--r--src/plugins/HPMHooking.c6
-rw-r--r--src/plugins/HPMHooking.h10
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc542
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc59
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc17
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.Hooks.inc406
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.sources.inc3
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc43
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc13
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.Hooks.inc278
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.sources.inc3
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc566
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc146
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc3792
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.sources.inc6
-rw-r--r--src/plugins/db2sql.c332
-rw-r--r--src/plugins/sample.c32
-rw-r--r--src/tool/Makefile.in88
-rwxr-xr-xtools/HPMHookGen/HPMHookGen.pl3
-rw-r--r--tools/HPMHookGen/doxygen.conf4
-rwxr-xr-xtools/ci/travis.sh8
-rwxr-xr-xtools/itemdbconverter.pl6
-rwxr-xr-xtools/mobdbconverter.py4
-rw-r--r--tools/mobskilldbconverter.py2
-rw-r--r--tools/petdbconverter.py2
-rw-r--r--tools/utils/common.py7
-rw-r--r--vcproj-12/char-server.vcxproj1
-rw-r--r--vcproj-12/char-server.vcxproj.filters3
-rw-r--r--vcproj-12/login-server.vcxproj1
-rw-r--r--vcproj-12/login-server.vcxproj.filters3
-rw-r--r--vcproj-12/map-server.vcxproj6
-rw-r--r--vcproj-12/map-server.vcxproj.filters18
-rw-r--r--vcproj-14/char-server.vcxproj1
-rw-r--r--vcproj-14/char-server.vcxproj.filters3
-rw-r--r--vcproj-14/login-server.vcxproj1
-rw-r--r--vcproj-14/login-server.vcxproj.filters3
-rw-r--r--vcproj-14/map-server.vcxproj6
-rw-r--r--vcproj-14/map-server.vcxproj.filters18
-rw-r--r--vcproj-15/char-server.vcxproj3
-rw-r--r--vcproj-15/char-server.vcxproj.filters3
-rw-r--r--vcproj-15/login-server.vcxproj3
-rw-r--r--vcproj-15/login-server.vcxproj.filters3
-rw-r--r--vcproj-15/map-server.vcxproj8
-rw-r--r--vcproj-15/map-server.vcxproj.filters20
-rw-r--r--vcproj-15/plugin-HPMHooking_char.vcxproj2
-rw-r--r--vcproj-15/plugin-HPMHooking_login.vcxproj2
-rw-r--r--vcproj-15/plugin-HPMHooking_map.vcxproj2
-rw-r--r--vcproj-15/plugin-sample.vcxproj2
395 files changed, 339290 insertions, 36561 deletions
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
deleted file mode 100644
index c661cbd47..000000000
--- a/.github/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,54 +0,0 @@
-[//]: # (**********************************)
-[//]: # (** Fill in the following fields **)
-[//]: # (**********************************)
-
-[//]: # (Note: Lines beginning with syntax such as this one, are comments and will not be visible in your report!)
-
-### Issue Prelude
-
-[//]: # (Please complete these mandatory steps and check the following boxes by putting an `x` inside the brackets _before_ filing your issue)
-
-- [ ] I have not modified the source prior to reproducing this issue.
-- [ ] I am using the latest version of Hercules.
-- [ ] I am aware that this report will be closed or deleted if it becomes obvious that I am stating the false.
-
-### Description
-
-[//]: # (Description of the problem or issue at length.)
-[//]: # (Please specify any battle configuration related to the components of this issue that have been changed from the default values. This will allow quicker determination of the cause of the problem.)
-
-### Current Behavior
-
-[//]: # (Describe at length what you noticed during your analysis.)
-[//]: # (If this is a crash, post the core/stack-dump or crash-log to https://gist.github.com/)
-[//]: # (If you are referencing from sources such as iROwiki or ratemyserver.net, please quote specific information rather than providing the links alone.)
-
-### Expected Behavior
-
-[//]: # (Tell us what should happen instead.)
-
-### Steps To Reproduce The Issue
-
-1. Step 1
-2. Step 2
-3. Step 3
-
-**Branch(es):**
-- [ ] master
-- [ ] other
-
-**Hercules rev. hash/commit:**
-
-Git revision src:
-
-[//]: # (Copy the first 3 lines of the login-server, char-server or map-server startup.)
-[//]: # ( [Info]: Hercules 64-bit for Mac OS X )
-[//]: # ( [Info]: Git revision src: 'a5918b329ca0826b04dca32ede783586403f58db' )
-[//]: # ( [Info]: Git revision scripts: 'a5918b329ca0826b04dca32ede783586403f58db' )
-
-### Operating System
-
-[//]: # (Mac OS X 10.12.3 16D32 [x86_64])
-[//]: # (Thank you for adhering to this process! It ensures your issue is resolved quickly and that neither your nor our time is needlessly wasted.)
-[//]: # (This template is for problem reports. For other types of report, edit it accordingly.)
-[//]: # (For fixes please create a Pull Request.)
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 000000000..95da04be6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,36 @@
+---
+name: Bug report
+about: Create a report to help us improve
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Use skill '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**System specs (please complete the following information):**
+ - OS: [e.g. windows 10 version 1809, macOS 10.14]
+ - Hercules Version [e.g. v2018.09.22]
+ - Mode: [renewal or pre-renewal?]
+ - Packet version: [e.g. 20101130]
+ - Client type: [e.g. main, RE, zero, sak, ad]
+
+**Plugins used or source modifications**
+If you are using any plugins besides the ones that come bundled with Hercules,
+please enumerate them here.
+
+**Additional context**
+Add any other context about the problem here. If the bug report is about a
+crash, please attach the core/stack-dump or crash-log, if any.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 000000000..654402b7f
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,19 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always
+frustrated when [...]
+
+**Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've
+considered.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index c62641f08..48ddba651 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,37 +1,28 @@
-[//]: # (**********************************)
-[//]: # (** Fill in the following fields **)
-[//]: # (**********************************)
+<!-- Before you continue, please change "base: stable" to "base: master" and
+ enable the setting "[√] Allow edits from maintainers." when creating your
+ pull request if you have not already enabled it. -->
-[//]: # (Note: Lines beginning with syntax such as this one, are comments and will not be visible in your report!)
+<!-- Note: Lines with this <!-- syntax are comments and will not be visible in
+ your pull request. You can safely ignore or remove them. -->
### Pull Request Prelude
-[//]: # (Thank you for working on improving Hercules!)
-
-[//]: # (Please complete these steps and check the following boxes by putting an `x` inside the brackets _before_ filing your Pull Request.)
+<!-- Thank you for working on improving Hercules! -->
+<!-- Please complete these steps and check the following boxes by putting an `x`
+ inside the [brackets] before filing your Pull Request. -->
- [ ] I have followed [proper Hercules code styling][code].
- [ ] I have read and understood the [contribution guidelines][cont] before making this PR.
-- [ ] I am aware that this PR will be closed if the above-mentioned criteria are not fulfilled.
+- [ ] I am aware that this PR may be closed if the above-mentioned criteria are not fulfilled.
### Changes Proposed
-[//]: # (Describe at length, the changes that this pull request makes.)
-
-**Affected Branches:**
-
-[//]: # (Master? Slave?)
-
-**Issues addressed:**
-
-[//]: # (Issue Tracker Number if any.)
+<!-- Describe the changes that this pull request makes. -->
-### Known Issues and TODO List
+**Issues addressed:** <!-- Write here the issue number, if any. -->
-[//]: # (Insert checklist here)
-[//]: # (Syntax: - [ ] Checkbox)
-[//]: # (**NOTE** Enable the setting "[√] Allow edits from maintainers." when creating your pull request if you have not already enabled it.)
+<!-- You can safely ignore the links below: -->
[cont]: https://github.com/HerculesWS/Hercules/blob/master/CONTRIBUTING.md
[code]: https://github.com/HerculesWS/Hercules/wiki/Coding-Style
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d9a156298..72dbcf1d2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -81,9 +81,9 @@ pre_re:clang-4.0:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:unstable
+ image: debian:stretch
services:
- - mariadb:10
+ - mariadb:10.1
variables:
<<: *base_vars
INSTALL_PACKAGES: clang-4.0 mariadb-client libmariadbclient-dev-compat
@@ -96,9 +96,9 @@ re:clang-4.0:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:unstable
+ image: debian:stretch
services:
- - mariadb:10
+ - mariadb:10.1
variables:
<<: *base_vars
INSTALL_PACKAGES: clang-4.0 mariadb-client libmariadbclient-dev-compat
@@ -111,9 +111,9 @@ zero-2018:clang-4.0:
<<: *branch_exceptions
<<: *prerequisites
stage: clients
- image: debian:unstable
+ image: debian:stretch
services:
- - mariadb:10
+ - mariadb:10.1
variables:
<<: *base_vars
INSTALL_PACKAGES: clang-4.0 mariadb-client libmariadbclient-dev-compat
@@ -124,14 +124,22 @@ zero-2018:clang-4.0:
pre_re:clang-5.0:
<<: *branch_exceptions
- <<: *prerequisites
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - echo 'deb http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -t stretch-backports -y -qq clang-5.0
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok $SQLHOST
+ - ./tools/ci/travis.sh getplugins || true
stage: secondary
- image: debian:unstable
+ image: debian:stretch
services:
- - mariadb:10
+ - mariadb:10.1
variables:
<<: *base_vars
- INSTALL_PACKAGES: clang-5.0 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- ./tools/ci/travis.sh build CC=clang-5.0 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
@@ -139,14 +147,22 @@ pre_re:clang-5.0:
re:clang-5.0:
<<: *branch_exceptions
- <<: *prerequisites
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - echo 'deb http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -t stretch-backports -y -qq clang-5.0
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok $SQLHOST
+ - ./tools/ci/travis.sh getplugins || true
stage: secondary
- image: debian:unstable
+ image: debian:stretch
services:
- - mariadb:10
+ - mariadb:10.1
variables:
<<: *base_vars
- INSTALL_PACKAGES: clang-5.0 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- ./tools/ci/travis.sh build CC=clang-5.0 --enable-debug --enable-Werror --enable-buildbot
@@ -154,14 +170,22 @@ re:clang-5.0:
zero-2018:clang-5.0:
<<: *branch_exceptions
- <<: *prerequisites
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - echo 'deb http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -t stretch-backports -y -qq clang-5.0
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok $SQLHOST
+ - ./tools/ci/travis.sh getplugins || true
stage: clients
- image: debian:unstable
+ image: debian:stretch
services:
- - mariadb:10
+ - mariadb:10.1
variables:
<<: *base_vars
- INSTALL_PACKAGES: clang-5.0 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- ./tools/ci/travis.sh build CC=clang-5.0 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511
@@ -257,96 +281,6 @@ zero-2018:clang-7:
- ./tools/ci/travis.sh build CC=clang-7 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-pre_re:gcc-4.6:
- <<: *branch_exceptions
- <<: *prerequisites
- stage: secondary
- image: debian:wheezy
- services:
- - mysql:5.5
- variables:
- <<: *base_vars
- INSTALL_PACKAGES: gcc-4.6 mysql-client libmysqlclient-dev
- SQLHOST: mysql
- script:
- - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
- - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-
-re:gcc-4.6:
- <<: *branch_exceptions
- <<: *prerequisites
- stage: secondary
- image: debian:wheezy
- services:
- - mysql:5.5
- variables:
- <<: *base_vars
- INSTALL_PACKAGES: gcc-4.6 mysql-client libmysqlclient-dev
- SQLHOST: mysql
- script:
- - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot
- - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-
-zero-2018:gcc-4.6:
- <<: *branch_exceptions
- <<: *prerequisites
- stage: clients
- image: debian:wheezy
- services:
- - mysql:5.5
- variables:
- <<: *base_vars
- INSTALL_PACKAGES: gcc-4.6 mysql-client libmysqlclient-dev
- SQLHOST: mysql
- script:
- - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511
- - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-
-pre_re:gcc-4.7:
- <<: *branch_exceptions
- <<: *prerequisites
- stage: secondary
- image: debian:wheezy
- services:
- - mysql:5.5
- variables:
- <<: *base_vars
- INSTALL_PACKAGES: gcc-4.7 mysql-client libmysqlclient-dev
- SQLHOST: mysql
- script:
- - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
- - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-
-re:gcc-4.7:
- <<: *branch_exceptions
- <<: *prerequisites
- stage: secondary
- image: debian:wheezy
- services:
- - mysql:5.5
- variables:
- <<: *base_vars
- INSTALL_PACKAGES: gcc-4.7 mysql-client libmysqlclient-dev
- SQLHOST: mysql
- script:
- - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot
- - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-
-zero-2018:gcc-4.7:
- <<: *branch_exceptions
- <<: *prerequisites
- stage: clients
- image: debian:wheezy
- services:
- - mysql:5.5
- variables:
- <<: *base_vars
- INSTALL_PACKAGES: gcc-4.7 mysql-client libmysqlclient-dev
- SQLHOST: mysql
- script:
- - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511
- - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-
pre_re:gcc-4.8:
<<: *branch_exceptions
<<: *prerequisites
@@ -437,51 +371,6 @@ zero-2018:gcc-4.9:
- ./tools/ci/travis.sh build CC=gcc-4.9 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-pre_re:gcc-5:
- <<: *branch_exceptions
- <<: *prerequisites
- stage: secondary
- image: debian:unstable
- services:
- - mariadb:10
- variables:
- <<: *base_vars
- INSTALL_PACKAGES: gcc-5 mariadb-client libmariadbclient-dev-compat
- SQLHOST: mariadb
- script:
- - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
- - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-
-re:gcc-5:
- <<: *branch_exceptions
- <<: *prerequisites
- stage: secondary
- image: debian:unstable
- services:
- - mariadb:10
- variables:
- <<: *base_vars
- INSTALL_PACKAGES: gcc-5 mariadb-client libmariadbclient-dev-compat
- SQLHOST: mariadb
- script:
- - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot
- - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-
-zero-2018:gcc-5:
- <<: *branch_exceptions
- <<: *prerequisites
- stage: clients
- image: debian:unstable
- services:
- - mariadb:10
- variables:
- <<: *base_vars
- INSTALL_PACKAGES: gcc-5 mariadb-client libmariadbclient-dev-compat
- SQLHOST: mariadb
- script:
- - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511
- - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-
pre_re:gcc-6:
<<: *branch_exceptions
<<: *prerequisites
diff --git a/.mailmap b/.mailmap
index 0d3aea1ac..4a9b49d2d 100644
--- a/.mailmap
+++ b/.mailmap
@@ -7,3 +7,98 @@
<joseph.tk.ea@gmail.com> <j-tkay@54d463be-8e91-2dee-dedb-b68131a5f0ec>
<ind@henn.et> <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>
<Kenpachi.Developer@gmx.de> <kenpachi2k11@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<umage@netvor.sk> <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<ai4rei@users.noreply.github.com> <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<Kenji.Ito@gmx.de> <Playtester@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<masao@gmx.ch> <masao87@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<piotr.halaczkiewicz@gmail.com> <gepard1984@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<piotr.halaczkiewicz@gmail.com> <Gepard@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<missxantara@gmail.com> <xantara@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<lightaisme@gmail.com> <glighta@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<brianluau@users.noreply.github.com> <brianluau@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<harrison@isabarwon.com> <calciumkid@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<fw@f-ws.de> <blacksirius@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<fw@f-ws.de> <sirius@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<jmish1987@gmail.com> <jmanfffreak@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<paradox924x@gmail.com> <Paradox924x@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<paradox924x@gmail.com> <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<yomanda@gmail.com> <Yommy@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<masterofmuppets89@gmail.com> <MasterOfMuppets@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<flaviojs2005@gmail.com> <flaviojs@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<flaviojs2005@gmail.com> <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<flaviojs2005@gmail.com> <flaviojs2005@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<macabu.matheus@gmail.com> <momacabu@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<Daegaladh@users.noreply.github.com> <daegaladh@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<greenboxal@gmail.com> <greenboxal2@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+<malufett.eat.my.binaries@gmail.com> <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+
+# old aliases
+
+<haru@dotalux.com> <haru@originsro.org>
+<ind@henn.et> <int@henn.et>
+<ind@henn.et> <notind@gmail.com>
+<ind@henn.et> <shennetsind@users.noreply.github.com>
+<dastgirp@gmail.com> <dastgir@users.noreply.github.com>
+<dastgirp@gmail.com> <dastgirpojee@rocketmail.com>
+<michieru-kun@hotmail.com> <Michieru@users.noreply.github.com>
+<michieru-kun@hotmail.com> <michieru@0-mail.com>
+<jedzkie13@rocketmail.com> <Jedzkie@users.noreply.github.com>
+<jedzkie13@rocketmail.com> <eikzdej@gmail.com>
+<jedzkie13@rocketmail.com> <jedzkie999@gmail.com>
+<Equinox1991@gmail.com> <Emistry@users.noreply.github.com>
+<gauvain.dauchy@free.fr> <alige@users.noreply.github.com>
+<guilherme.menaldo@outlook.com> <guilherme-gm@users.noreply.github.com>
+<dev@herc.ws> <Hercules@efficiently.awesome>
+<streusel@gravity.co.kr> <advance_me@hotmail.de>
+<streusel@gravity.co.kr> <m.me1@live.de>
+<ibrahem.h.basyone@gmail.com> <hemagx2@gmail.com>
+<Asheraf@users.noreply.github.com> <acheraf1998@gmail.com>
+<sagunkho@hotmail.com> <sagunxp@gmail.com>
+<git@gumi.ca> <mekolat@users.noreply.github.com>
+
+
+
+
+
+# missing from github:
+# - skotlex
+# - L0ne_W0lf
+# - Lupus
+# - celest
+# - Lance
+# - zephyrus
+# - amber
+# - Inkfish
+# - toms
+# - shadowlady
+# - codemaster
+# - Vicious
+# - samuray22
+# - Kevin
+# - eathenabot
+# - shadow
+# - mc_cameri
+# - evera
+# - SinSloth
+# - epoque11
+# - DracoRPG
+# - sketchyphoenix
+# - littlewolf
+# - eaac
+# - ajarn
+# - wizputer
+# - Nasedo
+# - valaris
+# - blackhole89
+# - protimus
+# - Komurka
+# - Poki#3
+# - cookiecrumbs
+# - Zido
+# - akrus
+# - markzd
+# - xazax-hun
+# - lordttseven
+# - musahiden
+# - Aria
+# - og2
diff --git a/.travis.yml b/.travis.yml
index a3374503c..cbf4f164c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,6 +11,7 @@ install:
before_script:
- uname -a
+ - ulimit -c unlimited -S
- ./tools/ci/travis.sh createdb ragnarok root
- ./tools/ci/travis.sh importdb ragnarok root
- ./tools/ci/travis.sh adduser ragnarok travis travis root
@@ -38,25 +39,27 @@ matrix:
- compiler: false
include:
- compiler: gcc
- env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-6 --disable-manager --enable-Werror --enable-buildbot" HPM="1"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20190418 --enable-packetver-re --enable-buildbot" HPM="1"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-6
- doxygen
- libxml-simple-perl
- libxml-sax-perl
- libxml-parser-perl
- compiler: clang
- env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --enable-Werror --enable-buildbot"
+ env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --enable-Werror --enable-packetver=20190418 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
- llvm-toolchain-trusty-5.0
- ubuntu-toolchain-r-test
packages:
+ - gdb
- clang-5.0
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --disable-renewal --enable-Werror --enable-buildbot"
@@ -66,15 +69,27 @@ matrix:
- llvm-toolchain-trusty-5.0
- ubuntu-toolchain-r-test
packages:
+ - gdb
- clang-5.0
- compiler: clang
- env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-buildbot"
+ env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-packetver=20190418 --enable-packetver-re --enable-buildbot"
+ addons:
+ apt:
+ sources:
+ - llvm-toolchain-trusty-4.0
+ - ubuntu-toolchain-r-test
+ packages:
+ - gdb
+ - clang-4.0
+ - compiler: clang
+ env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-packetver=20130724 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
- llvm-toolchain-trusty-4.0
- ubuntu-toolchain-r-test
packages:
+ - gdb
- clang-4.0
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --disable-renewal --enable-Werror --enable-buildbot"
@@ -84,22 +99,24 @@ matrix:
- llvm-toolchain-trusty-4.0
- ubuntu-toolchain-r-test
packages:
+ - gdb
- clang-4.0
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug --enable-Werror --enable-buildbot"
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug --disable-renewal --enable-Werror --enable-buildbot"
- compiler: gcc
- env: CONFIGURE_FLAGS="--enable-debug --enable-Werror --enable-buildbot"
+ env: CONFIGURE_FLAGS="--enable-debug --enable-Werror --enable-packetver=20190418 --enable-packetver-re --enable-buildbot"
- compiler: gcc
env: CONFIGURE_FLAGS="--enable-debug --disable-renewal --enable-Werror --enable-buildbot"
- compiler: gcc
- env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-5 --disable-manager --enable-Werror --enable-buildbot"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-5 --disable-manager --enable-Werror --enable-packetver=20190418 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-5
- compiler: gcc
env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-5 --disable-manager --disable-renewal --enable-Werror --enable-buildbot"
@@ -108,14 +125,16 @@ matrix:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-5
- compiler: gcc
- env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --enable-Werror --enable-buildbot"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20190418 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-6
- compiler: gcc
env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --disable-renewal --enable-Werror --enable-buildbot"
@@ -124,7 +143,44 @@ matrix:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-6
+ - compiler: gcc
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-7 --disable-manager --enable-Werror --enable-packetver=20190418 --enable-packetver-re --enable-buildbot"
+ addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ packages:
+ - gdb
+ - gcc-7
+ - compiler: gcc
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-7 --disable-manager --disable-renewal --enable-Werror --enable-buildbot"
+ addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ packages:
+ - gdb
+ - gcc-7
+ - compiler: gcc
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-8 --disable-manager --enable-Werror --enable-packetver=20190418 --enable-packetver-re --enable-buildbot"
+ addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ packages:
+ - gdb
+ - gcc-8
+ - compiler: gcc
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-8 --disable-manager --disable-renewal --enable-Werror --enable-buildbot"
+ addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ packages:
+ - gdb
+ - gcc-8
notifications:
email: false
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6769c4edf..00251f987 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,369 @@ and this project does not adhere to [Semantic Versioning](http://semver.org/spec
If you are reading this in a text editor, simply ignore this section
-->
+## [v2019.05.05+4] `May 5 2019` `PATCH 4`
+
+### Fixed
+
+- Fixed a reading error in refine database caused refine chances to be incorrectly read. (#2481)
+
+## [v2019.05.05+3] `May 5 2019` `PATCH 3`
+
+### Fixed
+
+- Fixed a calculation error in the ASPD (and/or other substats) when the maximum stats have values higher than default. (#2419)
+- Fixed a parsing error in the HPM Hooks Generator. (#2467)
+
+## [v2019.05.05+2] `May 5 2019` `PATCH 2`
+
+### Fixed
+
+- Fixed a packet generation issue that caused the Guild Storage to appear empty. (#2464, issue #2463)
+- Fixed use of `ZC_SE_PC_BUY_CASHITEM_RESULT` on old packet versions that didn't support it. (#2465)
+
+## [v2019.05.05+1] `May 5 2019` `PATCH 1`
+
+### Fixed
+
+- Fixed an issue in the player name packet causing names not to be sent correctly. (#2460, issue #2459)
+- Fixed a null pointer error on MVP drops. (#2461)
+
+## [v2019.05.05] `May 5 2019`
+
+### Added
+
+- Added `consolemes()` script function which allow the script engine to print error, warning, status, debug and info messages to the console. (part of #2440)
+- Added the item combo effect for Geffenia Tomb of Water (2161) and La'cryma Stick (1646). (#2441, issue #1982)
+- Added support for mobs to drop items with Random Options. See the new database file `db/option_drop_group.conf` and the new optional syntax in the drop entries of `mob_db.conf`. (#2309)
+- Added a global function `F_MesItemInfo()`, to print an item name with description link, formatted for the current client version. (#2068)
+- Added/updated packets, encryption keys and message tables for clients up to 2019-05-02. (#2432)
+- Added a new function `clif_selforarea()` to send packets to self, falling back to area when no target is specified. (part of #2432)
+- Added script commands `getunittitle()` and `setunittitle()`, and the related information in the `unit_data` structure. (part of #2432)
+- Added support for players to automatically reject party invites through the party options. (part of #2432)
+- Added an option to automatically drop the connection on the server side when a character is kicked. See `drop_connection_on_quit` in `client.conf` (note: the previous behavior was equivalent to `true`). (part of #2432)
+- Added an option to force character save when the party options are changed. See `save_settings` in `map-server.conf`. (part of #2432)
+- Added the script command `closeroulette()` and the related packet `ZC_ACK_CLOSE_ROULETTE` to close the roulette window. (part of #2432)
+- Added a missing `CSBR_BUSY` value to `enum CASH_SHOP_BUY_RESULT`. (part of #2432)
+- Added support for the refinery UI. See the new `refine_db.conf` changes and the settings `enable_refinery_ui` and `replace_refine_npcs` in `features.conf` to toggle between the new UI and the previous scripted refiner. (#2446)
+- Added a new `SkillInfo` flag `HiddenTrap`, to make certain traps invisible, according to the `trap_options` configuration flag. The default settings have changed to match Renewal. Pre-renewal users might want to review `trap_options` and the now superseded `traps_setting`. (#2232, issues #1927 and #1928)
+
+### Changed
+
+- Extended `@dropall` to accept an optional argument for item type (#2439).
+- Updated copyright header in the configuration files for year 2019. (part of #2452)
+- Extended the `getinventorylist()` script command to return an array `@inventorylist_favorite`, set to true when the item is located in the favorite tab. (#2426)
+- Split the function `clif_blname_ack()` into bl type-specific functions. (part of #2432)
+- Extended `getunitdata()` and `setunitdata()` with support for the group ID (`UDT_GROUP`), and added the related information in the `unit_data` structure. (part of #2432)
+- Moved the `UDT_*` constants from `constants.conf` to `script.c`. (part of #2432)
+- Extended the guild expulsion information to include the character ID for supported client versions. This includes a database migration. (part of #2432)
+- Disabled packet validation in `socket_datasync()`. (part of #2432)
+- Moved the refine database and refine related functions to a new `refine.c` file. A public and private interface is provided, with public database accessors `refine->get_bonus()` and `refine->get_randombonus_max()`. (part of #2446)
+- Changed several battle calculation limits to be configurable through `battle/limits.conf` and no longer hardcoded. Several `status_data` fields and battle functions now use `int` instead of `short` to accommodate this change. (#2419)
+- Changed the `unitwarp()` script command to allow NPCs to be relocated to non-walkable cells (like `movenpc()`). (#2453)
+
+### Fixed
+
+- Corrected MSVC version naming in console (#2450).
+- Corrected an example using a sprite number instead of a constant in README.md. (#2449)
+- Fixed an issue in a monster death label callback in `npc/custom/events/mushroom_event.txt` when the monster is killed without an attached player. (#2442, issue #1955)
+- Fixed an issue where when a chat room handler leaves, the following leader won't be checked for `cell_chknochat` and will bypass it. (#2443, issue #1569)
+- Corrected the documentation for `pincode.enabled` in the char-server configuration. (part of #2452)
+- Fixed an incorrectly displayed ITEMLINK entry in the OldGlastHeim script. (part of #2068)
+- Fixed a packet size underflow in the storage packet for certain client versions. (#2424)
+- Fixed an issue that caused named/brewed/forged items to be saved to database with the wrong character ID. Database migrations are provided, to update the existing data. (#2425, issue #2409)
+- Fixed a truncated title in the inventory window. (part of #2432)
+- Fixed a possible overflow in the guild member login field (only supporting timestamps until 2036-12-31). (part of #2432)
+- Fixed a compile error with old packet versions. (part of #2432, issue #2438)
+- Fixed a potential exploit related to the vending skill, by adding stricter validation on the vending status flags. (part of #2432)
+- Fixed a regression, restoring the ability for HPM Hooks to hook into private interfaces, through the new macros `addHookPrePriv()` and `addHookPostPriv()`. (#2447)
+- Fixed a zeny loss caused by the inter-server deleting zeny from messages when the user only requests to take items. (#2455)
+- Fixed a compatibility issue with Perl 5.26 in the item converter script. (#2444)
+- Fixed various gitlab-ci build failures, by removing some no longer supported debian versions and packages. The gcc-4.6, gcc-4.7 and gcc-5 builds have been removed. (#2458)
+
+### Deprecated
+
+- Deprecated the script command `debugmes()`, superseded by `consolemes()`. (part of #2440)
+
+### Removed
+
+- Removed the superseded `traps_setting` configuration flag, replaced by `trap_options`. (part of #2232)
+
+## [v2019.04.07+1] `April 7 2019` `PATCH 1`
+
+### Fixed
+
+- Fixed some race conditions and missing validation in the item and zeny handling code for RODEX. (#2437)
+- Fixed pet eggs getting lost for pets that were hatched before the pet evolution system. Pets are now automatically migrated to the new system that keeps eggs in the user's inventory. (#2428)
+
+## [v2019.04.07] `April 7 2019`
+
+### Added
+
+- Added a configuration flag to disable the achievement system even then it's supported by the current client version. See `features/enable_achievement_system` in `battle/feature.conf`. (#2170)
+- Added the `PETINFO_*` constants, to be used with `getpetinfo()`. (part of #2398)
+- Added/updated packets, encryption keys and message tables for clients up to 2019-04-03. (#2406)
+- Added support for the `ZC_PING` and `CZ_PING` packets. (part of #2406)
+- Added support for the `CZ_COOLDOWN_RESET` packet and the related `/resetcooltime` client command. (part of #2406)
+- Added support for the "allow call" player configuration option. (part of #2406)
+- Added support to open the macro UI in the client. (part of #2406)
+- Added support for the `CZ_STYLE_CLOSE` packet. (part of #2406)
+- Exposed the `MAX_ITEM_ID` constant to the script engine. (#2367)
+
+### Changed
+
+- Extended `getinventorylist()` to return the item's inventory index in the `@inventorylist_idx[]` array. (#2401)
+- Extended `gettimestr()` to accept an optional argument providing a UNIX timestamp, as returned for example by `getcalendartime()`. (#2388)
+- Extended `getpetinfo()` to include information previously returned by `petstat()`. (#2398)
+- Renamed `clif_charnameack()` to the more accurate `clif_blname_ack()`. (part of #2406)
+- Extended `showscript()` to accept an optional argument to specify the send target. (#2415)
+- Updated `README.md` to include links to the sections. (#2354)
+
+### Fixed
+
+- Fixed a compilation error in the sample plugin, on systems where `rand()` is not available. (#2403)
+- Fixed a visual glitch caused by `setunitdata(UDT_LEVEL, ...)` not updating the monster level, when `show_mob_info` is configured to display it. (#2408)
+- Fixed the `features/enable_pet_autofeed` configuration value that was ignored and `features/enable_homunculus_autofeed` was used instead. (#2417)
+- Fixed an unescaped string in the db2sql generated data for the mob skill database. (#2416, related to #2407)
+- Fixed some possible null pointer warnings reported by gcc. (part of #2406)
+- Fixed a client crash with `@bodystyle` and `Job_Super_Novice_E`. (part of #2402, related to #2383)
+- Fixed a client crash when using `@jobchange` to a class that doesn't support alternate body styles while a body style is applied. (#2402)
+
+### Deprecated
+
+- Deprecated the command `petstat()`, superseded by `getpetinfo()`. (part of #2398)
+- Deprecated the `PET_*` constants, used by the `petstat()` command. (part of #2398)
+
+## [v2019.03.10] `March 10 2019`
+
+### Added
+
+- Added `MOB_CLONE_START` and `MOB_CLONE_END` to the constants available to the script engine. (#2390)
+- Added crash dumps to the Travis-CI output in case one of the servers crashes during the tests. (#2385)
+- Added gcc-7 and gcc-8 builds to Travis-CI. (part of #2385)
+- Added a configuration setting `magicrod_type` (`skill.conf`) to restore the old eAthena behavior for the Magic Rod skill. (#2034)
+- Added some missing information to the documentation for `bg_create_team()` and `waitingroom2bg()`, to remove the automatic respawn. (#2381)
+- Added the `MERCINFO_*` constants to the script engine, for `getmercinfo()`. (#2397)
+- Added support for `MERCINFO_GID` to `getmercinfo()`. (#2397)
+- Added the script commands `mobattached()` and `killmonstergid()`. (#2396)
+- Added/updated packets, encryption keys and message tables for clients up to 2019-03-06. (#2377)
+- Added a missing value into enum `BATTLEGROUNDS_QUEUE_ACK`. (part of #2377)
+
+### Changed
+
+- Changed the Windows SDK from version 10.0.15063.0 into 10.0.17763.0 for Visual Studio 2017. (#2368)
+- Changed the return value of `getunitdata()` from `0` to `-1` in case the requested value couldn't be retrieved, in order to differentiate between a zero and an invalid value. Note: this may break existing scripts. (#2392)
+- Updated the `getunitdata()` and `setunitdata()` documentation to clarify that the command only handles integer values. (#2391)
+- Added the function `connect_client()` into the socket interface. (#2378)
+- Moved the variable `SOCKET_CONF_FILENAME` to the socket interface. (#2378)
+- Moved local variables from `atcommand.c` to the interface. (#2378)
+- Moved defines from `map.h` to `mapdefines.h` to remove an inclusion loop. (#2378)
+- Moved the stylist-related functions to their own interface. (#2400)
+
+### Fixed
+
+- Fixed some typos in the item bonus documentation. (#2376)
+- Fixed a typo in the `setpcblock()` documentation. (c9bab97108)
+- Fixed a missing return value in `F_GetTradeRestriction()`. (#2360)
+- Fixed the return value of `bg_create_team()` to be -1 in case of failure, as described in the documentation. (part of #2381)
+- Fixed the date field in the member list packet. (part of #2377)
+- Fixed the documentation for `needed_status_point()`, not supporting the `char_id` argument. (#2399)
+
+### Deprecated
+
+- Deprecated the `UDT_MAPIDXY` constant. Its use in `setunitdata()` is replaced by `unitwarp()` and its use in `getunitdata()` is replaced by `getmapxy()`. (#2391)
+- Deprecated the `UDT_WALKTOXY` constant. Its use in `setunitdata()` is replaced by `unitwalk()`. (#2391)
+
+## [v2019.02.10+1] `February 10 2019` `PATCH 1`
+
+### Fixed
+
+- Fixed a buffer size issue in inter server packets (#2370, issue #2369)
+
+## [v2019.02.10] `February 10 2019`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2019-01-09. (#2339)
+- Added support for the barter type shops. See `sellitem()`, `NST_BARTER` and the demo scripts in `doc/sample/npc_trader_sample.txt` and `npc/custom/bartershop.txt`. (part of #2339)
+- Added the `countnameditem()` script command. (#2307)
+- Added/updated packets, encryption keys and message tables for clients up to 2019-01-30. (#2353)
+
+### Changed
+
+- Improved the response codes and error messages related to the login/char server authentication. (#2151, issue #737)
+- Changed the character creation to use `FIXED_INVENTORY_SIZE` as default inventory size instead of relying on the SQL table default value. (part of #2353)
+- Changed the type of several variables from `short` to `int`. (#2364)
+
+### Fixed
+
+- Fixed a bug that caused the custom disguise event to run indefinitely. (#2351)
+- Fixed issues (item db loading, item search by name) for item IDs higher than 65535. (#2337)
+- Fixed an issue while sending the last page of `HC_ACK_CHARINFO_PER_PAGE`. (part of #2339)
+- Fixed the minimum duration of Voice of Siren. (#1631)
+- Fixed the Sura Job Change Quest getting stuck after the first attempt. (#1656, issue #1655)
+- Added support for recent MySQL versions that don't define the `my_bool` type. (#2365, issue #2363)
+
+## [v2018.12.16+1] `December 16 2018` `PATCH 1`
+
+### Fixed
+
+- Added a missing check in `run_script_main()`. (#2362)
+
+## [v2018.12.16] `December 16 2018`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2018-12-12. (#2324)
+- Added support for the `AC_LOGIN_OTP` packets. (part of #2324)
+- Added script command `enchantitem()` and related packet `ZC_ENCHANT_EQUIPMENT`. (part of #2324)
+- Added script command `servicemessage()` and related packet `ZC_SERVICE_MESSAGE_COLOR`. (part of #2324)
+- Split packets struct definitions out from lclif into separate files for AC and CA packets. (part of #2324)
+- Added struct definitions header for HC packets. (part of #2324)
+- Added support for expandable inventory size, including database persistence, inventory expansion packets, the script commands `expandInventoryAck()`, `expandInventoryResult()`, `expandInventory()`, `getInventorySize()`, the item `Inventory_Extension_Coupon` and the script `npc/other/inventory_expansion.txt`. (part of #2324)
+- Added support for the client commands `/viewpointvalue` and `/setcamera` (like `@camerainfo`). The atcommand aliases `@setcamera` and `@viewpointvalue` are also provided. (part of #2324)
+- Added `needed_status_point()` script function and the global function `F_CashReduceStat()`, for permanent status point reduction. (#2246)
+- Added an option to include script interaction into the idle criteria, disabled by default. See `idletime_criteria` in `conf/map/battle/player.conf` and `BCIDLE_SCRIPT`. (#2244)
+
+### Changed
+
+- Extended support for 32 bit item IDs to the Zero and Main clients that support them. (part of #2324)
+- Renamed packet identifier macros from `PACKET_ID_*` to `HEADER_*`. (part of #2324)
+- Renamed packet struct definitions from `packet_*` to `PACKET_*`. (part of #2324)
+- Increased `MAX_PACKET_LOGIN_DB` to `0x0AD0` to match the existing packets. (part of #2324)
+- Added buffer size validation for `char_mmo_char_tobuf`. (part of #2324)
+- Updated `npc/woe-se` files to modern standards, including `mes()` and `mesf()`. (#2261)
+- Changed HPMDataCheck to exclude packetver-specific packet structs that would cause compile-time errors. (794ce3c89497a17bd64eacbc82bce22f07f00acb)
+
+### Fixed
+
+- Fixed `getunits()` returning the wrong value if no area size is passed. (41d370cd3308be48b4ce00a50ee46515742978b0, issue #2330)
+- Fixed support for old (2010 and older) clients in packet `ZC_PROPERTY_HOMUN`. (part of #2324)
+- Fixed Gaia Sword not granting any bonus drops. This reworks the way `s_add_drop` differentiates between items and groups and the parameters passed to `pc_bonus_item_drop()`. Custom code may need to be updated to match. (#2327)
+- Fixed a 'Gungslinger' typo in `item_db2`. (#2335)
+- Fixed delay-consumed items missing consumption after using Abracadabra/Improvised Song (#2298, issue #1169)
+
+### Removed
+
+- Removed unnecessary typedef from `clr_type`. The type is now only available as `enum clr_type`. (part of #2324)
+
+## [v2018.11.18+1] `November 18 2018` `PATCH 1`
+
+### Fixed
+
+- Fixed a regression in #1215 that prevented characters from being resurrected. (c34871cb3f65412db663a4793df6f055663e16fa)
+
+## [v2018.11.18] `November 18 2018`
+
+### Added
+
+- Added an option to prevent character renames when in a guild or a party. This is the official behavior, but disabled by default since it's unnecessary in Hercules. To enable, `char_configuration/use_aegis_rename` can be set to `true` in `char-server.conf`. (#1866, issue #1805)
+- Added the script command `data_to_string()`, to return the string representation of the given data (counterpart to `getd()`). (#2304)
+- Added/updated packets, encryption keys and message tables for clients up to 2018-11-14. (#2310, #2321)
+- Added a configuration option for the maximum delay allowed by `@channel setopt MessageDelay` command, see `chsys/channel_opt_msg_delay` in `channels.conf`. (#2287)
+- Added a configuration option for more accurate emulation of the HP display on dead characters. This setting is enabled by default, but the old, less confusing, behavior is available by setting `display_fake_hp_when_dead` to `false` in `client.conf`. (#1215, issues #889 and #840)
+- Added `common/packets`, to provide a common interface to the packet DB, shared by all three servers. (#2321)
+- Added proof of concept of compile time validation of packet struct definition against the packet lengths DB (currently only for `ZC_ITEM_PREVIEW`). (part of #2321)
+- Added runtime client-server packet length validation in `RFIFOSKIP()` and `WFIFOSET()`. An unchecked `WFIFOSET2()` alternative is still provided, for packets that lack a db entry. (part of #2321)
+- Added runtime validation for the size of `WIFOHEAD()` buffer allocations. (part of #2321)
+
+### Changed
+
+- Made `getunits()` stop unnecessarily iterating when the maximum specified amount of units is reached. (#2105)
+- Updated the item bonus documentation, converted to the Markdown format in `doc/item_bonus.md`. (#2259)
+- Improved the channel delay message to include the remaining time before a new message can be sent. (#2286)
+- Removed the unused `type` argument from `getnpcid()`. All the shipped scripts have been updated. (#2289)
+- Improved the `charlog` to include the stats, class, hair color and style whenever available. This affects the character selection and rename log entries, that had most fields zeroed before. (#2320)
+- Updated the quest variables documentation, converted to the Markdown format in `doc/quest_variables.md`. (#2256)
+- Updated the monster modes documentation, converted to the Markdown format in `doc/mob_db_mode_list.md`. (#2255)
+- Documented `flag` of the `status->heal()` function through the `enum status_heal_flag`. (part of #1215)
+- Added packet versions for all server types to the socket datasync validation. (part of #2321)
+
+### Fixed
+
+- Fixed packet `ZC_FORMATSTRING_MSG_COLOR` for clients older than 20160406. (part of #2310)
+- Fixed the output formatting in the unhandled packet reporter. (part of #2310)
+- Improved grammar in the `CONTRIBUTING.md` document. (#2303)
+- Fixed some logically dead code in `status.c`. (#2265)
+- Fixed some alerts reported by LGTM for the python scripts. (#2268)
+- Fixed some typos in the `README.md` document. (#2283)
+- Fixed a crash and/or mapflag inconsistency when reloading scripts, especially in PK servers. Map zones are now removed correctly during a reload. (#2247, issue #2242)
+- Fixed an overflow in the defense calculation when fighting more than 22 enemies. (#1233, issue #1201)
+- Fixed the gitlab-ci builds with clang-4.0, which was removed from Debian testing/unstable. (#2323)
+- Fixed an issue that caused a character leaving their guild to still receive some `#ally` messages from certain allied guilds. (#2322)
+- Fixed an issue that caused a character joining a guild not to join its `#ally` channel group. (part of #2322)
+- Fixed a duplicated line in the `@channel` help output. (part of #2322)
+- Fixed some code that assumed a character to be already on a map and attempt to leave an invalid `#map` channel when logging in. (part of #2322)
+
+### Removed
+
+- Removed support for the `MINICORE` libraries, which were unused but needlessly built since the new mapcache system was implemented in #1552. (#2319)
+- Removed the unused `src/tool` directory. (part of #2319)
+
+## [v2018.10.21] `October 21 2018`
+
+### Added
+
+- Unknown packets are now printed to the console, when the option to dump them to disk (`DUMP_UNKNOWN_PACKET`) is disabled. (part of #2226)
+- Added/updated packets, encryption keys and message tables for clients up to 2018-10-02 (#2226)
+- Implemented the script command `removespecialeffect()`. (part of #2226)
+- Implemented the atcommand `@camerainfo` and the script commands `camerainfo()` and `changecamera()`. (part of #2226)
+- Added options to enforce a minimum buy/sell price for NPC items, defaulting to the official values of 1 and 0, respectively. (#2208, issue #2177)
+- Added documentation for the script command `achievement_progress()`. (#2249)
+- Added/updated packets, encryption keys and message tables for clients up to 2018-10-17 (#2278)
+- Implemented script command `itempreview()`. (part of #2278)
+- Added placeholders for 493 items from kRO. (#2280)
+
+### Changed
+
+- Converted the effect list documentation to Markdown (`effect_list.md`). (#2230, issue #2215)
+- Improved the GitHub pull request and issue templates. (#2237)
+- Allowed `getd()` to work with constants and params (although this is a discouraged practice). (#2240)
+- Converted the permissions documentation to Markdown (`permissions.md`). (#2253)
+- Extended `getiteminfo()` and `setitmeinfo()` with the trade restriction information (`ITEMINFO_TRADE`). The `ITR_*` constants are made available to the script engine, and the global function `F_GetTradeRestriction()` has been provided, for convenience. (#2172)
+- Converted the global configuration documentation to Markdown (`global_configuration.md`). (#2229, issue #2216)
+- Removed duplicated code from the `showevent()` icon validation. (#2250)
+- Extended `setquestinfo()` with a mercenary class option (`QINFO_MERCENARY_CLASS`). (#2251)
+- Removed duplicated/diverging code from the `@bodystyle` command. (#2264)
+- Removed duplicated code for `prompt()`, now sharing the same function as `select()`. The new constants `MAX_MENU_OPTIONS` and `MAX_MENU_LENGTH` have been provided. (#2279)
+
+### Fixed
+
+- Fixed an assertion failure in the zeny achievement, when the amount of zeny is zero. (#2227)
+- Fixed issues when setting a char or account variable of another player. (#2238, issue #2212)
+- Fixed a failed assertion when a character is invited to and joins a guild. (#2235, issue #2210)
+- Fixed a failed assertion when `sc_end()` is called for `SC_BERSERK`. (#2239, issue #1388)
+- Fixed display issues with homunculus in old clients. (#2252)
+- Fixed damage reflection (through Reflect Shield, High Orc Card, etc) to work on traps. The old, unofficial, behavior can be restored through the battle configuration flag `trap_reflect`. (#2182, issue #1926)
+- Fixed Blast Mine and Claymore Trap damage, that wasn't getting split by the number of targets. (#2182, issue #1900)
+- Fixed an assertion failure when refining an item fails. (#2234, issue #2217)
+- Fixed the gitlab-ci builds with clang-5.0, which was removed from Debian testing/unstable. (58afe047cd)
+
+## [v2018.09.23] `September 23 2018`
+
+### Added
+
+- Added LGTM.com code quality badges to the README. (#2202)
+- Added maps and constants related to episode 17.1 to the map database and constants list. (#2203)
+- Added/updated packets, encryption keys and message tables for clients up to 2018-09-19 (#2199)
+- Added `-Wvla` to the compiler flags, to prevent accidental usage of variable length arrays. (#2199)
+- Implemented `PACKET_CZ_MEMORIALDUNGEON_COMMAND`. (#2195)
+- Extended `setquestinfo()` with support for item amount ranges. (#2218)
+- Implemented the Mob Skill DB generator into the `db2sql` plugin. (#2149)
+
+### Changed
+
+- Changed the Travis build to use the maximum available PACKETVER, so that the recent code is tested. (#2199)
+- Added a shortand to call `mes()` without arguments to mean `mes("")`. (#2193)
+
+### Fixed
+
+- Added a missing `IF NOT EXISTS` clause in the `char_achievements` table creation query. (e71e41b36b)
+- Fixed an issue in packet `ZC_INVENTIRY_MOVE_FAILED` (#2199, issue #2213)
+- Fixed a validation error in `setquestinfo()`. (#2218)
+- Fixed an error in the achievement system, when killing a cloned mob. (#2204, issue #2201)
+- Fixed a trucation issue in the card columns of the database. (#2205, issue #2187)
+- Fixed a crash when a character is removed from the `char` table but not from the `guild_member`. (#2209, issue #2173)
+
## [v2018.08.26+1] `August 29 2018`
### Fixed
@@ -405,6 +768,22 @@ If you are reading this in a text editor, simply ignore this section
- New versioning scheme and project changelogs/release notes (#1853)
[Unreleased]: https://github.com/HerculesWS/Hercules/compare/stable...master
+[v2019.05.05+4]: https://github.com/HerculesWS/Hercules/compare/v2019.05.05+3...v2019.05.05+4
+[v2019.05.05+3]: https://github.com/HerculesWS/Hercules/compare/v2019.05.05+2...v2019.05.05+3
+[v2019.05.05+2]: https://github.com/HerculesWS/Hercules/compare/v2019.05.05+1...v2019.05.05+2
+[v2019.05.05+1]: https://github.com/HerculesWS/Hercules/compare/v2019.05.05...v2019.05.05+1
+[v2019.05.05]: https://github.com/HerculesWS/Hercules/compare/v2019.04.07+1...v2019.05.05
+[v2019.04.07+1]: https://github.com/HerculesWS/Hercules/compare/v2019.04.07...v2019.04.07+1
+[v2019.04.07]: https://github.com/HerculesWS/Hercules/compare/v2019.03.10...v2019.04.07
+[v2019.03.10]: https://github.com/HerculesWS/Hercules/compare/v2019.02.10+1...v2019.03.10
+[v2019.02.10+1]: https://github.com/HerculesWS/Hercules/compare/v2019.02.10...v2019.02.10+1
+[v2019.02.10]: https://github.com/HerculesWS/Hercules/compare/v2018.12.16+1...v2019.02.10
+[v2018.12.16+1]: https://github.com/HerculesWS/Hercules/compare/v2018.12.16...v2018.12.16+1
+[v2018.12.16]: https://github.com/HerculesWS/Hercules/compare/v2018.11.18+1...v2018.12.16
+[v2018.11.18+1]: https://github.com/HerculesWS/Hercules/compare/v2018.11.18...v2018.11.18+1
+[v2018.11.18]: https://github.com/HerculesWS/Hercules/compare/v2018.10.21...v2018.11.18
+[v2018.10.21]: https://github.com/HerculesWS/Hercules/compare/v2018.09.23...v2018.10.21
+[v2018.09.23]: https://github.com/HerculesWS/Hercules/compare/v2018.08.26+1...v2018.09.23
[v2018.08.26+1]: https://github.com/HerculesWS/Hercules/compare/v2018.08.26...v2018.08.26+1
[v2018.08.26]: https://github.com/HerculesWS/Hercules/compare/v2018.07.29+2...v2018.08.26
[v2018.07.29+2]: https://github.com/HerculesWS/Hercules/compare/v2018.07.29+1...v2018.07.29+2
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 94544487e..76f73698a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -7,14 +7,14 @@ follow so that we can have a chance of keeping on top of things.
## Hercules Core vs Modules
-Due to the nature of the project, and the wide range of different applications
-it has, we provide a plugin interface, to keep the core clean of unnecessary
+Due to the nature of the project and the wide range of different applications
+it has, we provide a plugin interface to keep the core clean of unnecessary
features.
Generally, bugfixes and improvements to existing code, as well as the
implementation of official Ragnarok Online features and content, should be part
-of the Hercules core, while custom functionalities should be moved to plugins,
-to avoid burdening the core with code potentially useful only to a small subset
+of the Hercules core while custom functionalities should be moved to plugins
+to avoid burdening the core with code that is potentially useful to only a small subset
of users.
If you are unsure of whether your contribution should be implemented as a
@@ -32,14 +32,13 @@ or drop us an email at dev@herc.ws
## Submitting an Issue on GitHub
-When you open an issue, in order for it to be helpful, you should include as
-much description as possible of the issue you are observing or feature you're
-suggesting.
+When you open an issue, you should include as much description as possible of
+the issue you are observing or feature you're suggesting.
If you're reporting an issue, you should describe your setup, and provide the
output of `./map-server --version`.
-If you report a crash, make sure that you include a backtrace of the crash,
+If you report a crash, make sure that you include a backtrace of the crash
generated with either gdb or Visual Studio (depending on your build
environment). For the backtrace to be useful, you need to compile Hercules in
debug mode.
@@ -51,10 +50,9 @@ debug mode.
* To quickly create a topic branch based on master; `git checkout -b
my_contribution master`. Please avoid working directly on the
`master` branch.
-* Make commits of logical units. Each commit you submit, must be atomic and
- complete. **Each commit must do one thing, and do it well.** For separate
- fixes, make separate commits. Even if this causes commits that only affect
- one line of code.
+* Make commits of logical units. Each commit you submit must be atomic and
+ complete. **Each commit must do one thing, and do it well.** Make separate commits
+ for separate fixes, even if this causes commits that only affect one line of code.
* Check for unnecessary whitespace with `git diff --check` before committing.
* Make sure you follow our [coding style
guidelines](https://github.com/HerculesWS/Hercules/wiki/Coding-Style).
@@ -75,7 +73,7 @@ necessary to create a new issue in GitHub.
* Submit a pull request to the repository in the HerculesWS organization.
* The dev team looks at Pull Requests on a weekly basis, compatibly with the
amount of patches in review queue and current workload.
-* After feedback has been given we expect responses within two weeks. After two
+* After feedback has been given, we expect responses within two weeks. After two
weeks we may close the pull request if it isn't showing any activity.
## Other ways to help
diff --git a/Hercules.xcodeproj/project.pbxproj b/Hercules.xcodeproj/project.pbxproj
index 44ff7b53f..403e7357a 100644
--- a/Hercules.xcodeproj/project.pbxproj
+++ b/Hercules.xcodeproj/project.pbxproj
@@ -16,13 +16,6 @@
A5467AD31A16FCB4008AFAA6 /* loginif.c in Sources */ = {isa = PBXBuildFile; fileRef = A5467AD11A16FCB4008AFAA6 /* loginif.c */; };
A5467AD61A16FCDC008AFAA6 /* mapif.c in Sources */ = {isa = PBXBuildFile; fileRef = A5467AD41A16FCDC008AFAA6 /* mapif.c */; };
A5467AD91A16FD08008AFAA6 /* geoip.c in Sources */ = {isa = PBXBuildFile; fileRef = A5467AD71A16FD08008AFAA6 /* geoip.c */; };
- A55AED781B8153D800149CF8 /* conf.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC690185643BB009EB79C /* conf.c */; };
- A55AED791B8153EA00149CF8 /* grammar.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72218564C05009EB79C /* grammar.c */; };
- A55AED7A1B8153EC00149CF8 /* libconfig.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72418564C05009EB79C /* libconfig.c */; };
- A55AED7B1B8153EF00149CF8 /* scanctx.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72718564C05009EB79C /* scanctx.c */; };
- A55AED7C1B8153F100149CF8 /* scanner.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72918564C05009EB79C /* scanner.c */; };
- A55AED7D1B8153F300149CF8 /* strbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72B18564C05009EB79C /* strbuf.c */; };
- A567612D185D11D700997C0D /* nullpo.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B2185643BB009EB79C /* nullpo.c */; };
A56CC68918564387009EB79C /* account.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC68118564387009EB79C /* account.c */; };
A56CC68A18564387009EB79C /* ipban.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC68318564387009EB79C /* ipban.c */; };
A56CC68B18564387009EB79C /* login.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC68518564387009EB79C /* login.c */; };
@@ -168,6 +161,11 @@
A5B894AD1A03CDFA005AD22E /* HPMchar.c in Sources */ = {isa = PBXBuildFile; fileRef = A5B894AB1A03CDFA005AD22E /* HPMchar.c */; };
A5B894B01A03CE25005AD22E /* HPMHooking.c in Sources */ = {isa = PBXBuildFile; fileRef = A58A5A271858025D0099683E /* HPMHooking.c */; };
A5B894B91A03CE5D005AD22E /* HPMHooking.c in Sources */ = {isa = PBXBuildFile; fileRef = A58A5A271858025D0099683E /* HPMHooking.c */; };
+ A5BBC249219D076900E26B8D /* packets.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BBC218219D076900E26B8D /* packets.c */; };
+ A5BBC251219D081800E26B8D /* packets.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BBC218219D076900E26B8D /* packets.c */; };
+ A5BBC252219D081900E26B8D /* packets.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BBC218219D076900E26B8D /* packets.c */; };
+ A5C5CF5F227F959700485106 /* refine.c in Sources */ = {isa = PBXBuildFile; fileRef = A5C5CF59227F959600485106 /* refine.c */; };
+ A5C5CF60227F959700485106 /* stylist.c in Sources */ = {isa = PBXBuildFile; fileRef = A5C5CF5A227F959600485106 /* stylist.c */; };
A5F7946C191CA34E002293AB /* sysinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = A5F79469191CA34E002293AB /* sysinfo.c */; };
A5F7946D191CA34E002293AB /* sysinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = A5F79469191CA34E002293AB /* sysinfo.c */; };
A5F7946E191CA34E002293AB /* sysinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = A5F79469191CA34E002293AB /* sysinfo.c */; };
@@ -441,6 +439,72 @@
A5B894CC1A03CEE1005AD22E /* HPMHooking_map.Hooks.inc */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; name = HPMHooking_map.Hooks.inc; path = src/plugins/HPMHooking/HPMHooking_map.Hooks.inc; sourceTree = "<group>"; };
A5B894CD1A03CEE1005AD22E /* HPMHooking_map.HPMHooksCore.inc */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; name = HPMHooking_map.HPMHooksCore.inc; path = src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc; sourceTree = "<group>"; };
A5B894CE1A03CEE1005AD22E /* HPMHooking_map.sources.inc */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; name = HPMHooking_map.sources.inc; path = src/plugins/HPMHooking/HPMHooking_map.sources.inc; sourceTree = "<group>"; };
+ A5BBC216219D076800E26B8D /* packets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = packets.h; path = src/common/packets.h; sourceTree = "<group>"; };
+ A5BBC217219D076900E26B8D /* packetsstatic_len.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = packetsstatic_len.h; path = src/common/packetsstatic_len.h; sourceTree = "<group>"; };
+ A5BBC218219D076900E26B8D /* packets.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = packets.c; path = src/common/packets.c; sourceTree = "<group>"; };
+ A5BBC219219D076900E26B8D /* packets_len.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = packets_len.h; path = src/common/packets_len.h; sourceTree = "<group>"; };
+ A5BBC21B219D076900E26B8D /* packets2005_len_sak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2005_len_sak.h; sourceTree = "<group>"; };
+ A5BBC21C219D076900E26B8D /* packets2018_len_zero.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2018_len_zero.h; sourceTree = "<group>"; };
+ A5BBC21D219D076900E26B8D /* packets2008_len_ad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2008_len_ad.h; sourceTree = "<group>"; };
+ A5BBC21E219D076900E26B8D /* packets2008_len_sak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2008_len_sak.h; sourceTree = "<group>"; };
+ A5BBC21F219D076900E26B8D /* packets2013_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2013_len_main.h; sourceTree = "<group>"; };
+ A5BBC220219D076900E26B8D /* packets2016_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2016_len_main.h; sourceTree = "<group>"; };
+ A5BBC221219D076900E26B8D /* packets2003_len_sak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2003_len_sak.h; sourceTree = "<group>"; };
+ A5BBC222219D076900E26B8D /* packets_len_ad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets_len_ad.h; sourceTree = "<group>"; };
+ A5BBC223219D076900E26B8D /* packets2016_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2016_len_re.h; sourceTree = "<group>"; };
+ A5BBC224219D076900E26B8D /* packets2007_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2007_len_main.h; sourceTree = "<group>"; };
+ A5BBC225219D076900E26B8D /* packets2017_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2017_len_re.h; sourceTree = "<group>"; };
+ A5BBC226219D076900E26B8D /* packets2004_len_sak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2004_len_sak.h; sourceTree = "<group>"; };
+ A5BBC227219D076900E26B8D /* packets2009_len_sak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2009_len_sak.h; sourceTree = "<group>"; };
+ A5BBC228219D076900E26B8D /* packets2011_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2011_len_main.h; sourceTree = "<group>"; };
+ A5BBC229219D076900E26B8D /* packets2011_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2011_len_re.h; sourceTree = "<group>"; };
+ A5BBC22A219D076900E26B8D /* packets2010_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2010_len_re.h; sourceTree = "<group>"; };
+ A5BBC22B219D076900E26B8D /* packets2017_len_zero.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2017_len_zero.h; sourceTree = "<group>"; };
+ A5BBC22C219D076900E26B8D /* packets2014_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2014_len_main.h; sourceTree = "<group>"; };
+ A5BBC22D219D076900E26B8D /* packets2008_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2008_len_main.h; sourceTree = "<group>"; };
+ A5BBC22E219D076900E26B8D /* packets_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets_len_main.h; sourceTree = "<group>"; };
+ A5BBC22F219D076900E26B8D /* packets2005_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2005_len_main.h; sourceTree = "<group>"; };
+ A5BBC230219D076900E26B8D /* packets2004_len_ad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2004_len_ad.h; sourceTree = "<group>"; };
+ A5BBC231219D076900E26B8D /* packets2005_len_ad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2005_len_ad.h; sourceTree = "<group>"; };
+ A5BBC232219D076900E26B8D /* packets2015_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2015_len_re.h; sourceTree = "<group>"; };
+ A5BBC233219D076900E26B8D /* packets2014_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2014_len_re.h; sourceTree = "<group>"; };
+ A5BBC234219D076900E26B8D /* packets2007_len_sak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2007_len_sak.h; sourceTree = "<group>"; };
+ A5BBC235219D076900E26B8D /* packets2017_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2017_len_main.h; sourceTree = "<group>"; };
+ A5BBC236219D076900E26B8D /* packets_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets_len_re.h; sourceTree = "<group>"; };
+ A5BBC237219D076900E26B8D /* packets2006_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2006_len_main.h; sourceTree = "<group>"; };
+ A5BBC238219D076900E26B8D /* packets_len_sak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets_len_sak.h; sourceTree = "<group>"; };
+ A5BBC239219D076900E26B8D /* packets2003_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2003_len_main.h; sourceTree = "<group>"; };
+ A5BBC23A219D076900E26B8D /* packets_len_zero.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets_len_zero.h; sourceTree = "<group>"; };
+ A5BBC23B219D076900E26B8D /* packets2008_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2008_len_re.h; sourceTree = "<group>"; };
+ A5BBC23C219D076900E26B8D /* packets2009_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2009_len_re.h; sourceTree = "<group>"; };
+ A5BBC23D219D076900E26B8D /* packets2012_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2012_len_main.h; sourceTree = "<group>"; };
+ A5BBC23E219D076900E26B8D /* packets2015_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2015_len_main.h; sourceTree = "<group>"; };
+ A5BBC23F219D076900E26B8D /* packets2006_len_sak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2006_len_sak.h; sourceTree = "<group>"; };
+ A5BBC240219D076900E26B8D /* packets2007_len_ad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2007_len_ad.h; sourceTree = "<group>"; };
+ A5BBC241219D076900E26B8D /* packets2009_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2009_len_main.h; sourceTree = "<group>"; };
+ A5BBC242219D076900E26B8D /* packets2006_len_ad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2006_len_ad.h; sourceTree = "<group>"; };
+ A5BBC243219D076900E26B8D /* packets2018_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2018_len_main.h; sourceTree = "<group>"; };
+ A5BBC244219D076900E26B8D /* packets2004_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2004_len_main.h; sourceTree = "<group>"; };
+ A5BBC245219D076900E26B8D /* packets2012_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2012_len_re.h; sourceTree = "<group>"; };
+ A5BBC246219D076900E26B8D /* packets2013_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2013_len_re.h; sourceTree = "<group>"; };
+ A5BBC247219D076900E26B8D /* packets2018_len_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2018_len_re.h; sourceTree = "<group>"; };
+ A5BBC248219D076900E26B8D /* packets2010_len_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = packets2010_len_main.h; sourceTree = "<group>"; };
+ A5BBC24A219D07A800E26B8D /* packets_shuffle_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = packets_shuffle_re.h; path = src/map/packets_shuffle_re.h; sourceTree = SOURCE_ROOT; };
+ A5BBC24B219D07A800E26B8D /* messages_re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = messages_re.h; path = src/map/messages_re.h; sourceTree = SOURCE_ROOT; };
+ A5BBC24C219D07A800E26B8D /* messages_zero.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = messages_zero.h; path = src/map/messages_zero.h; sourceTree = SOURCE_ROOT; };
+ A5BBC24D219D07A800E26B8D /* messages_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = messages_main.h; path = src/map/messages_main.h; sourceTree = SOURCE_ROOT; };
+ A5BBC24E219D07A800E26B8D /* messages_ad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = messages_ad.h; path = src/map/messages_ad.h; sourceTree = SOURCE_ROOT; };
+ A5BBC24F219D07A800E26B8D /* messages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = messages.h; path = src/map/messages.h; sourceTree = SOURCE_ROOT; };
+ A5BBC250219D07A800E26B8D /* messages_sak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = messages_sak.h; path = src/map/messages_sak.h; sourceTree = SOURCE_ROOT; };
+ A5C5CF56227F955100485106 /* packets_ac_struct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = packets_ac_struct.h; path = src/login/packets_ac_struct.h; sourceTree = SOURCE_ROOT; };
+ A5C5CF57227F955100485106 /* packets_ca_struct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = packets_ca_struct.h; path = src/login/packets_ca_struct.h; sourceTree = SOURCE_ROOT; };
+ A5C5CF58227F956900485106 /* packets_hc_struct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = packets_hc_struct.h; path = src/char/packets_hc_struct.h; sourceTree = SOURCE_ROOT; };
+ A5C5CF59227F959600485106 /* refine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = refine.c; path = src/map/refine.c; sourceTree = SOURCE_ROOT; };
+ A5C5CF5A227F959600485106 /* stylist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stylist.c; path = src/map/stylist.c; sourceTree = SOURCE_ROOT; };
+ A5C5CF5B227F959700485106 /* stylist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stylist.h; path = src/map/stylist.h; sourceTree = SOURCE_ROOT; };
+ A5C5CF5C227F959700485106 /* refine.p.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = refine.p.h; path = src/map/refine.p.h; sourceTree = SOURCE_ROOT; };
+ A5C5CF5D227F959700485106 /* mapdefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mapdefines.h; path = src/map/mapdefines.h; sourceTree = SOURCE_ROOT; };
+ A5C5CF5E227F959700485106 /* refine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = refine.h; path = src/map/refine.h; sourceTree = SOURCE_ROOT; };
A5F79468191CA34E002293AB /* HPMDataCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HPMDataCheck.h; path = src/common/HPMDataCheck.h; sourceTree = "<group>"; };
A5F79469191CA34E002293AB /* sysinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sysinfo.c; path = src/common/sysinfo.c; sourceTree = "<group>"; };
A5F7946A191CA34E002293AB /* sysinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sysinfo.h; path = src/common/sysinfo.h; sourceTree = "<group>"; };
@@ -554,6 +618,8 @@
A56CC68618564387009EB79C /* login.h */,
A56CC68718564387009EB79C /* loginlog.c */,
A56CC68818564387009EB79C /* loginlog.h */,
+ A5C5CF56227F955100485106 /* packets_ac_struct.h */,
+ A5C5CF57227F955100485106 /* packets_ca_struct.h */,
);
path = "login-server";
sourceTree = "<group>";
@@ -599,6 +665,7 @@
A5467AD21A16FCB4008AFAA6 /* loginif.h */,
A5467AD41A16FCDC008AFAA6 /* mapif.c */,
A5467AD51A16FCDC008AFAA6 /* mapif.h */,
+ A5C5CF58227F956900485106 /* packets_hc_struct.h */,
A56CC75B185657D9009EB79C /* pincode.c */,
A56CC75C185657D9009EB79C /* pincode.h */,
);
@@ -655,10 +722,17 @@
A56CC78F18565812009EB79C /* mail.h */,
A56CC79018565812009EB79C /* map.c */,
A56CC79118565812009EB79C /* map.h */,
+ A5C5CF5D227F959700485106 /* mapdefines.h */,
A56CC79218565812009EB79C /* mapreg_sql.c */,
A56CC79318565812009EB79C /* mapreg.h */,
A56CC79418565812009EB79C /* mercenary.c */,
A56CC79518565812009EB79C /* mercenary.h */,
+ A5BBC24E219D07A800E26B8D /* messages_ad.h */,
+ A5BBC24D219D07A800E26B8D /* messages_main.h */,
+ A5BBC24B219D07A800E26B8D /* messages_re.h */,
+ A5BBC250219D07A800E26B8D /* messages_sak.h */,
+ A5BBC24C219D07A800E26B8D /* messages_zero.h */,
+ A5BBC24F219D07A800E26B8D /* messages.h */,
A56CC79618565812009EB79C /* mob.c */,
A56CC79718565812009EB79C /* mob.h */,
A56CC79818565812009EB79C /* npc_chat.c */,
@@ -667,6 +741,7 @@
A5302672202D78B00060E394 /* packets_keys_main.h */,
A5302677202D78B10060E394 /* packets_keys_zero.h */,
A5302675202D78B10060E394 /* packets_shuffle_main.h */,
+ A5BBC24A219D07A800E26B8D /* packets_shuffle_re.h */,
A5302678202D78B10060E394 /* packets_shuffle_zero.h */,
A56CC79B18565812009EB79C /* packets_struct.h */,
A56CC79C18565812009EB79C /* packets.h */,
@@ -682,6 +757,9 @@
A56CC7A618565812009EB79C /* pet.h */,
A56CC7A718565812009EB79C /* quest.c */,
A56CC7A818565812009EB79C /* quest.h */,
+ A5C5CF59227F959600485106 /* refine.c */,
+ A5C5CF5E227F959700485106 /* refine.h */,
+ A5C5CF5C227F959700485106 /* refine.p.h */,
755495851FEE5A1F00CE4B7D /* rodex.c */,
755495861FEE5A1F00CE4B7D /* rodex.h */,
A56CC7A918565812009EB79C /* script.c */,
@@ -694,6 +772,8 @@
A56CC7B018565812009EB79C /* status.h */,
A56CC7B118565812009EB79C /* storage.c */,
A56CC7B218565812009EB79C /* storage.h */,
+ A5C5CF5A227F959600485106 /* stylist.c */,
+ A5C5CF5B227F959700485106 /* stylist.h */,
A56CC7B318565812009EB79C /* trade.c */,
A56CC7B418565812009EB79C /* trade.h */,
A56CC7B518565812009EB79C /* unit.c */,
@@ -740,6 +820,11 @@
A56CC6AD185643BB009EB79C /* mutex.h */,
A56CC6B2185643BB009EB79C /* nullpo.c */,
A56CC6B3185643BB009EB79C /* nullpo.h */,
+ A5BBC21A219D076900E26B8D /* packets */,
+ A5BBC219219D076900E26B8D /* packets_len.h */,
+ A5BBC218219D076900E26B8D /* packets.c */,
+ A5BBC216219D076800E26B8D /* packets.h */,
+ A5BBC217219D076900E26B8D /* packetsstatic_len.h */,
A56CC6B6185643BB009EB79C /* random.c */,
A56CC6B7185643BB009EB79C /* random.h */,
A56CC6B8185643BB009EB79C /* showmsg.c */,
@@ -875,6 +960,60 @@
name = db2sql;
sourceTree = "<group>";
};
+ A5BBC21A219D076900E26B8D /* packets */ = {
+ isa = PBXGroup;
+ children = (
+ A5BBC222219D076900E26B8D /* packets_len_ad.h */,
+ A5BBC22E219D076900E26B8D /* packets_len_main.h */,
+ A5BBC236219D076900E26B8D /* packets_len_re.h */,
+ A5BBC238219D076900E26B8D /* packets_len_sak.h */,
+ A5BBC23A219D076900E26B8D /* packets_len_zero.h */,
+ A5BBC239219D076900E26B8D /* packets2003_len_main.h */,
+ A5BBC221219D076900E26B8D /* packets2003_len_sak.h */,
+ A5BBC230219D076900E26B8D /* packets2004_len_ad.h */,
+ A5BBC244219D076900E26B8D /* packets2004_len_main.h */,
+ A5BBC226219D076900E26B8D /* packets2004_len_sak.h */,
+ A5BBC231219D076900E26B8D /* packets2005_len_ad.h */,
+ A5BBC22F219D076900E26B8D /* packets2005_len_main.h */,
+ A5BBC21B219D076900E26B8D /* packets2005_len_sak.h */,
+ A5BBC242219D076900E26B8D /* packets2006_len_ad.h */,
+ A5BBC237219D076900E26B8D /* packets2006_len_main.h */,
+ A5BBC23F219D076900E26B8D /* packets2006_len_sak.h */,
+ A5BBC240219D076900E26B8D /* packets2007_len_ad.h */,
+ A5BBC224219D076900E26B8D /* packets2007_len_main.h */,
+ A5BBC234219D076900E26B8D /* packets2007_len_sak.h */,
+ A5BBC21D219D076900E26B8D /* packets2008_len_ad.h */,
+ A5BBC22D219D076900E26B8D /* packets2008_len_main.h */,
+ A5BBC23B219D076900E26B8D /* packets2008_len_re.h */,
+ A5BBC21E219D076900E26B8D /* packets2008_len_sak.h */,
+ A5BBC241219D076900E26B8D /* packets2009_len_main.h */,
+ A5BBC23C219D076900E26B8D /* packets2009_len_re.h */,
+ A5BBC227219D076900E26B8D /* packets2009_len_sak.h */,
+ A5BBC248219D076900E26B8D /* packets2010_len_main.h */,
+ A5BBC22A219D076900E26B8D /* packets2010_len_re.h */,
+ A5BBC228219D076900E26B8D /* packets2011_len_main.h */,
+ A5BBC229219D076900E26B8D /* packets2011_len_re.h */,
+ A5BBC23D219D076900E26B8D /* packets2012_len_main.h */,
+ A5BBC245219D076900E26B8D /* packets2012_len_re.h */,
+ A5BBC21F219D076900E26B8D /* packets2013_len_main.h */,
+ A5BBC246219D076900E26B8D /* packets2013_len_re.h */,
+ A5BBC22C219D076900E26B8D /* packets2014_len_main.h */,
+ A5BBC233219D076900E26B8D /* packets2014_len_re.h */,
+ A5BBC23E219D076900E26B8D /* packets2015_len_main.h */,
+ A5BBC232219D076900E26B8D /* packets2015_len_re.h */,
+ A5BBC220219D076900E26B8D /* packets2016_len_main.h */,
+ A5BBC223219D076900E26B8D /* packets2016_len_re.h */,
+ A5BBC235219D076900E26B8D /* packets2017_len_main.h */,
+ A5BBC225219D076900E26B8D /* packets2017_len_re.h */,
+ A5BBC22B219D076900E26B8D /* packets2017_len_zero.h */,
+ A5BBC243219D076900E26B8D /* packets2018_len_main.h */,
+ A5BBC247219D076900E26B8D /* packets2018_len_re.h */,
+ A5BBC21C219D076900E26B8D /* packets2018_len_zero.h */,
+ );
+ name = packets;
+ path = src/common/packets;
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@@ -1140,6 +1279,7 @@
A56CC6D8185643BB009EB79C /* ers.c in Sources */,
A56CC73718564C05009EB79C /* scanner.c in Sources */,
A56CC6EA185643BB009EB79C /* md5calc.c in Sources */,
+ A5BBC249219D076900E26B8D /* packets.c in Sources */,
A5F7946C191CA34E002293AB /* sysinfo.c in Sources */,
A56CC74018564C23009EB79C /* mt19937ar.c in Sources */,
A5B894AA1A03CDD4005AD22E /* HPMlogin.c in Sources */,
@@ -1193,6 +1333,7 @@
A56CC760185657D9009EB79C /* int_guild.c in Sources */,
A56CC768185657D9009EB79C /* inter.c in Sources */,
A5467AD61A16FCDC008AFAA6 /* mapif.c in Sources */,
+ A5BBC251219D081800E26B8D /* packets.c in Sources */,
A56CC73818564C05009EB79C /* scanner.c in Sources */,
A56CC700185643BB009EB79C /* random.c in Sources */,
A5B894AD1A03CDFA005AD22E /* HPMchar.c in Sources */,
@@ -1237,6 +1378,7 @@
A56CC7D218565812009EB79C /* party.c in Sources */,
A56CC7C118565812009EB79C /* duel.c in Sources */,
A56CC70A185643BB009EB79C /* sql.c in Sources */,
+ A5BBC252219D081900E26B8D /* packets.c in Sources */,
A56CC7D718565812009EB79C /* quest.c in Sources */,
A56CC7CC18565812009EB79C /* map.c in Sources */,
A59EA4511A727D36005F2B6D /* channel.c in Sources */,
@@ -1263,11 +1405,13 @@
A56CC7BF18565812009EB79C /* clif.c in Sources */,
A5F7946E191CA34E002293AB /* sysinfo.c in Sources */,
A56CC7D018565812009EB79C /* npc_chat.c in Sources */,
+ A5C5CF5F227F959700485106 /* refine.c in Sources */,
A56CC6CE185643BB009EB79C /* console.c in Sources */,
A56CC73018564C05009EB79C /* grammar.c in Sources */,
A56CC7DA18565812009EB79C /* skill.c in Sources */,
A56CC6EC185643BB009EB79C /* md5calc.c in Sources */,
A56CC73918564C05009EB79C /* scanner.c in Sources */,
+ A5C5CF60227F959700485106 /* stylist.c in Sources */,
A56CC701185643BB009EB79C /* random.c in Sources */,
A56CC7CD18565812009EB79C /* mapreg_sql.c in Sources */,
A56CC7D318565812009EB79C /* path.c in Sources */,
@@ -1402,12 +1546,6 @@
"-DHAS_TLS",
"-DHAVE_SETRLIMIT",
"-DHAVE_STRNLEN",
- "-DPACKAGE_NAME=\\\"\\\"",
- "-DPACKAGE_TARNAME=\\\"\\\"",
- "-DPACKAGE_VERSION=\\\"\\\"",
- "-DPACKAGE_STRING=\\\"\\\"",
- "-DPACKAGE_BUGREPORT=\\\"\\\"",
- "-DPACKAGE_URL=\\\"\\\"",
"-DSTDC_HEADERS=1",
"-DHAVE_SYS_TYPES_H=1",
"-DHAVE_SYS_STAT_H=1",
@@ -1487,12 +1625,6 @@
"-DHAS_TLS",
"-DHAVE_SETRLIMIT",
"-DHAVE_STRNLEN",
- "-DPACKAGE_NAME=\\\"\\\"",
- "-DPACKAGE_TARNAME=\\\"\\\"",
- "-DPACKAGE_VERSION=\\\"\\\"",
- "-DPACKAGE_STRING=\\\"\\\"",
- "-DPACKAGE_BUGREPORT=\\\"\\\"",
- "-DPACKAGE_URL=\\\"\\\"",
"-DSTDC_HEADERS=1",
"-DHAVE_SYS_TYPES_H=1",
"-DHAVE_SYS_STAT_H=1",
diff --git a/Makefile.in b/Makefile.in
index 3de5e0bf3..e85c1bb96 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -23,7 +23,7 @@
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- ALL_DEPENDS=common_sql login_sql char_sql map_sql tools sysinfo | import
+ ALL_DEPENDS=common_sql login_sql char_sql map_sql sysinfo | import
SQL_DEPENDS=common_sql login_sql char_sql map_sql sysinfo | import
COMMON_SQL_DEPENDS=mt19937ar libconfig sysinfo
LOGIN_SQL_DEPENDS=mt19937ar libconfig common_sql sysinfo
@@ -53,7 +53,7 @@ HAVE_DOXYGEN=@HAVE_DOXYGEN@
MF_TARGETS = Makefile $(addsuffix /Makefile, src/common 3rdparty/mt19937ar \
3rdparty/libconfig src/char src/login src/map src/plugins \
- src/tool src/test tools/HPMHookGen tools/doxygen)
+ src/test tools/HPMHookGen tools/doxygen)
CC = @CC@
export CC
@@ -65,7 +65,6 @@ export CC
login_sql \
char_sql \
map_sql \
- tools \
plugins \
import \
test \
@@ -120,10 +119,6 @@ map_sql: $(MAP_SQL_DEPENDS) src/map/Makefile
@echo " MAKE $@"
@$(MAKE) -C src/map sql
-tools: $(TOOLS_DEPENDS) src/tool/Makefile
- @echo " MAKE $@"
- @$(MAKE) -C src/tool
-
test: src/test/Makefile
@echo " MAKE $@"
@$(MAKE) -C src/test
@@ -159,7 +154,6 @@ clean buildclean: $(MF_TARGETS)
@$(MAKE) -C src/char $@
@$(MAKE) -C src/map $@
@$(MAKE) -C src/plugins $@
- @$(MAKE) -C src/tool $@
@$(MAKE) -C src/test $@
@$(MAKE) -C tools/HPMHookGen $@
@$(MAKE) -C tools/doxygen $@
@@ -188,7 +182,6 @@ help: Makefile
@echo "'login_sql' - builds login server"
@echo "'char_sql' - builds char server"
@echo "'map_sql' - builds map server"
- @echo "'tools' - builds all the tools in src/tools"
@echo "'import' - builds conf/import folder from the template conf/import-tmpl"
@echo "'all' - builds all the above targets"
@echo "'sql' - builds sql servers (targets 'common_sql' 'login_sql' 'char_sql'"
diff --git a/README.md b/README.md
index 4d6841491..0b4257b3b 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,8 @@ Build Status:
[![Coverity Scan Build Status](https://scan.coverity.com/projects/3892/badge.svg)](https://scan.coverity.com/projects/herculesws-hercules)
[![GitLab Build Status](https://gitlab.com/HerculesWS/Hercules/badges/master/build.svg)](https://gitlab.com/HerculesWS/Hercules/commits/master)
[![Coverage Report](https://gitlab.com/HerculesWS/Hercules/badges/master/coverage.svg)](https://gitlab.com/HerculesWS/Hercules/commits/master)
+[![Code Quality: Cpp](https://img.shields.io/lgtm/grade/cpp/g/HerculesWS/Hercules.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/HerculesWS/Hercules/context:cpp)
+[![Total Alerts](https://img.shields.io/lgtm/alerts/g/HerculesWS/Hercules.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/HerculesWS/Hercules/alerts)
Issues and pull requests:
[![Open Issues](https://img.shields.io/github/issues-raw/HerculesWS/Hercules.svg?label=Open%20Issues)](https://github.com/HerculesWS/Hercules/issues)
@@ -27,23 +29,24 @@ Project Info:
Table of Contents
---------
-* 1 What is Hercules?
-* 2 Prerequisites
-* 3 Installation
-* 4 Troubleshooting
-* 5 Helpful Links
-* 6 More Documentation
-
-What is Hercules?
+1. [What is Hercules?](#what-is-hercules)
+2. [Prerequisites](#prerequisites)
+3. [Installation](#installation)
+4. [Troubleshooting](#troubleshooting)
+5. [Helpful Links](#helpful-links)
+6. [More Documentation](#more-documentation)
+
+
+## What is Hercules?
-----------------
Hercules is a collaborative software development project revolving around the
-creation of a robust Massively Multiplayer Online Role Playing Game (MMORPG)
+creation of a robust Massively Multiplayer Online Role-Playing Game (MMORPG)
server package. Written in C, the program is very versatile and provides NPCs,
warps and modifications. The project is jointly managed by a group of
volunteers located around the world as well as a tremendous community providing
QA and support. Hercules is a continuation of the original Athena project.
-Prerequisites
+## Prerequisites
-------------
Before installing Hercules, you will need to install certain tools and applications.
This differs between the varying Operating Systems available, so the
@@ -59,7 +62,7 @@ For a list of supported platforms, please refer to the [Supported Platforms](htt
- git
- gcc or clang (version 4.5 or newer, recommended 5.0 or newer)
- GNU make
- - mysql (`mysql-server`) or mariadb
+ - MySQL (`mysql-server`) or MariaDB
- libmysqlclient (`mysql-devel`)
- zlib (`zlib-devel`)
- libpcre (`pcre-devel`)
@@ -95,7 +98,7 @@ For a list of supported platforms, please refer to the [Supported Platforms](htt
- *More options available at [wikipedia.org](https://en.wikipedia.org/wiki/Comparison_of_text_editors#Overview)*
-Installation
+## Installation
------------
This section is a very brief set of installation instructions. For more concise
@@ -148,11 +151,11 @@ the end of this file).
- `make clean && make sql` (on FreeBSD, replace `make` with `gmake`)
7. Start the three servers login-server, char-server, map-server.
-Troubleshooting
+## Troubleshooting
---------------
If you're having problems with starting your server, the first thing you should
-do is check what's happening on your consoles. More often that not, all support
+do is check what's happening on your consoles. More often than not, all support
issues can be solved simply by looking at the error messages given.
Examples:
@@ -163,7 +166,7 @@ Examples:
[Error]: npc_parsesrcfile: Unable to parse, probably a missing or extra TAB in file 'npc/custom/jobmaster.txt', line '17'. Skipping line...
* w1=prontera,153,193,6 script
* w2=Job Master
- * w3=123,{
+ * w3=2_F_MAGICMASTER,{
* w4=
```
@@ -194,7 +197,7 @@ Examples:
If this shows up on the map server, it generally means that there is no Char
Server available to accept the connection.
-Helpful Links
+## Helpful Links
-------------
The following list of links point to various help files within the repository,
@@ -213,7 +216,7 @@ articles or pages on the Wiki or topics within the Hercules forum.
Network: `irc.rizon.net`
Channel: `#Hercules`
-More Documentation
+## More Documentation
------------------
Hercules has a large collection of help files and sample NPC scripts located in
@@ -233,7 +236,7 @@ the weather. For an in-depth explanation, please see /doc/atcommands.txt
The Hercules emulator has a permission system that enables certain groups of
players to perform certain actions, or have access to certain visual
enhancements or in-game activity. To see what permissions are available, they
-are detailed in /doc/permissions.txt
+are detailed in /doc/permissions.md
### Others
There are more files in the /doc/ directory that will help you to create scripts
diff --git a/conf/atcommand.conf b/conf/atcommand.conf
index 175286eb0..871322a05 100644
--- a/conf/atcommand.conf
+++ b/conf/atcommand.conf
@@ -57,6 +57,7 @@ aliases: {
itemreset: ["clearinventory"]
channel: ["main"]
autoloottype: ["aloottype"]
+ camerainfo: ["setcamera", "viewpointvalue"]
}
/* List of commands that should not be logged at all */
diff --git a/conf/channels.conf b/conf/channels.conf
index 9c2b567f4..c8f14aa27 100644
--- a/conf/channels.conf
+++ b/conf/channels.conf
@@ -64,5 +64,11 @@ chsys: (
irc_flood_protection_enabled: true /* Whether to enable anti-flood protection for outgoing messages */
irc_flood_protection_rate: 1000 /* The delay between messages during anti-flood protection (milliseconds) */
irc_flood_protection_burst: 3 /* The maximum number of messages that are sent at once burst size before triggering the anti-flood protection */
+
+ // @channel setopt MessageDelay <delay>
+ // Sets the maximum amount of message delay (in seconds) allowed for a channel.
+ // Default: 10
+ // Max: 255
+ channel_opt_msg_delay: 10
}
)
diff --git a/conf/char/char-server.conf b/conf/char/char-server.conf
index 76bd5e359..e3d0fd8c0 100644
--- a/conf/char/char-server.conf
+++ b/conf/char/char-server.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ char_configuration: {
// Server Communication username and password.
userid: "s1"
passwd: "p1"
-
+
// Login Server IP
// The character server connects to the login server using this IP address.
// NOTE: This is useful when you are running behind a firewall or are on
@@ -162,6 +162,11 @@ char_configuration: {
// Set the letters/symbols that you want use with the 'char_name_option' option.
// Note: Don't add spaces unless you mean to add 'space' to the list.
name_letters: "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
+
+ // Block renaming if character is in a guild or a party? (BOOL)
+ // Athena: false Aegis: true
+ // This check is imposed by Aegis to avoid dead entries in databases and is not needed on Hercules, as we clear data properly
+ use_aegis_rename: false
}
deletion: {
@@ -209,8 +214,7 @@ char_configuration: {
pincode: {
// A window is opened before you can select your character and you will have to enter a pincode by using only your mouse
// NOTE: Requires client 2011-03-09aragexeRE or newer.
- // 0: disabled
- // 1: enabled
+ // Default: true
enabled: true
// Request Pincode only on login or on everytime char select is accessed?
diff --git a/conf/clans.conf b/conf/clans.conf
index 85ef280fe..82211fce0 100644
--- a/conf/clans.conf
+++ b/conf/clans.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2017 Hercules Dev Team
+//= Copyright (C) 2017-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/common/inter-server.conf b/conf/common/inter-server.conf
index 1e738c587..d45657dca 100644
--- a/conf/common/inter-server.conf
+++ b/conf/common/inter-server.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -117,6 +117,7 @@ inter_configuration: {
autotrade_merchants_db: "autotrade_merchants"
autotrade_data_db: "autotrade_data"
npc_market_data_db: "npc_market_data"
+ npc_barter_data_db: "npc_barter_data"
}
}
diff --git a/conf/common/socket.conf b/conf/common/socket.conf
index 8b8b21865..eb7d494b4 100644
--- a/conf/common/socket.conf
+++ b/conf/common/socket.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/global/console.conf b/conf/global/console.conf
index 84a16a7c8..266b301b2 100644
--- a/conf/global/console.conf
+++ b/conf/global/console.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -32,36 +32,36 @@
//=========================================================================
console: {
- //Time-stamp format which will be printed before all messages.
- //Can at most be 20 characters long.
- //Common formats:
- // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format)
- // %H:%M:%S (hour:minute:second, 24 hour format)
- // %d/%b/%Y (day/Month/year)
- //For full format information, consult the strftime() manual.
+ // Time-stamp format which will be printed before all messages.
+ // Can at most be 20 characters long.
+ // Common formats:
+ // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format)
+ // %H:%M:%S (hour:minute:second, 24 hour format)
+ // %d/%b/%Y (day/Month/year)
+ // For full format information, consult the strftime() manual.
//timestamp_format: "[%d/%b %H:%M]"
- //If redirected output contains escape sequences (color codes)
+ // If redirected output contains escape sequences (color codes)
stdout_with_ansisequence: false
- //Makes server output more silent by omitting certain types of messages:
- //1: Hide Information messages
- //2: Hide Status messages
- //4: Hide Notice Messages
- //8: Hide Warning Messages
- //16: Hide Error and SQL Error messages.
- //32: Hide Debug Messages
- //Example: "console_silent: 7" Hides information, status and notice messages (1+2+4)
+ // Makes server output more silent by omitting certain types of messages:
+ // 1: Hide Information messages
+ // 2: Hide Status messages
+ // 4: Hide Notice Messages
+ // 8: Hide Warning Messages
+ // 16: Hide Error and SQL Error messages.
+ // 32: Hide Debug Messages
+ // Example: "console_silent: 7" Hides information, status and notice messages (1+2+4)
console_silent: 0
// [CHAR] Display information on the console whenever characters/guilds/parties/pets are loaded/saved?
save_log: true
// [MAP] Makes server log selected message types to a file in the /log/ folder
- //1: Log Warning Messages
- //2: Log Error and SQL Error messages.
- //4: Log Debug Messages
- //Example: "console_msg_log: 7" logs all 3 kinds
- //Messages logged by this overrides console_silent setting
+ // 1: Log Warning Messages
+ // 2: Log Error and SQL Error messages.
+ // 4: Log Debug Messages
+ // Example: "console_msg_log: 7" logs all 3 kinds
+ // Messages logged by this overrides console_silent setting
console_msg_log: 0
}
diff --git a/conf/global/sql_connection.conf b/conf/global/sql_connection.conf
index 3a465afea..7b1a2b97b 100644
--- a/conf/global/sql_connection.conf
+++ b/conf/global/sql_connection.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/groups.conf b/conf/groups.conf
index 3f0c34ffb..5756a3412 100644
--- a/conf/groups.conf
+++ b/conf/groups.conf
@@ -47,7 +47,7 @@ Requires 'log_commands' to be enabled in 'conf/logs.conf'.
A group of settings
<permission> : <bool>
If a permission is not included, false is assumed.
-For a full list of available permissions, see: doc/permissions.txt
+For a full list of available permissions, see: doc/permissions.md
<inherit>
A list of group names that given group will inherit commands and permissions
@@ -126,6 +126,7 @@ groups: (
go: true
breakguild: true
channel: true
+ camerainfo: true
}
permissions: {
}
diff --git a/conf/import-tmpl/battle.conf b/conf/import-tmpl/battle.conf
index 7d1d03578..ff05022c2 100644
--- a/conf/import-tmpl/battle.conf
+++ b/conf/import-tmpl/battle.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/import-tmpl/char-server.conf b/conf/import-tmpl/char-server.conf
index 4c9462bc7..3162a31ad 100644
--- a/conf/import-tmpl/char-server.conf
+++ b/conf/import-tmpl/char-server.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/import-tmpl/inter-server.conf b/conf/import-tmpl/inter-server.conf
index c23143b35..9cd3932f5 100644
--- a/conf/import-tmpl/inter-server.conf
+++ b/conf/import-tmpl/inter-server.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/import-tmpl/login-server.conf b/conf/import-tmpl/login-server.conf
index 1c45f94f9..c8f1f8546 100644
--- a/conf/import-tmpl/login-server.conf
+++ b/conf/import-tmpl/login-server.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/import-tmpl/logs.conf b/conf/import-tmpl/logs.conf
index 8f8c2ea68..47e5a665a 100644
--- a/conf/import-tmpl/logs.conf
+++ b/conf/import-tmpl/logs.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/import-tmpl/map-server.conf b/conf/import-tmpl/map-server.conf
index 4d907025e..11e4356ba 100644
--- a/conf/import-tmpl/map-server.conf
+++ b/conf/import-tmpl/map-server.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/import-tmpl/script.conf b/conf/import-tmpl/script.conf
index 040245285..042644ff1 100644
--- a/conf/import-tmpl/script.conf
+++ b/conf/import-tmpl/script.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/import-tmpl/socket.conf b/conf/import-tmpl/socket.conf
index 7ce178140..57806f21e 100644
--- a/conf/import-tmpl/socket.conf
+++ b/conf/import-tmpl/socket.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/login/login-server.conf b/conf/login/login-server.conf
index a3d0b6955..22e927c5e 100644
--- a/conf/login/login-server.conf
+++ b/conf/login/login-server.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -75,8 +75,8 @@ login_configuration: {
// Can you use _M/_F to make new accounts on the server?
new_account: true
- //If new_account is enabled, minimum length to userid and passwords should be 4?
- //Must be 'true' unless your client uses both 'Disable 4 LetterUserID/Password' Diffs
+ // If new_account is enabled, minimum length to userid and passwords should be 4?
+ // Must be 'true' unless your client uses both 'Disable 4 LetterUserID/Password' Diffs
new_acc_length_limit: true
// Account registration flood protection system
diff --git a/conf/map/battle.conf b/conf/map/battle.conf
index 75cf0fb49..dd47db755 100644
--- a/conf/map/battle.conf
+++ b/conf/map/battle.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -76,6 +76,9 @@ battle_configuration: {
// Feature control (on/off) settings
@include "conf/map/battle/feature.conf"
+ // Different calculation limits
+ @include "conf/map/battle/limits.conf"
+
// Anything else that didn't fit anywhere else.
// Includes duel, day/night, mute/manner, log settings.
@include "conf/map/battle/misc.conf"
diff --git a/conf/map/battle/battle.conf b/conf/map/battle/battle.conf
index 4b1632e31..eafb5ec9b 100644
--- a/conf/map/battle/battle.conf
+++ b/conf/map/battle/battle.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/battle/battleground.conf b/conf/map/battle/battleground.conf
index b2a482f3d..08c7fcd8a 100644
--- a/conf/map/battle/battleground.conf
+++ b/conf/map/battle/battleground.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/battle/client.conf b/conf/map/battle/client.conf
index 35c585bf6..355df2baa 100644
--- a/conf/map/battle/client.conf
+++ b/conf/map/battle/client.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -177,3 +177,28 @@ client_emblem_max_blank_percent: 100
// kRO removed the packet and this re-enables the message.
// Official: false.
mvp_exp_reward_message: false
+
+// Displays the same HP value as official servers do when a character is dead.
+// (Note 1)
+// On official servers, HP are never displayed as 0, but when dead, they
+// display the value that will be shown after resurrection (50% HP for novice
+// classes, 1 HP for other classes). Athena servers, instead, show the real
+// value (0 when dead), to avoid confusion.
+// Note: this is only a visual setting, and the server will internally handle
+// it as 0 regardless of this. This means that scripts will know that the
+// character has 0 HP when dead.
+// Default: true (Official behavior)
+display_fake_hp_when_dead: true
+
+// Send ping timer
+// For clients 20190320 Re+
+// Interval in seconds for each timer invoke.
+ping_timer_inverval: 30
+
+// Send packets timeout in seconds before ping packet can be sent.
+// For clients 20190320 Re+
+ping_time: 20
+
+// Drop or not connection after client send disconnect request packet
+// Official is false
+drop_connection_on_quit: false
diff --git a/conf/map/battle/drops.conf b/conf/map/battle/drops.conf
index eb7d94f13..cf09d14d9 100644
--- a/conf/map/battle/drops.conf
+++ b/conf/map/battle/drops.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -146,3 +146,8 @@ drops_by_luk2: 0
// 1: Only marine spheres drop items.
// 2: All alchemist summons drop items.
alchemist_summon_reward: 1
+
+// The maximum number of full iterations that server can do when dropping an item with options.
+// When picking random options for a dropped item, it does lots of iterations to choose the option to be set,
+// this value limits the number of iterations to avoid making the server hang in a long loop.
+option_drop_max_loop: 10
diff --git a/conf/map/battle/exp.conf b/conf/map/battle/exp.conf
index 8ca3de933..54b2ec4e0 100644
--- a/conf/map/battle/exp.conf
+++ b/conf/map/battle/exp.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/battle/feature.conf b/conf/map/battle/feature.conf
index 1ed94b2a4..0cb293d60 100644
--- a/conf/map/battle/feature.conf
+++ b/conf/map/battle/feature.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -83,4 +83,19 @@ features: {
// Attendance End time in the format YearMonthDay
feature_attendance_endtime: 20180331
+
+ // Enable Achievement System
+ // true: enable (Default)
+ // false: disable
+ enable_achievement_system: true
+
+ // Enable Refinery UI (requires 2016-10-05Ragexe/RE)
+ // true: enable (Default)
+ // false: disable
+ enable_refinery_ui: false
+
+ // Replace Refine NPCs with Refinery UI
+ // true: enable
+ // false: disable (default)
+ replace_refine_npcs: false
}
diff --git a/conf/map/battle/gm.conf b/conf/map/battle/gm.conf
index 872aaea6d..32e407866 100644
--- a/conf/map/battle/gm.conf
+++ b/conf/map/battle/gm.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/battle/guild.conf b/conf/map/battle/guild.conf
index e92760796..101349a85 100644
--- a/conf/map/battle/guild.conf
+++ b/conf/map/battle/guild.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/battle/homunc.conf b/conf/map/battle/homunc.conf
index 0042df016..7ccaf8f8a 100644
--- a/conf/map/battle/homunc.conf
+++ b/conf/map/battle/homunc.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/battle/items.conf b/conf/map/battle/items.conf
index 144e04ea4..0dd990e0a 100644
--- a/conf/map/battle/items.conf
+++ b/conf/map/battle/items.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -123,3 +123,11 @@ boarding_halter_speed: 25
// Allow to use items when the storage is open?
// Official: false (Default)
storage_use_item: false
+
+// Minimum item buy price at shop
+// Default: 1
+min_item_buy_price: 1
+
+// Minimum item sell price at shop
+// Default: 0
+min_item_sell_price: 0
diff --git a/conf/map/battle/limits.conf b/conf/map/battle/limits.conf
new file mode 100644
index 000000000..78498219e
--- /dev/null
+++ b/conf/map/battle/limits.conf
@@ -0,0 +1,57 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 Hercules Dev Team
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+// Battle (Limits) Configuration File
+//=========================================================================
+
+// basic attack limits
+batk_min_limit: 0
+batk_max_limit: 65535
+
+// magic attack limits
+
+matk_min_limit: 0
+matk_max_limit: 65535
+
+// weapon attack limits
+watk_min_limit: 0
+watk_max_limit: 65535
+
+// flee limits
+flee_min_limit: 1
+flee_max_limit: 32767
+
+// flee2 limits
+flee2_min_limit: 10
+flee2_max_limit: 32767
+
+// critical attack limits
+critical_min_limit: 10
+critical_max_limit: 32767
+
+// hit limits
+hit_min_limit: 1
+hit_max_limit: 32767
diff --git a/conf/map/battle/misc.conf b/conf/map/battle/misc.conf
index 5a8f916aa..f2bd00429 100644
--- a/conf/map/battle/misc.conf
+++ b/conf/map/battle/misc.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/battle/monster.conf b/conf/map/battle/monster.conf
index 192e54615..8f969dc48 100644
--- a/conf/map/battle/monster.conf
+++ b/conf/map/battle/monster.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -137,7 +137,7 @@ mob_skill_delay: 100
mob_count_rate: 100
// Respawn rate of monsters on a map. 50 would make mobs respawn twice as fast (half delay time) (Note 2)
-//Note: This does not affects mobs with immediate respawn (most normal mobs)
+// Note: This does not affects mobs with immediate respawn (most normal mobs)
mob_spawn_delay: 100
plant_spawn_delay: 100
boss_spawn_delay: 100
diff --git a/conf/map/battle/party.conf b/conf/map/battle/party.conf
index 621ec50f4..79230eac4 100644
--- a/conf/map/battle/party.conf
+++ b/conf/map/battle/party.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/battle/pet.conf b/conf/map/battle/pet.conf
index 02324ac52..f3c6fc12f 100644
--- a/conf/map/battle/pet.conf
+++ b/conf/map/battle/pet.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/battle/player.conf b/conf/map/battle/player.conf
index 25ac24d6b..0762b1f54 100644
--- a/conf/map/battle/player.conf
+++ b/conf/map/battle/player.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -211,6 +211,7 @@ snovice_call_type: 0
// 0x080 - Emotion Request
// 0x100 - DropItem Request
// 0x200 - @/#Command Request
+// 0x400 - NPC Script Interaction
// Please note that at least 1 option has to be enabled.
// Be mindful that the more options used, the easier it becomes to cheat features that rely on idletime (e.g. checkidle()).
// Default: walk ( 0x1 ) + useskilltoid ( 0x2 ) + useskilltopos ( 0x4 ) + useitem ( 0x8 ) + attack ( 0x10 ) = 0x1F
diff --git a/conf/map/battle/skill.conf b/conf/map/battle/skill.conf
index d258567a0..0cc63662c 100644
--- a/conf/map/battle/skill.conf
+++ b/conf/map/battle/skill.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -53,8 +53,8 @@ min_skill_delay_limit: 100
// appear to "teleport" afterwards.
default_walk_delay: 300
-//Completely disable skill delay of the following types (Note 3)
-//NOTE: By default mobs don't have the skill delay as specified in the skill
+// Completely disable skill delay of the following types (Note 3)
+// NOTE: By default mobs don't have the skill delay as specified in the skill
// database, but follow their own 'reuse' skill delay which is specified on
// the mob skill db. When set, the delay for all skills become
// min_skill_delay_limit.
@@ -107,9 +107,9 @@ clear_skills_on_death: 0
// Should ground placed skills be removed when the caster changes maps? (Note 3)
clear_skills_on_warp: 15
-//Setting this to true will override the target mode of ground-based skills with the flag 0x01 to "No Enemies"
-//The two skills affected by default are Pneuma and Safety Wall (if set to true, those two skills will not protect everyone, but only allies)
-//See db/skill_unit_db.txt for more info.
+// Setting this to true will override the target mode of ground-based skills with the flag 0x01 to "No Enemies"
+// The two skills affected by default are Pneuma and Safety Wall (if set to true, those two skills will not protect everyone, but only allies)
+// See db/skill_unit_db.txt for more info.
defunit_not_enemy: false
// Do skills do at least 'hits' damage when they don't miss/are blocked?
@@ -138,10 +138,22 @@ skill_nofootset: 1
// Default on official servers: true for player-traps
gvg_traps_target_all: 1
-// Some traps settings (add as necessary):
-// 1: Traps are invisible to those who come into view of it. When unset, all traps are visible at all times.
-// (Invisible traps can be revealed through Hunter's Detecting skill)
-traps_setting: 0
+// Hunter's traps visibility setting (with HiddenTrap: true on skill_db.conf)
+// Here we have 2 configs:
+// visibility stands to how traps are displayed by default:
+// 0: Traps are always visible to everyone (Hercules/Pre-renewal)
+// 1: Traps with HiddenTrap: true are hidden in versus maps (PvP/GvG/BG)
+// 2: Traps with HiddenTrap: true are always invisible (Renewal) (Default)
+// Notes: - Invisibility applies to players that are not in caster's party.
+// - Invisible traps can be made visible to everyone with Hunter's Detecting skill.
+//
+// display_on_trigger tells if HiddenTraps should become visible once triggered
+// 0: Do not make traps visible once triggered (except for Ankle Snare) (Aegis)
+// 1: Always make traps visible once triggered (Hercules)
+trap_options: {
+ visibility: 2
+ display_on_trigger: 1
+}
// Restrictions applied to the Alchemist's Summon Flora skill (add as necessary)
// 1: Enable players to damage the floras outside of versus grounds.
@@ -175,7 +187,7 @@ monster_cloak_check_type: 4
// Can't place unlimited land skills at the same time (Note 3)
land_skill_limit: 9
-//Determines which kind of skill-failed messages should be sent:
+// Determines which kind of skill-failed messages should be sent:
// 0 - Enable by default
// 1 - Disable all skill-failed messages.
// 2 - Disable skill-failed messages due to can-act delays.
@@ -307,6 +319,12 @@ dancing_weaponswitch_fix: true
// 1: Traps in GvG make player stop moving right when stepping over it.
skill_trap_type: 0
+// Trap Reflect
+// Whether the damage from traps must be reflected (for example by Reflect Shield or High Orc Card)?
+// true: Aegis - traps are reflected
+// false: Athena - traps are not reflected
+trap_reflect: true
+
// Max Possible Level of Monster skills
// Note: If your MVPs are too tough, reduce it to 10.
mob_max_skilllvl: 100
@@ -324,3 +342,8 @@ bowling_bash_area: 0
// punch a hole into SG it will for example create a "suck in" effect.
// If you disable this setting, the knockback direction will be completely random (eAthena style).
stormgust_knockback: true
+
+// Magic Rod's animation behavior (Note 1)
+// 0 : (official) Magic Rod's animation occurs every time it is used.
+// 1 : Magic Rod's animation would not occur unless a spell was absorbed. (old behavior)
+magicrod_type: 0
diff --git a/conf/map/battle/status.conf b/conf/map/battle/status.conf
index 94459e113..8ba761992 100644
--- a/conf/map/battle/status.conf
+++ b/conf/map/battle/status.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/logs.conf b/conf/map/logs.conf
index f56db9eee..db584049a 100644
--- a/conf/map/logs.conf
+++ b/conf/map/logs.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/conf/map/map-server.conf b/conf/map/map-server.conf
index 943b7b5a6..dbb343748 100644
--- a/conf/map/map-server.conf
+++ b/conf/map/map-server.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -106,6 +106,7 @@ map_configuration: {
// 0x040: After successfully get/delete/complete a quest
// 0x080: After every buying store transaction
// 0x100: After every bank transaction (deposit/withdraw)
+ // 0x200: After every allow party flag change
// NOTE: These settings decrease the chance of dupes/lost items
// when there's a server crash at the expense of increasing the
// map/char server lag. If your server rarely crashes, but
diff --git a/conf/map/maps.conf b/conf/map/maps.conf
index 2b1b134ff..644ced6bb 100644
--- a/conf/map/maps.conf
+++ b/conf/map/maps.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1333,6 +1333,26 @@ map_list: (
"star_frst",
"star_in",
+ // Episode 17.1
+ "1@cor",
+ "1@os_a",
+ "1@os_b",
+ "1@rgsr",
+ "rgsr_in",
+ "pub_cat",
+ "sp_cor",
+ "sp_os",
+ "sp_rudus",
+ "sp_rudus2",
+ "sp_rudus3",
+
+ // Level Expansion
+ "mag_dun03",
+ "gl_cas01_",
+
+ // EDDA the downfall of GlastHeim
+ "1@gl_prq",
+
//------------------------- Clone Maps ---------------------------
//------------------------- Extra Maps ---------------------------
diff --git a/conf/map/script.conf b/conf/map/script.conf
index f18e9d6e2..802ce2538 100644
--- a/conf/map/script.conf
+++ b/conf/map/script.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2019 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -52,7 +52,7 @@ script_configuration: {
// Default value of the 'min' argument of the script command 'input'.
// When the 'min' argument isn't provided, this value is used instead.
// Defaults to 0.
- //input_min_value: 0
+ input_min_value: 0
// Default value of the 'max' argument of the script command 'input'.
// When the 'max' argument isn't provided, this value is used instead.
diff --git a/conf/messages.conf b/conf/messages.conf
index f986e4649..2788f264d 100644
--- a/conf/messages.conf
+++ b/conf/messages.conf
@@ -448,7 +448,9 @@
// Return pet to egg message
451: You can't return your pet because your inventory is full.
-//452-497 FREE
+452: usage @camerainfo range rotation latitude
+453: Refinery UI is not available
+//454-497 FREE
// Messages of others (not for GM commands)
// ----------------------------------------
@@ -1494,11 +1496,11 @@
1448: -- Available options
1449: option '%s' is already enabled, if you'd like to disable it type '@channel opt %s 0'
1450: option '%s' is now enabled for channel '%s'
-1451: value '%d' for option '%s' is out of range (limit is 0-10)
+1451: value '%d' for option '%s' is out of range (limit is 0-%d)
1452: option '%s' is now enabled for channel '%s' with %d seconds
1453: option '%s' is now disabled for channel '%s'
1454: option '%s' is not enabled on channel '%s'
-1455: You're talking too fast!
+1455: You cannot send a message to this channel for another %d seconds.
1456: -- %s ban <channel name> <character name>
1457: - bans <character name> from <channel name> channel
1458: -- %s banlist <channel name>
@@ -1568,5 +1570,10 @@
1498: You can't add a party bound item to a character without party!
1499: You can't add a guild bound item to a character without guild!
+// @dropall
+1500: Usage: @dropall {<type>}
+1501: Type List: (default) all = -1, healing = 0, usable = 2, etc = 3, weapon = 4, armor = 5, card = 6, petegg = 7, petarmor = 8, ammo = 10, delayed-consumable = 11, cash = 18
+1502: %d items are dropped!
+
//Custom translations
import: conf/import/msg_conf.txt
diff --git a/configure b/configure
index 180fe971d..4ab9057e8 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac 234189f34.
+# From configure.ac 5b2340b4d.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69.
#
@@ -2199,7 +2199,7 @@ ac_config_files="$ac_config_files 3rdparty/mt19937ar/Makefile 3rdparty/libconfig
ac_config_files="$ac_config_files src/char/Makefile src/login/Makefile"
-ac_config_files="$ac_config_files src/map/Makefile src/plugins/Makefile src/tool/Makefile"
+ac_config_files="$ac_config_files src/map/Makefile src/plugins/Makefile"
ac_config_files="$ac_config_files src/test/Makefile"
@@ -7585,6 +7585,55 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wvla" >&5
+$as_echo_n "checking whether $CC supports -Wvla... " >&6; }
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror -Wvla"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ CFLAGS="$OLD_CFLAGS -Wvla"
+ # Optionally, run a test
+ if test "x" != "x"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wvla" >&5
+$as_echo_n "checking whether $CC can actually use -Wvla... " >&6; }
+ CFLAGS="$OLD_CFLAGS -Werror -Wvla"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ CFLAGS="$OLD_CFLAGS"
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ CFLAGS="$OLD_CFLAGS -Wvla"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ CFLAGS="$OLD_CFLAGS"
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-format-nonliteral" >&5
$as_echo_n "checking whether $CC supports -Wno-format-nonliteral... " >&6; }
OLD_CFLAGS="$CFLAGS"
@@ -9403,6 +9452,46 @@ else
fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether my_bool is supported (MySQL)" >&5
+$as_echo_n "checking whether my_bool is supported (MySQL)... " >&6; }
+if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #ifdef WIN32
+ #include "common/winapi.h" // Needed before mysql.h
+ #endif
+ #include <mysql.h>
+ int main(int argc, char **argv){
+ my_bool val = (my_bool)0;
+ return (int)val;
+ }
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (converting my_bool to bool)" >&5
+$as_echo "no (converting my_bool to bool)" >&6; }
+ MYSQL_CFLAGS="$MYSQL_CFLAGS -Dmy_bool=bool"
+
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
CPPFLAGS="$MYSQL_OLD_CPPFLAGS"
LIBS="$MYSQL_OLD_LIBS"
@@ -10437,7 +10526,6 @@ do
"src/login/Makefile") CONFIG_FILES="$CONFIG_FILES src/login/Makefile" ;;
"src/map/Makefile") CONFIG_FILES="$CONFIG_FILES src/map/Makefile" ;;
"src/plugins/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/Makefile" ;;
- "src/tool/Makefile") CONFIG_FILES="$CONFIG_FILES src/tool/Makefile" ;;
"src/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/test/Makefile" ;;
"tools/HPMHookGen/Makefile") CONFIG_FILES="$CONFIG_FILES tools/HPMHookGen/Makefile" ;;
"tools/doxygen/Makefile") CONFIG_FILES="$CONFIG_FILES tools/doxygen/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 4d5f4bcfd..ec9e35cfe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@ AC_CONFIG_SRCDIR([src/common/cbasetypes.h])
AC_CONFIG_FILES([Makefile src/common/Makefile])
AC_CONFIG_FILES([3rdparty/mt19937ar/Makefile 3rdparty/libconfig/Makefile])
AC_CONFIG_FILES([src/char/Makefile src/login/Makefile])
-AC_CONFIG_FILES([src/map/Makefile src/plugins/Makefile src/tool/Makefile])
+AC_CONFIG_FILES([src/map/Makefile src/plugins/Makefile])
AC_CONFIG_FILES([src/test/Makefile])
AC_CONFIG_FILES([tools/HPMHookGen/Makefile])
AC_CONFIG_FILES([tools/doxygen/Makefile])
@@ -1085,6 +1085,7 @@ AC_CHECK_COMPILER_WFLAG(redundant-decls)
AC_CHECK_COMPILER_WFLAG(cast-qual)
AC_CHECK_COMPILER_WFLAG(misleading-indentation)
AC_CHECK_COMPILER_WFLAG(null-dereference)
+AC_CHECK_COMPILER_WFLAG(vla)
AC_CHECK_COMPILER_WNOFLAG(format-nonliteral)
AC_CHECK_COMPILER_WNOFLAG(switch)
AC_CHECK_COMPILER_WNOFLAG(missing-field-initializers)
@@ -1596,6 +1597,28 @@ MYSQL_OLD_LIBS="$LIBS" ; LIBS="$LIBS $MYSQL_LIBS"
MYSQL_OLD_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="$CPPFLAGS $MYSQL_CFLAGS"
AC_CHECK_FUNC([mysql_init], [HAVE_MYSQL="yes"])
AC_CHECK_HEADER([mysql.h], [], [HAVE_MYSQL=""])
+
+AC_MSG_CHECKING([whether my_bool is supported (MySQL)])
+AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([
+ #ifdef WIN32
+ #include "common/winapi.h" // Needed before mysql.h
+ #endif
+ #include <mysql.h>
+ int main(int argc, char **argv){
+ my_bool val = (my_bool)0;
+ return (int)val;
+ }
+ ])],
+ [
+ AC_MSG_RESULT([yes])
+ ],
+ [
+ AC_MSG_RESULT([no (converting my_bool to bool)])
+ MYSQL_CFLAGS="$MYSQL_CFLAGS -Dmy_bool=bool"
+ ]
+)
+
CPPFLAGS="$MYSQL_OLD_CPPFLAGS"
LIBS="$MYSQL_OLD_LIBS"
diff --git a/db/constants.conf b/db/constants.conf
index c3b1fdb57..b3dd902a4 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -1483,12 +1483,27 @@ constants_db: {
e_panic: 79
e_whisp: 80
- comment__: "petstat"
- PET_CLASS: 1
- PET_NAME: 2
- PET_LEVEL: 3
- PET_HUNGRY: 4
- PET_INTIMATE: 5
+ comment__: "petstat - deprecated, use *getpetinfo"
+ PET_CLASS: {
+ Value: 1
+ Deprecated: true
+ }
+ PET_NAME: {
+ Value: 2
+ Deprecated: true
+ }
+ PET_LEVEL: {
+ Value: 3
+ Deprecated: true
+ }
+ PET_HUNGRY: {
+ Value: 4
+ Deprecated: true
+ }
+ PET_INTIMATE: {
+ Value: 5
+ Deprecated: true
+ }
comment__: "getmonsterinfo"
MOB_NAME: 0
@@ -3554,6 +3569,40 @@ constants_db: {
4_M_AC_RUMIN: 10246
4_M_HIGH_WIZARD: 10247
4_SYSTEM_BOX: 10248
+ 4_STEELBOX: 10249
+ 4_WOODBOX: 10250
+ 4_M_POPFESTA: 10251
+ 4_BONFIRE: 10252
+ 4_PCCOUNT: 10253
+ 4_SCATLETON: 10271
+ 4_JJAK: 10280
+ 4_M_SNOWMAN_B: 10281
+ 4_M_SNOWMAN_R: 10282
+ 4_M_SNOWMAN_G: 10283
+ 4_F_DANGDANG: 10286
+ 4_M_DANGDANG: 10287
+ 4_F_DANGDANG1: 10288
+ 4_LEAFCAT: 10289
+ 4_NASARIAN: 10290
+ 4_NASARIAN_EM: 10291
+ 4_TEDDY_BEAR_W: 10292
+ 4_TEDDY_BEAR_B: 10293
+ 4_TEDDY_BEAR_B_L: 10294
+ 4_M_SOULREAPER: 10295
+ 4_F_SE_SUN: 10296
+ 4_M_SE_MOON: 10297
+ 4_M_SE_STAR: 10298
+ 4_EP17_KAYA: 10299
+ 4_EP17_AS: 10300
+ 4_EP17_ELYUMINA: 10301
+ 4_EP17_MORNING: 10302
+ 4_EP17_MIGUEL: 10303
+ 4_EP17_NIHIL_K: 10304
+ 4_EP17_MIGUEL_D: 10305
+ 4_ED_SCHMIDT: 10306
+ 4_ED_OSCAR: 10307
+ 4_ED_ORB: 10308
+ 4_ED_FENCE: 10309
comment__: "Mercenary IDs"
MER_LIF: 6001
@@ -3708,12 +3757,6 @@ constants_db: {
IOT_PARTY: 2
IOT_GUILD: 3
- comment__: "tradertype"
- NST_ZENY: 0
- NST_CASH: 1
- NST_MARKET: 2
- NST_CUSTOM: 3
-
comment__: "strcharinfo"
PC_NAME: 0
PC_PARTY: 1
@@ -3815,64 +3858,6 @@ constants_db: {
SEX_MALE: 1
SEX_ANY: 2
- comment__: "Script Unit Data Types"
- UDT_TYPE: 0
- UDT_SIZE: 1
- UDT_LEVEL: 2
- UDT_HP: 3
- UDT_MAXHP: 4
- UDT_SP: 5
- UDT_MAXSP: 6
- UDT_MASTERAID: 7
- UDT_MASTERCID: 8
- UDT_MAPIDXY: 9
- UDT_WALKTOXY: 10
- UDT_SPEED: 11
- UDT_MODE: 12
- UDT_AI: 13
- UDT_SCOPTION: 14
- UDT_SEX: 15
- UDT_CLASS: 16
- UDT_HAIRSTYLE: 17
- UDT_HAIRCOLOR: 18
- UDT_HEADBOTTOM: 19
- UDT_HEADMIDDLE: 20
- UDT_HEADTOP: 21
- UDT_CLOTHCOLOR: 22
- UDT_SHIELD: 23
- UDT_WEAPON: 24
- UDT_LOOKDIR: 25
- UDT_CANMOVETICK: 26
- UDT_STR: 27
- UDT_AGI: 28
- UDT_VIT: 29
- UDT_INT: 30
- UDT_DEX: 31
- UDT_LUK: 32
- UDT_ATKRANGE: 33
- UDT_ATKMIN: 34
- UDT_ATKMAX: 35
- UDT_MATKMIN: 36
- UDT_MATKMAX: 37
- UDT_DEF: 38
- UDT_MDEF: 39
- UDT_HIT: 40
- UDT_FLEE: 41
- UDT_PDODGE: 42
- UDT_CRIT: 43
- UDT_RACE: 44
- UDT_ELETYPE: 45
- UDT_ELELEVEL: 46
- UDT_AMOTION: 47
- UDT_ADELAY: 48
- UDT_DMOTION: 49
- UDT_HUNGER: 50
- UDT_INTIMACY: 51
- UDT_LIFETIME: 52
- UDT_MERC_KILLCOUNT: 53
- UDT_STATADD: 54
- UDT_ROBE: 55
- UDT_BODY2: 56
comment__: "HatEffect Constants"
HAT_EF_BLOSSOM_FLUTTERING: 1
@@ -3931,6 +3916,38 @@ constants_db: {
HAT_EF_QSCARABA: 54
HAT_EF_FSTONE: 55
HAT_EF_MAGICCIRCLE: 56
+ HAT_EF_BRYSINGGAMEN: 57
+ HAT_EF_MAGINGIORDE: 58
+ HAT_EF_LEVEL99_RED: 59
+ HAT_EF_LEVEL99_ULTRAMARINE: 60
+ HAT_EF_LEVEL99_CYAN: 61
+ HAT_EF_LEVEL99_LIME: 62
+ HAT_EF_LEVEL99_VIOLET: 63
+ HAT_EF_LEVEL99_LILAC: 64
+ HAT_EF_LEVEL99_SUN_ORANGE: 65
+ HAT_EF_LEVEL99_DEEP_PINK: 66
+ HAT_EF_LEVEL99_BLACK: 67
+ HAT_EF_LEVEL99_WHITE: 68
+ HAT_EF_LEVEL160_RED: 69
+ HAT_EF_LEVEL160_ULTRAMARINE: 70
+ HAT_EF_LEVEL160_CYAN: 71
+ HAT_EF_LEVEL160_LIME: 72
+ HAT_EF_LEVEL160_VIOLET: 73
+ HAT_EF_LEVEL160_LILAC: 74
+ HAT_EF_LEVEL160_SUN_ORANGE: 75
+ HAT_EF_LEVEL160_DEEP_PINK: 76
+ HAT_EF_LEVEL160_BLACK: 77
+ HAT_EF_LEVEL160_WHITE: 78
+ HAT_EF_FULL_BLOOMCHERRY_TREE: 79
+ HAT_EF_C_BLESSINGS_OF_SOUL: 80
+ HAT_EF_MANYSTARS: 81
+ HAT_EF_SUBJECT_AURA_GOLD: 82
+ HAT_EF_SUBJECT_AURA_WHITE: 83
+ HAT_EF_SUBJECT_AURA_RED: 84
+ HAT_EF_C_SHINING_ANGEL_WING: 85
+ HAT_EF_MAGIC_STAR_TW: 86
+ HAT_DIGITAL_SPACE: 87
+ HAT_EF_SLEIPNIR: 88
comment__: "Achievement Types"
ACH_QUEST: 0
@@ -3979,4 +3996,7 @@ constants_db: {
ACH_PET_CREATE: 43
ACH_ACHIEVE: 44
ACH_ACHIEVEMENT_RANK: 45
+
+ comment__: "inventory expansion"
+ INVENTORY_INCREASE_STEP: 10
}
diff --git a/db/item_db2.conf b/db/item_db2.conf
index 199bd798e..8a2d8e429 100644
--- a/db/item_db2.conf
+++ b/db/item_db2.conf
@@ -70,7 +70,7 @@ item_db: (
Taekwon: true/false (boolean, defaults to false)
Star_Gladiator: true/false (boolean, defaults to false)
Soul_Linker: true/false (boolean, defaults to false)
- Gungslinger: true/false (boolean, defaults to false)
+ Gunslinger: true/false (boolean, defaults to false)
Ninja: true/false (boolean, defaults to false)
Gangsi: true/false (boolean, defaults to false)
Death_Knight: true/false (boolean, defaults to false)
diff --git a/db/map_index.txt b/db/map_index.txt
index 2efafb0b2..fbbf4d25a 100644
--- a/db/map_index.txt
+++ b/db/map_index.txt
@@ -1026,7 +1026,20 @@ com_d02_i
1@soul
star_frst
star_in
-
+1@cor
+1@os_a
+1@os_b
+1@rgsr
+rgsr_in
+pub_cat
+sp_cor
+sp_os
+sp_rudus
+sp_rudus2
+sp_rudus3
+mag_dun03
+gl_cas01_
+1@gl_prq
// Only add maps under this line if they are not standard maps!
//======================================================================================
diff --git a/db/mob_db2.conf b/db/mob_db2.conf
index 8d3e67904..e2894a719 100644
--- a/db/mob_db2.conf
+++ b/db/mob_db2.conf
@@ -89,6 +89,8 @@ mob_db: (
}
Drops: {
AegisName: chance (string: int)
+ // or
+ AegisName: (chance, "Option Drop Group")
// ...
}
},
diff --git a/db/option_drop_groups.conf b/db/option_drop_groups.conf
new file mode 100644
index 000000000..b293be19a
--- /dev/null
+++ b/db/option_drop_groups.conf
@@ -0,0 +1,53 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 Hercules Dev Team
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Random Option Drop Group Database
+//=========================================================================
+
+option_drop_group_db: (
+{
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+ <Group Name Constant>: (
+ { // Option Slot 1
+ Rate: (int) chance of filling option slot 1 (100 = 1%)
+
+ // Possible options for slot 1
+ // min/max value : int, defaults to 0
+ // chance : int, 100 = 1% if not set, will be 100%/number of possibiltiies
+ OptionName: value
+ // or
+ OptionName: [min value, max value]
+ // or
+ OptionName: [min value, max value, chance]
+ // ... (as many as you want)
+ },
+ // ... (up to MAX_ITEM_OPTION)
+ ),
+**************************************************************************/
+}
+)
diff --git a/db/pre-re/item_db.conf b/db/pre-re/item_db.conf
index 3f3b6d622..c860e0239 100644
--- a/db/pre-re/item_db.conf
+++ b/db/pre-re/item_db.conf
@@ -9503,6 +9503,11 @@ item_db: (
bonus bStr,10;
">
},
+{
+ Id: 1326
+ AegisName: "War_Axe_IL"
+ Name: "War_Axe_IL"
+},
//== Two-Handed Axes =======================================
{
@@ -18245,6 +18250,26 @@ item_db: (
bonus2 bAddSize,Size_Large,40;
">
},
+{
+ Id: 1846
+ AegisName: "Combo_Battle_Glove_IL"
+ Name: "Combo_Battle_Glove_IL"
+},
+{
+ Id: 1848
+ AegisName: "Rebeginer_SR_Nuckle"
+ Name: "Rebeginer_SR_Nuckle"
+},
+{
+ Id: 1862
+ AegisName: "Burning_Knuckle_OS"
+ Name: "Burning_Knuckle_OS"
+},
+{
+ Id: 1864
+ AegisName: "Evt_Iron_Nail_K"
+ Name: "Evt_Iron_Nail_K"
+},
//== Instruments ===========================================
{
@@ -19873,6 +19898,26 @@ item_db: (
bonus bInt,6;
">
},
+{
+ Id: 2039
+ AegisName: "Wizardy_Staff_IL"
+ Name: "Wizardy_Staff_IL"
+},
+{
+ Id: 2046
+ AegisName: "Rebeginer_WL_Staff"
+ Name: "Rebeginer_WL_Staff"
+},
+{
+ Id: 2051
+ AegisName: "Survival_Staff_IL"
+ Name: "Survival_Staff_IL"
+},
+{
+ Id: 2054
+ AegisName: "Evt_Iron_Staff"
+ Name: "Evt_Iron_Staff"
+},
//== Shields ===============================================
{
@@ -64849,6 +64894,11 @@ item_db: (
Type: "IT_PETARMOR"
Buy: 20
},
+{
+ Id: 10042
+ AegisName: "Dark_Mane"
+ Name: "Dark_Mane"
+},
//== Misc "Etc" Books ======================================
{
@@ -65597,6 +65647,51 @@ item_db: (
Script: <" itemheal rand(10, 40), 0; ">
},
{
+ Id: 11607
+ AegisName: "Crepe"
+ Name: "Crepe"
+},
+{
+ Id: 11608
+ AegisName: "Chocolate_Egg"
+ Name: "Chocolate_Egg"
+},
+{
+ Id: 11609
+ AegisName: "Yummy_Cookie_Egg"
+ Name: "Yummy_Cookie_Egg"
+},
+{
+ Id: 11611
+ AegisName: "Pop_Corn"
+ Name: "Pop_Corn"
+},
+{
+ Id: 11612
+ AegisName: "Aromatic_Pop_Corn"
+ Name: "Aromatic_Pop_Corn"
+},
+{
+ Id: 11614
+ AegisName: "Fresh_Milk"
+ Name: "Fresh_Milk"
+},
+{
+ Id: 11615
+ AegisName: "Sweet_Potato_"
+ Name: "Sweet_Potato_"
+},
+{
+ Id: 11620
+ AegisName: "Bearopy"
+ Name: "Bearopy"
+},
+{
+ Id: 11625
+ AegisName: "Aromatic_Pop_Corn_"
+ Name: "Aromatic_Pop_Corn_"
+},
+{
Id: 11701
AegisName: "Girl_Bunch_Of_Flower"
Name: "Girl's Bouquet"
@@ -77429,6 +77524,16 @@ item_db: (
}
Script: <" bonus bHit,-5; ">
},
+{
+ Id: 13144
+ AegisName: "Rebeginer_RL_Gun"
+ Name: "Rebeginer_RL_Gun"
+},
+{
+ Id: 13146
+ AegisName: "Calf_Deathadder"
+ Name: "Calf_Deathadder"
+},
//== Guns ==================================================
{
@@ -79274,6 +79379,21 @@ item_db: (
noauction: true
}
},
+{
+ Id: 13337
+ AegisName: "Huuma_Fluttering_Snow_IL"
+ Name: "Huuma_Fluttering_Snow_IL"
+},
+{
+ Id: 13338
+ AegisName: "Huuma_Bird_Wing_IL"
+ Name: "Huuma_Bird_Wing_IL"
+},
+{
+ Id: 13341
+ AegisName: "Rebeginer_KO_Humma"
+ Name: "Rebeginer_KO_Humma"
+},
//== More One-Handed Swords ================================
{
@@ -80053,6 +80173,26 @@ item_db: (
}
Script: <" bonus bUnbreakableWeapon,0; ">
},
+{
+ Id: 13469
+ AegisName: "Immaterial_Sword_IL"
+ Name: "Immaterial_Sword_IL"
+},
+{
+ Id: 13483
+ AegisName: "Rebeginer_GN_Sword"
+ Name: "Rebeginer_GN_Sword"
+},
+{
+ Id: 13493
+ AegisName: "Cannon_Rapier_OS"
+ Name: "Cannon_Rapier_OS"
+},
+{
+ Id: 13495
+ AegisName: "Evt_Bluefire_Sword"
+ Name: "Evt_Bluefire_Sword"
+},
//== More Cash Shop Items ==================================
{
@@ -93275,6 +93415,61 @@ item_db: (
noauction: true
}
},
+{
+ Id: 15212
+ AegisName: "YSF01_Plate"
+ Name: "YSF01_Plate"
+},
+{
+ Id: 15246
+ AegisName: "True_Hunting_Mail"
+ Name: "True_Hunting_Mail"
+},
+{
+ Id: 15247
+ AegisName: "R_Hunting_Mail"
+ Name: "R_Hunting_Mail"
+},
+{
+ Id: 15250
+ AegisName: "Rebeginer_Suits"
+ Name: "Rebeginer_Suits"
+},
+{
+ Id: 15280
+ AegisName: "S_CriticalHit_Armor"
+ Name: "S_CriticalHit_Armor"
+},
+{
+ Id: 15348
+ AegisName: "Goibne_Armor_IL"
+ Name: "Goibne_Armor_IL"
+},
+{
+ Id: 15376
+ AegisName: "Illusion_Armor_A"
+ Name: "Illusion_Armor_A"
+},
+{
+ Id: 15377
+ AegisName: "Illusion_Armor_B"
+ Name: "Illusion_Armor_B"
+},
+{
+ Id: 15383
+ AegisName: "Time_Overload_Robe"
+ Name: "Time_Overload_Robe"
+},
+{
+ Id: 15388
+ AegisName: "Schmidt_Suits"
+ Name: "Schmidt_Suits"
+},
+{
+ Id: 15389
+ AegisName: "Schmidt_Manteau"
+ Name: "Schmidt_Manteau"
+},
//== More Maces ============================================
{
@@ -93438,6 +93633,36 @@ item_db: (
Subtype: "W_MACE"
Script: <" bonus bUseSPrate, - getrefine(); ">
},
+{
+ Id: 16063
+ AegisName: "Long_Mace_IL"
+ Name: "Long_Mace_IL"
+},
+{
+ Id: 16065
+ AegisName: "Iron_Driver_IL"
+ Name: "Iron_Driver_IL"
+},
+{
+ Id: 16075
+ AegisName: "Rebeginer_NC_Mace"
+ Name: "Rebeginer_NC_Mace"
+},
+{
+ Id: 16076
+ AegisName: "Rebeginer_N2_Mace"
+ Name: "Rebeginer_N2_Mace"
+},
+{
+ Id: 16088
+ AegisName: "Saphir_Hall_OS"
+ Name: "Saphir_Hall_OS"
+},
+{
+ Id: 16089
+ AegisName: "Ultio_Spes_OS"
+ Name: "Ultio_Spes_OS"
+},
//== More Rental Boxes =====================================
{
@@ -93741,6 +93966,11 @@ item_db: (
Id: 16422
AegisName: "Baphomet_Horns_Box"
},
+{
+ Id: 16423
+ AegisName: "PoporingKey"
+ Name: "PoporingKey"
+},
*/
/*
Id: 16423
@@ -94037,6 +94267,111 @@ item_db: (
Weight: 10
Script: <" getitem(Cash_Hair_Coupon, 1); ">
},
+{
+ Id: 17774
+ AegisName: "Almighty_Plus_Box3"
+ Name: "Almighty_Plus_Box3"
+},
+{
+ Id: 17775
+ AegisName: "Almighty100_PlusBox3"
+ Name: "Almighty100_PlusBox3"
+},
+{
+ Id: 17882
+ AegisName: "Refine_Ore_Box17_Set10"
+ Name: "Refine_Ore_Box17_Set10"
+},
+{
+ Id: 17883
+ AegisName: "Refine_Ore_Box17"
+ Name: "Refine_Ore_Box17"
+},
+{
+ Id: 17884
+ AegisName: "HD_Refine_Ore_Box5"
+ Name: "HD_Refine_Ore_Box5"
+},
+{
+ Id: 17885
+ AegisName: "HD_High_Refine_Box3"
+ Name: "HD_High_Refine_Box3"
+},
+{
+ Id: 17886
+ AegisName: "Infinity_Box"
+ Name: "Infinity_Box"
+},
+{
+ Id: 17887
+ AegisName: "Infinity_10_Box"
+ Name: "Infinity_10_Box"
+},
+{
+ Id: 17894
+ AegisName: "New_Vigorgra_Package"
+ Name: "New_Vigorgra_Package"
+},
+{
+ Id: 17895
+ AegisName: "New_Vigorgra_Set"
+ Name: "New_Vigorgra_Set"
+},
+{
+ Id: 17914
+ AegisName: "2017_GStar_CostumeBox"
+ Name: "2017_GStar_CostumeBox"
+},
+{
+ Id: 17923
+ AegisName: "Refine_Ore_Box18"
+ Name: "Refine_Ore_Box18"
+},
+{
+ Id: 17924
+ AegisName: "Refine_Ore_Box18_Set10"
+ Name: "Refine_Ore_Box18_Set10"
+},
+{
+ Id: 17925
+ AegisName: "HD_Refine_Ore_Box6"
+ Name: "HD_Refine_Ore_Box6"
+},
+{
+ Id: 17926
+ AegisName: "HD_High_Refine_Box4"
+ Name: "HD_High_Refine_Box4"
+},
+{
+ Id: 17935
+ AegisName: "New_3_Potion_pack"
+ Name: "New_3_Potion_pack"
+},
+{
+ Id: 17936
+ AegisName: "New_3_Potion_10pack"
+ Name: "New_3_Potion_10pack"
+},
+{
+ Id: 17940
+ AegisName: "Nyangvine_Box10_3"
+ Name: "Nyangvine_Box10_3"
+},
+{
+ Id: 17941
+ AegisName: "Nyangvine_Box100_3"
+ Name: "Nyangvine_Box100_3"
+},
+{
+ Id: 17944
+ AegisName: "Almighty_Plus_Box4"
+ Name: "Almighty_Plus_Box4"
+},
+{
+ Id: 17945
+ AegisName: "Almighty100_PlusBox4"
+ Name: "Almighty100_PlusBox4"
+},
//== Mechanic / Geneticist Cannon Balls ====================
{
Id: 18000
@@ -94208,6 +94543,56 @@ item_db: (
bonus2 bResEff,Eff_Blind,5000;
">
},
+{
+ Id: 18149
+ AegisName: "Balistar_IL"
+ Name: "Balistar_IL"
+},
+{
+ Id: 18165
+ AegisName: "Rebeginer_RN_Bow"
+ Name: "Rebeginer_RN_Bow"
+},
+{
+ Id: 18166
+ AegisName: "Rebeginer_WM_Bow"
+ Name: "Rebeginer_WM_Bow"
+},
+{
+ Id: 18170
+ AegisName: "Neev_Bow_Of_Rogue"
+ Name: "Neev_Bow_Of_Rogue"
+},
+{
+ Id: 18174
+ AegisName: "Hunter_Bow_IL"
+ Name: "Hunter_Bow_IL"
+},
+{
+ Id: 18178
+ AegisName: "Virtual_Bow_OS"
+ Name: "Virtual_Bow_OS"
+},
+{
+ Id: 18179
+ AegisName: "MH_P89_OS"
+ Name: "MH_P89_OS"
+},
+{
+ Id: 18180
+ AegisName: "AC_B44_OS"
+ Name: "AC_B44_OS"
+},
+{
+ Id: 18182
+ AegisName: "Evt_Royal_Bow_K"
+ Name: "Evt_Royal_Bow_K"
+},
+{
+ Id: 18183
+ AegisName: "Evt_Narcis_Bow"
+ Name: "Evt_Narcis_Bow"
+},
//== More Headgears ========================================
{
@@ -94499,6 +94884,101 @@ item_db: (
bonus2 bMagicAddRace,RC_Demon,15;
">
},
+{
+ Id: 19209
+ AegisName: "Nurse_Cap_IL"
+ Name: "Nurse_Cap_IL"
+},
+{
+ Id: 19210
+ AegisName: "Apple_Of_Archer_IL"
+ Name: "Apple_Of_Archer_IL"
+},
+{
+ Id: 19223
+ AegisName: "Cap_IL"
+ Name: "Cap_IL"
+},
+{
+ Id: 19247
+ AegisName: "Fancy_Flower_IL"
+ Name: "Fancy_Flower_IL"
+},
+{
+ Id: 19264
+ AegisName: "GoldFish_Hat"
+ Name: "GoldFish_Hat"
+},
+{
+ Id: 19265
+ AegisName: "Smoky_TransformHat"
+ Name: "Smoky_TransformHat"
+},
+{
+ Id: 19277
+ AegisName: "Soda_In_Mouth"
+ Name: "Soda_In_Mouth"
+},
+{
+ Id: 19291
+ AegisName: "C_Shiba_Inu"
+ Name: "C_Shiba_Inu"
+},
+{
+ Id: 19294
+ AegisName: "C_CatEars_Cyber_HeadP_R"
+ Name: "C_CatEars_Cyber_HeadP_R"
+},
+{
+ Id: 19300
+ AegisName: "Dog_Officer"
+ Name: "Dog_Officer"
+},
+{
+ Id: 19310
+ AegisName: "Rebeginer_Cap"
+ Name: "Rebeginer_Cap"
+},
+{
+ Id: 19339
+ AegisName: "Egg_Crispinette"
+ Name: "Egg_Crispinette"
+},
+{
+ Id: 19344
+ AegisName: "Headband_Of_Power_IL"
+ Name: "Headband_Of_Power_IL"
+},
+{
+ Id: 19366
+ AegisName: "Goibne_Helmet_IL"
+ Name: "Goibne_Helmet_IL"
+},
+{
+ Id: 19382
+ AegisName: "Pop_Popcorn_Hat"
+ Name: "Pop_Popcorn_Hat"
+},
+{
+ Id: 19389
+ AegisName: "E_Oxygen_Mask"
+ Name: "E_Oxygen_Mask"
+},
+{
+ Id: 19396
+ AegisName: "Racing_C_Star"
+ Name: "Racing_C_Star"
+},
+{
+ Id: 19397
+ AegisName: "Racing_C_Soul"
+ Name: "Racing_C_Soul"
+},
+{
+ Id: 19404
+ AegisName: "Biting_Off_Rideword"
+ Name: "Biting_Off_Rideword"
+},
//== Costume System ========================================
{
@@ -94557,6 +95037,181 @@ item_db: (
Refine: false
ViewSprite: 654
},
+{
+ Id: 20514
+ AegisName: "C_Thanatos_Sword"
+ Name: "C_Thanatos_Sword"
+},
+{
+ Id: 20515
+ AegisName: "C_Magic_Circle"
+ Name: "C_Magic_Circle"
+},
+{
+ Id: 20516
+ AegisName: "C_Wings_of_Michael"
+ Name: "C_Wings_of_Michael"
+},
+{
+ Id: 20517
+ AegisName: "C_GiantCatBag_TW"
+ Name: "C_GiantCatBag_TW"
+},
+{
+ Id: 20528
+ AegisName: "C_GoldButterfly_Wing"
+ Name: "C_GoldButterfly_Wing"
+},
+{
+ Id: 20530
+ AegisName: "C_Wings_of_Gabriel"
+ Name: "C_Wings_of_Gabriel"
+},
+{
+ Id: 20533
+ AegisName: "C_PinkButterfly_Wing_T"
+ Name: "C_PinkButterfly_Wing_T"
+},
+{
+ Id: 20535
+ AegisName: "C_Digital_Space"
+ Name: "C_Digital_Space"
+},
+{
+ Id: 20838
+ AegisName: "Muffler_IL"
+ Name: "Muffler_IL"
+},
+{
+ Id: 20840
+ AegisName: "Cape_Of_Ancient_Lord_IL"
+ Name: "Cape_Of_Ancient_Lord_IL"
+},
+{
+ Id: 20847
+ AegisName: "Clack_Of_Servival_IL"
+ Name: "Clack_Of_Servival_IL"
+},
+{
+ Id: 20856
+ AegisName: "YSF01_Manteau"
+ Name: "YSF01_Manteau"
+},
+{
+ Id: 20902
+ AegisName: "True_Hunting_Manteau"
+ Name: "True_Hunting_Manteau"
+},
+{
+ Id: 20903
+ AegisName: "R_Hunting_Manteau"
+ Name: "R_Hunting_Manteau"
+},
+{
+ Id: 20906
+ AegisName: "Rebeginer_Manteau"
+ Name: "Rebeginer_Manteau"
+},
+{
+ Id: 20923
+ AegisName: "Goibne_Shoulder_IL"
+ Name: "Goibne_Shoulder_IL"
+},
+{
+ Id: 20933
+ AegisName: "Illusion_Engine_A"
+ Name: "Illusion_Engine_A"
+},
+{
+ Id: 20934
+ AegisName: "Illusion_Engine_B"
+ Name: "Illusion_Engine_B"
+},
+{
+ Id: 20939
+ AegisName: "Time_Overload_Hood"
+ Name: "Time_Overload_Hood"
+},
+{
+ Id: 20940
+ AegisName: "Violet_Halo"
+ Name: "Violet_Halo"
+},
+{
+ Id: 20944
+ AegisName: "Fairy_Cloth"
+ Name: "Fairy_Cloth"
+},
+{
+ Id: 21037
+ AegisName: "Rebeginer_RK_T_Sword"
+ Name: "Rebeginer_RK_T_Sword"
+},
+{
+ Id: 21047
+ AegisName: "Beam_Claymore_OS"
+ Name: "Beam_Claymore_OS"
+},
+{
+ Id: 21049
+ AegisName: "Evt_Oriental_Sword"
+ Name: "Evt_Oriental_Sword"
+},
+{
+ Id: 22133
+ AegisName: "Shoes_IL"
+ Name: "Shoes_IL"
+},
+{
+ Id: 22141
+ AegisName: "YSF01_Greave"
+ Name: "YSF01_Greave"
+},
+{
+ Id: 22168
+ AegisName: "True_Hunting_Boots"
+ Name: "True_Hunting_Boots"
+},
+{
+ Id: 22169
+ AegisName: "R_Hunting_Boots"
+ Name: "R_Hunting_Boots"
+},
+{
+ Id: 22171
+ AegisName: "ShoesOfGuardsman"
+ Name: "ShoesOfGuardsman"
+},
+{
+ Id: 22173
+ AegisName: "Rebeginer_Boots"
+ Name: "Rebeginer_Boots"
+},
+{
+ Id: 22190
+ AegisName: "Boots_IL"
+ Name: "Boots_IL"
+},
+{
+ Id: 22192
+ AegisName: "Goibne_Boots_IL"
+ Name: "Goibne_Boots_IL"
+},
+{
+ Id: 22196
+ AegisName: "Illusion_Leg_A"
+ Name: "Illusion_Leg_A"
+},
+{
+ Id: 22197
+ AegisName: "Illusion_Leg_B"
+ Name: "Illusion_Leg_B"
+},
+{
+ Id: 22204
+ AegisName: "Time_Overload_Boots"
+ Name: "Time_Overload_Boots"
+},
//== New Etc Items =========================================
{
@@ -94638,4 +95293,1819 @@ item_db: (
Type: "IT_USABLE"
Script: <" Zeny += rand(500, 550); ">
},
+{
+ Id: 23242
+ AegisName: "Fried_Chicken"
+ Name: "Fried_Chicken"
+},
+{
+ Id: 23243
+ AegisName: "Fried_Chicken_1"
+ Name: "Fried_Chicken_1"
+},
+{
+ Id: 23256
+ AegisName: "Elixir_Bandage"
+ Name: "Elixir_Bandage"
+},
+{
+ Id: 23257
+ AegisName: "Dew_Of_Old_Tree"
+ Name: "Dew_Of_Old_Tree"
+},
+{
+ Id: 23258
+ AegisName: "Foul_Rotten_Meat"
+ Name: "Foul_Rotten_Meat"
+},
+{
+ Id: 23259
+ AegisName: "St_Cupcake"
+ Name: "St_Cupcake"
+},
+{
+ Id: 23260
+ AegisName: "Parfait"
+ Name: "Parfait"
+},
+{
+ Id: 23261
+ AegisName: "Macaron"
+ Name: "Macaron"
+},
+{
+ Id: 23277
+ AegisName: "Mado_Box"
+ Name: "Mado_Box"
+},
+{
+ Id: 23332
+ AegisName: "Costama_EggV01"
+ Name: "Costama_EggV01"
+},
+{
+ Id: 23342
+ AegisName: "Vend_Arbeit1_1Lv"
+ Name: "Vend_Arbeit1_1Lv"
+},
+{
+ Id: 23343
+ AegisName: "Vend_Arbeit1_2Lv"
+ Name: "Vend_Arbeit1_2Lv"
+},
+{
+ Id: 23344
+ AegisName: "Vend_Arbeit1_3Lv"
+ Name: "Vend_Arbeit1_3Lv"
+},
+{
+ Id: 23345
+ AegisName: "Buy_Arbeit1_1Lv"
+ Name: "Buy_Arbeit1_1Lv"
+},
+{
+ Id: 23346
+ AegisName: "Buy_Arbeit1_2Lv"
+ Name: "Buy_Arbeit1_2Lv"
+},
+{
+ Id: 23347
+ AegisName: "Buy_Arbeit1_3Lv"
+ Name: "Buy_Arbeit1_3Lv"
+},
+{
+ Id: 23348
+ AegisName: "Vend_Arbeit_1Lv"
+ Name: "Vend_Arbeit_1Lv"
+},
+{
+ Id: 23349
+ AegisName: "Vend_Arbeit_2Lv"
+ Name: "Vend_Arbeit_2Lv"
+},
+{
+ Id: 23350
+ AegisName: "Vend_Arbeit_3Lv"
+ Name: "Vend_Arbeit_3Lv"
+},
+{
+ Id: 23351
+ AegisName: "Buy_Arbeit_1Lv"
+ Name: "Buy_Arbeit_1Lv"
+},
+{
+ Id: 23352
+ AegisName: "Buy_Arbeit_2Lv"
+ Name: "Buy_Arbeit_2Lv"
+},
+{
+ Id: 23353
+ AegisName: "Buy_Arbeit_3Lv"
+ Name: "Buy_Arbeit_3Lv"
+},
+{
+ Id: 23354
+ AegisName: "Vend_Arbeit1_1Lv_"
+ Name: "Vend_Arbeit1_1Lv_"
+},
+{
+ Id: 23355
+ AegisName: "Vend_Arbeit1_2Lv_"
+ Name: "Vend_Arbeit1_2Lv_"
+},
+{
+ Id: 23356
+ AegisName: "Vend_Arbeit1_3Lv_"
+ Name: "Vend_Arbeit1_3Lv_"
+},
+{
+ Id: 23357
+ AegisName: "Buy_Arbeit1_1Lv_"
+ Name: "Buy_Arbeit1_1Lv_"
+},
+{
+ Id: 23358
+ AegisName: "Buy_Arbeit1_2Lv_"
+ Name: "Buy_Arbeit1_2Lv_"
+},
+{
+ Id: 23359
+ AegisName: "Buy_Arbeit1_3Lv_"
+ Name: "Buy_Arbeit1_3Lv_"
+},
+{
+ Id: 23405
+ AegisName: "Green_Scroll_K2"
+ Name: "Green_Scroll_K2"
+},
+{
+ Id: 23440
+ AegisName: "Sentimental_Scroll"
+ Name: "Sentimental_Scroll"
+},
+{
+ Id: 23444
+ AegisName: "July_Hair_Box"
+ Name: "July_Hair_Box"
+},
+{
+ Id: 23446
+ AegisName: "Savage_Trap"
+ Name: "Savage_Trap"
+},
+{
+ Id: 23473
+ AegisName: "Infinity_Scroll"
+ Name: "Infinity_Scroll"
+},
+{
+ Id: 23475
+ AegisName: "Infinity_Drink"
+ Name: "Infinity_Drink"
+},
+{
+ Id: 23484
+ AegisName: "Firstaid_Box_5"
+ Name: "Firstaid_Box_5"
+},
+{
+ Id: 23485
+ AegisName: "Firstaid_Box_10"
+ Name: "Firstaid_Box_10"
+},
+{
+ Id: 23486
+ AegisName: "Firstaid_Box_15"
+ Name: "Firstaid_Box_15"
+},
+{
+ Id: 23487
+ AegisName: "Firstaid_Box_20"
+ Name: "Firstaid_Box_20"
+},
+{
+ Id: 23488
+ AegisName: "Firstaid_Box_25"
+ Name: "Firstaid_Box_25"
+},
+{
+ Id: 23489
+ AegisName: "Firstaid_Box_30"
+ Name: "Firstaid_Box_30"
+},
+{
+ Id: 23490
+ AegisName: "Firstaid_Box_35"
+ Name: "Firstaid_Box_35"
+},
+{
+ Id: 23491
+ AegisName: "Firstaid_Box_40"
+ Name: "Firstaid_Box_40"
+},
+{
+ Id: 23492
+ AegisName: "Firstaid_Box_45"
+ Name: "Firstaid_Box_45"
+},
+{
+ Id: 23493
+ AegisName: "Firstaid_Box_50"
+ Name: "Firstaid_Box_50"
+},
+{
+ Id: 23494
+ AegisName: "Firstaid_Box_55"
+ Name: "Firstaid_Box_55"
+},
+{
+ Id: 23495
+ AegisName: "Firstaid_Box_60"
+ Name: "Firstaid_Box_60"
+},
+{
+ Id: 23496
+ AegisName: "Firstaid_Box_65"
+ Name: "Firstaid_Box_65"
+},
+{
+ Id: 23497
+ AegisName: "Firstaid_Box_70"
+ Name: "Firstaid_Box_70"
+},
+{
+ Id: 23498
+ AegisName: "Firstaid_Box_75"
+ Name: "Firstaid_Box_75"
+},
+{
+ Id: 23499
+ AegisName: "Firstaid_Box_80"
+ Name: "Firstaid_Box_80"
+},
+{
+ Id: 23500
+ AegisName: "Firstaid_Box_85"
+ Name: "Firstaid_Box_85"
+},
+{
+ Id: 23501
+ AegisName: "Firstaid_Box_90"
+ Name: "Firstaid_Box_90"
+},
+{
+ Id: 23502
+ AegisName: "Firstaid_Box_95"
+ Name: "Firstaid_Box_95"
+},
+{
+ Id: 23503
+ AegisName: "Red_Potion_B_20"
+ Name: "Red_Potion_B_20"
+},
+{
+ Id: 23504
+ AegisName: "Orange_Potion_B_20"
+ Name: "Orange_Potion_B_20"
+},
+{
+ Id: 23505
+ AegisName: "Yellow_Potion_B_20"
+ Name: "Yellow_Potion_B_20"
+},
+{
+ Id: 23506
+ AegisName: "White_Potion_B_20"
+ Name: "White_Potion_B_20"
+},
+{
+ Id: 23533
+ AegisName: "Vote_Rose"
+ Name: "Vote_Rose"
+},
+{
+ Id: 23537
+ AegisName: "Bloody_Scroll"
+ Name: "Bloody_Scroll"
+},
+{
+ Id: 23549
+ AegisName: "Snow_Cookie"
+ Name: "Snow_Cookie"
+},
+{
+ Id: 23550
+ AegisName: "Winter_Cookie"
+ Name: "Winter_Cookie"
+},
+{
+ Id: 23551
+ AegisName: "Festi_Cookie"
+ Name: "Festi_Cookie"
+},
+{
+ Id: 23552
+ AegisName: "Flora_Cookie"
+ Name: "Flora_Cookie"
+},
+{
+ Id: 23554
+ AegisName: "Snow_Festa_CardPack"
+ Name: "Snow_Festa_CardPack"
+},
+{
+ Id: 23575
+ AegisName: "Adventurer_Box_1"
+ Name: "Adventurer_Box_1"
+},
+{
+ Id: 23576
+ AegisName: "Adventurer_Box_15"
+ Name: "Adventurer_Box_15"
+},
+{
+ Id: 23577
+ AegisName: "Adventurer_Box_30"
+ Name: "Adventurer_Box_30"
+},
+{
+ Id: 23578
+ AegisName: "Adventurer_Box_45"
+ Name: "Adventurer_Box_45"
+},
+{
+ Id: 23579
+ AegisName: "Adventurer_Box_60"
+ Name: "Adventurer_Box_60"
+},
+{
+ Id: 23580
+ AegisName: "Adventurer_Box_75"
+ Name: "Adventurer_Box_75"
+},
+{
+ Id: 23581
+ AegisName: "Adventurer_Box_90"
+ Name: "Adventurer_Box_90"
+},
+{
+ Id: 23582
+ AegisName: "E_Wing_Of_Fly_3Day_Box"
+ Name: "E_Wing_Of_Fly_3Day_Box"
+},
+{
+ Id: 23583
+ AegisName: "Rebeginer_Box"
+ Name: "Rebeginer_Box"
+},
+{
+ Id: 23584
+ AegisName: "Rebeginer_S_Box"
+ Name: "Rebeginer_S_Box"
+},
+{
+ Id: 23585
+ AegisName: "Rebeginer_Box_100"
+ Name: "Rebeginer_Box_100"
+},
+{
+ Id: 23586
+ AegisName: "Rebeginer_Box_110"
+ Name: "Rebeginer_Box_110"
+},
+{
+ Id: 23587
+ AegisName: "Rebeginer_Box_120"
+ Name: "Rebeginer_Box_120"
+},
+{
+ Id: 23618
+ AegisName: "2017_Special_Scroll"
+ Name: "2017_Special_Scroll"
+},
+{
+ Id: 23650
+ AegisName: "Ice_Scroll"
+ Name: "Ice_Scroll"
+},
+{
+ Id: 23661
+ AegisName: "2018_New_Year_Scroll"
+ Name: "2018_New_Year_Scroll"
+},
+{
+ Id: 23683
+ AegisName: "EVT_JAN02KR"
+ Name: "EVT_JAN02KR"
+},
+{
+ Id: 23700
+ AegisName: "Lunar_New_Year_Scroll"
+ Name: "Lunar_New_Year_Scroll"
+},
+{
+ Id: 23706
+ AegisName: "Reactor_Z"
+ Name: "Reactor_Z"
+},
+{
+ Id: 23707
+ AegisName: "Reactor_Z_"
+ Name: "Reactor_Z_"
+},
+{
+ Id: 23710
+ AegisName: "2018_Spring_Scroll"
+ Name: "2018_Spring_Scroll"
+},
+{
+ Id: 23723
+ AegisName: "Melon_Bread"
+ Name: "Melon_Bread"
+},
+{
+ Id: 23765
+ AegisName: "Costama_EggV02"
+ Name: "Costama_EggV02"
+},
+{
+ Id: 23771
+ AegisName: "Mysterious_Plastic"
+ Name: "Mysterious_Plastic"
+},
+{
+ Id: 23772
+ AegisName: "EP17_1_SPC01"
+ Name: "EP17_1_SPC01"
+},
+{
+ Id: 23773
+ AegisName: "EP17_1_SPC02"
+ Name: "EP17_1_SPC02"
+},
+{
+ Id: 23774
+ AegisName: "EP17_1_SPC03"
+ Name: "EP17_1_SPC03"
+},
+{
+ Id: 23775
+ AegisName: "EP17_1_SPC04"
+ Name: "EP17_1_SPC04"
+},
+{
+ Id: 23817
+ AegisName: "Bs_Making_Scrolls"
+ Name: "Bs_Making_Scrolls"
+},
+{
+ Id: 23878
+ AegisName: "StarSoul_Scroll"
+ Name: "StarSoul_Scroll"
+},
+{
+ Id: 23897
+ AegisName: "2018_Jump_Thx_Box"
+ Name: "2018_Jump_Thx_Box"
+},
+{
+ Id: 23898
+ AegisName: "Comp_Power_Booster"
+ Name: "Comp_Power_Booster"
+},
+{
+ Id: 23899
+ AegisName: "Comp_Almighty"
+ Name: "Comp_Almighty"
+},
+{
+ Id: 23900
+ AegisName: "Time_Overload_Box"
+ Name: "Time_Overload_Box"
+},
+{
+ Id: 23901
+ AegisName: "110LVUP"
+ Name: "110LVUP"
+},
+{
+ Id: 23921
+ AegisName: "Season_Evt_Reward"
+ Name: "Season_Evt_Reward"
+},
+{
+ Id: 23962
+ AegisName: "Malang_Cat_Can2"
+ Name: "Malang_Cat_Can2"
+},
+{
+ Id: 24380
+ AegisName: "Sentimental_Weapone_S"
+ Name: "Sentimental_Weapone_S"
+},
+{
+ Id: 24381
+ AegisName: "Sentimental_Earring_S"
+ Name: "Sentimental_Earring_S"
+},
+{
+ Id: 24382
+ AegisName: "Sentimental_Pendant_S"
+ Name: "Sentimental_Pendant_S"
+},
+{
+ Id: 24383
+ AegisName: "Enchanting_Weapone_S"
+ Name: "Enchanting_Weapone_S"
+},
+{
+ Id: 24384
+ AegisName: "Enchanting_Earring_S"
+ Name: "Enchanting_Earring_S"
+},
+{
+ Id: 24385
+ AegisName: "Enchanting_Pendant_S"
+ Name: "Enchanting_Pendant_S"
+},
+{
+ Id: 24386
+ AegisName: "S_Infinity_Weapon"
+ Name: "S_Infinity_Weapon"
+},
+{
+ Id: 24387
+ AegisName: "Rebeginer_Armor_S"
+ Name: "Rebeginer_Armor_S"
+},
+{
+ Id: 24388
+ AegisName: "Rebeginer_Shield_S"
+ Name: "Rebeginer_Shield_S"
+},
+{
+ Id: 24389
+ AegisName: "Rebeginer_Shoes_S"
+ Name: "Rebeginer_Shoes_S"
+},
+{
+ Id: 24390
+ AegisName: "Rebeginer_Weapon_S"
+ Name: "Rebeginer_Weapon_S"
+},
+{
+ Id: 24391
+ AegisName: "Rebeginer_Earring_S"
+ Name: "Rebeginer_Earring_S"
+},
+{
+ Id: 24392
+ AegisName: "Rebeginer_Pendant_S"
+ Name: "Rebeginer_Pendant_S"
+},
+{
+ Id: 24393
+ AegisName: "S_Physical_Shoes"
+ Name: "S_Physical_Shoes"
+},
+{
+ Id: 24394
+ AegisName: "S_Physical_Shield"
+ Name: "S_Physical_Shield"
+},
+{
+ Id: 24395
+ AegisName: "S_Physical_Armor"
+ Name: "S_Physical_Armor"
+},
+{
+ Id: 24396
+ AegisName: "S_Magical_Shoes"
+ Name: "S_Magical_Shoes"
+},
+{
+ Id: 24397
+ AegisName: "S_Magical_Shield"
+ Name: "S_Magical_Shield"
+},
+{
+ Id: 24398
+ AegisName: "S_Magical_Armor"
+ Name: "S_Magical_Armor"
+},
+{
+ Id: 24399
+ AegisName: "S_ImmunedAthena_Shield"
+ Name: "S_ImmunedAthena_Shield"
+},
+{
+ Id: 24400
+ AegisName: "S_HardChamption_Shoes"
+ Name: "S_HardChamption_Shoes"
+},
+{
+ Id: 24401
+ AegisName: "S_KingbirdAncient_Armor"
+ Name: "S_KingbirdAncient_Armor"
+},
+{
+ Id: 24402
+ AegisName: "S_Rebellion_Armor"
+ Name: "S_Rebellion_Armor"
+},
+{
+ Id: 24403
+ AegisName: "S_Kagerou_Armor"
+ Name: "S_Kagerou_Armor"
+},
+{
+ Id: 24404
+ AegisName: "S_Oboro_Armor"
+ Name: "S_Oboro_Armor"
+},
+{
+ Id: 24405
+ AegisName: "S_Rebellion_Shoes"
+ Name: "S_Rebellion_Shoes"
+},
+{
+ Id: 24406
+ AegisName: "S_Kagerou_Shoes"
+ Name: "S_Kagerou_Shoes"
+},
+{
+ Id: 24407
+ AegisName: "S_Oboro_Shoes"
+ Name: "S_Oboro_Shoes"
+},
+{
+ Id: 24408
+ AegisName: "S_DoramPhysical_Armor"
+ Name: "S_DoramPhysical_Armor"
+},
+{
+ Id: 24409
+ AegisName: "S_DoramPhysical_Shoes"
+ Name: "S_DoramPhysical_Shoes"
+},
+{
+ Id: 24410
+ AegisName: "S_DoramMagical_Armor"
+ Name: "S_DoramMagical_Armor"
+},
+{
+ Id: 24411
+ AegisName: "S_DoramMagical_Shoes"
+ Name: "S_DoramMagical_Shoes"
+},
+{
+ Id: 24412
+ AegisName: "S_Star_Emperor_Armor"
+ Name: "S_Star_Emperor_Armor"
+},
+{
+ Id: 24413
+ AegisName: "S_Star_Emperor_Shoes"
+ Name: "S_Star_Emperor_Shoes"
+},
+{
+ Id: 24414
+ AegisName: "S_Soul_Reaper_Armor"
+ Name: "S_Soul_Reaper_Armor"
+},
+{
+ Id: 24415
+ AegisName: "S_Soul_Reaper_Shoes"
+ Name: "S_Soul_Reaper_Shoes"
+},
+{
+ Id: 24416
+ AegisName: "S_Timeoverload_Weapon"
+ Name: "S_Timeoverload_Weapon"
+},
+{
+ Id: 24417
+ AegisName: "S_Timeoverload_Armor"
+ Name: "S_Timeoverload_Armor"
+},
+{
+ Id: 24418
+ AegisName: "S_Timeoverload_Shield"
+ Name: "S_Timeoverload_Shield"
+},
+{
+ Id: 24419
+ AegisName: "S_Timeoverload_Shoes"
+ Name: "S_Timeoverload_Shoes"
+},
+{
+ Id: 24420
+ AegisName: "S_Timeoverload_Earing"
+ Name: "S_Timeoverload_Earing"
+},
+{
+ Id: 24421
+ AegisName: "S_Timeoverload_Pandent"
+ Name: "S_Timeoverload_Pandent"
+},
+{
+ Id: 25258
+ AegisName: "BrokenArrow"
+ Name: "BrokenArrow"
+},
+{
+ Id: 25265
+ AegisName: "Shining_Spore"
+ Name: "Shining_Spore"
+},
+{
+ Id: 25266
+ AegisName: "Dried_Leaf_Of_Ygg"
+ Name: "Dried_Leaf_Of_Ygg"
+},
+{
+ Id: 25271
+ AegisName: "IllusionStone"
+ Name: "IllusionStone"
+},
+{
+ Id: 25290
+ AegisName: "Sweets_Coin"
+ Name: "Sweets_Coin"
+},
+{
+ Id: 25294
+ AegisName: "Clover_Ticket"
+ Name: "Clover_Ticket"
+},
+{
+ Id: 25295
+ AegisName: "Happiness_Clover"
+ Name: "Happiness_Clover"
+},
+{
+ Id: 25340
+ AegisName: "Golden_Corn"
+ Name: "Golden_Corn"
+},
+{
+ Id: 25375
+ AegisName: "Mightysoul_Essence"
+ Name: "Mightysoul_Essence"
+},
+{
+ Id: 25390
+ AegisName: "Captured_Savage"
+ Name: "Captured_Savage"
+},
+{
+ Id: 25391
+ AegisName: "Goodly_Bough"
+ Name: "Goodly_Bough"
+},
+{
+ Id: 25392
+ AegisName: "Free_Pass_Ticket"
+ Name: "Free_Pass_Ticket"
+},
+{
+ Id: 25393
+ AegisName: "Delicious_Corn"
+ Name: "Delicious_Corn"
+},
+{
+ Id: 25394
+ AegisName: "Fruit_Lunch"
+ Name: "Fruit_Lunch"
+},
+{
+ Id: 25395
+ AegisName: "Small_Embers"
+ Name: "Small_Embers"
+},
+{
+ Id: 25401
+ AegisName: "Black_Fur"
+ Name: "Black_Fur"
+},
+{
+ Id: 25408
+ AegisName: "Memory_Of_Gyol"
+ Name: "Memory_Of_Gyol"
+},
+{
+ Id: 25409
+ AegisName: "SuraStone_Top"
+ Name: "SuraStone_Top"
+},
+{
+ Id: 25410
+ AegisName: "SuraStone_Middle"
+ Name: "SuraStone_Middle"
+},
+{
+ Id: 25411
+ AegisName: "SuraStone_Bottom"
+ Name: "SuraStone_Bottom"
+},
+{
+ Id: 25412
+ AegisName: "SuraStone_Robe"
+ Name: "SuraStone_Robe"
+},
+{
+ Id: 25413
+ AegisName: "RangerStone_Top"
+ Name: "RangerStone_Top"
+},
+{
+ Id: 25414
+ AegisName: "RangerStone_Middle"
+ Name: "RangerStone_Middle"
+},
+{
+ Id: 25415
+ AegisName: "RangerStone_Bottom"
+ Name: "RangerStone_Bottom"
+},
+{
+ Id: 25416
+ AegisName: "RangerStone_Robe"
+ Name: "RangerStone_Robe"
+},
+{
+ Id: 25417
+ AegisName: "SorcererStone_Top"
+ Name: "SorcererStone_Top"
+},
+{
+ Id: 25418
+ AegisName: "SorcererStone_Middle"
+ Name: "SorcererStone_Middle"
+},
+{
+ Id: 25419
+ AegisName: "SorcererStone_Bottom"
+ Name: "SorcererStone_Bottom"
+},
+{
+ Id: 25420
+ AegisName: "SorcererStone_Robe"
+ Name: "SorcererStone_Robe"
+},
+{
+ Id: 25421
+ AegisName: "Pumpkin_Decor"
+ Name: "Pumpkin_Decor"
+},
+{
+ Id: 25422
+ AegisName: "White_Thin_Stem"
+ Name: "White_Thin_Stem"
+},
+{
+ Id: 25425
+ AegisName: "SnowFlower_Of_Spell"
+ Name: "SnowFlower_Of_Spell"
+},
+{
+ Id: 25426
+ AegisName: "Warm_Cotton"
+ Name: "Warm_Cotton"
+},
+{
+ Id: 25427
+ AegisName: "Rebeginer_W_Coupon"
+ Name: "Rebeginer_W_Coupon"
+},
+{
+ Id: 25428
+ AegisName: "Rebeginer_W_7Up"
+ Name: "Rebeginer_W_7Up"
+},
+{
+ Id: 25445
+ AegisName: "RuneknightStone_Top"
+ Name: "RuneknightStone_Top"
+},
+{
+ Id: 25446
+ AegisName: "RuneknightStone_Middle"
+ Name: "RuneknightStone_Middle"
+},
+{
+ Id: 25447
+ AegisName: "RuneknightStone_Bottom"
+ Name: "RuneknightStone_Bottom"
+},
+{
+ Id: 25448
+ AegisName: "RuneknightStone_Robe"
+ Name: "RuneknightStone_Robe"
+},
+{
+ Id: 25449
+ AegisName: "GeneticStone_Robe"
+ Name: "GeneticStone_Robe"
+},
+{
+ Id: 25450
+ AegisName: "GeneticStone_Top"
+ Name: "GeneticStone_Top"
+},
+{
+ Id: 25451
+ AegisName: "GeneticStone_Middle"
+ Name: "GeneticStone_Middle"
+},
+{
+ Id: 25452
+ AegisName: "GeneticStone_Bottom"
+ Name: "GeneticStone_Bottom"
+},
+{
+ Id: 25453
+ AegisName: "WarlockStone_Top"
+ Name: "WarlockStone_Top"
+},
+{
+ Id: 25454
+ AegisName: "WarlockStone_Middle"
+ Name: "WarlockStone_Middle"
+},
+{
+ Id: 25455
+ AegisName: "WarlockStone_Bottom"
+ Name: "WarlockStone_Bottom"
+},
+{
+ Id: 25456
+ AegisName: "WarlockStone_Robe"
+ Name: "WarlockStone_Robe"
+},
+{
+ Id: 25464
+ AegisName: "World_Tour_Ticket"
+ Name: "World_Tour_Ticket"
+},
+{
+ Id: 25479
+ AegisName: "Dogly_Bottle"
+ Name: "Dogly_Bottle"
+},
+{
+ Id: 25490
+ AegisName: "ShadowchaserStone_Top"
+ Name: "ShadowchaserStone_Top"
+},
+{
+ Id: 25491
+ AegisName: "ShadowchaseStone_Middle"
+ Name: "ShadowchaseStone_Middle"
+},
+{
+ Id: 25492
+ AegisName: "ShadowchaseStone_Bottom"
+ Name: "ShadowchaseStone_Bottom"
+},
+{
+ Id: 25493
+ AegisName: "ShadowchaserStone_Robe"
+ Name: "ShadowchaserStone_Robe"
+},
+{
+ Id: 25494
+ AegisName: "MechanicStone_Top"
+ Name: "MechanicStone_Top"
+},
+{
+ Id: 25495
+ AegisName: "MechanicStone_Middle"
+ Name: "MechanicStone_Middle"
+},
+{
+ Id: 25496
+ AegisName: "MechanicStone_Bottom"
+ Name: "MechanicStone_Bottom"
+},
+{
+ Id: 25497
+ AegisName: "MechanicStone_Robe"
+ Name: "MechanicStone_Robe"
+},
+{
+ Id: 25498
+ AegisName: "WanderMinstrelStone_Top"
+ Name: "WanderMinstrelStone_Top"
+},
+{
+ Id: 25499
+ AegisName: "WanderMinstStone_Middle"
+ Name: "WanderMinstStone_Middle"
+},
+{
+ Id: 25500
+ AegisName: "WanderMinstStone_Bottom"
+ Name: "WanderMinstStone_Bottom"
+},
+{
+ Id: 25501
+ AegisName: "WanderMinstreStone_Robe"
+ Name: "WanderMinstreStone_Robe"
+},
+{
+ Id: 25504
+ AegisName: "Visionary_Ticket"
+ Name: "Visionary_Ticket"
+},
+{
+ Id: 25508
+ AegisName: "Token_of_OrcGeneral"
+ Name: "Token_of_OrcGeneral"
+},
+{
+ Id: 25511
+ AegisName: "Evt_March04_KR"
+ Name: "Evt_March04_KR"
+},
+{
+ Id: 25512
+ AegisName: "Evt_March05_KR"
+ Name: "Evt_March05_KR"
+},
+{
+ Id: 25616
+ AegisName: "Green_Bearopy"
+ Name: "Green_Bearopy"
+},
+{
+ Id: 25622
+ AegisName: "White_Snake_Tear"
+ Name: "White_Snake_Tear"
+},
+{
+ Id: 25627
+ AegisName: "Gold_Card"
+ Name: "Gold_Card"
+},
+{
+ Id: 25629
+ AegisName: "Konts_Letter"
+ Name: "Konts_Letter"
+},
+{
+ Id: 25633
+ AegisName: "Token_Of_Wootan"
+ Name: "Token_Of_Wootan"
+},
+{
+ Id: 25634
+ AegisName: "Wootan_D_S_Piece"
+ Name: "Wootan_D_S_Piece"
+},
+{
+ Id: 25638
+ AegisName: "Token_Of_Bigstone"
+ Name: "Token_Of_Bigstone"
+},
+{
+ Id: 25639
+ AegisName: "Fragment_Of_Rock"
+ Name: "Fragment_Of_Rock"
+},
+{
+ Id: 25643
+ AegisName: "Autographed_Book"
+ Name: "Autographed_Book"
+},
+{
+ Id: 25655
+ AegisName: "Dalcom_Coin"
+ Name: "Dalcom_Coin"
+},
+{
+ Id: 25656
+ AegisName: "Stamp_Note"
+ Name: "Stamp_Note"
+},
+{
+ Id: 25657
+ AegisName: "Evt_July01_KR"
+ Name: "Evt_July01_KR"
+},
+{
+ Id: 25658
+ AegisName: "Evt_July02_KR"
+ Name: "Evt_July02_KR"
+},
+{
+ Id: 25659
+ AegisName: "Evt_May02_KR"
+ Name: "Evt_May02_KR"
+},
+{
+ Id: 25664
+ AegisName: "Evt_July03_KR"
+ Name: "Evt_July03_KR"
+},
+{
+ Id: 25665
+ AegisName: "Dienes_Envelope"
+ Name: "Dienes_Envelope"
+},
+{
+ Id: 25666
+ AegisName: "Id_Card"
+ Name: "Id_Card"
+},
+{
+ Id: 25668
+ AegisName: "Broken_Weapon"
+ Name: "Broken_Weapon"
+},
+{
+ Id: 25669
+ AegisName: "Unknown_Parts"
+ Name: "Unknown_Parts"
+},
+{
+ Id: 25706
+ AegisName: "HighpriestStone_Top"
+ Name: "HighpriestStone_Top"
+},
+{
+ Id: 25707
+ AegisName: "HighpriestStone_Middle"
+ Name: "HighpriestStone_Middle"
+},
+{
+ Id: 25708
+ AegisName: "HighpriestStone_Bottom"
+ Name: "HighpriestStone_Bottom"
+},
+{
+ Id: 25709
+ AegisName: "ArchbishopStone_Robe"
+ Name: "ArchbishopStone_Robe"
+},
+{
+ Id: 25710
+ AegisName: "PaladinStone_Top"
+ Name: "PaladinStone_Top"
+},
+{
+ Id: 25711
+ AegisName: "PaladinStone_Middle"
+ Name: "PaladinStone_Middle"
+},
+{
+ Id: 25712
+ AegisName: "PaladinStone_Bottom"
+ Name: "PaladinStone_Bottom"
+},
+{
+ Id: 25713
+ AegisName: "RoyalguardStone_Robe"
+ Name: "RoyalguardStone_Robe"
+},
+{
+ Id: 25714
+ AegisName: "AssacrossStone_Top"
+ Name: "AssacrossStone_Top"
+},
+{
+ Id: 25715
+ AegisName: "AssacrossStone_Middle"
+ Name: "AssacrossStone_Middle"
+},
+{
+ Id: 25716
+ AegisName: "AssacrossStone_Bottom"
+ Name: "AssacrossStone_Bottom"
+},
+{
+ Id: 25717
+ AegisName: "GuillcrossStone_Robe"
+ Name: "GuillcrossStone_Robe"
+},
+{
+ Id: 25723
+ AegisName: "Cor_Core"
+ Name: "Cor_Core"
+},
+{
+ Id: 25728
+ AegisName: "Shadowdecon_Ore"
+ Name: "Shadowdecon_Ore"
+},
+{
+ Id: 25729
+ AegisName: "Shadowdecon"
+ Name: "Shadowdecon"
+},
+{
+ Id: 25730
+ AegisName: "Zelunium_Ore"
+ Name: "Zelunium_Ore"
+},
+{
+ Id: 25731
+ AegisName: "Zelunium"
+ Name: "Zelunium"
+},
+{
+ Id: 25734
+ AegisName: "Sealed_Weapon_Ticket"
+ Name: "Sealed_Weapon_Ticket"
+},
+{
+ Id: 25735
+ AegisName: "Unsealing_Token"
+ Name: "Unsealing_Token"
+},
+{
+ Id: 25739
+ AegisName: "GH_Cursed_Crystal"
+ Name: "GH_Cursed_Crystal"
+},
+{
+ Id: 25740
+ AegisName: "GH_Cursed_Gemstone"
+ Name: "GH_Cursed_Gemstone"
+},
+{
+ Id: 25793
+ AegisName: "Inventory_Extension_Coupon"
+ Name: "Inventory_Extension_Coupon"
+},
+{
+ Id: 26007
+ AegisName: "Spectral_Spear_IL"
+ Name: "Spectral_Spear_IL"
+},
+{
+ Id: 26015
+ AegisName: "Rebeginer_LG_Lance"
+ Name: "Rebeginer_LG_Lance"
+},
+{
+ Id: 26109
+ AegisName: "Staff_Of_Bordeaux_IL"
+ Name: "Staff_Of_Bordeaux_IL"
+},
+{
+ Id: 26110
+ AegisName: "CandyCaneRod"
+ Name: "CandyCaneRod"
+},
+{
+ Id: 26111
+ AegisName: "Metal_Foxtail"
+ Name: "Metal_Foxtail"
+},
+{
+ Id: 26119
+ AegisName: "Rebeginer_SO_Rod"
+ Name: "Rebeginer_SO_Rod"
+},
+{
+ Id: 26120
+ AegisName: "Rebeginer_DO_Rod"
+ Name: "Rebeginer_DO_Rod"
+},
+{
+ Id: 26151
+ AegisName: "Rutilus_Stick_OS"
+ Name: "Rutilus_Stick_OS"
+},
+{
+ Id: 26155
+ AegisName: "MeawFoxtail"
+ Name: "MeawFoxtail"
+},
+{
+ Id: 26156
+ AegisName: "Evt_Shadow_Staff_K"
+ Name: "Evt_Shadow_Staff_K"
+},
+{
+ Id: 28022
+ AegisName: "Infiltrator_IL"
+ Name: "Infiltrator_IL"
+},
+{
+ Id: 28023
+ AegisName: "Ghoul_Leg_IL"
+ Name: "Ghoul_Leg_IL"
+},
+{
+ Id: 28027
+ AegisName: "Rebeginer_GC_Katar"
+ Name: "Rebeginer_GC_Katar"
+},
+{
+ Id: 28038
+ AegisName: "Meuchler_OS"
+ Name: "Meuchler_OS"
+},
+{
+ Id: 28040
+ AegisName: "Evt_Shiver_Katar_K"
+ Name: "Evt_Shiver_Katar_K"
+},
+{
+ Id: 28136
+ AegisName: "Blasti_OS"
+ Name: "Blasti_OS"
+},
+{
+ Id: 28137
+ AegisName: "Evt_Avenger"
+ Name: "Evt_Avenger"
+},
+{
+ Id: 28240
+ AegisName: "Calf_Kingcobra"
+ Name: "Calf_Kingcobra"
+},
+{
+ Id: 28241
+ AegisName: "Calf_Diamondback"
+ Name: "Calf_Diamondback"
+},
+{
+ Id: 28242
+ AegisName: "Calf_Anaconda"
+ Name: "Calf_Anaconda"
+},
+{
+ Id: 28243
+ AegisName: "Calf_Python"
+ Name: "Calf_Python"
+},
+{
+ Id: 28244
+ AegisName: "Gate_KeeperDD_IL"
+ Name: "Gate_KeeperDD_IL"
+},
+{
+ Id: 28253
+ AegisName: "HR_S55_OS"
+ Name: "HR_S55_OS"
+},
+{
+ Id: 28508
+ AegisName: "Skul_Ring_IL"
+ Name: "Skul_Ring_IL"
+},
+{
+ Id: 28509
+ AegisName: "Ring_IL"
+ Name: "Ring_IL"
+},
+{
+ Id: 28510
+ AegisName: "Vampire_s_Servant"
+ Name: "Vampire_s_Servant"
+},
+{
+ Id: 28534
+ AegisName: "RKC_2017_Pendant"
+ Name: "RKC_2017_Pendant"
+},
+{
+ Id: 28535
+ AegisName: "RKC_2017_Ring"
+ Name: "RKC_2017_Ring"
+},
+{
+ Id: 28566
+ AegisName: "Rebeginer_Ring"
+ Name: "Rebeginer_Ring"
+},
+{
+ Id: 28612
+ AegisName: "Book_Of_The_Apo_IL"
+ Name: "Book_Of_The_Apo_IL"
+},
+{
+ Id: 28616
+ AegisName: "Rebeginer_AB_Bible"
+ Name: "Rebeginer_AB_Bible"
+},
+{
+ Id: 28626
+ AegisName: "Tablet_IL"
+ Name: "Tablet_IL"
+},
+{
+ Id: 28629
+ AegisName: "Circuit_Board_OS"
+ Name: "Circuit_Board_OS"
+},
+{
+ Id: 28631
+ AegisName: "Time_Kamiji"
+ Name: "Time_Kamiji"
+},
+{
+ Id: 28725
+ AegisName: "Moonlight_Sword_IL"
+ Name: "Moonlight_Sword_IL"
+},
+{
+ Id: 28740
+ AegisName: "Rebeginer_SC_Dagger"
+ Name: "Rebeginer_SC_Dagger"
+},
+{
+ Id: 28745
+ AegisName: "Counter_Dagger_IL"
+ Name: "Counter_Dagger_IL"
+},
+{
+ Id: 28755
+ AegisName: "Kuroiro_OS"
+ Name: "Kuroiro_OS"
+},
+{
+ Id: 28759
+ AegisName: "Evt_Magic_Sword"
+ Name: "Evt_Magic_Sword"
+},
+{
+ Id: 28922
+ AegisName: "Herald_Of_GOD_IL"
+ Name: "Herald_Of_GOD_IL"
+},
+{
+ Id: 28942
+ AegisName: "Bloody_Knight_Shield"
+ Name: "Bloody_Knight_Shield"
+},
+{
+ Id: 28945
+ AegisName: "Bloody_Knight_Shield_"
+ Name: "Bloody_Knight_Shield_"
+},
+{
+ Id: 28946
+ AegisName: "Bloody_Knight_Shield__"
+ Name: "Bloody_Knight_Shield__"
+},
+{
+ Id: 28953
+ AegisName: "Poring_B_Shield"
+ Name: "Poring_B_Shield"
+},
+{
+ Id: 29540
+ AegisName: "Deep_Black_Pearl"
+ Name: "Deep_Black_Pearl"
+},
+{
+ Id: 29547
+ AegisName: "Sea_Sapphire"
+ Name: "Sea_Sapphire"
+},
+{
+ Id: 29548
+ AegisName: "Red_Fog_Garnet"
+ Name: "Red_Fog_Garnet"
+},
+{
+ Id: 29549
+ AegisName: "Lightning_Topaz"
+ Name: "Lightning_Topaz"
+},
+{
+ Id: 29550
+ AegisName: "Poisoned_Amethyst"
+ Name: "Poisoned_Amethyst"
+},
+{
+ Id: 29551
+ AegisName: "Frost_Zircon"
+ Name: "Frost_Zircon"
+},
+{
+ Id: 29552
+ AegisName: "Deep_Black_Pearl_"
+ Name: "Deep_Black_Pearl_"
+},
+{
+ Id: 29587
+ AegisName: "Lightning_Topaz_"
+ Name: "Lightning_Topaz_"
+},
+{
+ Id: 29588
+ AegisName: "Bloody_Ruby"
+ Name: "Bloody_Ruby"
+},
+{
+ Id: 29589
+ AegisName: "GH_Cursed_Gemstone_"
+ Name: "GH_Cursed_Gemstone_"
+},
+{
+ Id: 29590
+ AegisName: "GH_Cursed_Crystal_"
+ Name: "GH_Cursed_Crystal_"
+},
+{
+ Id: 29591
+ AegisName: "Cursed_Emerald"
+ Name: "Cursed_Emerald"
+},
+{
+ Id: 29592
+ AegisName: "Shinee_Opal"
+ Name: "Shinee_Opal"
+},
+{
+ Id: 31172
+ AegisName: "Roast_Memory"
+ Name: "Roast_Memory"
+},
+{
+ Id: 31186
+ AegisName: "C_Black_Cat"
+ Name: "C_Black_Cat"
+},
+{
+ Id: 31195
+ AegisName: "Choco_Minihat"
+ Name: "Choco_Minihat"
+},
+{
+ Id: 31197
+ AegisName: "Egg_Crispinette_"
+ Name: "Egg_Crispinette_"
+},
+{
+ Id: 31208
+ AegisName: "Straight_Long_YL"
+ Name: "Straight_Long_YL"
+},
+{
+ Id: 31209
+ AegisName: "Straight_Long_WH"
+ Name: "Straight_Long_WH"
+},
+{
+ Id: 31249
+ AegisName: "Rabbit_Hopping"
+ Name: "Rabbit_Hopping"
+},
+{
+ Id: 31261
+ AegisName: "Soda_In_Mouth_"
+ Name: "Soda_In_Mouth_"
+},
+{
+ Id: 31300
+ AegisName: "Warm_Cat_Muffler"
+ Name: "Warm_Cat_Muffler"
+},
+{
+ Id: 31313
+ AegisName: "C_FallenAngelWingEar"
+ Name: "C_FallenAngelWingEar"
+},
+{
+ Id: 31314
+ AegisName: "C_Ghost_Holiday"
+ Name: "C_Ghost_Holiday"
+},
+{
+ Id: 31316
+ AegisName: "C_FlutterButterfly_BL"
+ Name: "C_FlutterButterfly_BL"
+},
+{
+ Id: 31329
+ AegisName: "C_Alice_Wig"
+ Name: "C_Alice_Wig"
+},
+{
+ Id: 31332
+ AegisName: "C_Khalitzburg_Helm_BL"
+ Name: "C_Khalitzburg_Helm_BL"
+},
+{
+ Id: 31368
+ AegisName: "Harvest_Festa_Hat"
+ Name: "Harvest_Festa_Hat"
+},
+{
+ Id: 31369
+ AegisName: "Straight_Long_WH_"
+ Name: "Straight_Long_WH_"
+},
+{
+ Id: 31370
+ AegisName: "Straight_Long_YL_"
+ Name: "Straight_Long_YL_"
+},
+{
+ Id: 31387
+ AegisName: "Jjakk"
+ Name: "Jjakk"
+},
+{
+ Id: 31389
+ AegisName: "White_Bird_Rose"
+ Name: "White_Bird_Rose"
+},
+{
+ Id: 31390
+ AegisName: "Let_It_Snow"
+ Name: "Let_It_Snow"
+},
+{
+ Id: 31396
+ AegisName: "C_Sorcerer_Hood"
+ Name: "C_Sorcerer_Hood"
+},
+{
+ Id: 31397
+ AegisName: "C_Pope_Sitting_Head"
+ Name: "C_Pope_Sitting_Head"
+},
+{
+ Id: 31398
+ AegisName: "C_Blinking_Thin_Eyes"
+ Name: "C_Blinking_Thin_Eyes"
+},
+{
+ Id: 31407
+ AegisName: "Alice_Wig_PK"
+ Name: "Alice_Wig_PK"
+},
+{
+ Id: 31415
+ AegisName: "C_Wanderer_Sakkat"
+ Name: "C_Wanderer_Sakkat"
+},
+{
+ Id: 31432
+ AegisName: "C_Luwmin_Ice"
+ Name: "C_Luwmin_Ice"
+},
+{
+ Id: 31433
+ AegisName: "C_Astro_Circle"
+ Name: "C_Astro_Circle"
+},
+{
+ Id: 31437
+ AegisName: "C_Baby_Penguin"
+ Name: "C_Baby_Penguin"
+},
+{
+ Id: 31439
+ AegisName: "C_Fluffy_Heart_Earmuffs"
+ Name: "C_Fluffy_Heart_Earmuffs"
+},
+{
+ Id: 31452
+ AegisName: "White_Cat"
+ Name: "White_Cat"
+},
+{
+ Id: 31454
+ AegisName: "Love_Feeling"
+ Name: "Love_Feeling"
+},
+{
+ Id: 31455
+ AegisName: "Enchanted_Dog"
+ Name: "Enchanted_Dog"
+},
+{
+ Id: 31460
+ AegisName: "C_Blessing_Sky_Lantern"
+ Name: "C_Blessing_Sky_Lantern"
+},
+{
+ Id: 31463
+ AegisName: "C_Flying_Drone"
+ Name: "C_Flying_Drone"
+},
+{
+ Id: 31465
+ AegisName: "Egg_Minihat"
+ Name: "Egg_Minihat"
+},
+{
+ Id: 31489
+ AegisName: "C_Bouquet_Hat"
+ Name: "C_Bouquet_Hat"
+},
+{
+ Id: 31490
+ AegisName: "C_Poring_Muffler"
+ Name: "C_Poring_Muffler"
+},
+{
+ Id: 31494
+ AegisName: "Volume_Low_Twin"
+ Name: "Volume_Low_Twin"
+},
+{
+ Id: 31495
+ AegisName: "Lolita_Two_Side_Up"
+ Name: "Lolita_Two_Side_Up"
+},
+{
+ Id: 31498
+ AegisName: "C_Elephangel_TH"
+ Name: "C_Elephangel_TH"
+},
+{
+ Id: 31516
+ AegisName: "Mini_Melon"
+ Name: "Mini_Melon"
+},
+{
+ Id: 31518
+ AegisName: "Pop_Popcorn_Hat_"
+ Name: "Pop_Popcorn_Hat_"
+},
+{
+ Id: 31519
+ AegisName: "Slurp_Slurp_Hat"
+ Name: "Slurp_Slurp_Hat"
+},
+{
+ Id: 31529
+ AegisName: "C_Happy_Rabbit_Ribbon"
+ Name: "C_Happy_Rabbit_Ribbon"
+},
+{
+ Id: 31580
+ AegisName: "Autumnal_Flavor"
+ Name: "Autumnal_Flavor"
+},
+{
+ Id: 31589
+ AegisName: "GOLD_MAJESTIC_GOUT"
+ Name: "GOLD_MAJESTIC_GOUT"
+},
+{
+ Id: 31606
+ AegisName: "C_Autumn_Headband"
+ Name: "C_Autumn_Headband"
+},
+{
+ Id: 32005
+ AegisName: "Pole_Axe_IL"
+ Name: "Pole_Axe_IL"
+},
+{
+ Id: 32013
+ AegisName: "Metal_Stick"
+ Name: "Metal_Stick"
+},
+{
+ Id: 32019
+ AegisName: "Boost_Lance_OS"
+ Name: "Boost_Lance_OS"
+},
+{
+ Id: 32021
+ AegisName: "Evt_Undine_Spear_K"
+ Name: "Evt_Undine_Spear_K"
+},
+{
+ Id: 32207
+ AegisName: "Illusion_B_R"
+ Name: "Illusion_B_R"
+},
+{
+ Id: 32208
+ AegisName: "Illusion_B_L"
+ Name: "Illusion_B_L"
+},
+{
+ Id: 32209
+ AegisName: "Illusion_BC_R"
+ Name: "Illusion_BC_R"
+},
+{
+ Id: 32210
+ AegisName: "Illusion_BC_L"
+ Name: "Illusion_BC_L"
+},
+{
+ Id: 32221
+ AegisName: "Time_Overload_Ring"
+ Name: "Time_Overload_Ring"
+},
+{
+ Id: 32237
+ AegisName: "Celine_Brooch"
+ Name: "Celine_Brooch"
+},
)
diff --git a/db/pre-re/mob_db.conf b/db/pre-re/mob_db.conf
index 40635cd68..553593cea 100644
--- a/db/pre-re/mob_db.conf
+++ b/db/pre-re/mob_db.conf
@@ -89,6 +89,8 @@ mob_db: (
}
Drops: {
AegisName: chance (string: int)
+ // or
+ AegisName: (chance, "Option Drop Group")
// ...
}
},
diff --git a/db/pre-re/mob_skill_db.conf b/db/pre-re/mob_skill_db.conf
index 8f752cb68..e375754d9 100644
--- a/db/pre-re/mob_skill_db.conf
+++ b/db/pre-re/mob_skill_db.conf
@@ -43540,7 +43540,7 @@ mob_skill_db:(
SkillLevel: 2
Rate: 10000
CastTime: 1000
- Delay: 60000
+ Delay: 60000000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 1
@@ -43552,7 +43552,7 @@ mob_skill_db:(
SkillLevel: 2
Rate: 10000
CastTime: 1000
- Delay: 60000
+ Delay: 60000000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 1
@@ -43564,7 +43564,7 @@ mob_skill_db:(
SkillLevel: 2
Rate: 10000
CastTime: 1000
- Delay: 60000
+ Delay: 60000000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 1
diff --git a/db/pre-re/refine_db.conf b/db/pre-re/refine_db.conf
index dd3bcdb41..725b8c225 100644
--- a/db/pre-re/refine_db.conf
+++ b/db/pre-re/refine_db.conf
@@ -37,6 +37,30 @@ Armors/WeaponLevel1~4: { // Specifies weap
RandomBonusStartLevel: (int) // This value specifies the start point for those levels that give a random bonus value (usually the first unsafe upgrade).
// - RandomBonusStartLevel is only applied for weapons, and not displayed client-side.
RandomBonusValue: (int) // A random number between 0 and (Random bonus start level - Upgrade level + 1) * this value is applied for all upgrades past.
+ RefineryUISettings: (
+ {
+ Level: (int or array of int) // Holds either the individule refine level meant for this setting or an array defining a range
+ of Low to Max level
+ BlacksmithBlessing: (int) (optional) // How many Blacksmith Blessing required for this range to be safe from breaking
+ Announce: "(string)" (optional) // Sends an announcement server wide when a player reach this refine level using
+ Refinery UI, this feature is only available starting from 2017-08-30 RagexeRE or
+ 2017-09-06 Ragexe the field accepts the following values and it defaults to not announce
+ Success to set the announcement on item refine successful
+ Failure to set the announcement on item refine failure
+ Always to always announce it
+ Items: {
+ AegisName: {
+ Type: "(string)" // The type to determine the chances used for this item, REFINE_CHANCE_TYPE_*
+ constants are used in here
+ Cost: (int) (optional) // Amount of zeny required
+ FailureBehavior: "(string)" (optional) // The expected behvaior on failure for this item, the following strings are used in here
+ Destroy (default) sets the item to be destroyed on failure
+ Keep keeps the item after failure
+ Downgrade downgrades the item by one level on failure
+ }
+ }
+ }
+ )
Rates: { // Per level configuration of the refine rates.
Lv1~10: { // Lv1 ~ Lv10.
NormalChance: (int) // (optional, defaults to 100) Chance of successful refine using normal ores (100 = 100%).
@@ -54,6 +78,39 @@ Armors: {
StatsPerLevel: 66
RandomBonusStartLevel: 0
RandomBonusValue: 0
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Elunium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 2000
+ }
+ Enriched_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 2000
+ }
+ }
+ },
+ {
+ Level: [8, 10]
+ Items: {
+ Elunium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 2000
+ }
+ Enriched_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 2000
+ }
+ HD_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ )
Rates: {
Lv5: {
NormalChance: 60
@@ -97,6 +154,38 @@ WeaponLevel1: {
StatsPerLevel: 200
RandomBonusStartLevel: 8
RandomBonusValue: 300
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Phracon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 50
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 50
+ }
+ }
+ },
+ {
+ Level: [8, 10]
+ Items: {
+ Phracon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 50
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 50
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ }
+ }
+ },
+ )
Rates: {
Lv8: {
NormalChance: 60
@@ -122,6 +211,38 @@ WeaponLevel2: {
StatsPerLevel: 300
RandomBonusStartLevel: 7
RandomBonusValue: 500
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Emveretarcon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 200
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 200
+ }
+ }
+ },
+ {
+ Level: [8, 10]
+ Items: {
+ Emveretarcon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 200
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 200
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ }
+ }
+ },
+ )
Rates: {
Lv7: {
NormalChance: 60
@@ -153,6 +274,38 @@ WeaponLevel3: {
StatsPerLevel: 500
RandomBonusStartLevel: 6
RandomBonusValue: 800
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 5000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 5000
+ }
+ }
+ },
+ {
+ Level: [8, 10]
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 5000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 5000
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ }
+ }
+ },
+ )
Rates: {
Lv6: {
NormalChance: 60
@@ -190,6 +343,38 @@ WeaponLevel4: {
StatsPerLevel: 700
RandomBonusStartLevel: 5
RandomBonusValue: 1300
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 5000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 5000
+ }
+ }
+ },
+ {
+ Level: [8, 10]
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 5000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 5000
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ }
+ }
+ },
+ )
Rates: {
Lv5: {
NormalChance: 60
diff --git a/db/pre-re/skill_db.conf b/db/pre-re/skill_db.conf
index 4873012aa..351a63bda 100644
--- a/db/pre-re/skill_db.conf
+++ b/db/pre-re/skill_db.conf
@@ -75,6 +75,7 @@
Works like FreeCastReduced, but not reduce speed.
ShowSkillScale: true/false (boolean, defaults to false)
AllowReproduce: true/false (boolean, defaults to false)
+ HiddenTrap: true/false (boolean, defaults to false)
}
AttackType: "Attack Type" (string, defaults to "None")
Types: "None", "Weapon", "Magic" or "Misc"
@@ -4299,6 +4300,7 @@ skill_db: (
Element: "Ele_Wind"
DamageType: {
SplashArea: true
+ SplitDamage: true
IgnoreFlee: true
}
SplashRange: 1
@@ -4350,6 +4352,7 @@ skill_db: (
Element: "Ele_Fire"
DamageType: {
SplashArea: true
+ SplitDamage: true
IgnoreFlee: true
}
SplashRange: 2
diff --git a/db/re/item_combo_db.txt b/db/re/item_combo_db.txt
index 739be9a65..3cbaef807 100644
--- a/db/re/item_combo_db.txt
+++ b/db/re/item_combo_db.txt
@@ -436,3 +436,4 @@
24238:24239,{ bonus bAtk,5; if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) >=15) { bonus2 bAddSize,Size_Small,1; } }
24240:24241:24242,{ bonus bUseSPrate,-1; .@refine = getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bVariableCastrate,(.@refine)/5; if(.@refine)>=25 { bonus bUseSPrate,-1; } }
24243:24244:24245,{ bonus bDelayrate,-1; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 25) bonus bDelayrate,-5; }
+2161:1646,{ .@r = (getequiprefinerycnt(EQI_HAND_L)*4); bonus2 bVariableCastrate,"WZ_STORMGUST",-.@r; bonus2 bVariableCastrate,"WL_FROSTMISTY",-.@r; bonus2 bVariableCastrate,"WL_JACKFROST",-.@r; }
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 093fc4868..6c0bea7f0 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -10138,6 +10138,11 @@ item_db: (
bonus bInt,8;
">
},
+{
+ Id: 1326
+ AegisName: "War_Axe_IL"
+ Name: "War_Axe_IL"
+},
//== Two-Handed Axes =======================================
{
@@ -21483,6 +21488,26 @@ item_db: (
if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }
">
},
+{
+ Id: 1846
+ AegisName: "Combo_Battle_Glove_IL"
+ Name: "Combo_Battle_Glove_IL"
+},
+{
+ Id: 1848
+ AegisName: "Rebeginer_SR_Nuckle"
+ Name: "Rebeginer_SR_Nuckle"
+},
+{
+ Id: 1862
+ AegisName: "Burning_Knuckle_OS"
+ Name: "Burning_Knuckle_OS"
+},
+{
+ Id: 1864
+ AegisName: "Evt_Iron_Nail_K"
+ Name: "Evt_Iron_Nail_K"
+},
//== Instruments ===========================================
{
@@ -24304,6 +24329,26 @@ item_db: (
bonus bUnbreakableWeapon,0;
">
},
+{
+ Id: 2039
+ AegisName: "Wizardy_Staff_IL"
+ Name: "Wizardy_Staff_IL"
+},
+{
+ Id: 2046
+ AegisName: "Rebeginer_WL_Staff"
+ Name: "Rebeginer_WL_Staff"
+},
+{
+ Id: 2051
+ AegisName: "Survival_Staff_IL"
+ Name: "Survival_Staff_IL"
+},
+{
+ Id: 2054
+ AegisName: "Evt_Iron_Staff"
+ Name: "Evt_Iron_Staff"
+},
//== Shields ===============================================
{
@@ -84036,6 +84081,11 @@ item_db: (
Type: "IT_PETARMOR"
Buy: 20
},
+{
+ Id: 10042
+ AegisName: "Dark_Mane"
+ Name: "Dark_Mane"
+},
//== Misc "Etc" Books ======================================
{
@@ -85233,6 +85283,51 @@ item_db: (
Script: <" itemheal rand(10,40),0; ">
},
{
+ Id: 11607
+ AegisName: "Crepe"
+ Name: "Crepe"
+},
+{
+ Id: 11608
+ AegisName: "Chocolate_Egg"
+ Name: "Chocolate_Egg"
+},
+{
+ Id: 11609
+ AegisName: "Yummy_Cookie_Egg"
+ Name: "Yummy_Cookie_Egg"
+},
+{
+ Id: 11611
+ AegisName: "Pop_Corn"
+ Name: "Pop_Corn"
+},
+{
+ Id: 11612
+ AegisName: "Aromatic_Pop_Corn"
+ Name: "Aromatic_Pop_Corn"
+},
+{
+ Id: 11614
+ AegisName: "Fresh_Milk"
+ Name: "Fresh_Milk"
+},
+{
+ Id: 11615
+ AegisName: "Sweet_Potato_"
+ Name: "Sweet_Potato_"
+},
+{
+ Id: 11620
+ AegisName: "Bearopy"
+ Name: "Bearopy"
+},
+{
+ Id: 11625
+ AegisName: "Aromatic_Pop_Corn_"
+ Name: "Aromatic_Pop_Corn_"
+},
+{
Id: 11701
AegisName: "Girl_Bunch_Of_Flower"
Name: "Girl's Bouquet"
@@ -101135,6 +101230,16 @@ item_db: (
Subtype: "W_REVOLVER"
Script: <" bonus bAtk,((min(getrefine(),15)) ** (2)); ">
},
+{
+ Id: 13144
+ AegisName: "Rebeginer_RL_Gun"
+ Name: "Rebeginer_RL_Gun"
+},
+{
+ Id: 13146
+ AegisName: "Calf_Deathadder"
+ Name: "Calf_Deathadder"
+},
//== Guns ==================================================
{
@@ -104090,6 +104195,21 @@ item_db: (
bonus bUnbreakableWeapon,0;
">
},
+{
+ Id: 13337
+ AegisName: "Huuma_Fluttering_Snow_IL"
+ Name: "Huuma_Fluttering_Snow_IL"
+},
+{
+ Id: 13338
+ AegisName: "Huuma_Bird_Wing_IL"
+ Name: "Huuma_Bird_Wing_IL"
+},
+{
+ Id: 13341
+ AegisName: "Rebeginer_KO_Humma"
+ Name: "Rebeginer_KO_Humma"
+},
//== More One-Handed Swords ================================
{
@@ -105472,6 +105592,26 @@ item_db: (
Subtype: "W_1HSWORD"
Script: <" bonus bAtk,((min(getrefine(),15)) ** (2)); ">
},
+{
+ Id: 13469
+ AegisName: "Immaterial_Sword_IL"
+ Name: "Immaterial_Sword_IL"
+},
+{
+ Id: 13483
+ AegisName: "Rebeginer_GN_Sword"
+ Name: "Rebeginer_GN_Sword"
+},
+{
+ Id: 13493
+ AegisName: "Cannon_Rapier_OS"
+ Name: "Cannon_Rapier_OS"
+},
+{
+ Id: 13495
+ AegisName: "Evt_Bluefire_Sword"
+ Name: "Evt_Bluefire_Sword"
+},
//== More Cash Shop Items ==================================
{
@@ -125009,6 +125149,61 @@ item_db: (
bonus bUseSPrate, -5;
">
},
+{
+ Id: 15212
+ AegisName: "YSF01_Plate"
+ Name: "YSF01_Plate"
+},
+{
+ Id: 15246
+ AegisName: "True_Hunting_Mail"
+ Name: "True_Hunting_Mail"
+},
+{
+ Id: 15247
+ AegisName: "R_Hunting_Mail"
+ Name: "R_Hunting_Mail"
+},
+{
+ Id: 15250
+ AegisName: "Rebeginer_Suits"
+ Name: "Rebeginer_Suits"
+},
+{
+ Id: 15280
+ AegisName: "S_CriticalHit_Armor"
+ Name: "S_CriticalHit_Armor"
+},
+{
+ Id: 15348
+ AegisName: "Goibne_Armor_IL"
+ Name: "Goibne_Armor_IL"
+},
+{
+ Id: 15376
+ AegisName: "Illusion_Armor_A"
+ Name: "Illusion_Armor_A"
+},
+{
+ Id: 15377
+ AegisName: "Illusion_Armor_B"
+ Name: "Illusion_Armor_B"
+},
+{
+ Id: 15383
+ AegisName: "Time_Overload_Robe"
+ Name: "Time_Overload_Robe"
+},
+{
+ Id: 15388
+ AegisName: "Schmidt_Suits"
+ Name: "Schmidt_Suits"
+},
+{
+ Id: 15389
+ AegisName: "Schmidt_Manteau"
+ Name: "Schmidt_Manteau"
+},
//== More Maces ============================================
{
@@ -126012,6 +126207,36 @@ item_db: (
bonus bUnbreakableWeapon,0;
">
},
+{
+ Id: 16063
+ AegisName: "Long_Mace_IL"
+ Name: "Long_Mace_IL"
+},
+{
+ Id: 16065
+ AegisName: "Iron_Driver_IL"
+ Name: "Iron_Driver_IL"
+},
+{
+ Id: 16075
+ AegisName: "Rebeginer_NC_Mace"
+ Name: "Rebeginer_NC_Mace"
+},
+{
+ Id: 16076
+ AegisName: "Rebeginer_N2_Mace"
+ Name: "Rebeginer_N2_Mace"
+},
+{
+ Id: 16088
+ AegisName: "Saphir_Hall_OS"
+ Name: "Saphir_Hall_OS"
+},
+{
+ Id: 16089
+ AegisName: "Ultio_Spes_OS"
+ Name: "Ultio_Spes_OS"
+},
//== More Rental Boxes =====================================
{
@@ -127246,6 +127471,11 @@ item_db: (
">
},
{
+ Id: 16423
+ AegisName: "PoporingKey"
+ Name: "PoporingKey"
+},
+{
Id: 16424
AegisName: "Executioner_Box_"
Name: "Executioner Box"
@@ -130381,6 +130611,111 @@ item_db: (
Weight: 10
Script: <" getitem(Cash_Hair_Coupon, 1); ">
},
+{
+ Id: 17774
+ AegisName: "Almighty_Plus_Box3"
+ Name: "Almighty_Plus_Box3"
+},
+{
+ Id: 17775
+ AegisName: "Almighty100_PlusBox3"
+ Name: "Almighty100_PlusBox3"
+},
+{
+ Id: 17882
+ AegisName: "Refine_Ore_Box17_Set10"
+ Name: "Refine_Ore_Box17_Set10"
+},
+{
+ Id: 17883
+ AegisName: "Refine_Ore_Box17"
+ Name: "Refine_Ore_Box17"
+},
+{
+ Id: 17884
+ AegisName: "HD_Refine_Ore_Box5"
+ Name: "HD_Refine_Ore_Box5"
+},
+{
+ Id: 17885
+ AegisName: "HD_High_Refine_Box3"
+ Name: "HD_High_Refine_Box3"
+},
+{
+ Id: 17886
+ AegisName: "Infinity_Box"
+ Name: "Infinity_Box"
+},
+{
+ Id: 17887
+ AegisName: "Infinity_10_Box"
+ Name: "Infinity_10_Box"
+},
+{
+ Id: 17894
+ AegisName: "New_Vigorgra_Package"
+ Name: "New_Vigorgra_Package"
+},
+{
+ Id: 17895
+ AegisName: "New_Vigorgra_Set"
+ Name: "New_Vigorgra_Set"
+},
+{
+ Id: 17914
+ AegisName: "2017_GStar_CostumeBox"
+ Name: "2017_GStar_CostumeBox"
+},
+{
+ Id: 17923
+ AegisName: "Refine_Ore_Box18"
+ Name: "Refine_Ore_Box18"
+},
+{
+ Id: 17924
+ AegisName: "Refine_Ore_Box18_Set10"
+ Name: "Refine_Ore_Box18_Set10"
+},
+{
+ Id: 17925
+ AegisName: "HD_Refine_Ore_Box6"
+ Name: "HD_Refine_Ore_Box6"
+},
+{
+ Id: 17926
+ AegisName: "HD_High_Refine_Box4"
+ Name: "HD_High_Refine_Box4"
+},
+{
+ Id: 17935
+ AegisName: "New_3_Potion_pack"
+ Name: "New_3_Potion_pack"
+},
+{
+ Id: 17936
+ AegisName: "New_3_Potion_10pack"
+ Name: "New_3_Potion_10pack"
+},
+{
+ Id: 17940
+ AegisName: "Nyangvine_Box10_3"
+ Name: "Nyangvine_Box10_3"
+},
+{
+ Id: 17941
+ AegisName: "Nyangvine_Box100_3"
+ Name: "Nyangvine_Box100_3"
+},
+{
+ Id: 17944
+ AegisName: "Almighty_Plus_Box4"
+ Name: "Almighty_Plus_Box4"
+},
+{
+ Id: 17945
+ AegisName: "Almighty100_PlusBox4"
+ Name: "Almighty100_PlusBox4"
+},
//== Mechanic / Geneticist Cannon Balls ====================
{
Id: 18000
@@ -131205,6 +131540,56 @@ item_db: (
if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }
">
},
+{
+ Id: 18149
+ AegisName: "Balistar_IL"
+ Name: "Balistar_IL"
+},
+{
+ Id: 18165
+ AegisName: "Rebeginer_RN_Bow"
+ Name: "Rebeginer_RN_Bow"
+},
+{
+ Id: 18166
+ AegisName: "Rebeginer_WM_Bow"
+ Name: "Rebeginer_WM_Bow"
+},
+{
+ Id: 18170
+ AegisName: "Neev_Bow_Of_Rogue"
+ Name: "Neev_Bow_Of_Rogue"
+},
+{
+ Id: 18174
+ AegisName: "Hunter_Bow_IL"
+ Name: "Hunter_Bow_IL"
+},
+{
+ Id: 18178
+ AegisName: "Virtual_Bow_OS"
+ Name: "Virtual_Bow_OS"
+},
+{
+ Id: 18179
+ AegisName: "MH_P89_OS"
+ Name: "MH_P89_OS"
+},
+{
+ Id: 18180
+ AegisName: "AC_B44_OS"
+ Name: "AC_B44_OS"
+},
+{
+ Id: 18182
+ AegisName: "Evt_Royal_Bow_K"
+ Name: "Evt_Royal_Bow_K"
+},
+{
+ Id: 18183
+ AegisName: "Evt_Narcis_Bow"
+ Name: "Evt_Narcis_Bow"
+},
//== More Headgears ========================================
{
@@ -138368,6 +138753,101 @@ item_db: (
bonus bHit,8;
">
},
+{
+ Id: 19209
+ AegisName: "Nurse_Cap_IL"
+ Name: "Nurse_Cap_IL"
+},
+{
+ Id: 19210
+ AegisName: "Apple_Of_Archer_IL"
+ Name: "Apple_Of_Archer_IL"
+},
+{
+ Id: 19223
+ AegisName: "Cap_IL"
+ Name: "Cap_IL"
+},
+{
+ Id: 19247
+ AegisName: "Fancy_Flower_IL"
+ Name: "Fancy_Flower_IL"
+},
+{
+ Id: 19264
+ AegisName: "GoldFish_Hat"
+ Name: "GoldFish_Hat"
+},
+{
+ Id: 19265
+ AegisName: "Smoky_TransformHat"
+ Name: "Smoky_TransformHat"
+},
+{
+ Id: 19277
+ AegisName: "Soda_In_Mouth"
+ Name: "Soda_In_Mouth"
+},
+{
+ Id: 19291
+ AegisName: "C_Shiba_Inu"
+ Name: "C_Shiba_Inu"
+},
+{
+ Id: 19294
+ AegisName: "C_CatEars_Cyber_HeadP_R"
+ Name: "C_CatEars_Cyber_HeadP_R"
+},
+{
+ Id: 19300
+ AegisName: "Dog_Officer"
+ Name: "Dog_Officer"
+},
+{
+ Id: 19310
+ AegisName: "Rebeginer_Cap"
+ Name: "Rebeginer_Cap"
+},
+{
+ Id: 19339
+ AegisName: "Egg_Crispinette"
+ Name: "Egg_Crispinette"
+},
+{
+ Id: 19344
+ AegisName: "Headband_Of_Power_IL"
+ Name: "Headband_Of_Power_IL"
+},
+{
+ Id: 19366
+ AegisName: "Goibne_Helmet_IL"
+ Name: "Goibne_Helmet_IL"
+},
+{
+ Id: 19382
+ AegisName: "Pop_Popcorn_Hat"
+ Name: "Pop_Popcorn_Hat"
+},
+{
+ Id: 19389
+ AegisName: "E_Oxygen_Mask"
+ Name: "E_Oxygen_Mask"
+},
+{
+ Id: 19396
+ AegisName: "Racing_C_Star"
+ Name: "Racing_C_Star"
+},
+{
+ Id: 19397
+ AegisName: "Racing_C_Soul"
+ Name: "Racing_C_Soul"
+},
+{
+ Id: 19404
+ AegisName: "Biting_Off_Rideword"
+ Name: "Biting_Off_Rideword"
+},
//== Costume System ========================================
{
@@ -145232,6 +145712,46 @@ item_db: (
Script: <" bonus bUnbreakableHelm,0; ">
},
{
+ Id: 20514
+ AegisName: "C_Thanatos_Sword"
+ Name: "C_Thanatos_Sword"
+},
+{
+ Id: 20515
+ AegisName: "C_Magic_Circle"
+ Name: "C_Magic_Circle"
+},
+{
+ Id: 20516
+ AegisName: "C_Wings_of_Michael"
+ Name: "C_Wings_of_Michael"
+},
+{
+ Id: 20517
+ AegisName: "C_GiantCatBag_TW"
+ Name: "C_GiantCatBag_TW"
+},
+{
+ Id: 20528
+ AegisName: "C_GoldButterfly_Wing"
+ Name: "C_GoldButterfly_Wing"
+},
+{
+ Id: 20530
+ AegisName: "C_Wings_of_Gabriel"
+ Name: "C_Wings_of_Gabriel"
+},
+{
+ Id: 20533
+ AegisName: "C_PinkButterfly_Wing_T"
+ Name: "C_PinkButterfly_Wing_T"
+},
+{
+ Id: 20535
+ AegisName: "C_Digital_Space"
+ Name: "C_Digital_Space"
+},
+{
Id: 20600
AegisName: "Fantastic_Aura"
Name: "Fantastic Aura"
@@ -145923,6 +146443,71 @@ item_db: (
bonus bLuk, getrefine() / 2;
">
},
+{
+ Id: 20838
+ AegisName: "Muffler_IL"
+ Name: "Muffler_IL"
+},
+{
+ Id: 20840
+ AegisName: "Cape_Of_Ancient_Lord_IL"
+ Name: "Cape_Of_Ancient_Lord_IL"
+},
+{
+ Id: 20847
+ AegisName: "Clack_Of_Servival_IL"
+ Name: "Clack_Of_Servival_IL"
+},
+{
+ Id: 20856
+ AegisName: "YSF01_Manteau"
+ Name: "YSF01_Manteau"
+},
+{
+ Id: 20902
+ AegisName: "True_Hunting_Manteau"
+ Name: "True_Hunting_Manteau"
+},
+{
+ Id: 20903
+ AegisName: "R_Hunting_Manteau"
+ Name: "R_Hunting_Manteau"
+},
+{
+ Id: 20906
+ AegisName: "Rebeginer_Manteau"
+ Name: "Rebeginer_Manteau"
+},
+{
+ Id: 20923
+ AegisName: "Goibne_Shoulder_IL"
+ Name: "Goibne_Shoulder_IL"
+},
+{
+ Id: 20933
+ AegisName: "Illusion_Engine_A"
+ Name: "Illusion_Engine_A"
+},
+{
+ Id: 20934
+ AegisName: "Illusion_Engine_B"
+ Name: "Illusion_Engine_B"
+},
+{
+ Id: 20939
+ AegisName: "Time_Overload_Hood"
+ Name: "Time_Overload_Hood"
+},
+{
+ Id: 20940
+ AegisName: "Violet_Halo"
+ Name: "Violet_Halo"
+},
+{
+ Id: 20944
+ AegisName: "Fairy_Cloth"
+ Name: "Fairy_Cloth"
+},
//== New Two-Handed Swords =================================
{
@@ -146402,6 +146987,21 @@ item_db: (
if(getrefine()>=9) { skill LK_BERSERK,1; }
">
},
+{
+ Id: 21037
+ AegisName: "Rebeginer_RK_T_Sword"
+ Name: "Rebeginer_RK_T_Sword"
+},
+{
+ Id: 21047
+ AegisName: "Beam_Claymore_OS"
+ Name: "Beam_Claymore_OS"
+},
+{
+ Id: 21049
+ AegisName: "Evt_Oriental_Sword"
+ Name: "Evt_Oriental_Sword"
+},
//== New Shoes =============================================
{
@@ -147183,6 +147783,61 @@ item_db: (
bonus2 bSkillUseSP, SU_LOPE, 5;
">
},
+{
+ Id: 22133
+ AegisName: "Shoes_IL"
+ Name: "Shoes_IL"
+},
+{
+ Id: 22141
+ AegisName: "YSF01_Greave"
+ Name: "YSF01_Greave"
+},
+{
+ Id: 22168
+ AegisName: "True_Hunting_Boots"
+ Name: "True_Hunting_Boots"
+},
+{
+ Id: 22169
+ AegisName: "R_Hunting_Boots"
+ Name: "R_Hunting_Boots"
+},
+{
+ Id: 22171
+ AegisName: "ShoesOfGuardsman"
+ Name: "ShoesOfGuardsman"
+},
+{
+ Id: 22173
+ AegisName: "Rebeginer_Boots"
+ Name: "Rebeginer_Boots"
+},
+{
+ Id: 22190
+ AegisName: "Boots_IL"
+ Name: "Boots_IL"
+},
+{
+ Id: 22192
+ AegisName: "Goibne_Boots_IL"
+ Name: "Goibne_Boots_IL"
+},
+{
+ Id: 22196
+ AegisName: "Illusion_Leg_A"
+ Name: "Illusion_Leg_A"
+},
+{
+ Id: 22197
+ AegisName: "Illusion_Leg_B"
+ Name: "Illusion_Leg_B"
+},
+{
+ Id: 22204
+ AegisName: "Time_Overload_Boots"
+ Name: "Time_Overload_Boots"
+},
//== New Etc Items =========================================
{
@@ -147347,6 +148002,54 @@ item_db: (
Script: <" percentheal 5,5; ">
},
{
+ Id: 22702
+ AegisName: "STR_Soul_Potion"
+ Name: "STR Reduction Potion"
+ Type: "IT_DELAYCONSUME"
+ Buy: 10
+ Script: <" callfunc("F_CashReduceStat", bStr, -1, STR_Soul_Potion); ">
+},
+{
+ Id: 22703
+ AegisName: "AGI_Soul_Potion"
+ Name: "AGI Reduction Potion"
+ Type: "IT_DELAYCONSUME"
+ Buy: 10
+ Script: <" callfunc("F_CashReduceStat", bAgi, -1, AGI_Soul_Potion); ">
+},
+{
+ Id: 22704
+ AegisName: "VIT_Soul_Potion"
+ Name: "VIT Reduction Potion"
+ Type: "IT_DELAYCONSUME"
+ Buy: 10
+ Script: <" callfunc("F_CashReduceStat", bVit, -1, VIT_Soul_Potion); ">
+},
+{
+ Id: 22705
+ AegisName: "INT_Soul_Potion"
+ Name: "INT Reduction Potion"
+ Type: "IT_DELAYCONSUME"
+ Buy: 10
+ Script: <" callfunc("F_CashReduceStat", bInt, -1, INT_Soul_Potion); ">
+},
+{
+ Id: 22706
+ AegisName: "DEX_Soul_Potion"
+ Name: "DEX Reduction Potion"
+ Type: "IT_DELAYCONSUME"
+ Buy: 10
+ Script: <" callfunc("F_CashReduceStat", bDex, -1, DEX_Soul_Potion); ">
+},
+{
+ Id: 22707
+ AegisName: "LUK_Soul_Potion"
+ Name: "LUK Reduction Potion"
+ Type: "IT_DELAYCONSUME"
+ Buy: 10
+ Script: <" callfunc("F_CashReduceStat", bLuk, -1, LUK_Soul_Potion); ">
+},
+{
Id: 22737
AegisName: "Bullet_Case_Blood_"
Name: "Bloody Bullet Case"
@@ -147527,6 +148230,511 @@ item_db: (
Type: "IT_USABLE"
Script: <" Zeny += rand(500, 550); ">
},
+{
+ Id: 23242
+ AegisName: "Fried_Chicken"
+ Name: "Fried_Chicken"
+},
+{
+ Id: 23243
+ AegisName: "Fried_Chicken_1"
+ Name: "Fried_Chicken_1"
+},
+{
+ Id: 23256
+ AegisName: "Elixir_Bandage"
+ Name: "Elixir_Bandage"
+},
+{
+ Id: 23257
+ AegisName: "Dew_Of_Old_Tree"
+ Name: "Dew_Of_Old_Tree"
+},
+{
+ Id: 23258
+ AegisName: "Foul_Rotten_Meat"
+ Name: "Foul_Rotten_Meat"
+},
+{
+ Id: 23259
+ AegisName: "St_Cupcake"
+ Name: "St_Cupcake"
+},
+{
+ Id: 23260
+ AegisName: "Parfait"
+ Name: "Parfait"
+},
+{
+ Id: 23261
+ AegisName: "Macaron"
+ Name: "Macaron"
+},
+{
+ Id: 23277
+ AegisName: "Mado_Box"
+ Name: "Mado_Box"
+},
+{
+ Id: 23332
+ AegisName: "Costama_EggV01"
+ Name: "Costama_EggV01"
+},
+{
+ Id: 23342
+ AegisName: "Vend_Arbeit1_1Lv"
+ Name: "Vend_Arbeit1_1Lv"
+},
+{
+ Id: 23343
+ AegisName: "Vend_Arbeit1_2Lv"
+ Name: "Vend_Arbeit1_2Lv"
+},
+{
+ Id: 23344
+ AegisName: "Vend_Arbeit1_3Lv"
+ Name: "Vend_Arbeit1_3Lv"
+},
+{
+ Id: 23345
+ AegisName: "Buy_Arbeit1_1Lv"
+ Name: "Buy_Arbeit1_1Lv"
+},
+{
+ Id: 23346
+ AegisName: "Buy_Arbeit1_2Lv"
+ Name: "Buy_Arbeit1_2Lv"
+},
+{
+ Id: 23347
+ AegisName: "Buy_Arbeit1_3Lv"
+ Name: "Buy_Arbeit1_3Lv"
+},
+{
+ Id: 23348
+ AegisName: "Vend_Arbeit_1Lv"
+ Name: "Vend_Arbeit_1Lv"
+},
+{
+ Id: 23349
+ AegisName: "Vend_Arbeit_2Lv"
+ Name: "Vend_Arbeit_2Lv"
+},
+{
+ Id: 23350
+ AegisName: "Vend_Arbeit_3Lv"
+ Name: "Vend_Arbeit_3Lv"
+},
+{
+ Id: 23351
+ AegisName: "Buy_Arbeit_1Lv"
+ Name: "Buy_Arbeit_1Lv"
+},
+{
+ Id: 23352
+ AegisName: "Buy_Arbeit_2Lv"
+ Name: "Buy_Arbeit_2Lv"
+},
+{
+ Id: 23353
+ AegisName: "Buy_Arbeit_3Lv"
+ Name: "Buy_Arbeit_3Lv"
+},
+{
+ Id: 23354
+ AegisName: "Vend_Arbeit1_1Lv_"
+ Name: "Vend_Arbeit1_1Lv_"
+},
+{
+ Id: 23355
+ AegisName: "Vend_Arbeit1_2Lv_"
+ Name: "Vend_Arbeit1_2Lv_"
+},
+{
+ Id: 23356
+ AegisName: "Vend_Arbeit1_3Lv_"
+ Name: "Vend_Arbeit1_3Lv_"
+},
+{
+ Id: 23357
+ AegisName: "Buy_Arbeit1_1Lv_"
+ Name: "Buy_Arbeit1_1Lv_"
+},
+{
+ Id: 23358
+ AegisName: "Buy_Arbeit1_2Lv_"
+ Name: "Buy_Arbeit1_2Lv_"
+},
+{
+ Id: 23359
+ AegisName: "Buy_Arbeit1_3Lv_"
+ Name: "Buy_Arbeit1_3Lv_"
+},
+{
+ Id: 23405
+ AegisName: "Green_Scroll_K2"
+ Name: "Green_Scroll_K2"
+},
+{
+ Id: 23440
+ AegisName: "Sentimental_Scroll"
+ Name: "Sentimental_Scroll"
+},
+{
+ Id: 23444
+ AegisName: "July_Hair_Box"
+ Name: "July_Hair_Box"
+},
+{
+ Id: 23446
+ AegisName: "Savage_Trap"
+ Name: "Savage_Trap"
+},
+{
+ Id: 23473
+ AegisName: "Infinity_Scroll"
+ Name: "Infinity_Scroll"
+},
+{
+ Id: 23475
+ AegisName: "Infinity_Drink"
+ Name: "Infinity_Drink"
+},
+{
+ Id: 23484
+ AegisName: "Firstaid_Box_5"
+ Name: "Firstaid_Box_5"
+},
+{
+ Id: 23485
+ AegisName: "Firstaid_Box_10"
+ Name: "Firstaid_Box_10"
+},
+{
+ Id: 23486
+ AegisName: "Firstaid_Box_15"
+ Name: "Firstaid_Box_15"
+},
+{
+ Id: 23487
+ AegisName: "Firstaid_Box_20"
+ Name: "Firstaid_Box_20"
+},
+{
+ Id: 23488
+ AegisName: "Firstaid_Box_25"
+ Name: "Firstaid_Box_25"
+},
+{
+ Id: 23489
+ AegisName: "Firstaid_Box_30"
+ Name: "Firstaid_Box_30"
+},
+{
+ Id: 23490
+ AegisName: "Firstaid_Box_35"
+ Name: "Firstaid_Box_35"
+},
+{
+ Id: 23491
+ AegisName: "Firstaid_Box_40"
+ Name: "Firstaid_Box_40"
+},
+{
+ Id: 23492
+ AegisName: "Firstaid_Box_45"
+ Name: "Firstaid_Box_45"
+},
+{
+ Id: 23493
+ AegisName: "Firstaid_Box_50"
+ Name: "Firstaid_Box_50"
+},
+{
+ Id: 23494
+ AegisName: "Firstaid_Box_55"
+ Name: "Firstaid_Box_55"
+},
+{
+ Id: 23495
+ AegisName: "Firstaid_Box_60"
+ Name: "Firstaid_Box_60"
+},
+{
+ Id: 23496
+ AegisName: "Firstaid_Box_65"
+ Name: "Firstaid_Box_65"
+},
+{
+ Id: 23497
+ AegisName: "Firstaid_Box_70"
+ Name: "Firstaid_Box_70"
+},
+{
+ Id: 23498
+ AegisName: "Firstaid_Box_75"
+ Name: "Firstaid_Box_75"
+},
+{
+ Id: 23499
+ AegisName: "Firstaid_Box_80"
+ Name: "Firstaid_Box_80"
+},
+{
+ Id: 23500
+ AegisName: "Firstaid_Box_85"
+ Name: "Firstaid_Box_85"
+},
+{
+ Id: 23501
+ AegisName: "Firstaid_Box_90"
+ Name: "Firstaid_Box_90"
+},
+{
+ Id: 23502
+ AegisName: "Firstaid_Box_95"
+ Name: "Firstaid_Box_95"
+},
+{
+ Id: 23503
+ AegisName: "Red_Potion_B_20"
+ Name: "Red_Potion_B_20"
+},
+{
+ Id: 23504
+ AegisName: "Orange_Potion_B_20"
+ Name: "Orange_Potion_B_20"
+},
+{
+ Id: 23505
+ AegisName: "Yellow_Potion_B_20"
+ Name: "Yellow_Potion_B_20"
+},
+{
+ Id: 23506
+ AegisName: "White_Potion_B_20"
+ Name: "White_Potion_B_20"
+},
+{
+ Id: 23533
+ AegisName: "Vote_Rose"
+ Name: "Vote_Rose"
+},
+{
+ Id: 23537
+ AegisName: "Bloody_Scroll"
+ Name: "Bloody_Scroll"
+},
+{
+ Id: 23549
+ AegisName: "Snow_Cookie"
+ Name: "Snow_Cookie"
+},
+{
+ Id: 23550
+ AegisName: "Winter_Cookie"
+ Name: "Winter_Cookie"
+},
+{
+ Id: 23551
+ AegisName: "Festi_Cookie"
+ Name: "Festi_Cookie"
+},
+{
+ Id: 23552
+ AegisName: "Flora_Cookie"
+ Name: "Flora_Cookie"
+},
+{
+ Id: 23554
+ AegisName: "Snow_Festa_CardPack"
+ Name: "Snow_Festa_CardPack"
+},
+{
+ Id: 23575
+ AegisName: "Adventurer_Box_1"
+ Name: "Adventurer_Box_1"
+},
+{
+ Id: 23576
+ AegisName: "Adventurer_Box_15"
+ Name: "Adventurer_Box_15"
+},
+{
+ Id: 23577
+ AegisName: "Adventurer_Box_30"
+ Name: "Adventurer_Box_30"
+},
+{
+ Id: 23578
+ AegisName: "Adventurer_Box_45"
+ Name: "Adventurer_Box_45"
+},
+{
+ Id: 23579
+ AegisName: "Adventurer_Box_60"
+ Name: "Adventurer_Box_60"
+},
+{
+ Id: 23580
+ AegisName: "Adventurer_Box_75"
+ Name: "Adventurer_Box_75"
+},
+{
+ Id: 23581
+ AegisName: "Adventurer_Box_90"
+ Name: "Adventurer_Box_90"
+},
+{
+ Id: 23582
+ AegisName: "E_Wing_Of_Fly_3Day_Box"
+ Name: "E_Wing_Of_Fly_3Day_Box"
+},
+{
+ Id: 23583
+ AegisName: "Rebeginer_Box"
+ Name: "Rebeginer_Box"
+},
+{
+ Id: 23584
+ AegisName: "Rebeginer_S_Box"
+ Name: "Rebeginer_S_Box"
+},
+{
+ Id: 23585
+ AegisName: "Rebeginer_Box_100"
+ Name: "Rebeginer_Box_100"
+},
+{
+ Id: 23586
+ AegisName: "Rebeginer_Box_110"
+ Name: "Rebeginer_Box_110"
+},
+{
+ Id: 23587
+ AegisName: "Rebeginer_Box_120"
+ Name: "Rebeginer_Box_120"
+},
+{
+ Id: 23618
+ AegisName: "2017_Special_Scroll"
+ Name: "2017_Special_Scroll"
+},
+{
+ Id: 23650
+ AegisName: "Ice_Scroll"
+ Name: "Ice_Scroll"
+},
+{
+ Id: 23661
+ AegisName: "2018_New_Year_Scroll"
+ Name: "2018_New_Year_Scroll"
+},
+{
+ Id: 23683
+ AegisName: "EVT_JAN02KR"
+ Name: "EVT_JAN02KR"
+},
+{
+ Id: 23700
+ AegisName: "Lunar_New_Year_Scroll"
+ Name: "Lunar_New_Year_Scroll"
+},
+{
+ Id: 23706
+ AegisName: "Reactor_Z"
+ Name: "Reactor_Z"
+},
+{
+ Id: 23707
+ AegisName: "Reactor_Z_"
+ Name: "Reactor_Z_"
+},
+{
+ Id: 23710
+ AegisName: "2018_Spring_Scroll"
+ Name: "2018_Spring_Scroll"
+},
+{
+ Id: 23723
+ AegisName: "Melon_Bread"
+ Name: "Melon_Bread"
+},
+{
+ Id: 23765
+ AegisName: "Costama_EggV02"
+ Name: "Costama_EggV02"
+},
+{
+ Id: 23771
+ AegisName: "Mysterious_Plastic"
+ Name: "Mysterious_Plastic"
+},
+{
+ Id: 23772
+ AegisName: "EP17_1_SPC01"
+ Name: "EP17_1_SPC01"
+},
+{
+ Id: 23773
+ AegisName: "EP17_1_SPC02"
+ Name: "EP17_1_SPC02"
+},
+{
+ Id: 23774
+ AegisName: "EP17_1_SPC03"
+ Name: "EP17_1_SPC03"
+},
+{
+ Id: 23775
+ AegisName: "EP17_1_SPC04"
+ Name: "EP17_1_SPC04"
+},
+{
+ Id: 23817
+ AegisName: "Bs_Making_Scrolls"
+ Name: "Bs_Making_Scrolls"
+},
+{
+ Id: 23878
+ AegisName: "StarSoul_Scroll"
+ Name: "StarSoul_Scroll"
+},
+{
+ Id: 23897
+ AegisName: "2018_Jump_Thx_Box"
+ Name: "2018_Jump_Thx_Box"
+},
+{
+ Id: 23898
+ AegisName: "Comp_Power_Booster"
+ Name: "Comp_Power_Booster"
+},
+{
+ Id: 23899
+ AegisName: "Comp_Almighty"
+ Name: "Comp_Almighty"
+},
+{
+ Id: 23900
+ AegisName: "Time_Overload_Box"
+ Name: "Time_Overload_Box"
+},
+{
+ Id: 23901
+ AegisName: "110LVUP"
+ Name: "110LVUP"
+},
+{
+ Id: 23921
+ AegisName: "Season_Evt_Reward"
+ Name: "Season_Evt_Reward"
+},
+{
+ Id: 23962
+ AegisName: "Malang_Cat_Can2"
+ Name: "Malang_Cat_Can2"
+},
//== Shadow Equipments =====================================
{
@@ -150437,6 +151645,756 @@ item_db: (
if (getrefine()>=9) { bonus bDelayrate,-1; }
">
},
+{
+ Id: 24380
+ AegisName: "Sentimental_Weapone_S"
+ Name: "Sentimental_Weapone_S"
+},
+{
+ Id: 24381
+ AegisName: "Sentimental_Earring_S"
+ Name: "Sentimental_Earring_S"
+},
+{
+ Id: 24382
+ AegisName: "Sentimental_Pendant_S"
+ Name: "Sentimental_Pendant_S"
+},
+{
+ Id: 24383
+ AegisName: "Enchanting_Weapone_S"
+ Name: "Enchanting_Weapone_S"
+},
+{
+ Id: 24384
+ AegisName: "Enchanting_Earring_S"
+ Name: "Enchanting_Earring_S"
+},
+{
+ Id: 24385
+ AegisName: "Enchanting_Pendant_S"
+ Name: "Enchanting_Pendant_S"
+},
+{
+ Id: 24386
+ AegisName: "S_Infinity_Weapon"
+ Name: "S_Infinity_Weapon"
+},
+{
+ Id: 24387
+ AegisName: "Rebeginer_Armor_S"
+ Name: "Rebeginer_Armor_S"
+},
+{
+ Id: 24388
+ AegisName: "Rebeginer_Shield_S"
+ Name: "Rebeginer_Shield_S"
+},
+{
+ Id: 24389
+ AegisName: "Rebeginer_Shoes_S"
+ Name: "Rebeginer_Shoes_S"
+},
+{
+ Id: 24390
+ AegisName: "Rebeginer_Weapon_S"
+ Name: "Rebeginer_Weapon_S"
+},
+{
+ Id: 24391
+ AegisName: "Rebeginer_Earring_S"
+ Name: "Rebeginer_Earring_S"
+},
+{
+ Id: 24392
+ AegisName: "Rebeginer_Pendant_S"
+ Name: "Rebeginer_Pendant_S"
+},
+{
+ Id: 24393
+ AegisName: "S_Physical_Shoes"
+ Name: "S_Physical_Shoes"
+},
+{
+ Id: 24394
+ AegisName: "S_Physical_Shield"
+ Name: "S_Physical_Shield"
+},
+{
+ Id: 24395
+ AegisName: "S_Physical_Armor"
+ Name: "S_Physical_Armor"
+},
+{
+ Id: 24396
+ AegisName: "S_Magical_Shoes"
+ Name: "S_Magical_Shoes"
+},
+{
+ Id: 24397
+ AegisName: "S_Magical_Shield"
+ Name: "S_Magical_Shield"
+},
+{
+ Id: 24398
+ AegisName: "S_Magical_Armor"
+ Name: "S_Magical_Armor"
+},
+{
+ Id: 24399
+ AegisName: "S_ImmunedAthena_Shield"
+ Name: "S_ImmunedAthena_Shield"
+},
+{
+ Id: 24400
+ AegisName: "S_HardChamption_Shoes"
+ Name: "S_HardChamption_Shoes"
+},
+{
+ Id: 24401
+ AegisName: "S_KingbirdAncient_Armor"
+ Name: "S_KingbirdAncient_Armor"
+},
+{
+ Id: 24402
+ AegisName: "S_Rebellion_Armor"
+ Name: "S_Rebellion_Armor"
+},
+{
+ Id: 24403
+ AegisName: "S_Kagerou_Armor"
+ Name: "S_Kagerou_Armor"
+},
+{
+ Id: 24404
+ AegisName: "S_Oboro_Armor"
+ Name: "S_Oboro_Armor"
+},
+{
+ Id: 24405
+ AegisName: "S_Rebellion_Shoes"
+ Name: "S_Rebellion_Shoes"
+},
+{
+ Id: 24406
+ AegisName: "S_Kagerou_Shoes"
+ Name: "S_Kagerou_Shoes"
+},
+{
+ Id: 24407
+ AegisName: "S_Oboro_Shoes"
+ Name: "S_Oboro_Shoes"
+},
+{
+ Id: 24408
+ AegisName: "S_DoramPhysical_Armor"
+ Name: "S_DoramPhysical_Armor"
+},
+{
+ Id: 24409
+ AegisName: "S_DoramPhysical_Shoes"
+ Name: "S_DoramPhysical_Shoes"
+},
+{
+ Id: 24410
+ AegisName: "S_DoramMagical_Armor"
+ Name: "S_DoramMagical_Armor"
+},
+{
+ Id: 24411
+ AegisName: "S_DoramMagical_Shoes"
+ Name: "S_DoramMagical_Shoes"
+},
+{
+ Id: 24412
+ AegisName: "S_Star_Emperor_Armor"
+ Name: "S_Star_Emperor_Armor"
+},
+{
+ Id: 24413
+ AegisName: "S_Star_Emperor_Shoes"
+ Name: "S_Star_Emperor_Shoes"
+},
+{
+ Id: 24414
+ AegisName: "S_Soul_Reaper_Armor"
+ Name: "S_Soul_Reaper_Armor"
+},
+{
+ Id: 24415
+ AegisName: "S_Soul_Reaper_Shoes"
+ Name: "S_Soul_Reaper_Shoes"
+},
+{
+ Id: 24416
+ AegisName: "S_Timeoverload_Weapon"
+ Name: "S_Timeoverload_Weapon"
+},
+{
+ Id: 24417
+ AegisName: "S_Timeoverload_Armor"
+ Name: "S_Timeoverload_Armor"
+},
+{
+ Id: 24418
+ AegisName: "S_Timeoverload_Shield"
+ Name: "S_Timeoverload_Shield"
+},
+{
+ Id: 24419
+ AegisName: "S_Timeoverload_Shoes"
+ Name: "S_Timeoverload_Shoes"
+},
+{
+ Id: 24420
+ AegisName: "S_Timeoverload_Earing"
+ Name: "S_Timeoverload_Earing"
+},
+{
+ Id: 24421
+ AegisName: "S_Timeoverload_Pandent"
+ Name: "S_Timeoverload_Pandent"
+},
+{
+ Id: 25258
+ AegisName: "BrokenArrow"
+ Name: "BrokenArrow"
+},
+{
+ Id: 25265
+ AegisName: "Shining_Spore"
+ Name: "Shining_Spore"
+},
+{
+ Id: 25266
+ AegisName: "Dried_Leaf_Of_Ygg"
+ Name: "Dried_Leaf_Of_Ygg"
+},
+{
+ Id: 25271
+ AegisName: "IllusionStone"
+ Name: "IllusionStone"
+},
+{
+ Id: 25290
+ AegisName: "Sweets_Coin"
+ Name: "Sweets_Coin"
+},
+{
+ Id: 25294
+ AegisName: "Clover_Ticket"
+ Name: "Clover_Ticket"
+},
+{
+ Id: 25295
+ AegisName: "Happiness_Clover"
+ Name: "Happiness_Clover"
+},
+{
+ Id: 25340
+ AegisName: "Golden_Corn"
+ Name: "Golden_Corn"
+},
+{
+ Id: 25375
+ AegisName: "Mightysoul_Essence"
+ Name: "Mightysoul_Essence"
+},
+{
+ Id: 25390
+ AegisName: "Captured_Savage"
+ Name: "Captured_Savage"
+},
+{
+ Id: 25391
+ AegisName: "Goodly_Bough"
+ Name: "Goodly_Bough"
+},
+{
+ Id: 25392
+ AegisName: "Free_Pass_Ticket"
+ Name: "Free_Pass_Ticket"
+},
+{
+ Id: 25393
+ AegisName: "Delicious_Corn"
+ Name: "Delicious_Corn"
+},
+{
+ Id: 25394
+ AegisName: "Fruit_Lunch"
+ Name: "Fruit_Lunch"
+},
+{
+ Id: 25395
+ AegisName: "Small_Embers"
+ Name: "Small_Embers"
+},
+{
+ Id: 25401
+ AegisName: "Black_Fur"
+ Name: "Black_Fur"
+},
+{
+ Id: 25408
+ AegisName: "Memory_Of_Gyol"
+ Name: "Memory_Of_Gyol"
+},
+{
+ Id: 25409
+ AegisName: "SuraStone_Top"
+ Name: "SuraStone_Top"
+},
+{
+ Id: 25410
+ AegisName: "SuraStone_Middle"
+ Name: "SuraStone_Middle"
+},
+{
+ Id: 25411
+ AegisName: "SuraStone_Bottom"
+ Name: "SuraStone_Bottom"
+},
+{
+ Id: 25412
+ AegisName: "SuraStone_Robe"
+ Name: "SuraStone_Robe"
+},
+{
+ Id: 25413
+ AegisName: "RangerStone_Top"
+ Name: "RangerStone_Top"
+},
+{
+ Id: 25414
+ AegisName: "RangerStone_Middle"
+ Name: "RangerStone_Middle"
+},
+{
+ Id: 25415
+ AegisName: "RangerStone_Bottom"
+ Name: "RangerStone_Bottom"
+},
+{
+ Id: 25416
+ AegisName: "RangerStone_Robe"
+ Name: "RangerStone_Robe"
+},
+{
+ Id: 25417
+ AegisName: "SorcererStone_Top"
+ Name: "SorcererStone_Top"
+},
+{
+ Id: 25418
+ AegisName: "SorcererStone_Middle"
+ Name: "SorcererStone_Middle"
+},
+{
+ Id: 25419
+ AegisName: "SorcererStone_Bottom"
+ Name: "SorcererStone_Bottom"
+},
+{
+ Id: 25420
+ AegisName: "SorcererStone_Robe"
+ Name: "SorcererStone_Robe"
+},
+{
+ Id: 25421
+ AegisName: "Pumpkin_Decor"
+ Name: "Pumpkin_Decor"
+},
+{
+ Id: 25422
+ AegisName: "White_Thin_Stem"
+ Name: "White_Thin_Stem"
+},
+{
+ Id: 25425
+ AegisName: "SnowFlower_Of_Spell"
+ Name: "SnowFlower_Of_Spell"
+},
+{
+ Id: 25426
+ AegisName: "Warm_Cotton"
+ Name: "Warm_Cotton"
+},
+{
+ Id: 25427
+ AegisName: "Rebeginer_W_Coupon"
+ Name: "Rebeginer_W_Coupon"
+},
+{
+ Id: 25428
+ AegisName: "Rebeginer_W_7Up"
+ Name: "Rebeginer_W_7Up"
+},
+{
+ Id: 25445
+ AegisName: "RuneknightStone_Top"
+ Name: "RuneknightStone_Top"
+},
+{
+ Id: 25446
+ AegisName: "RuneknightStone_Middle"
+ Name: "RuneknightStone_Middle"
+},
+{
+ Id: 25447
+ AegisName: "RuneknightStone_Bottom"
+ Name: "RuneknightStone_Bottom"
+},
+{
+ Id: 25448
+ AegisName: "RuneknightStone_Robe"
+ Name: "RuneknightStone_Robe"
+},
+{
+ Id: 25449
+ AegisName: "GeneticStone_Robe"
+ Name: "GeneticStone_Robe"
+},
+{
+ Id: 25450
+ AegisName: "GeneticStone_Top"
+ Name: "GeneticStone_Top"
+},
+{
+ Id: 25451
+ AegisName: "GeneticStone_Middle"
+ Name: "GeneticStone_Middle"
+},
+{
+ Id: 25452
+ AegisName: "GeneticStone_Bottom"
+ Name: "GeneticStone_Bottom"
+},
+{
+ Id: 25453
+ AegisName: "WarlockStone_Top"
+ Name: "WarlockStone_Top"
+},
+{
+ Id: 25454
+ AegisName: "WarlockStone_Middle"
+ Name: "WarlockStone_Middle"
+},
+{
+ Id: 25455
+ AegisName: "WarlockStone_Bottom"
+ Name: "WarlockStone_Bottom"
+},
+{
+ Id: 25456
+ AegisName: "WarlockStone_Robe"
+ Name: "WarlockStone_Robe"
+},
+{
+ Id: 25464
+ AegisName: "World_Tour_Ticket"
+ Name: "World_Tour_Ticket"
+},
+{
+ Id: 25479
+ AegisName: "Dogly_Bottle"
+ Name: "Dogly_Bottle"
+},
+{
+ Id: 25490
+ AegisName: "ShadowchaserStone_Top"
+ Name: "ShadowchaserStone_Top"
+},
+{
+ Id: 25491
+ AegisName: "ShadowchaseStone_Middle"
+ Name: "ShadowchaseStone_Middle"
+},
+{
+ Id: 25492
+ AegisName: "ShadowchaseStone_Bottom"
+ Name: "ShadowchaseStone_Bottom"
+},
+{
+ Id: 25493
+ AegisName: "ShadowchaserStone_Robe"
+ Name: "ShadowchaserStone_Robe"
+},
+{
+ Id: 25494
+ AegisName: "MechanicStone_Top"
+ Name: "MechanicStone_Top"
+},
+{
+ Id: 25495
+ AegisName: "MechanicStone_Middle"
+ Name: "MechanicStone_Middle"
+},
+{
+ Id: 25496
+ AegisName: "MechanicStone_Bottom"
+ Name: "MechanicStone_Bottom"
+},
+{
+ Id: 25497
+ AegisName: "MechanicStone_Robe"
+ Name: "MechanicStone_Robe"
+},
+{
+ Id: 25498
+ AegisName: "WanderMinstrelStone_Top"
+ Name: "WanderMinstrelStone_Top"
+},
+{
+ Id: 25499
+ AegisName: "WanderMinstStone_Middle"
+ Name: "WanderMinstStone_Middle"
+},
+{
+ Id: 25500
+ AegisName: "WanderMinstStone_Bottom"
+ Name: "WanderMinstStone_Bottom"
+},
+{
+ Id: 25501
+ AegisName: "WanderMinstreStone_Robe"
+ Name: "WanderMinstreStone_Robe"
+},
+{
+ Id: 25504
+ AegisName: "Visionary_Ticket"
+ Name: "Visionary_Ticket"
+},
+{
+ Id: 25508
+ AegisName: "Token_of_OrcGeneral"
+ Name: "Token_of_OrcGeneral"
+},
+{
+ Id: 25511
+ AegisName: "Evt_March04_KR"
+ Name: "Evt_March04_KR"
+},
+{
+ Id: 25512
+ AegisName: "Evt_March05_KR"
+ Name: "Evt_March05_KR"
+},
+{
+ Id: 25616
+ AegisName: "Green_Bearopy"
+ Name: "Green_Bearopy"
+},
+{
+ Id: 25622
+ AegisName: "White_Snake_Tear"
+ Name: "White_Snake_Tear"
+},
+{
+ Id: 25627
+ AegisName: "Gold_Card"
+ Name: "Gold_Card"
+},
+{
+ Id: 25629
+ AegisName: "Konts_Letter"
+ Name: "Konts_Letter"
+},
+{
+ Id: 25633
+ AegisName: "Token_Of_Wootan"
+ Name: "Token_Of_Wootan"
+},
+{
+ Id: 25634
+ AegisName: "Wootan_D_S_Piece"
+ Name: "Wootan_D_S_Piece"
+},
+{
+ Id: 25638
+ AegisName: "Token_Of_Bigstone"
+ Name: "Token_Of_Bigstone"
+},
+{
+ Id: 25639
+ AegisName: "Fragment_Of_Rock"
+ Name: "Fragment_Of_Rock"
+},
+{
+ Id: 25643
+ AegisName: "Autographed_Book"
+ Name: "Autographed_Book"
+},
+{
+ Id: 25655
+ AegisName: "Dalcom_Coin"
+ Name: "Dalcom_Coin"
+},
+{
+ Id: 25656
+ AegisName: "Stamp_Note"
+ Name: "Stamp_Note"
+},
+{
+ Id: 25657
+ AegisName: "Evt_July01_KR"
+ Name: "Evt_July01_KR"
+},
+{
+ Id: 25658
+ AegisName: "Evt_July02_KR"
+ Name: "Evt_July02_KR"
+},
+{
+ Id: 25659
+ AegisName: "Evt_May02_KR"
+ Name: "Evt_May02_KR"
+},
+{
+ Id: 25664
+ AegisName: "Evt_July03_KR"
+ Name: "Evt_July03_KR"
+},
+{
+ Id: 25665
+ AegisName: "Dienes_Envelope"
+ Name: "Dienes_Envelope"
+},
+{
+ Id: 25666
+ AegisName: "Id_Card"
+ Name: "Id_Card"
+},
+{
+ Id: 25668
+ AegisName: "Broken_Weapon"
+ Name: "Broken_Weapon"
+},
+{
+ Id: 25669
+ AegisName: "Unknown_Parts"
+ Name: "Unknown_Parts"
+},
+{
+ Id: 25706
+ AegisName: "HighpriestStone_Top"
+ Name: "HighpriestStone_Top"
+},
+{
+ Id: 25707
+ AegisName: "HighpriestStone_Middle"
+ Name: "HighpriestStone_Middle"
+},
+{
+ Id: 25708
+ AegisName: "HighpriestStone_Bottom"
+ Name: "HighpriestStone_Bottom"
+},
+{
+ Id: 25709
+ AegisName: "ArchbishopStone_Robe"
+ Name: "ArchbishopStone_Robe"
+},
+{
+ Id: 25710
+ AegisName: "PaladinStone_Top"
+ Name: "PaladinStone_Top"
+},
+{
+ Id: 25711
+ AegisName: "PaladinStone_Middle"
+ Name: "PaladinStone_Middle"
+},
+{
+ Id: 25712
+ AegisName: "PaladinStone_Bottom"
+ Name: "PaladinStone_Bottom"
+},
+{
+ Id: 25713
+ AegisName: "RoyalguardStone_Robe"
+ Name: "RoyalguardStone_Robe"
+},
+{
+ Id: 25714
+ AegisName: "AssacrossStone_Top"
+ Name: "AssacrossStone_Top"
+},
+{
+ Id: 25715
+ AegisName: "AssacrossStone_Middle"
+ Name: "AssacrossStone_Middle"
+},
+{
+ Id: 25716
+ AegisName: "AssacrossStone_Bottom"
+ Name: "AssacrossStone_Bottom"
+},
+{
+ Id: 25717
+ AegisName: "GuillcrossStone_Robe"
+ Name: "GuillcrossStone_Robe"
+},
+{
+ Id: 25723
+ AegisName: "Cor_Core"
+ Name: "Cor_Core"
+},
+{
+ Id: 25728
+ AegisName: "Shadowdecon_Ore"
+ Name: "Shadowdecon_Ore"
+},
+{
+ Id: 25729
+ AegisName: "Shadowdecon"
+ Name: "Shadowdecon"
+},
+{
+ Id: 25730
+ AegisName: "Zelunium_Ore"
+ Name: "Zelunium_Ore"
+},
+{
+ Id: 25731
+ AegisName: "Zelunium"
+ Name: "Zelunium"
+},
+{
+ Id: 25734
+ AegisName: "Sealed_Weapon_Ticket"
+ Name: "Sealed_Weapon_Ticket"
+},
+{
+ Id: 25735
+ AegisName: "Unsealing_Token"
+ Name: "Unsealing_Token"
+},
+{
+ Id: 25739
+ AegisName: "GH_Cursed_Crystal"
+ Name: "GH_Cursed_Crystal"
+},
+{
+ Id: 25740
+ AegisName: "GH_Cursed_Gemstone"
+ Name: "GH_Cursed_Gemstone"
+},
+{
+ Id: 25793
+ AegisName: "Inventory_Extension_Coupon"
+ Name: "Inventory_Extension_Coupon"
+},
+{
+ Id: 26007
+ AegisName: "Spectral_Spear_IL"
+ Name: "Spectral_Spear_IL"
+},
+{
+ Id: 26015
+ AegisName: "Rebeginer_LG_Lance"
+ Name: "Rebeginer_LG_Lance"
+},
//== New Staffs ============================================
{
Id: 26101
@@ -150462,6 +152420,46 @@ item_db: (
bonus bLongAtkRate,7;
">
},
+{
+ Id: 26109
+ AegisName: "Staff_Of_Bordeaux_IL"
+ Name: "Staff_Of_Bordeaux_IL"
+},
+{
+ Id: 26110
+ AegisName: "CandyCaneRod"
+ Name: "CandyCaneRod"
+},
+{
+ Id: 26111
+ AegisName: "Metal_Foxtail"
+ Name: "Metal_Foxtail"
+},
+{
+ Id: 26119
+ AegisName: "Rebeginer_SO_Rod"
+ Name: "Rebeginer_SO_Rod"
+},
+{
+ Id: 26120
+ AegisName: "Rebeginer_DO_Rod"
+ Name: "Rebeginer_DO_Rod"
+},
+{
+ Id: 26151
+ AegisName: "Rutilus_Stick_OS"
+ Name: "Rutilus_Stick_OS"
+},
+{
+ Id: 26155
+ AegisName: "MeawFoxtail"
+ Name: "MeawFoxtail"
+},
+{
+ Id: 26156
+ AegisName: "Evt_Shadow_Staff_K"
+ Name: "Evt_Shadow_Staff_K"
+},
//== New Cards
@@ -150641,6 +152639,31 @@ item_db: (
bonus bUnbreakableWeapon,0;
">
},
+{
+ Id: 28022
+ AegisName: "Infiltrator_IL"
+ Name: "Infiltrator_IL"
+},
+{
+ Id: 28023
+ AegisName: "Ghoul_Leg_IL"
+ Name: "Ghoul_Leg_IL"
+},
+{
+ Id: 28027
+ AegisName: "Rebeginer_GC_Katar"
+ Name: "Rebeginer_GC_Katar"
+},
+{
+ Id: 28038
+ AegisName: "Meuchler_OS"
+ Name: "Meuchler_OS"
+},
+{
+ Id: 28040
+ AegisName: "Evt_Shiver_Katar_K"
+ Name: "Evt_Shiver_Katar_K"
+},
//== New Axes ==============================================
{
@@ -150792,6 +152815,16 @@ item_db: (
bonus bUnbreakableWeapon,0;
">
},
+{
+ Id: 28136
+ AegisName: "Blasti_OS"
+ Name: "Blasti_OS"
+},
+{
+ Id: 28137
+ AegisName: "Evt_Avenger"
+ Name: "Evt_Avenger"
+},
//== New Grenade Launcher ==================================
{
@@ -150898,6 +152931,36 @@ item_db: (
bonus bUnbreakableWeapon,0;
">
},
+{
+ Id: 28240
+ AegisName: "Calf_Kingcobra"
+ Name: "Calf_Kingcobra"
+},
+{
+ Id: 28241
+ AegisName: "Calf_Diamondback"
+ Name: "Calf_Diamondback"
+},
+{
+ Id: 28242
+ AegisName: "Calf_Anaconda"
+ Name: "Calf_Anaconda"
+},
+{
+ Id: 28243
+ AegisName: "Calf_Python"
+ Name: "Calf_Python"
+},
+{
+ Id: 28244
+ AegisName: "Gate_KeeperDD_IL"
+ Name: "Gate_KeeperDD_IL"
+},
+{
+ Id: 28253
+ AegisName: "HR_S55_OS"
+ Name: "HR_S55_OS"
+},
//== New Accessories =======================================
{
@@ -151433,6 +153496,36 @@ item_db: (
//Need to confirm damage formula
">
},
+{
+ Id: 28508
+ AegisName: "Skul_Ring_IL"
+ Name: "Skul_Ring_IL"
+},
+{
+ Id: 28509
+ AegisName: "Ring_IL"
+ Name: "Ring_IL"
+},
+{
+ Id: 28510
+ AegisName: "Vampire_s_Servant"
+ Name: "Vampire_s_Servant"
+},
+{
+ Id: 28534
+ AegisName: "RKC_2017_Pendant"
+ Name: "RKC_2017_Pendant"
+},
+{
+ Id: 28535
+ AegisName: "RKC_2017_Ring"
+ Name: "RKC_2017_Ring"
+},
+{
+ Id: 28566
+ AegisName: "Rebeginer_Ring"
+ Name: "Rebeginer_Ring"
+},
//== New Books =============================================
{
@@ -151486,6 +153579,31 @@ item_db: (
bonus bUnbreakableWeapon,0;
">
},
+{
+ Id: 28612
+ AegisName: "Book_Of_The_Apo_IL"
+ Name: "Book_Of_The_Apo_IL"
+},
+{
+ Id: 28616
+ AegisName: "Rebeginer_AB_Bible"
+ Name: "Rebeginer_AB_Bible"
+},
+{
+ Id: 28626
+ AegisName: "Tablet_IL"
+ Name: "Tablet_IL"
+},
+{
+ Id: 28629
+ AegisName: "Circuit_Board_OS"
+ Name: "Circuit_Board_OS"
+},
+{
+ Id: 28631
+ AegisName: "Time_Kamiji"
+ Name: "Time_Kamiji"
+},
//== New Daggers ===========================================
{
@@ -151634,6 +153752,31 @@ item_db: (
bonus bMatk,((min(getrefine(),15)) ** (2))/2;
">
},
+{
+ Id: 28725
+ AegisName: "Moonlight_Sword_IL"
+ Name: "Moonlight_Sword_IL"
+},
+{
+ Id: 28740
+ AegisName: "Rebeginer_SC_Dagger"
+ Name: "Rebeginer_SC_Dagger"
+},
+{
+ Id: 28745
+ AegisName: "Counter_Dagger_IL"
+ Name: "Counter_Dagger_IL"
+},
+{
+ Id: 28755
+ AegisName: "Kuroiro_OS"
+ Name: "Kuroiro_OS"
+},
+{
+ Id: 28759
+ AegisName: "Evt_Magic_Sword"
+ Name: "Evt_Magic_Sword"
+},
//== New Shields ===========================================
{
@@ -151711,6 +153854,31 @@ item_db: (
}
">
},
+{
+ Id: 28922
+ AegisName: "Herald_Of_GOD_IL"
+ Name: "Herald_Of_GOD_IL"
+},
+{
+ Id: 28942
+ AegisName: "Bloody_Knight_Shield"
+ Name: "Bloody_Knight_Shield"
+},
+{
+ Id: 28945
+ AegisName: "Bloody_Knight_Shield_"
+ Name: "Bloody_Knight_Shield_"
+},
+{
+ Id: 28946
+ AegisName: "Bloody_Knight_Shield__"
+ Name: "Bloody_Knight_Shield__"
+},
+{
+ Id: 28953
+ AegisName: "Poring_B_Shield"
+ Name: "Poring_B_Shield"
+},
//== New Enchantment Stones ================================
{
@@ -152041,4 +154209,354 @@ item_db: (
Loc: ["EQP_HELM", "EQP_ARMS", "EQP_GARMENT", "EQP_ACC", "EQP_ARMOR", "EQP_SHOES"]
Script: <" bonus2 bExpAddRace, RC_All, 2; ">
},
+{
+ Id: 29540
+ AegisName: "Deep_Black_Pearl"
+ Name: "Deep_Black_Pearl"
+},
+{
+ Id: 29547
+ AegisName: "Sea_Sapphire"
+ Name: "Sea_Sapphire"
+},
+{
+ Id: 29548
+ AegisName: "Red_Fog_Garnet"
+ Name: "Red_Fog_Garnet"
+},
+{
+ Id: 29549
+ AegisName: "Lightning_Topaz"
+ Name: "Lightning_Topaz"
+},
+{
+ Id: 29550
+ AegisName: "Poisoned_Amethyst"
+ Name: "Poisoned_Amethyst"
+},
+{
+ Id: 29551
+ AegisName: "Frost_Zircon"
+ Name: "Frost_Zircon"
+},
+{
+ Id: 29552
+ AegisName: "Deep_Black_Pearl_"
+ Name: "Deep_Black_Pearl_"
+},
+{
+ Id: 29587
+ AegisName: "Lightning_Topaz_"
+ Name: "Lightning_Topaz_"
+},
+{
+ Id: 29588
+ AegisName: "Bloody_Ruby"
+ Name: "Bloody_Ruby"
+},
+{
+ Id: 29589
+ AegisName: "GH_Cursed_Gemstone_"
+ Name: "GH_Cursed_Gemstone_"
+},
+{
+ Id: 29590
+ AegisName: "GH_Cursed_Crystal_"
+ Name: "GH_Cursed_Crystal_"
+},
+{
+ Id: 29591
+ AegisName: "Cursed_Emerald"
+ Name: "Cursed_Emerald"
+},
+{
+ Id: 29592
+ AegisName: "Shinee_Opal"
+ Name: "Shinee_Opal"
+},
+{
+ Id: 31172
+ AegisName: "Roast_Memory"
+ Name: "Roast_Memory"
+},
+{
+ Id: 31186
+ AegisName: "C_Black_Cat"
+ Name: "C_Black_Cat"
+},
+{
+ Id: 31195
+ AegisName: "Choco_Minihat"
+ Name: "Choco_Minihat"
+},
+{
+ Id: 31197
+ AegisName: "Egg_Crispinette_"
+ Name: "Egg_Crispinette_"
+},
+{
+ Id: 31208
+ AegisName: "Straight_Long_YL"
+ Name: "Straight_Long_YL"
+},
+{
+ Id: 31209
+ AegisName: "Straight_Long_WH"
+ Name: "Straight_Long_WH"
+},
+{
+ Id: 31249
+ AegisName: "Rabbit_Hopping"
+ Name: "Rabbit_Hopping"
+},
+{
+ Id: 31261
+ AegisName: "Soda_In_Mouth_"
+ Name: "Soda_In_Mouth_"
+},
+{
+ Id: 31300
+ AegisName: "Warm_Cat_Muffler"
+ Name: "Warm_Cat_Muffler"
+},
+{
+ Id: 31313
+ AegisName: "C_FallenAngelWingEar"
+ Name: "C_FallenAngelWingEar"
+},
+{
+ Id: 31314
+ AegisName: "C_Ghost_Holiday"
+ Name: "C_Ghost_Holiday"
+},
+{
+ Id: 31316
+ AegisName: "C_FlutterButterfly_BL"
+ Name: "C_FlutterButterfly_BL"
+},
+{
+ Id: 31329
+ AegisName: "C_Alice_Wig"
+ Name: "C_Alice_Wig"
+},
+{
+ Id: 31332
+ AegisName: "C_Khalitzburg_Helm_BL"
+ Name: "C_Khalitzburg_Helm_BL"
+},
+{
+ Id: 31368
+ AegisName: "Harvest_Festa_Hat"
+ Name: "Harvest_Festa_Hat"
+},
+{
+ Id: 31369
+ AegisName: "Straight_Long_WH_"
+ Name: "Straight_Long_WH_"
+},
+{
+ Id: 31370
+ AegisName: "Straight_Long_YL_"
+ Name: "Straight_Long_YL_"
+},
+{
+ Id: 31387
+ AegisName: "Jjakk"
+ Name: "Jjakk"
+},
+{
+ Id: 31389
+ AegisName: "White_Bird_Rose"
+ Name: "White_Bird_Rose"
+},
+{
+ Id: 31390
+ AegisName: "Let_It_Snow"
+ Name: "Let_It_Snow"
+},
+{
+ Id: 31396
+ AegisName: "C_Sorcerer_Hood"
+ Name: "C_Sorcerer_Hood"
+},
+{
+ Id: 31397
+ AegisName: "C_Pope_Sitting_Head"
+ Name: "C_Pope_Sitting_Head"
+},
+{
+ Id: 31398
+ AegisName: "C_Blinking_Thin_Eyes"
+ Name: "C_Blinking_Thin_Eyes"
+},
+{
+ Id: 31407
+ AegisName: "Alice_Wig_PK"
+ Name: "Alice_Wig_PK"
+},
+{
+ Id: 31415
+ AegisName: "C_Wanderer_Sakkat"
+ Name: "C_Wanderer_Sakkat"
+},
+{
+ Id: 31432
+ AegisName: "C_Luwmin_Ice"
+ Name: "C_Luwmin_Ice"
+},
+{
+ Id: 31433
+ AegisName: "C_Astro_Circle"
+ Name: "C_Astro_Circle"
+},
+{
+ Id: 31437
+ AegisName: "C_Baby_Penguin"
+ Name: "C_Baby_Penguin"
+},
+{
+ Id: 31439
+ AegisName: "C_Fluffy_Heart_Earmuffs"
+ Name: "C_Fluffy_Heart_Earmuffs"
+},
+{
+ Id: 31452
+ AegisName: "White_Cat"
+ Name: "White_Cat"
+},
+{
+ Id: 31454
+ AegisName: "Love_Feeling"
+ Name: "Love_Feeling"
+},
+{
+ Id: 31455
+ AegisName: "Enchanted_Dog"
+ Name: "Enchanted_Dog"
+},
+{
+ Id: 31460
+ AegisName: "C_Blessing_Sky_Lantern"
+ Name: "C_Blessing_Sky_Lantern"
+},
+{
+ Id: 31463
+ AegisName: "C_Flying_Drone"
+ Name: "C_Flying_Drone"
+},
+{
+ Id: 31465
+ AegisName: "Egg_Minihat"
+ Name: "Egg_Minihat"
+},
+{
+ Id: 31489
+ AegisName: "C_Bouquet_Hat"
+ Name: "C_Bouquet_Hat"
+},
+{
+ Id: 31490
+ AegisName: "C_Poring_Muffler"
+ Name: "C_Poring_Muffler"
+},
+{
+ Id: 31494
+ AegisName: "Volume_Low_Twin"
+ Name: "Volume_Low_Twin"
+},
+{
+ Id: 31495
+ AegisName: "Lolita_Two_Side_Up"
+ Name: "Lolita_Two_Side_Up"
+},
+{
+ Id: 31498
+ AegisName: "C_Elephangel_TH"
+ Name: "C_Elephangel_TH"
+},
+{
+ Id: 31516
+ AegisName: "Mini_Melon"
+ Name: "Mini_Melon"
+},
+{
+ Id: 31518
+ AegisName: "Pop_Popcorn_Hat_"
+ Name: "Pop_Popcorn_Hat_"
+},
+{
+ Id: 31519
+ AegisName: "Slurp_Slurp_Hat"
+ Name: "Slurp_Slurp_Hat"
+},
+{
+ Id: 31529
+ AegisName: "C_Happy_Rabbit_Ribbon"
+ Name: "C_Happy_Rabbit_Ribbon"
+},
+{
+ Id: 31580
+ AegisName: "Autumnal_Flavor"
+ Name: "Autumnal_Flavor"
+},
+{
+ Id: 31589
+ AegisName: "GOLD_MAJESTIC_GOUT"
+ Name: "GOLD_MAJESTIC_GOUT"
+},
+{
+ Id: 31606
+ AegisName: "C_Autumn_Headband"
+ Name: "C_Autumn_Headband"
+},
+{
+ Id: 32005
+ AegisName: "Pole_Axe_IL"
+ Name: "Pole_Axe_IL"
+},
+{
+ Id: 32013
+ AegisName: "Metal_Stick"
+ Name: "Metal_Stick"
+},
+{
+ Id: 32019
+ AegisName: "Boost_Lance_OS"
+ Name: "Boost_Lance_OS"
+},
+{
+ Id: 32021
+ AegisName: "Evt_Undine_Spear_K"
+ Name: "Evt_Undine_Spear_K"
+},
+{
+ Id: 32207
+ AegisName: "Illusion_B_R"
+ Name: "Illusion_B_R"
+},
+{
+ Id: 32208
+ AegisName: "Illusion_B_L"
+ Name: "Illusion_B_L"
+},
+{
+ Id: 32209
+ AegisName: "Illusion_BC_R"
+ Name: "Illusion_BC_R"
+},
+{
+ Id: 32210
+ AegisName: "Illusion_BC_L"
+ Name: "Illusion_BC_L"
+},
+{
+ Id: 32221
+ AegisName: "Time_Overload_Ring"
+ Name: "Time_Overload_Ring"
+},
+{
+ Id: 32237
+ AegisName: "Celine_Brooch"
+ Name: "Celine_Brooch"
+},
)
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index e90b478e7..f787d5478 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -89,6 +89,8 @@ mob_db: (
}
Drops: {
AegisName: chance (string: int)
+ // or
+ AegisName: (chance, "Option Drop Group")
// ...
}
},
diff --git a/db/re/refine_db.conf b/db/re/refine_db.conf
index 4974e0033..c83f71334 100644
--- a/db/re/refine_db.conf
+++ b/db/re/refine_db.conf
@@ -37,6 +37,30 @@ Armors/WeaponLevel1~4: { // Specifies weap
RandomBonusStartLevel: (int) // This value specifies the start point for those levels that give a random bonus value (usually the first unsafe upgrade).
// - RandomBonusStartLevel is only applied for weapons, and not displayed client-side.
RandomBonusValue: (int) // A random number between 0 and (Random bonus start level - Upgrade level + 1) * this value is applied for all upgrades past.
+ RefineryUISettings: (
+ {
+ Level: (int or array of int) // Holds either the individule refine level meant for this setting or an array defining a range
+ of Low to Max level
+ BlacksmithBlessing: (int) (optional) // How many Blacksmith Blessing required for this range to be safe from breaking
+ Announce: "(string)" (optional) // Sends an announcement server wide when a player reach this refine level using
+ Refinery UI, this feature is only available starting from 2017-08-30 RagexeRE or
+ 2017-09-06 Ragexe the field accepts the following values and it defaults to not announce
+ Success to set the announcement on item refine successful
+ Failure to set the announcement on item refine failure
+ Always to always announce it
+ Items: {
+ AegisName: {
+ Type: "(string)" // The type to determine the chances used for this item, REFINE_CHANCE_TYPE_*
+ constants are used in here
+ Cost: (int) (optional) // Amount of zeny required
+ FailureBehavior: "(string)" (optional) // The expected behvaior on failure for this item, the following strings are used in here
+ Destroy (default) sets the item to be destroyed on failure
+ Keep keeps the item after failure
+ Downgrade downgrades the item by one level on failure
+ }
+ }
+ }
+ )
Rates: { // Per level configuration of the refine rates.
Lv1~20: { // Lv1 ~ Lv20.
NormalChance: (int) // (optional, defaults to 100) Chance of successful refine using normal ores (100 = 100%).
@@ -54,6 +78,126 @@ Armors: {
StatsPerLevel: 0
RandomBonusStartLevel: 0
RandomBonusValue: 0
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Elunium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 2000
+ }
+ Enriched_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 2000
+ }
+ }
+ },
+ {
+ Level: 8
+ BlacksmithBlessing: 1
+ Items: {
+ Elunium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 2000
+ }
+ Enriched_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 2000
+ }
+ HD_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 9
+ BlacksmithBlessing: 2
+ Items: {
+ Elunium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 2000
+ }
+ Enriched_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 2000
+ }
+ HD_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 10
+ BlacksmithBlessing: 4
+ Announce: "Success"
+ Items: {
+ Elunium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 2000
+ }
+ Enriched_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 2000
+ }
+ HD_Elunium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 11
+ BlacksmithBlessing: 7
+ Announce: "Always"
+ Items: {
+ Carnium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Carnium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 12
+ BlacksmithBlessing: 11
+ Announce: "Always"
+ Items: {
+ Carnium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Carnium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: [13, 20]
+ Announce: "Always"
+ Items: {
+ Carnium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Carnium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ )
Rates: {
Lv1: {
Bonus: 100
@@ -175,6 +319,126 @@ WeaponLevel1: {
StatsPerLevel: 200
RandomBonusStartLevel: 8
RandomBonusValue: 300
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Phracon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 50
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 50
+ }
+ }
+ },
+ {
+ Level: 8
+ BlacksmithBlessing: 1
+ Items: {
+ Phracon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 50
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 50
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 9
+ BlacksmithBlessing: 2
+ Items: {
+ Phracon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 50
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 50
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 10
+ BlacksmithBlessing: 4
+ Announce: "Success"
+ Items: {
+ Phracon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 50
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 50
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 11
+ BlacksmithBlessing: 7
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 12
+ BlacksmithBlessing: 11
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: [13, 20]
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ )
Rates: {
Lv8: {
NormalChance: 60
@@ -255,6 +519,126 @@ WeaponLevel2: {
StatsPerLevel: 300
RandomBonusStartLevel: 7
RandomBonusValue: 500
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Emveretarcon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 200
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 200
+ }
+ }
+ },
+ {
+ Level: 8
+ BlacksmithBlessing: 1
+ Items: {
+ Emveretarcon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 200
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 200
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 9
+ BlacksmithBlessing: 2
+ Items: {
+ Emveretarcon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 200
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 200
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 10
+ BlacksmithBlessing: 4
+ Announce: "Success"
+ Items: {
+ Emveretarcon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 200
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 200
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 11
+ BlacksmithBlessing: 7
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 12
+ BlacksmithBlessing: 11
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: [13, 20]
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ )
Rates: {
Lv7: {
NormalChance: 60
@@ -341,6 +725,126 @@ WeaponLevel3: {
StatsPerLevel: 500
RandomBonusStartLevel: 6
RandomBonusValue: 800
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 5000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 5000
+ }
+ }
+ },
+ {
+ Level: 8
+ BlacksmithBlessing: 1
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 5000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 5000
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 9
+ BlacksmithBlessing: 2
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 5000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 5000
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 10
+ BlacksmithBlessing: 4
+ Announce: "Success"
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 5000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 5000
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 11
+ BlacksmithBlessing: 7
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 12
+ BlacksmithBlessing: 11
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: [13, 20]
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ )
Rates: {
Lv6: {
NormalChance: 60
@@ -433,6 +937,126 @@ WeaponLevel4: {
StatsPerLevel: 700
RandomBonusStartLevel: 5
RandomBonusValue: 1400
+ RefineryUISettings: (
+ {
+ Level: [1, 7]
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 20000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ }
+ }
+ },
+ {
+ Level: 8
+ BlacksmithBlessing: 1
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 20000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 9
+ BlacksmithBlessing: 2
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 20000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 10
+ BlacksmithBlessing: 4
+ Announce: "Success"
+ Items: {
+ Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 20000
+ }
+ Enriched_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ }
+ HD_Oridecon: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 11
+ BlacksmithBlessing: 7
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: 12
+ BlacksmithBlessing: 11
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ {
+ Level: [13, 20]
+ Announce: "Always"
+ Items: {
+ Bradium: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000
+ }
+ HD_Bradium: {
+ Type: "REFINE_CHANCE_TYPE_ENRICHED"
+ Cost: 20000
+ FailureBehavior: "Downgrade"
+ }
+ }
+ },
+ )
Rates: {
Lv5: {
NormalChance: 60
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf
index 4863e4051..9f5ce6439 100644
--- a/db/re/skill_db.conf
+++ b/db/re/skill_db.conf
@@ -75,6 +75,7 @@
Works like FreeCastReduced, but not reduce speed.
ShowSkillScale: true/false (boolean, defaults to false)
AllowReproduce: true/false (boolean, defaults to false)
+ HiddenTrap: true/false (boolean, defaults to false)
}
AttackType: "Attack Type" (string, defaults to "None")
Types: "None", "Weapon", "Magic" or "Misc"
@@ -4110,6 +4111,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4170,6 +4172,7 @@ skill_db: (
SkillInfo: {
Trap: true
AllowReproduce: true
+ HiddenTrap: true
}
AttackType: "Misc"
Element: "Ele_Earth"
@@ -4222,6 +4225,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4281,6 +4285,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4329,6 +4334,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4390,6 +4396,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4452,6 +4459,7 @@ skill_db: (
SkillInfo: {
Trap: true
AllowReproduce: true
+ HiddenTrap: true
}
AttackType: "Weapon"
Element: "Ele_Water"
@@ -4520,6 +4528,7 @@ skill_db: (
Element: "Ele_Wind"
DamageType: {
SplashArea: true
+ SplitDamage: true
IgnoreFlee: true
}
SplashRange: 1
@@ -4572,6 +4581,7 @@ skill_db: (
Element: "Ele_Fire"
DamageType: {
SplashArea: true
+ SplitDamage: true
IgnoreFlee: true
}
SplashRange: 2
@@ -4636,6 +4646,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
diff --git a/doc/atcommands.txt b/doc/atcommands.txt
index fb3628e00..dd8ad0969 100644
--- a/doc/atcommands.txt
+++ b/doc/atcommands.txt
@@ -692,9 +692,23 @@ Repairs all broken items in your inventory.
---------------------------------------
-@dropall
+@dropall {<item type>}
-Drops all inventory and equipped items onto the floor.
+Drops all items based on the item type.
+
+Valid item types:
+ -1 = All Items (default)
+ 0 = Healing Items
+ 2 = Useable Items
+ 3 = Etc Items
+ 4 = Weapons
+ 5 = Armors
+ 6 = Cards
+ 7 = Pet Eggs
+ 8 = Pet Armors
+ 10 = Ammunition Items
+ 11 = Delayed-Consumable Items
+ 18 = Cash Items
---------------------------------------
@@ -1498,3 +1512,9 @@ Reloads the 'conf/clans.conf' file.
Obs: it will reload 'db/clans.conf' too since it's included inside 'conf/clans.conf'
---------------------------------------
+
+@camerainfo {<range>, <rotation>, <latitude>}
+
+Allow show/hide or change client camera parameters
+
+---------------------------------------
diff --git a/doc/constants.md b/doc/constants.md
index ead85314d..835b49036 100644
--- a/doc/constants.md
+++ b/doc/constants.md
@@ -1407,13 +1407,13 @@
- `e_panic`: 79
- `e_whisp`: 80
-### petstat
+### petstat - deprecated, use *getpetinfo
-- `PET_CLASS`: 1
-- `PET_NAME`: 2
-- `PET_LEVEL`: 3
-- `PET_HUNGRY`: 4
-- `PET_INTIMATE`: 5
+- `PET_CLASS`: 1 **(DEPRECATED)**
+- `PET_NAME`: 2 **(DEPRECATED)**
+- `PET_LEVEL`: 3 **(DEPRECATED)**
+- `PET_HUNGRY`: 4 **(DEPRECATED)**
+- `PET_INTIMATE`: 5 **(DEPRECATED)**
### getmonsterinfo
@@ -3480,6 +3480,40 @@
- `4_M_AC_RUMIN`: 10246
- `4_M_HIGH_WIZARD`: 10247
- `4_SYSTEM_BOX`: 10248
+- `4_STEELBOX`: 10249
+- `4_WOODBOX`: 10250
+- `4_M_POPFESTA`: 10251
+- `4_BONFIRE`: 10252
+- `4_PCCOUNT`: 10253
+- `4_SCATLETON`: 10271
+- `4_JJAK`: 10280
+- `4_M_SNOWMAN_B`: 10281
+- `4_M_SNOWMAN_R`: 10282
+- `4_M_SNOWMAN_G`: 10283
+- `4_F_DANGDANG`: 10286
+- `4_M_DANGDANG`: 10287
+- `4_F_DANGDANG1`: 10288
+- `4_LEAFCAT`: 10289
+- `4_NASARIAN`: 10290
+- `4_NASARIAN_EM`: 10291
+- `4_TEDDY_BEAR_W`: 10292
+- `4_TEDDY_BEAR_B`: 10293
+- `4_TEDDY_BEAR_B_L`: 10294
+- `4_M_SOULREAPER`: 10295
+- `4_F_SE_SUN`: 10296
+- `4_M_SE_MOON`: 10297
+- `4_M_SE_STAR`: 10298
+- `4_EP17_KAYA`: 10299
+- `4_EP17_AS`: 10300
+- `4_EP17_ELYUMINA`: 10301
+- `4_EP17_MORNING`: 10302
+- `4_EP17_MIGUEL`: 10303
+- `4_EP17_NIHIL_K`: 10304
+- `4_EP17_MIGUEL_D`: 10305
+- `4_ED_SCHMIDT`: 10306
+- `4_ED_OSCAR`: 10307
+- `4_ED_ORB`: 10308
+- `4_ED_FENCE`: 10309
### Mercenary IDs
@@ -3616,13 +3650,6 @@
- `IOT_PARTY`: 2
- `IOT_GUILD`: 3
-### tradertype
-
-- `NST_ZENY`: 0
-- `NST_CASH`: 1
-- `NST_MARKET`: 2
-- `NST_CUSTOM`: 3
-
### strcharinfo
- `PC_NAME`: 0
@@ -3735,66 +3762,6 @@
- `SEX_MALE`: 1
- `SEX_ANY`: 2
-### Script Unit Data Types
-
-- `UDT_TYPE`: 0
-- `UDT_SIZE`: 1
-- `UDT_LEVEL`: 2
-- `UDT_HP`: 3
-- `UDT_MAXHP`: 4
-- `UDT_SP`: 5
-- `UDT_MAXSP`: 6
-- `UDT_MASTERAID`: 7
-- `UDT_MASTERCID`: 8
-- `UDT_MAPIDXY`: 9
-- `UDT_WALKTOXY`: 10
-- `UDT_SPEED`: 11
-- `UDT_MODE`: 12
-- `UDT_AI`: 13
-- `UDT_SCOPTION`: 14
-- `UDT_SEX`: 15
-- `UDT_CLASS`: 16
-- `UDT_HAIRSTYLE`: 17
-- `UDT_HAIRCOLOR`: 18
-- `UDT_HEADBOTTOM`: 19
-- `UDT_HEADMIDDLE`: 20
-- `UDT_HEADTOP`: 21
-- `UDT_CLOTHCOLOR`: 22
-- `UDT_SHIELD`: 23
-- `UDT_WEAPON`: 24
-- `UDT_LOOKDIR`: 25
-- `UDT_CANMOVETICK`: 26
-- `UDT_STR`: 27
-- `UDT_AGI`: 28
-- `UDT_VIT`: 29
-- `UDT_INT`: 30
-- `UDT_DEX`: 31
-- `UDT_LUK`: 32
-- `UDT_ATKRANGE`: 33
-- `UDT_ATKMIN`: 34
-- `UDT_ATKMAX`: 35
-- `UDT_MATKMIN`: 36
-- `UDT_MATKMAX`: 37
-- `UDT_DEF`: 38
-- `UDT_MDEF`: 39
-- `UDT_HIT`: 40
-- `UDT_FLEE`: 41
-- `UDT_PDODGE`: 42
-- `UDT_CRIT`: 43
-- `UDT_RACE`: 44
-- `UDT_ELETYPE`: 45
-- `UDT_ELELEVEL`: 46
-- `UDT_AMOTION`: 47
-- `UDT_ADELAY`: 48
-- `UDT_DMOTION`: 49
-- `UDT_HUNGER`: 50
-- `UDT_INTIMACY`: 51
-- `UDT_LIFETIME`: 52
-- `UDT_MERC_KILLCOUNT`: 53
-- `UDT_STATADD`: 54
-- `UDT_ROBE`: 55
-- `UDT_BODY2`: 56
-
### HatEffect Constants
- `HAT_EF_BLOSSOM_FLUTTERING`: 1
@@ -3853,6 +3820,38 @@
- `HAT_EF_QSCARABA`: 54
- `HAT_EF_FSTONE`: 55
- `HAT_EF_MAGICCIRCLE`: 56
+- `HAT_EF_BRYSINGGAMEN`: 57
+- `HAT_EF_MAGINGIORDE`: 58
+- `HAT_EF_LEVEL99_RED`: 59
+- `HAT_EF_LEVEL99_ULTRAMARINE`: 60
+- `HAT_EF_LEVEL99_CYAN`: 61
+- `HAT_EF_LEVEL99_LIME`: 62
+- `HAT_EF_LEVEL99_VIOLET`: 63
+- `HAT_EF_LEVEL99_LILAC`: 64
+- `HAT_EF_LEVEL99_SUN_ORANGE`: 65
+- `HAT_EF_LEVEL99_DEEP_PINK`: 66
+- `HAT_EF_LEVEL99_BLACK`: 67
+- `HAT_EF_LEVEL99_WHITE`: 68
+- `HAT_EF_LEVEL160_RED`: 69
+- `HAT_EF_LEVEL160_ULTRAMARINE`: 70
+- `HAT_EF_LEVEL160_CYAN`: 71
+- `HAT_EF_LEVEL160_LIME`: 72
+- `HAT_EF_LEVEL160_VIOLET`: 73
+- `HAT_EF_LEVEL160_LILAC`: 74
+- `HAT_EF_LEVEL160_SUN_ORANGE`: 75
+- `HAT_EF_LEVEL160_DEEP_PINK`: 76
+- `HAT_EF_LEVEL160_BLACK`: 77
+- `HAT_EF_LEVEL160_WHITE`: 78
+- `HAT_EF_FULL_BLOOMCHERRY_TREE`: 79
+- `HAT_EF_C_BLESSINGS_OF_SOUL`: 80
+- `HAT_EF_MANYSTARS`: 81
+- `HAT_EF_SUBJECT_AURA_GOLD`: 82
+- `HAT_EF_SUBJECT_AURA_WHITE`: 83
+- `HAT_EF_SUBJECT_AURA_RED`: 84
+- `HAT_EF_C_SHINING_ANGEL_WING`: 85
+- `HAT_EF_MAGIC_STAR_TW`: 86
+- `HAT_DIGITAL_SPACE`: 87
+- `HAT_EF_SLEIPNIR`: 88
### Achievement Types
@@ -3903,6 +3902,10 @@
- `ACH_ACHIEVE`: 44
- `ACH_ACHIEVEMENT_RANK`: 45
+### inventory expansion
+
+- `INVENTORY_INCREASE_STEP`: 10
+
## Hardcoded Constants (source)
@@ -3920,11 +3923,18 @@
- `MAX_GUILD_STORAGE`: 600
- `MAX_CART`: 100
- `MAX_INVENTORY`: 100
+- `FIXED_INVENTORY_SIZE`: 100
- `MAX_ZENY`: 2147483647
- `MAX_BANK_ZENY`: 2147483647
- `MAX_BG_MEMBERS`: 30
- `MAX_CHAT_USERS`: 20
- `MAX_REFINE`: 20
+- `MAX_ITEM_ID`: 65535
+- `MAX_MENU_OPTIONS`: 255
+- `MAX_MENU_LENGTH`: 2048
+- `MOB_CLONE_START`: 4001
+- `MOB_CLONE_END`: 5000
+- `MAX_NPC_PER_MAP`: 512
### status options
@@ -4192,6 +4202,16 @@
- `MAPINFO_SIZE_X`: 2
- `MAPINFO_SIZE_Y`: 3
- `MAPINFO_ZONE`: 4
+- `MAPINFO_NPC_COUNT`: 5
+
+### consolemes options
+
+- `CONSOLEMES_DEBUG`: 0
+- `CONSOLEMES_ERROR`: 1
+- `CONSOLEMES_WARNING`: 2
+- `CONSOLEMES_INFO`: 3
+- `CONSOLEMES_STATUS`: 4
+- `CONSOLEMES_NOTICE`: 5
### set/getiteminfo options
@@ -4212,6 +4232,35 @@
- `ITEMINFO_VIEWID`: 14
- `ITEMINFO_MATK`: 15
- `ITEMINFO_VIEWSPRITE`: 16
+- `ITEMINFO_TRADE`: 17
+
+### getmercinfo options
+
+- `MERCINFO_ID,`: 0
+- `MERCINFO_CLASS`: 1
+- `MERCINFO_NAME`: 2
+- `MERCINFO_FAITH`: 3
+- `MERCINFO_CALLS`: 4
+- `MERCINFO_KILLCOUNT`: 5
+- `MERCINFO_LIFETIME`: 6
+- `MERCINFO_LEVEL`: 7
+- `MERCINFO_GID`: 8
+
+### getpetinfo options
+
+- `PETINFO_ID`: 0
+- `PETINFO_CLASS`: 1
+- `PETINFO_NAME`: 2
+- `PETINFO_INTIMACY`: 3
+- `PETINFO_HUNGRY`: 4
+- `PETINFO_RENAME`: 5
+- `PETINFO_GID`: 6
+- `PETINFO_EGGITEM`: 7
+- `PETINFO_FOODITEM`: 8
+- `PETINFO_ACCESSORYITEM`: 9
+- `PETINFO_ACCESSORYFLAG`: 10
+- `PETINFO_EVO_EGGID`: 11
+- `PETINFO_AUTOFEED`: 12
### monster skill states
@@ -4301,6 +4350,7 @@
- `QINFO_HOMUN_LEVEL`: 5
- `QINFO_HOMUN_TYPE`: 6
- `QINFO_QUEST`: 7
+- `QINFO_MERCENARY_CLASS`: 8
### function types
@@ -4309,6 +4359,105 @@
- `FUNCTION_IS_LOCAL`: 3
- `FUNCTION_IS_LABEL`: 4
+### item trade restrictions
+
+- `ITR_NONE`: 0
+- `ITR_NODROP`: 1
+- `ITR_NOTRADE`: 2
+- `ITR_PARTNEROVERRIDE`: 4
+- `ITR_NOSELLTONPC`: 8
+- `ITR_NOCART`: 16
+- `ITR_NOSTORAGE`: 32
+- `ITR_NOGSTORAGE`: 64
+- `ITR_NOMAIL`: 128
+- `ITR_NOAUCTION`: 256
+- `ITR_ALL`: 511
+
+### inventory expand ack responds
+
+- `EXPAND_INV_ASK_CONFIRMATION`: 0
+- `EXPAND_INV_FAILED`: 1
+- `EXPAND_INV_OTHER_WORK`: 2
+- `EXPAND_INV_MISSING_ITEM`: 3
+- `EXPAND_INV_MAX_SIZE`: 4
+
+### inventory expand final responds
+
+- `EXPAND_INV_RESULT_SUCCESS`: 0
+- `EXPAND_INV_RESULT_FAILED`: 1
+- `EXPAND_INV_RESULT_OTHER_WORK`: 2
+- `EXPAND_INV_RESULT_MISSING_ITEM`: 3
+- `EXPAND_INV_RESULT_MAX_SIZE`: 4
+
+### trader type
+
+- `NST_ZENY`: 0
+- `NST_CASH`: 1
+- `NST_MARKET`: 2
+- `NST_CUSTOM`: 3
+- `NST_BARTER`: 4
+
+### script unit data types
+
+- `UDT_TYPE`: 0
+- `UDT_SIZE`: 1
+- `UDT_LEVEL`: 2
+- `UDT_HP`: 3
+- `UDT_MAXHP`: 4
+- `UDT_SP`: 5
+- `UDT_MAXSP`: 6
+- `UDT_MASTERAID`: 7
+- `UDT_MASTERCID`: 8
+- `UDT_MAPIDXY`: 9 **(DEPRECATED)**
+- `UDT_WALKTOXY`: 10 **(DEPRECATED)**
+- `UDT_SPEED`: 11
+- `UDT_MODE`: 12
+- `UDT_AI`: 13
+- `UDT_SCOPTION`: 14
+- `UDT_SEX`: 15
+- `UDT_CLASS`: 16
+- `UDT_HAIRSTYLE`: 17
+- `UDT_HAIRCOLOR`: 18
+- `UDT_HEADBOTTOM`: 19
+- `UDT_HEADMIDDLE`: 20
+- `UDT_HEADTOP`: 21
+- `UDT_CLOTHCOLOR`: 22
+- `UDT_SHIELD`: 23
+- `UDT_WEAPON`: 24
+- `UDT_LOOKDIR`: 25
+- `UDT_CANMOVETICK`: 26
+- `UDT_STR`: 27
+- `UDT_AGI`: 28
+- `UDT_VIT`: 29
+- `UDT_INT`: 30
+- `UDT_DEX`: 31
+- `UDT_LUK`: 32
+- `UDT_ATKRANGE`: 33
+- `UDT_ATKMIN`: 34
+- `UDT_ATKMAX`: 35
+- `UDT_MATKMIN`: 36
+- `UDT_MATKMAX`: 37
+- `UDT_DEF`: 38
+- `UDT_MDEF`: 39
+- `UDT_HIT`: 40
+- `UDT_FLEE`: 41
+- `UDT_PDODGE`: 42
+- `UDT_CRIT`: 43
+- `UDT_RACE`: 44
+- `UDT_ELETYPE`: 45
+- `UDT_ELELEVEL`: 46
+- `UDT_AMOTION`: 47
+- `UDT_ADELAY`: 48
+- `UDT_DMOTION`: 49
+- `UDT_HUNGER`: 50
+- `UDT_INTIMACY`: 51
+- `UDT_LIFETIME`: 52
+- `UDT_MERC_KILLCOUNT`: 53
+- `UDT_STATPOINT`: 54
+- `UDT_ROBE`: 55
+- `UDT_BODY2`: 56
+- `UDT_GROUP`: 57
+
### Renewal
- `RENEWAL`: 1
@@ -8517,6 +8666,7 @@
- `Dofle_Axe`: 1318
- `TE_Woe_Axe`: 1319
- `Ru_Gold_Axe`: 1323
+- `War_Axe_IL`: 1326
- `Battle_Axe`: 1351
- `Battle_Axe_`: 1352
- `Battle_Axe__`: 1353
@@ -8949,6 +9099,10 @@
- `Spartacus`: 1835
- `Thanos_Knuckle`: 1836
- `Scarlet_Knuckle`: 1839
+- `Combo_Battle_Glove_IL`: 1846
+- `Rebeginer_SR_Nuckle`: 1848
+- `Burning_Knuckle_OS`: 1862
+- `Evt_Iron_Nail_K`: 1864
- `Violin_of_Vicious_Mind`: 1900
- `Violin`: 1901
- `Violin_`: 1902
@@ -9063,6 +9217,10 @@
- `Infinity_Staff`: 2024
- `Scarlet_Staff`: 2025
- `Staff_of_Vicious_Mind`: 2026
+- `Wizardy_Staff_IL`: 2039
+- `Rebeginer_WL_Staff`: 2046
+- `Survival_Staff_IL`: 2051
+- `Evt_Iron_Staff`: 2054
- `Guard`: 2101
- `Guard_`: 2102
- `Buckler`: 2103
@@ -13464,6 +13622,7 @@
- `Black_Butterfly_Mask`: 10037
- `Horn_Protector`: 10038
- `Tw_Backpack`: 10039
+- `Dark_Mane`: 10042
- `Prontera_Book_01`: 11000
- `Adventure_Story01`: 11001
- `Great_Chef_Orleans01`: 11002
@@ -13587,6 +13746,15 @@
- `Trance_Candy_Y`: 11594
- `Trance_Candy_G`: 11595
- `Catnip_Fruit`: 11602
+- `Crepe`: 11607
+- `Chocolate_Egg`: 11608
+- `Yummy_Cookie_Egg`: 11609
+- `Pop_Corn`: 11611
+- `Aromatic_Pop_Corn`: 11612
+- `Fresh_Milk`: 11614
+- `Sweet_Potato_`: 11615
+- `Bearopy`: 11620
+- `Aromatic_Pop_Corn_`: 11625
- `Girl_Bunch_Of_Flower`: 11701
- `Moon_Cookie`: 11702
- `Mysterious_Blood`: 11703
@@ -14646,6 +14814,8 @@
- `ALTAIR_ARES_`: 13124
- `Scarlet_Revolver`: 13127
- `Revolver_of_Vicious_Mind`: 13128
+- `Rebeginer_RL_Gun`: 13144
+- `Calf_Deathadder`: 13146
- `Branch`: 13150
- `The_Cyclone`: 13151
- `The_Cyclone_`: 13152
@@ -14787,6 +14957,9 @@
- `TE_Woe_Huuma`: 13317
- `Scarlet_Huuma`: 13327
- `Huuma_Shuriken_of_Vicious_Mind`: 13328
+- `Huuma_Fluttering_Snow_IL`: 13337
+- `Huuma_Bird_Wing_IL`: 13338
+- `Rebeginer_KO_Humma`: 13341
- `Cutlas_`: 13400
- `Excalibur_C`: 13401
- `Cutlas_C`: 13402
@@ -14830,6 +15003,10 @@
- `Pala`: 13444
- `Scarlet_Saber`: 13454
- `Saber_of_Vicious_Mind`: 13455
+- `Immaterial_Sword_IL`: 13469
+- `Rebeginer_GN_Sword`: 13483
+- `Cannon_Rapier_OS`: 13493
+- `Evt_Bluefire_Sword`: 13495
- `Insurance60_Package`: 13500
- `Assorted_Scroll_Box`: 13501
- `Drooping_Kitty_Box`: 13502
@@ -15881,6 +16058,17 @@
- `White_Shirt`: 15150
- `White_Eco_Shirt`: 15151
- `Elegant_Doram_Suit`: 15156
+- `YSF01_Plate`: 15212
+- `True_Hunting_Mail`: 15246
+- `R_Hunting_Mail`: 15247
+- `Rebeginer_Suits`: 15250
+- `S_CriticalHit_Armor`: 15280
+- `Goibne_Armor_IL`: 15348
+- `Illusion_Armor_A`: 15376
+- `Illusion_Armor_B`: 15377
+- `Time_Overload_Robe`: 15383
+- `Schmidt_Suits`: 15388
+- `Schmidt_Manteau`: 15389
- `Erde`: 16000
- `Red_Square_Bag`: 16001
- `Stunner_C`: 16002
@@ -15916,6 +16104,12 @@
- `Spoon`: 16039
- `Scarlet_Mace`: 16040
- `Mace_of_Vicious_Mind`: 16041
+- `Long_Mace_IL`: 16063
+- `Iron_Driver_IL`: 16065
+- `Rebeginer_NC_Mace`: 16075
+- `Rebeginer_N2_Mace`: 16076
+- `Saphir_Hall_OS`: 16088
+- `Ultio_Spes_OS`: 16089
- `Lady_Tanee_Doll_Box`: 16131
- `Lunatic_Hat_Box`: 16132
- `King_Frog_Hat_Box`: 16134
@@ -15997,6 +16191,7 @@
- `Giant_Fly_Wing_Box_500`: 16418
- `Greed_Scroll_Box_30`: 16419
- `Adventurer_Pack`: 16420
+- `PoporingKey`: 16423
- `Executioner_Box_`: 16424
- `Cutlus_Box`: 16425
- `Moonlight_Dagger_Box`: 16426
@@ -16275,6 +16470,27 @@
- `DEX_Biscuit_Stick_Box`: 17274
- `LUK_Biscuit_Stick_Box`: 17275
- `Jeremy_Beauty_Coupon_Box`: 17336
+- `Almighty_Plus_Box3`: 17774
+- `Almighty100_PlusBox3`: 17775
+- `Refine_Ore_Box17_Set10`: 17882
+- `Refine_Ore_Box17`: 17883
+- `HD_Refine_Ore_Box5`: 17884
+- `HD_High_Refine_Box3`: 17885
+- `Infinity_Box`: 17886
+- `Infinity_10_Box`: 17887
+- `New_Vigorgra_Package`: 17894
+- `New_Vigorgra_Set`: 17895
+- `2017_GStar_CostumeBox`: 17914
+- `Refine_Ore_Box18`: 17923
+- `Refine_Ore_Box18_Set10`: 17924
+- `HD_Refine_Ore_Box6`: 17925
+- `HD_High_Refine_Box4`: 17926
+- `New_3_Potion_pack`: 17935
+- `New_3_Potion_10pack`: 17936
+- `Nyangvine_Box10_3`: 17940
+- `Nyangvine_Box100_3`: 17941
+- `Almighty_Plus_Box4`: 17944
+- `Almighty100_PlusBox4`: 17945
- `Cannon_Ball`: 18000
- `Holy_Cannon_Ball`: 18001
- `Dark_Cannon_Ball`: 18002
@@ -16308,6 +16524,16 @@
- `Ru_Blue_Bow`: 18126
- `Infinity_Bow`: 18128
- `Scarlet_Bow`: 18130
+- `Balistar_IL`: 18149
+- `Rebeginer_RN_Bow`: 18165
+- `Rebeginer_WM_Bow`: 18166
+- `Neev_Bow_Of_Rogue`: 18170
+- `Hunter_Bow_IL`: 18174
+- `Virtual_Bow_OS`: 18178
+- `MH_P89_OS`: 18179
+- `AC_B44_OS`: 18180
+- `Evt_Royal_Bow_K`: 18182
+- `Evt_Narcis_Bow`: 18183
- `Cheer_Scarf6`: 18500
- `Cheer_Scarf8`: 18501
- `Cheer_Scarf10`: 18502
@@ -16735,6 +16961,25 @@
- `Sigruns_Wing_`: 19085
- `Robo_Eye_`: 19086
- `Angel_Spirit_`: 19087
+- `Nurse_Cap_IL`: 19209
+- `Apple_Of_Archer_IL`: 19210
+- `Cap_IL`: 19223
+- `Fancy_Flower_IL`: 19247
+- `GoldFish_Hat`: 19264
+- `Smoky_TransformHat`: 19265
+- `Soda_In_Mouth`: 19277
+- `C_Shiba_Inu`: 19291
+- `C_CatEars_Cyber_HeadP_R`: 19294
+- `Dog_Officer`: 19300
+- `Rebeginer_Cap`: 19310
+- `Egg_Crispinette`: 19339
+- `Headband_Of_Power_IL`: 19344
+- `Goibne_Helmet_IL`: 19366
+- `Pop_Popcorn_Hat`: 19382
+- `E_Oxygen_Mask`: 19389
+- `Racing_C_Star`: 19396
+- `Racing_C_Soul`: 19397
+- `Biting_Off_Rideword`: 19404
- `T_Mr_Smile`: 19500
- `T_Spinx_Helm`: 19501
- `T_Goggle`: 19502
@@ -17506,6 +17751,14 @@
- `C_Pure_White_Ribbon`: 20332
- `C_Family_Hat`: 20333
- `T_Archangel_Wing`: 20500
+- `C_Thanatos_Sword`: 20514
+- `C_Magic_Circle`: 20515
+- `C_Wings_of_Michael`: 20516
+- `C_GiantCatBag_TW`: 20517
+- `C_GoldButterfly_Wing`: 20528
+- `C_Wings_of_Gabriel`: 20530
+- `C_PinkButterfly_Wing_T`: 20533
+- `C_Digital_Space`: 20535
- `Fantastic_Aura`: 20600
- `Egir_Manteau`: 20700
- `TE_Woe_Muffler`: 20702
@@ -17545,6 +17798,19 @@
- `Private_Doram_Manteau`: 20788
- `Luxury_Doram_Manteau`: 20789
- `Elegant_Doram_Manteau`: 20790
+- `Muffler_IL`: 20838
+- `Cape_Of_Ancient_Lord_IL`: 20840
+- `Clack_Of_Servival_IL`: 20847
+- `YSF01_Manteau`: 20856
+- `True_Hunting_Manteau`: 20902
+- `R_Hunting_Manteau`: 20903
+- `Rebeginer_Manteau`: 20906
+- `Goibne_Shoulder_IL`: 20923
+- `Illusion_Engine_A`: 20933
+- `Illusion_Engine_B`: 20934
+- `Time_Overload_Hood`: 20939
+- `Violet_Halo`: 20940
+- `Fairy_Cloth`: 20944
- `Upg_Twohand_Sword`: 21000
- `Velum_Claymore`: 21001
- `Velum_Katzbalger`: 21002
@@ -17564,6 +17830,9 @@
- `Two_Handed_Sword_of_Vicious_Mind`: 21016
- `Lindy_Hop`: 21018
- `Onimaru`: 21019
+- `Rebeginer_RK_T_Sword`: 21037
+- `Beam_Claymore_OS`: 21047
+- `Evt_Oriental_Sword`: 21049
- `Temporal_Str_Boots`: 22000
- `Temporal_Int_Boots`: 22001
- `Temporal_Agi_Boots`: 22002
@@ -17604,6 +17873,17 @@
- `Private_Doram_Shoes`: 22083
- `Luxury_Doram_Shoes`: 22084
- `Elegant_Doram_Shoes`: 22085
+- `Shoes_IL`: 22133
+- `YSF01_Greave`: 22141
+- `True_Hunting_Boots`: 22168
+- `R_Hunting_Boots`: 22169
+- `ShoesOfGuardsman`: 22171
+- `Rebeginer_Boots`: 22173
+- `Boots_IL`: 22190
+- `Goibne_Boots_IL`: 22192
+- `Illusion_Leg_A`: 22196
+- `Illusion_Leg_B`: 22197
+- `Time_Overload_Boots`: 22204
- `Para_Team_Mark_`: 22508
- `Candy_Holder`: 22514
- `Key_Of_Twisted_Time`: 22515
@@ -17617,6 +17897,12 @@
- `Chest_Of_Death`: 22679
- `Solo_Christmas_Gift`: 22685
- `Solo_Cookie`: 22686
+- `STR_Soul_Potion`: 22702
+- `AGI_Soul_Potion`: 22703
+- `VIT_Soul_Potion`: 22704
+- `INT_Soul_Potion`: 22705
+- `DEX_Soul_Potion`: 22706
+- `LUK_Soul_Potion`: 22707
- `Bullet_Case_Blood_`: 22737
- `Bullet_Case_Silver_`: 22738
- `Sphere_Case_Wind_`: 22739
@@ -17635,6 +17921,107 @@
- `Integer_Time`: 22837
- `Something_Candy_Holder`: 22838
- `Old_Money_Pocket`: 22876
+- `Fried_Chicken`: 23242
+- `Fried_Chicken_1`: 23243
+- `Elixir_Bandage`: 23256
+- `Dew_Of_Old_Tree`: 23257
+- `Foul_Rotten_Meat`: 23258
+- `St_Cupcake`: 23259
+- `Parfait`: 23260
+- `Macaron`: 23261
+- `Mado_Box`: 23277
+- `Costama_EggV01`: 23332
+- `Vend_Arbeit1_1Lv`: 23342
+- `Vend_Arbeit1_2Lv`: 23343
+- `Vend_Arbeit1_3Lv`: 23344
+- `Buy_Arbeit1_1Lv`: 23345
+- `Buy_Arbeit1_2Lv`: 23346
+- `Buy_Arbeit1_3Lv`: 23347
+- `Vend_Arbeit_1Lv`: 23348
+- `Vend_Arbeit_2Lv`: 23349
+- `Vend_Arbeit_3Lv`: 23350
+- `Buy_Arbeit_1Lv`: 23351
+- `Buy_Arbeit_2Lv`: 23352
+- `Buy_Arbeit_3Lv`: 23353
+- `Vend_Arbeit1_1Lv_`: 23354
+- `Vend_Arbeit1_2Lv_`: 23355
+- `Vend_Arbeit1_3Lv_`: 23356
+- `Buy_Arbeit1_1Lv_`: 23357
+- `Buy_Arbeit1_2Lv_`: 23358
+- `Buy_Arbeit1_3Lv_`: 23359
+- `Green_Scroll_K2`: 23405
+- `Sentimental_Scroll`: 23440
+- `July_Hair_Box`: 23444
+- `Savage_Trap`: 23446
+- `Infinity_Scroll`: 23473
+- `Infinity_Drink`: 23475
+- `Firstaid_Box_5`: 23484
+- `Firstaid_Box_10`: 23485
+- `Firstaid_Box_15`: 23486
+- `Firstaid_Box_20`: 23487
+- `Firstaid_Box_25`: 23488
+- `Firstaid_Box_30`: 23489
+- `Firstaid_Box_35`: 23490
+- `Firstaid_Box_40`: 23491
+- `Firstaid_Box_45`: 23492
+- `Firstaid_Box_50`: 23493
+- `Firstaid_Box_55`: 23494
+- `Firstaid_Box_60`: 23495
+- `Firstaid_Box_65`: 23496
+- `Firstaid_Box_70`: 23497
+- `Firstaid_Box_75`: 23498
+- `Firstaid_Box_80`: 23499
+- `Firstaid_Box_85`: 23500
+- `Firstaid_Box_90`: 23501
+- `Firstaid_Box_95`: 23502
+- `Red_Potion_B_20`: 23503
+- `Orange_Potion_B_20`: 23504
+- `Yellow_Potion_B_20`: 23505
+- `White_Potion_B_20`: 23506
+- `Vote_Rose`: 23533
+- `Bloody_Scroll`: 23537
+- `Snow_Cookie`: 23549
+- `Winter_Cookie`: 23550
+- `Festi_Cookie`: 23551
+- `Flora_Cookie`: 23552
+- `Snow_Festa_CardPack`: 23554
+- `Adventurer_Box_1`: 23575
+- `Adventurer_Box_15`: 23576
+- `Adventurer_Box_30`: 23577
+- `Adventurer_Box_45`: 23578
+- `Adventurer_Box_60`: 23579
+- `Adventurer_Box_75`: 23580
+- `Adventurer_Box_90`: 23581
+- `E_Wing_Of_Fly_3Day_Box`: 23582
+- `Rebeginer_Box`: 23583
+- `Rebeginer_S_Box`: 23584
+- `Rebeginer_Box_100`: 23585
+- `Rebeginer_Box_110`: 23586
+- `Rebeginer_Box_120`: 23587
+- `2017_Special_Scroll`: 23618
+- `Ice_Scroll`: 23650
+- `2018_New_Year_Scroll`: 23661
+- `EVT_JAN02KR`: 23683
+- `Lunar_New_Year_Scroll`: 23700
+- `Reactor_Z`: 23706
+- `Reactor_Z_`: 23707
+- `2018_Spring_Scroll`: 23710
+- `Melon_Bread`: 23723
+- `Costama_EggV02`: 23765
+- `Mysterious_Plastic`: 23771
+- `EP17_1_SPC01`: 23772
+- `EP17_1_SPC02`: 23773
+- `EP17_1_SPC03`: 23774
+- `EP17_1_SPC04`: 23775
+- `Bs_Making_Scrolls`: 23817
+- `StarSoul_Scroll`: 23878
+- `2018_Jump_Thx_Box`: 23897
+- `Comp_Power_Booster`: 23898
+- `Comp_Almighty`: 23899
+- `Time_Overload_Box`: 23900
+- `110LVUP`: 23901
+- `Season_Evt_Reward`: 23921
+- `Malang_Cat_Can2`: 23962
- `T1_Shadow_Armor`: 24000
- `T1_Shadow_Weapon`: 24001
- `T1_Shadow_Shield`: 24002
@@ -17881,7 +18268,165 @@
- `S_Reload_Shoes`: 24243
- `S_Reload_Shield`: 24244
- `S_Reload_Armor`: 24245
+- `Sentimental_Weapone_S`: 24380
+- `Sentimental_Earring_S`: 24381
+- `Sentimental_Pendant_S`: 24382
+- `Enchanting_Weapone_S`: 24383
+- `Enchanting_Earring_S`: 24384
+- `Enchanting_Pendant_S`: 24385
+- `S_Infinity_Weapon`: 24386
+- `Rebeginer_Armor_S`: 24387
+- `Rebeginer_Shield_S`: 24388
+- `Rebeginer_Shoes_S`: 24389
+- `Rebeginer_Weapon_S`: 24390
+- `Rebeginer_Earring_S`: 24391
+- `Rebeginer_Pendant_S`: 24392
+- `S_Physical_Shoes`: 24393
+- `S_Physical_Shield`: 24394
+- `S_Physical_Armor`: 24395
+- `S_Magical_Shoes`: 24396
+- `S_Magical_Shield`: 24397
+- `S_Magical_Armor`: 24398
+- `S_ImmunedAthena_Shield`: 24399
+- `S_HardChamption_Shoes`: 24400
+- `S_KingbirdAncient_Armor`: 24401
+- `S_Rebellion_Armor`: 24402
+- `S_Kagerou_Armor`: 24403
+- `S_Oboro_Armor`: 24404
+- `S_Rebellion_Shoes`: 24405
+- `S_Kagerou_Shoes`: 24406
+- `S_Oboro_Shoes`: 24407
+- `S_DoramPhysical_Armor`: 24408
+- `S_DoramPhysical_Shoes`: 24409
+- `S_DoramMagical_Armor`: 24410
+- `S_DoramMagical_Shoes`: 24411
+- `S_Star_Emperor_Armor`: 24412
+- `S_Star_Emperor_Shoes`: 24413
+- `S_Soul_Reaper_Armor`: 24414
+- `S_Soul_Reaper_Shoes`: 24415
+- `S_Timeoverload_Weapon`: 24416
+- `S_Timeoverload_Armor`: 24417
+- `S_Timeoverload_Shield`: 24418
+- `S_Timeoverload_Shoes`: 24419
+- `S_Timeoverload_Earing`: 24420
+- `S_Timeoverload_Pandent`: 24421
+- `BrokenArrow`: 25258
+- `Shining_Spore`: 25265
+- `Dried_Leaf_Of_Ygg`: 25266
+- `IllusionStone`: 25271
+- `Sweets_Coin`: 25290
+- `Clover_Ticket`: 25294
+- `Happiness_Clover`: 25295
+- `Golden_Corn`: 25340
+- `Mightysoul_Essence`: 25375
+- `Captured_Savage`: 25390
+- `Goodly_Bough`: 25391
+- `Free_Pass_Ticket`: 25392
+- `Delicious_Corn`: 25393
+- `Fruit_Lunch`: 25394
+- `Small_Embers`: 25395
+- `Black_Fur`: 25401
+- `Memory_Of_Gyol`: 25408
+- `SuraStone_Top`: 25409
+- `SuraStone_Middle`: 25410
+- `SuraStone_Bottom`: 25411
+- `SuraStone_Robe`: 25412
+- `RangerStone_Top`: 25413
+- `RangerStone_Middle`: 25414
+- `RangerStone_Bottom`: 25415
+- `RangerStone_Robe`: 25416
+- `SorcererStone_Top`: 25417
+- `SorcererStone_Middle`: 25418
+- `SorcererStone_Bottom`: 25419
+- `SorcererStone_Robe`: 25420
+- `Pumpkin_Decor`: 25421
+- `White_Thin_Stem`: 25422
+- `SnowFlower_Of_Spell`: 25425
+- `Warm_Cotton`: 25426
+- `Rebeginer_W_Coupon`: 25427
+- `Rebeginer_W_7Up`: 25428
+- `RuneknightStone_Top`: 25445
+- `RuneknightStone_Middle`: 25446
+- `RuneknightStone_Bottom`: 25447
+- `RuneknightStone_Robe`: 25448
+- `GeneticStone_Robe`: 25449
+- `GeneticStone_Top`: 25450
+- `GeneticStone_Middle`: 25451
+- `GeneticStone_Bottom`: 25452
+- `WarlockStone_Top`: 25453
+- `WarlockStone_Middle`: 25454
+- `WarlockStone_Bottom`: 25455
+- `WarlockStone_Robe`: 25456
+- `World_Tour_Ticket`: 25464
+- `Dogly_Bottle`: 25479
+- `ShadowchaserStone_Top`: 25490
+- `ShadowchaseStone_Middle`: 25491
+- `ShadowchaseStone_Bottom`: 25492
+- `ShadowchaserStone_Robe`: 25493
+- `MechanicStone_Top`: 25494
+- `MechanicStone_Middle`: 25495
+- `MechanicStone_Bottom`: 25496
+- `MechanicStone_Robe`: 25497
+- `WanderMinstrelStone_Top`: 25498
+- `WanderMinstStone_Middle`: 25499
+- `WanderMinstStone_Bottom`: 25500
+- `WanderMinstreStone_Robe`: 25501
+- `Visionary_Ticket`: 25504
+- `Token_of_OrcGeneral`: 25508
+- `Evt_March04_KR`: 25511
+- `Evt_March05_KR`: 25512
+- `Green_Bearopy`: 25616
+- `White_Snake_Tear`: 25622
+- `Gold_Card`: 25627
+- `Konts_Letter`: 25629
+- `Token_Of_Wootan`: 25633
+- `Wootan_D_S_Piece`: 25634
+- `Token_Of_Bigstone`: 25638
+- `Fragment_Of_Rock`: 25639
+- `Autographed_Book`: 25643
+- `Dalcom_Coin`: 25655
+- `Stamp_Note`: 25656
+- `Evt_July01_KR`: 25657
+- `Evt_July02_KR`: 25658
+- `Evt_May02_KR`: 25659
+- `Evt_July03_KR`: 25664
+- `Dienes_Envelope`: 25665
+- `Id_Card`: 25666
+- `Broken_Weapon`: 25668
+- `Unknown_Parts`: 25669
+- `HighpriestStone_Top`: 25706
+- `HighpriestStone_Middle`: 25707
+- `HighpriestStone_Bottom`: 25708
+- `ArchbishopStone_Robe`: 25709
+- `PaladinStone_Top`: 25710
+- `PaladinStone_Middle`: 25711
+- `PaladinStone_Bottom`: 25712
+- `RoyalguardStone_Robe`: 25713
+- `AssacrossStone_Top`: 25714
+- `AssacrossStone_Middle`: 25715
+- `AssacrossStone_Bottom`: 25716
+- `GuillcrossStone_Robe`: 25717
+- `Cor_Core`: 25723
+- `Shadowdecon_Ore`: 25728
+- `Shadowdecon`: 25729
+- `Zelunium_Ore`: 25730
+- `Zelunium`: 25731
+- `Sealed_Weapon_Ticket`: 25734
+- `Unsealing_Token`: 25735
+- `GH_Cursed_Crystal`: 25739
+- `GH_Cursed_Gemstone`: 25740
+- `Inventory_Extension_Coupon`: 25793
+- `Spectral_Spear_IL`: 26007
+- `Rebeginer_LG_Lance`: 26015
- `Paradise_Foxtail_Staff_III`: 26101
+- `Staff_Of_Bordeaux_IL`: 26109
+- `CandyCaneRod`: 26110
+- `Metal_Foxtail`: 26111
+- `Rebeginer_SO_Rod`: 26119
+- `Rebeginer_DO_Rod`: 26120
+- `Rutilus_Stick_OS`: 26151
+- `MeawFoxtail`: 26155
+- `Evt_Shadow_Staff_K`: 26156
- `Faceworm_Queen_Card`: 27164
- `Captain_Felock_Card`: 27182
- `Thanos_Katar`: 28000
@@ -17890,16 +18435,29 @@
- `Scarlet_Katar`: 28007
- `Katar_of_Vicious_Mind`: 28008
- `Juliette_de_Rachel`: 28010
+- `Infiltrator_IL`: 28022
+- `Ghoul_Leg_IL`: 28023
+- `Rebeginer_GC_Katar`: 28027
+- `Meuchler_OS`: 28038
+- `Evt_Shiver_Katar_K`: 28040
- `Thanos_Axe`: 28100
- `Tornado_Axe`: 28101
- `Infinity_Two_handed_Axe`: 28105
- `Scarlet_Twohand_Axe`: 28106
- `Two_Handed_Axe_of_Vicious_Mind`: 28107
+- `Blasti_OS`: 28136
+- `Evt_Avenger`: 28137
- `END_OF_HORIZON`: 28200
- `Southern_Cross_R`: 28201
- `Southern_Cross_R_`: 28202
- `Half_BF_Rifle1`: 28203
- `Half_BF_Shotgun1`: 28204
+- `Calf_Kingcobra`: 28240
+- `Calf_Diamondback`: 28241
+- `Calf_Anaconda`: 28242
+- `Calf_Python`: 28243
+- `Gate_KeeperDD_IL`: 28244
+- `HR_S55_OS`: 28253
- `Bless_Of_Moon`: 28306
- `Earring_Of_Sarah_L`: 28310
- `Earring_Of_Sarah_R`: 28311
@@ -17931,15 +18489,36 @@
- `Shiny_Branch_Talisman`: 28422
- `Fresh_Tuna_Talisman`: 28423
- `Chubby_Worm_Talisman`: 28424
+- `Skul_Ring_IL`: 28508
+- `Ring_IL`: 28509
+- `Vampire_s_Servant`: 28510
+- `RKC_2017_Pendant`: 28534
+- `RKC_2017_Ring`: 28535
+- `Rebeginer_Ring`: 28566
- `Scarlet_Bible`: 28604
- `Book_of_Vicious_Mind`: 28605
+- `Book_Of_The_Apo_IL`: 28612
+- `Rebeginer_AB_Bible`: 28616
+- `Tablet_IL`: 28626
+- `Circuit_Board_OS`: 28629
+- `Time_Kamiji`: 28631
- `Infinity_Dagger`: 28703
- `Twilight_Desert_`: 28704
- `Scarlet_Dagger`: 28705
- `Dagger_of_Vicious_Mind`: 28706
+- `Moonlight_Sword_IL`: 28725
+- `Rebeginer_SC_Dagger`: 28740
+- `Counter_Dagger_IL`: 28745
+- `Kuroiro_OS`: 28755
+- `Evt_Magic_Sword`: 28759
- `Praetorian_Shield`: 28900
- `Cursed_Mad_Bunny`: 28901
- `Mad_Bunny_`: 28902
+- `Herald_Of_GOD_IL`: 28922
+- `Bloody_Knight_Shield`: 28942
+- `Bloody_Knight_Shield_`: 28945
+- `Bloody_Knight_Shield__`: 28946
+- `Poring_B_Shield`: 28953
- `Rune_Of_Magic1`: 29000
- `Rune_Of_Magic2`: 29001
- `Rune_Of_Magic3`: 29002
@@ -17967,6 +18546,76 @@
- `LUK3_INT3`: 29025
- `DEF20`: 29026
- `EXP2`: 29027
+- `Deep_Black_Pearl`: 29540
+- `Sea_Sapphire`: 29547
+- `Red_Fog_Garnet`: 29548
+- `Lightning_Topaz`: 29549
+- `Poisoned_Amethyst`: 29550
+- `Frost_Zircon`: 29551
+- `Deep_Black_Pearl_`: 29552
+- `Lightning_Topaz_`: 29587
+- `Bloody_Ruby`: 29588
+- `GH_Cursed_Gemstone_`: 29589
+- `GH_Cursed_Crystal_`: 29590
+- `Cursed_Emerald`: 29591
+- `Shinee_Opal`: 29592
+- `Roast_Memory`: 31172
+- `C_Black_Cat`: 31186
+- `Choco_Minihat`: 31195
+- `Egg_Crispinette_`: 31197
+- `Straight_Long_YL`: 31208
+- `Straight_Long_WH`: 31209
+- `Rabbit_Hopping`: 31249
+- `Soda_In_Mouth_`: 31261
+- `Warm_Cat_Muffler`: 31300
+- `C_FallenAngelWingEar`: 31313
+- `C_Ghost_Holiday`: 31314
+- `C_FlutterButterfly_BL`: 31316
+- `C_Alice_Wig`: 31329
+- `C_Khalitzburg_Helm_BL`: 31332
+- `Harvest_Festa_Hat`: 31368
+- `Straight_Long_WH_`: 31369
+- `Straight_Long_YL_`: 31370
+- `Jjakk`: 31387
+- `White_Bird_Rose`: 31389
+- `Let_It_Snow`: 31390
+- `C_Sorcerer_Hood`: 31396
+- `C_Pope_Sitting_Head`: 31397
+- `C_Blinking_Thin_Eyes`: 31398
+- `Alice_Wig_PK`: 31407
+- `C_Wanderer_Sakkat`: 31415
+- `C_Luwmin_Ice`: 31432
+- `C_Astro_Circle`: 31433
+- `C_Baby_Penguin`: 31437
+- `C_Fluffy_Heart_Earmuffs`: 31439
+- `White_Cat`: 31452
+- `Love_Feeling`: 31454
+- `Enchanted_Dog`: 31455
+- `C_Blessing_Sky_Lantern`: 31460
+- `C_Flying_Drone`: 31463
+- `Egg_Minihat`: 31465
+- `C_Bouquet_Hat`: 31489
+- `C_Poring_Muffler`: 31490
+- `Volume_Low_Twin`: 31494
+- `Lolita_Two_Side_Up`: 31495
+- `C_Elephangel_TH`: 31498
+- `Mini_Melon`: 31516
+- `Pop_Popcorn_Hat_`: 31518
+- `Slurp_Slurp_Hat`: 31519
+- `C_Happy_Rabbit_Ribbon`: 31529
+- `Autumnal_Flavor`: 31580
+- `GOLD_MAJESTIC_GOUT`: 31589
+- `C_Autumn_Headband`: 31606
+- `Pole_Axe_IL`: 32005
+- `Metal_Stick`: 32013
+- `Boost_Lance_OS`: 32019
+- `Evt_Undine_Spear_K`: 32021
+- `Illusion_B_R`: 32207
+- `Illusion_B_L`: 32208
+- `Illusion_BC_R`: 32209
+- `Illusion_BC_L`: 32210
+- `Time_Overload_Ring`: 32221
+- `Celine_Brooch`: 32237
> End of list
diff --git a/doc/effect_list.md b/doc/effect_list.md
new file mode 100644
index 000000000..8ba8d36c9
--- /dev/null
+++ b/doc/effect_list.md
@@ -0,0 +1,1126 @@
+# Client Effects List
+A list of client-side effects sorted by ID in ascending order.
+
+# Copyright
+> This file is part of Hercules.
+> http://herc.ws - http://github.com/HerculesWS/Hercules
+>
+> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) Athena Dev Teams
+>
+> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+>
+> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+> See the GNU General Public License for more details.
+>
+> You should have received a copy of the GNU General Public License along with this program.
+> If not, see <http://www.gnu.org/licenses/>.
+
+## Description
+The following is a compiled list of visual and sound effects which the client
+can produce. Each list entry contains a number and a short description of the
+effect. You can produce these effects ingame by using the `@effect` atcommand.
+It's also possible to attach effects to item/npc scripts by using the
+`specialeffect()` script command.
+
+ ID | Constant Name | Description
+ --: | :----------------------------- | :----------------------------------
+ -1 | EF_NONE | None
+ 0 | EF_HIT1 | Regular Hit
+ 1 | EF_HIT2 | Bash
+ 2 | EF_HIT3 | Melee Skill Hit
+ 3 | EF_HIT4 | Melee Skill Hit
+ 4 | EF_HIT5 | Melee Skill Hit
+ 5 | EF_HIT6 | Melee Skill Hit
+ 6 | EF_ENTRY | Being Warped
+ 7 | EF_EXIT | Item Heal effect
+ 8 | EF_WARP | Yellow Ripple Effect
+ 9 | EF_ENHANCE | Different Type of Heal
+ 10 | EF_COIN | Mammonite
+ 11 | EF_ENDURE | Endure
+ 12 | EF_BEGINSPELL | Yellow cast aura
+ 13 | EF_GLASSWALL | Blue Box
+ 14 | EF_HEALSP | Blue restoring effect
+ 15 | EF_SOULSTRIKE | Soul Strike
+ 16 | EF_BASH | Hide
+ 17 | EF_MAGNUMBREAK | Magnum Break
+ 18 | EF_STEAL | Steal
+ 19 | EF_HIDING | (Invalid)
+ 20 | EF_PATTACK | Envenom/Poison
+ 21 | EF_DETOXICATION | Detoxify
+ 22 | EF_SIGHT | Sight
+ 23 | EF_STONECURSE | Stone Curse
+ 24 | EF_FIREBALL | Fire Ball
+ 25 | EF_FIREWALL | Fire Wall
+ 26 | EF_ICEARROW | A sound (a swipe?)
+ 27 | EF_FROSTDIVER | Frost Diver (Traveling to Target)
+ 28 | EF_FROSTDIVER2 | Frost Diver (Hitting)
+ 29 | EF_LIGHTBOLT | Lightning Bolt
+ 30 | EF_THUNDERSTORM | Thunder Storm
+ 31 | EF_FIREARROW | Weird bubbles launching from feet
+ 32 | EF_NAPALMBEAT | Small clustered explosions
+ 33 | EF_RUWACH | Ruwach
+ 34 | EF_TELEPORTATION | Old Map Exit Animation (unused)
+ 35 | EF_READYPORTAL | Old Warp Portal (unused)
+ 36 | EF_PORTAL | Old Warp Portal (unused)
+ 37 | EF_INCAGILITY | AGI Up
+ 38 | EF_DECAGILITY | AGI Down
+ 39 | EF_AQUA | Aqua Benedicta
+ 40 | EF_SIGNUM | Signum Crucis
+ 41 | EF_ANGELUS | Angelus
+ 42 | EF_BLESSING | Blessing
+ 43 | EF_INCAGIDEX | Dex + Agi Up
+ 44 | EF_SMOKE | Little Fog Smoke.
+ 45 | EF_FIREFLY | Faint Little Ball Things.
+ 46 | EF_SANDWIND | Sand Wind
+ 47 | EF_TORCH | Torch
+ 48 | EF_SPRAYPOND | Small Piece of Glass
+ 49 | EF_FIREHIT | Firebolt/Wall Hits
+ 50 | EF_FIRESPLASHHIT | Spinning Fire Thing
+ 51 | EF_COLDHIT | Ice Elemental Hit
+ 52 | EF_WINDHIT | Wind Elemental Hit
+ 53 | EF_POISONHIT | Puff of Purpulish Smoke?
+ 54 | EF_BEGINSPELL2 | Cast Initiation Aura (Water Element)
+ 55 | EF_BEGINSPELL3 | Cast Initiation Aura (Fire Element)
+ 56 | EF_BEGINSPELL4 | Cast Initiation Aura (Wind Element)
+ 57 | EF_BEGINSPELL5 | Cast Initiation Aura (Earth Element)
+ 58 | EF_BEGINSPELL6 | Cast Initiation Aura (Holy Element)
+ 59 | EF_BEGINSPELL7 | Cast Initiation Aura (Poison Element)
+ 60 | EF_LOCKON | Cast target circle
+ 61 | EF_WARPZONE | Old Warp Portal (NPC Warp, unused)
+ 62 | EF_SIGHTRASHER | Sight Trasher
+ 63 | EF_BARRIER | Moonlight Sphere
+ 64 | EF_ARROWSHOT | Something Like Puruple/Yellow Light Bullet
+ 65 | EF_INVENOM | Something Like Absorb of Power
+ 66 | EF_CURE | Cure
+ 67 | EF_PROVOKE | Provoke
+ 68 | EF_MVP | MVP Banner
+ 69 | EF_SKIDTRAP | Skid Trap
+ 70 | EF_BRANDISHSPEAR | Brandish Spear
+ 71 | EF_CONE | Spiral White balls
+ 72 | EF_SPHERE | Bigger Spiral White balls
+ 73 | EF_BOWLINGBASH | Blue/White Small Aura
+ 74 | EF_ICEWALL | Ice Wall
+ 75 | EF_GLORIA | Gloria
+ 76 | EF_MAGNIFICAT | Magnificat
+ 77 | EF_RESURRECTION | Resurrection
+ 78 | EF_RECOVERY | Status Recovery
+ 79 | EF_EARTHSPIKE | Earth Spike
+ 80 | EF_SPEARBMR | Spear Boomerang
+ 81 | EF_PIERCE | Skill hit
+ 82 | EF_TURNUNDEAD | Turn Undead
+ 83 | EF_SANCTUARY | Sanctuary
+ 84 | EF_IMPOSITIO | Impositio Manus
+ 85 | EF_LEXAETERNA | Lex Aeterna
+ 86 | EF_ASPERSIO | Aspersio
+ 87 | EF_LEXDIVINA | Lex Divina
+ 88 | EF_SUFFRAGIUM | Suffragium
+ 89 | EF_STORMGUST | Storm Gust
+ 90 | EF_LORD | Lord of Vermilion
+ 91 | EF_BENEDICTIO | B. S. Sacramenti
+ 92 | EF_METEORSTORM | Meteor Storm
+ 93 | EF_YUFITEL | Jupitel Thunder (Ball)
+ 94 | EF_YUFITELHIT | Jupitel Thunder (Hit)
+ 95 | EF_QUAGMIRE | Quagmire
+ 96 | EF_FIREPILLAR | Fire Pillar
+ 97 | EF_FIREPILLARBOMB | Fire Pillar/Land Mine hit
+ 98 | EF_HASTEUP | Adrenaline Rush
+ 99 | EF_FLASHER | Flasher Trap
+ 100 | EF_REMOVETRAP | Yellow ball fountain
+ 101 | EF_REPAIRWEAPON | Weapon Repair
+ 102 | EF_CRASHEARTH | Hammerfall
+ 103 | EF_PERFECTION | Weapon Perfection
+ 104 | EF_MAXPOWER | Maximize Power
+ 105 | EF_BLASTMINE | (nothing)
+ 106 | EF_BLASTMINEBOMB | Blast Mine Trap
+ 107 | EF_CLAYMORE | Claymore Trap
+ 108 | EF_FREEZING | Freezing Trap
+ 109 | EF_BUBBLE | Bailaban Blue bubble Map Effect
+ 110 | EF_GASPUSH | Trap Used by Giearth
+ 111 | EF_SPRINGTRAP | Spring Trap
+ 112 | EF_KYRIE | Kyrie Eleison
+ 113 | EF_MAGNUS | Magnus Exorcismus
+ 114 | EF_BOTTOM | Old Magnus Exorcismus Map Unit (unused)
+ 115 | EF_BLITZBEAT | Blitz Beat
+ 116 | EF_WATERBALL | Fling Watersphere
+ 117 | EF_WATERBALL2 | Waterball
+ 118 | EF_FIREIVY | Fling Firesphere
+ 119 | EF_DETECTING | Detect
+ 120 | EF_CLOAKING | Cloaking
+ 121 | EF_SONICBLOW | Sonic Blow (Part 1/2)
+ 122 | EF_SONICBLOWHIT | Multi hit effect
+ 123 | EF_GRIMTOOTH | Grimtooth Cast
+ 124 | EF_VENOMDUST | Venom Dust
+ 125 | EF_ENCHANTPOISON | Enchant Poison
+ 126 | EF_POISONREACT | Poison React
+ 127 | EF_POISONREACT2 | Small Posion React
+ 128 | EF_OVERTHRUST | Over Thrust
+ 129 | EF_SPLASHER | Venom Splasher Explosion
+ 130 | EF_TWOHANDQUICKEN | Two-Hand Quicken
+ 131 | EF_AUTOCOUNTER | Auto-Counter Hit
+ 132 | EF_GRIMTOOTHATK | Grimtooth Hit
+ 133 | EF_FREEZE | Ice Effect (Used by NPCs)
+ 134 | EF_FREEZED | Ice Effect (Used by NPCs)
+ 135 | EF_ICECRASH | Ice Effect (Used by NPCs)
+ 136 | EF_SLOWPOISON | Slow Poison
+ 137 | EF_BOTTOM2 | Old Sanctuary Map Unit (unused)
+ 138 | EF_FIREPILLARON | Fire pillar
+ 139 | EF_SANDMAN | Sandman Trap
+ 140 | EF_REVIVE | Ressurection Aura
+ 141 | EF_PNEUMA | Pneuma
+ 142 | EF_HEAVENSDRIVE | Heaven's Drive
+ 143 | EF_SONICBLOW2 | Sonic Blow (Part 2/2)
+ 144 | EF_BRANDISH2 | Brandish Spear Pre-Hit Effect
+ 145 | EF_SHOCKWAVE | Shockwave Trap
+ 146 | EF_SHOCKWAVEHIT | Shockwave Trap Hit
+ 147 | EF_EARTHHIT | Pierce Hit
+ 148 | EF_PIERCESELF | Pierce Cast Animation
+ 149 | EF_BOWLINGSELF | Bowling Bash
+ 150 | EF_SPEARSTABSELF | Pierce Cast Animation
+ 151 | EF_SPEARBMRSELF | Spear Boomerang Cast
+ 152 | EF_HOLYHIT | Turn Undead
+ 153 | EF_CONCENTRATION | Increase Concentration
+ 154 | EF_REFINEOK | Refine Success
+ 155 | EF_REFINEFAIL | Refine Fail
+ 156 | EF_JOBCHANGE | jobchange.str not found error
+ 157 | EF_LVUP | levelup.str not found error
+ 158 | EF_JOBLVUP | Job Level Up
+ 159 | EF_TOPRANK | PvP circle
+ 160 | EF_PARTY | PvP Party Circle
+ 161 | EF_RAIN | (Nothing)
+ 162 | EF_SNOW | Snow
+ 163 | EF_SAKURA | White Sakura Leaves
+ 164 | EF_STATUS_STATE | (Nothing)
+ 165 | EF_BANJJAKII | Comodo Fireworks Ball
+ 166 | EF_MAKEBLUR | Energy Coat (Visual Effect)
+ 167 | EF_TAMINGSUCCESS | (Nothing)
+ 168 | EF_TAMINGFAILED | (Nothing)
+ 169 | EF_ENERGYCOAT | Energy Coat Animation
+ 170 | EF_CARTREVOLUTION | Cart Revolution
+ 171 | EF_VENOMDUST2 | Venom Dust Map Unit
+ 172 | EF_CHANGEDARK | Change Element (Dark)
+ 173 | EF_CHANGEFIRE | Change Element (Fire)
+ 174 | EF_CHANGECOLD | Change Element (Water)
+ 175 | EF_CHANGEWIND | Change Element (Wind)
+ 176 | EF_CHANGEFLAME | Change Element (Fire)
+ 177 | EF_CHANGEEARTH | Change Element (Earth)
+ 178 | EF_CHAINGEHOLY | Change Element (Holy)
+ 179 | EF_CHANGEPOISON | Change Element (Poison)
+ 180 | EF_HITDARK | Darkness Attack
+ 181 | EF_MENTALBREAK | Mental Breaker
+ 182 | EF_MAGICALATTHIT | Magical Hit
+ 183 | EF_SUI_EXPLOSION | Self Destruction
+ 184 | EF_DARKATTACK | (Nothing)
+ 185 | EF_SUICIDE | (Nothing)
+ 186 | EF_COMBOATTACK1 | Combo Attack 1
+ 187 | EF_COMBOATTACK2 | Combo Attack 2
+ 188 | EF_COMBOATTACK3 | Combo Attack 3
+ 189 | EF_COMBOATTACK4 | Combo Attack 4
+ 190 | EF_COMBOATTACK5 | Combo Attack 5
+ 191 | EF_GUIDEDATTACK | Guided Attack
+ 192 | EF_POISONATTACK | Poison Attack
+ 193 | EF_SILENCEATTACK | Silence Attack
+ 194 | EF_STUNATTACK | Stun Attack
+ 195 | EF_PETRIFYATTACK | Petrify Attack
+ 196 | EF_CURSEATTACK | Curse Attack
+ 197 | EF_SLEEPATTACK | Sleep Attack
+ 198 | EF_TELEKHIT | (Nothing)
+ 199 | EF_PONG | Small Popping Bubble Map Effect
+ 200 | EF_LEVEL99 | Normal level 99 Aura (Middle)
+ 201 | EF_LEVEL99_2 | Normal level 99 Aura (Bottom)
+ 202 | EF_LEVEL99_3 | Lv 99 Aura Bubble
+ 203 | EF_GUMGANG | Fury (Visual Effect)
+ 204 | EF_POTION1 | Red Herb/Potion
+ 205 | EF_POTION2 | Orange Potion
+ 206 | EF_POTION3 | Yellow Herb/Potion
+ 207 | EF_POTION4 | White Herb/Potion
+ 208 | EF_POTION5 | Blue Herb/Potion
+ 209 | EF_POTION6 | Green Herb/Potion
+ 210 | EF_POTION7 | Yellow Circle Healing Effect
+ 211 | EF_POTION8 | Blue Circle Healing Effect
+ 212 | EF_DARKBREATH | Dark Breath
+ 213 | EF_DEFFENDER | Defender
+ 214 | EF_KEEPING | Keeping
+ 215 | EF_SUMMONSLAVE | Summon Slave
+ 216 | EF_BLOODDRAIN | Blood Drain
+ 217 | EF_ENERGYDRAIN | Energy Drain
+ 218 | EF_POTION_CON | Concentration Potion
+ 219 | EF_POTION_ | Awakening Potion
+ 220 | EF_POTION_BERSERK | Berserk Potion
+ 221 | EF_POTIONPILLAR | Intense light beam
+ 222 | EF_DEFENDER | Defender (Crusader)
+ 223 | EF_GANBANTEIN | Holy Cast Aura
+ 224 | EF_WIND | Wind (Map effect)
+ 225 | EF_VOLCANO | Volcano casting effect
+ 226 | EF_GRANDCROSS | Grand Cross Effect
+ 227 | EF_INTIMIDATE | Snatch
+ 228 | EF_CHOOKGI | (Nothing)
+ 229 | EF_CLOUD | (Nothing)
+ 230 | EF_CLOUD2 | (Nothing)
+ 231 | EF_MAPPILLAR | Map Light Pillar Animation 1
+ 232 | EF_LINELINK | Sacrifice (Visual Effect)
+ 233 | EF_CLOUD3 | Fog
+ 234 | EF_SPELLBREAKER | Spell Breaker
+ 235 | EF_DISPELL | Dispell
+ 236 | EF_DELUGE | Deluge Cast Aura
+ 237 | EF_VIOLENTGALE | Violent Gale Cast Aura
+ 238 | EF_LANDPROTECTOR | Magnetic Earth Cast Aura
+ 239 | EF_BOTTOM_VO | Volcano (Visual Effect)
+ 240 | EF_BOTTOM_DE | Deluge (Visual Effect)
+ 241 | EF_BOTTOM_VI | Violent Gale (Visual Effect)
+ 242 | EF_BOTTOM_LA | Magnetic Earth (Visual Effect)
+ 243 | EF_FASTMOVE | (Invalid)
+ 244 | EF_MAGICROD | Magic Rod
+ 245 | EF_HOLYCROSS | Holy Cross
+ 246 | EF_SHIELDCHARGE | Shield Charge
+ 247 | EF_MAPPILLAR2 | Map Light Pillar Animation 2
+ 248 | EF_PROVIDENCE | Resistant Souls
+ 249 | EF_SHIELDBOOMERANG | Shield Boomerang
+ 250 | EF_SPEARQUICKEN | Spear Quicken
+ 251 | EF_DEVOTION | Devotion
+ 252 | EF_REFLECTSHIELD | Reflect Shield
+ 253 | EF_ABSORBSPIRITS | Absorb Spirit Spheres
+ 254 | EF_STEELBODY | Mental Strength (Visual Effect)
+ 255 | EF_FLAMELAUNCHER | Elemental Endow (Fire)
+ 256 | EF_FROSTWEAPON | Elemental Endow (Water)
+ 257 | EF_LIGHTNINGLOADER | Elemental Endow (Wind)
+ 258 | EF_SEISMICWEAPON | Elemental Endow (Earth)
+ 259 | EF_MAPPILLAR3 | Map Light Pillar Animation 3
+ 260 | EF_MAPPILLAR4 | Map Light Pillar Animation 4
+ 261 | EF_GUMGANG2 | Fury Cast Animation
+ 262 | EF_TEIHIT1 | Raging Quadruple Blow
+ 263 | EF_GUMGANG3 | Raging Quadruple Blow 2
+ 264 | EF_TEIHIT2 | (Nothing)
+ 265 | EF_TANJI | Throw Spirit Sphere
+ 266 | EF_TEIHIT1X | Raging Quadruple Blow 3
+ 267 | EF_CHIMTO | Occult Impaction
+ 268 | EF_STEALCOIN | Steal Coin
+ 269 | EF_STRIPWEAPON | Divest Weapon
+ 270 | EF_STRIPSHIELD | Divest Shield
+ 271 | EF_STRIPARMOR | Divest Armor
+ 272 | EF_STRIPHELM | Divest Helm
+ 273 | EF_CHAINCOMBO | Raging Quadruple Blow 4
+ 274 | EF_RG_COIN | Steal Coin Animation
+ 275 | EF_BACKSTAP | Back Stab Animation
+ 276 | EF_TEIHIT3 | Raging Thrust
+ 277 | EF_BOTTOM_DISSONANCE | Dissoance Map Unit
+ 278 | EF_BOTTOM_LULLABY | Lullaby Map Unit
+ 279 | EF_BOTTOM_RICHMANKIM | Mr Kim a Rich Man Map Unit
+ 280 | EF_BOTTOM_ETERNALCHAOS | Eternal Chaos Map Unit
+ 281 | EF_BOTTOM_DRUMBATTLEFIELD | A Drum on the Battlefield Map Unit
+ 282 | EF_BOTTOM_RINGNIBELUNGEN | The Ring Of Nibelungen Map Unit
+ 283 | EF_BOTTOM_ROKISWEIL | Loki's Veil Map Unit
+ 284 | EF_BOTTOM_INTOABYSS | Into the Abyss Map Unit
+ 285 | EF_BOTTOM_SIEGFRIED | Invunerable Siegfriend Map Unit
+ 286 | EF_BOTTOM_WHISTLE | A Wistle Map Unit
+ 287 | EF_BOTTOM_ASSASSINCROSS | Assassin Cross of Sunset Map Unit
+ 288 | EF_BOTTOM_POEMBRAGI | A Poem of Bragi Map Unit
+ 289 | EF_BOTTOM_APPLEIDUN | The Apple Of Idun Map Unit
+ 290 | EF_BOTTOM_UGLYDANCE | Ugly Dance Map Unit
+ 291 | EF_BOTTOM_HUMMING | Humming Map Unit
+ 292 | EF_BOTTOM_DONTFORGETME | Please don't Forget Me Map Unit
+ 293 | EF_BOTTOM_FORTUNEKISS | Fortune's Kiss Map Unit
+ 294 | EF_BOTTOM_SERVICEFORYOU | Service For You Map Unit
+ 295 | EF_TALK_FROSTJOKE | Frost Joke
+ 296 | EF_TALK_SCREAM | Scream
+ 297 | EF_POKJUK | Fire Works (Visual Effect)
+ 298 | EF_THROWITEM | Acid Terror Animnation
+ 299 | EF_THROWITEM2 | (Nothing)
+ 300 | EF_CHEMICALPROTECTION | Chemical Protection
+ 301 | EF_POKJUK_SOUND | Fire Works (Sound Effect)
+ 302 | EF_DEMONSTRATION | Bomb
+ 303 | EF_CHEMICAL2 | (Unused)
+ 304 | EF_TELEPORTATION2 | Teleportation Animation
+ 305 | EF_PHARMACY_OK | Pharmacy Success
+ 306 | EF_PHARMACY_FAIL | Pharmacy Failed
+ 307 | EF_FORESTLIGHT | Forest Light 1
+ 308 | EF_THROWITEM3 | Throw Stone
+ 309 | EF_FIRSTAID | First Aid
+ 310 | EF_SPRINKLESAND | Sprinkle Sand
+ 311 | EF_LOUD | Crazy Uproar
+ 312 | EF_HEAL | Heal Effect
+ 313 | EF_HEAL2 | Heal Effect 2
+ 314 | EF_EXIT2 | Old Map Exit effect (Unused)
+ 315 | EF_GLASSWALL2 | Safety Wall
+ 316 | EF_READYPORTAL2 | Warp Portal Animation 1
+ 317 | EF_PORTAL2 | Warp Portal Animation 2
+ 318 | EF_BOTTOM_MAG | Magnus Exorcisimus Map Unit
+ 319 | EF_BOTTOM_SANC | Sanctuary Map Unit
+ 320 | EF_HEAL3 | Offensive Heal
+ 321 | EF_WARPZONE2 | Warp NPC
+ 322 | EF_FORESTLIGHT2 | Forest Light 2
+ 323 | EF_FORESTLIGHT3 | Forest Light 3
+ 324 | EF_FORESTLIGHT4 | Forest Light 4
+ 325 | EF_HEAL4 | Heal Effect 4
+ 326 | EF_FOOT | Chase Walk Left Foot
+ 327 | EF_FOOT2 | Chse Walk Right Foot
+ 328 | EF_BEGINASURA | Monk Asura Strike
+ 329 | EF_TRIPLEATTACK | Triple Strike
+ 330 | EF_HITLINE | Combo Finish
+ 331 | EF_HPTIME | Natural HP Regeneration
+ 332 | EF_SPTIME | Natural SP Regeneration
+ 333 | EF_MAPLE | Autumn Leaves
+ 334 | EF_BLIND | Blind
+ 335 | EF_POISON | Poison
+ 336 | EF_GUARD | Kyrie Eleison/Parrying Shield
+ 337 | EF_JOBLVUP50 | Class Change
+ 338 | EF_ANGEL2 | Super Novice/Taekwon Level Up Angel
+ 339 | EF_MAGNUM2 | Spiral Pierce
+ 340 | EF_CALLZONE | (Nothing)
+ 341 | EF_PORTAL3 | Wedding Warp Portal
+ 342 | EF_COUPLECASTING | Wedding Skill
+ 343 | EF_HEARTCASTING | Another Merry Skill
+ 344 | EF_ENTRY2 | Character map entry effect
+ 345 | EF_SAINTWING | Wings (Animated)
+ 346 | EF_SPHEREWIND | Like Moonlight But Blue
+ 347 | EF_COLORPAPER | Wedding Ceremony
+ 348 | EF_LIGHTSPHERE | Like 1000 Blade trepassing
+ 349 | EF_WATERFALL | Waterfall (Horizonatal)
+ 350 | EF_WATERFALL_90 | Waterfall (Vertical)
+ 351 | EF_WATERFALL_SMALL | Small Waterfall (Horizonatal)
+ 352 | EF_WATERFALL_SMALL_90 | Small Waterfall (Vertical)
+ 353 | EF_WATERFALL_T2 | Dark Waterfall (Horizonatal)
+ 354 | EF_WATERFALL_T2_90 | Dark Waterfall (Vertical)
+ 355 | EF_WATERFALL_SMALL_T2 | Dark Small Waterfall (Horizonatal)
+ 356 | EF_WATERFALL_SMALL_T2_90 | Dark Small Waterfall (Vertical)
+ 357 | EF_MINI_TETRIS | (Nothing)
+ 358 | EF_GHOST | Niflheim Ghost
+ 359 | EF_BAT | Niflheim Bat Slow
+ 360 | EF_BAT2 | Niflheim Bat Fast
+ 361 | EF_SOULBREAKER | Soul Destroyer
+ 362 | EF_LEVEL99_4 | Trancendant Level 99 Aura 1
+ 363 | EF_VALLENTINE | Valentine Day Heart With Wings
+ 364 | EF_VALLENTINE2 | Valentine Day Heart
+ 365 | EF_PRESSURE | Gloria Domini
+ 366 | EF_BASH3D | Martyr's Reckoning
+ 367 | EF_AURABLADE | Aura Blade
+ 368 | EF_REDBODY | Berserk
+ 369 | EF_LKCONCENTRATION | Concentration
+ 370 | EF_BOTTOM_GOSPEL | Gospel Map Unit
+ 371 | EF_ANGEL | Level Up
+ 372 | EF_DEVIL | Death
+ 373 | EF_DRAGONSMOKE | House Smoke
+ 374 | EF_BOTTOM_BASILICA | Basilica
+ 375 | EF_ASSUMPTIO | Assumptio (Visual Effect)
+ 376 | EF_HITLINE2 | Palm Strike
+ 377 | EF_BASH3D2 | Matyr's Reckoning 2
+ 378 | EF_ENERGYDRAIN2 | Soul Drain (1st Part)
+ 379 | EF_TRANSBLUEBODY | Soul Drain (2nd Part)
+ 380 | EF_MAGICCRASHER | Magic Crasher
+ 381 | EF_LIGHTSPHERE2 | Blue Starburst (Unknown use)
+ 382 | EF_LIGHTBLADE | (Nothing)
+ 383 | EF_ENERGYDRAIN3 | Health Conversion
+ 384 | EF_LINELINK2 | Soul Change (Sound Effect)
+ 385 | EF_LINKLIGHT | Soul Change (Visual Effect)
+ 386 | EF_TRUESIGHT | True Sight
+ 387 | EF_FALCONASSAULT | Falcon Assault
+ 388 | EF_TRIPLEATTACK2 | Focused Arrow Strike (Sound Effect)
+ 389 | EF_PORTAL4 | Wind Walk
+ 390 | EF_MELTDOWN | Shattering Strike
+ 391 | EF_CARTBOOST | Cart Boost
+ 392 | EF_REJECTSWORD | Reject Sword
+ 393 | EF_TRIPLEATTACK3 | Arrow Vulcan
+ 394 | EF_SPHEREWIND2 | Sheltering Bliss
+ 395 | EF_LINELINK3 | Marionette Control (Sound Effect)
+ 396 | EF_PINKBODY | Marionette Control (Visual Effect)
+ 397 | EF_LEVEL99_5 | Trancended 99 Aura (Middle)
+ 398 | EF_LEVEL99_6 | Trancended 99 Aura (Bottom)
+ 399 | EF_BASH3D3 | Head Crush
+ 400 | EF_BASH3D4 | Joint Beat
+ 401 | EF_NAPALMVALCAN | Napalm Vulcan Sound
+ 402 | EF_PORTAL5 | Dangerous Soul Collect
+ 403 | EF_MAGICCRASHER2 | Mind Breaker
+ 404 | EF_BOTTOM_SPIDER | Fiber Lock
+ 405 | EF_BOTTOM_FOGWALL | Wall Of Fog
+ 406 | EF_SOULBURN | Soul Burn
+ 407 | EF_SOULCHANGE | Soul Change
+ 408 | EF_BABY | Mom, Dad, I love you! (Baby Skill)
+ 409 | EF_SOULBREAKER2 | Meteor Assault
+ 410 | EF_RAINBOW | Rainbow
+ 411 | EF_PEONG | Leap
+ 412 | EF_TANJI2 | Like Throw Spirit Sphere
+ 413 | EF_PRESSEDBODY | Axe Kick
+ 414 | EF_SPINEDBODY | Round Kick
+ 415 | EF_KICKEDBODY | Counter Kick
+ 416 | EF_AIRTEXTURE | (Nothing)
+ 417 | EF_HITBODY | Flash
+ 418 | EF_DOUBLEGUMGANG | Warmth Lightning
+ 419 | EF_REFLECTBODY | Kaite (Visual Effect)
+ 420 | EF_BABYBODY | Eswoo (Small) (Visual Effect)
+ 421 | EF_BABYBODY2 | Eswoo (Alt. Small) (Visual Effect)
+ 422 | EF_GIANTBODY | Eswoo (Normal) (Visual Effect)
+ 423 | EF_GIANTBODY2 | Eswoo (Alt. Normal) (Visual Effect)
+ 424 | EF_ASURABODY | Spirit Link (Visual Effect)
+ 425 | EF_4WAYBODY | Esma Hit (Visual Effect)
+ 426 | EF_QUAKEBODY | Sprint Collision (Visual Effect)
+ 427 | EF_ASURABODY_MONSTER | (Nothing)
+ 428 | EF_HITLINE3 | (Nothing)
+ 429 | EF_HITLINE4 | Taekwon Kick Hit 1
+ 430 | EF_HITLINE5 | Taekwon Kick Hit 2
+ 431 | EF_HITLINE6 | Taekwon Kick Hit 3
+ 432 | EF_ELECTRIC | Solar, Lunar and Stellar Perception (Visual Effect)
+ 433 | EF_ELECTRIC2 | Solar, Lunar and Stellar Opposition (Visual Effect)
+ 434 | EF_HITLINE7 | Taekwon Kick Hit 4
+ 435 | EF_STORMKICK | Whirlwind Kick
+ 436 | EF_HALFSPHERE | White Barrier (Unused)
+ 437 | EF_ATTACKENERGY | White barrier 2 (Unused)
+ 438 | EF_ATTACKENERGY2 | Kaite Reflect Animation
+ 439 | EF_CHEMICAL3 | Flying Side Kick
+ 440 | EF_ASSUMPTIO2 | Assumptio (Animation)
+ 441 | EF_BLUECASTING | Comfort Skills Cast Aura
+ 442 | EF_RUN | Foot Prints caused by Sprint.
+ 443 | EF_STOPRUN | (Nothing)
+ 444 | EF_STOPEFFECT | Sprint Stop Animation
+ 445 | EF_JUMPBODY | High Jump (Jump)
+ 446 | EF_LANDBODY | High Jump (Return Down)
+ 447 | EF_FOOT3 | Running Left Foot
+ 448 | EF_FOOT4 | Running Right Foot
+ 449 | EF_TAE_READY | KA-Spell (1st Part)
+ 450 | EF_GRANDCROSS2 | Darkcross
+ 451 | EF_SOULSTRIKE2 | Dark Strike
+ 452 | EF_YUFITEL2 | Something Like Jupitel Thunder
+ 453 | EF_NPC_STOP | Paralized
+ 454 | EF_DARKCASTING | Like Blind
+ 455 | EF_GUMGANGNPC | Another Warmth Lightning
+ 456 | EF_AGIUP | Power Up
+ 457 | EF_JUMPKICK | Flying Side Kick (2nd Part)
+ 458 | EF_QUAKEBODY2 | Running/Sprint (running into a wall)
+ 459 | EF_STORMKICK1 | Brown tornado that spins sprite (unused)
+ 460 | EF_STORMKICK2 | Green tornado (unused)
+ 461 | EF_STORMKICK3 | Blue tornado (unused)
+ 462 | EF_STORMKICK4 | Kaupe Dodge Effect
+ 463 | EF_STORMKICK5 | Kaupe Dodge Effect
+ 464 | EF_STORMKICK6 | White tornado (unused)
+ 465 | EF_STORMKICK7 | Purple tornado (unused)
+ 466 | EF_SPINEDBODY2 | Another Round Kick
+ 467 | EF_BEGINASURA1 | Warm/Mild Wind (Earth)
+ 468 | EF_BEGINASURA2 | Warm/Mild Wind (Wind)
+ 469 | EF_BEGINASURA3 | Warm/Mild Wind (Water)
+ 470 | EF_BEGINASURA4 | Warm/Mild Wind (Fire)
+ 471 | EF_BEGINASURA5 | Warm/Mild Wind (Undead)
+ 472 | EF_BEGINASURA6 | Warm/Mild Wind (Shadow)
+ 473 | EF_BEGINASURA7 | Warm/Mild Wind (Holy)
+ 474 | EF_AURABLADE2 | (Nothing)
+ 475 | EF_DEVIL1 | Demon of The Sun Moon And Stars (Level 1)
+ 476 | EF_DEVIL2 | Demon of The Sun Moon And Stars (Level 2)
+ 477 | EF_DEVIL3 | Demon of The Sun Moon And Stars (Level 3)
+ 478 | EF_DEVIL4 | Demon of The Sun Moon And Stars (Level 4)
+ 479 | EF_DEVIL5 | Demon of The Sun Moon And Stars (Level 5)
+ 480 | EF_DEVIL6 | Demon of The Sun Moon And Stars (Level 6)
+ 481 | EF_DEVIL7 | Demon of The Sun Moon And Stars (Level 7)
+ 482 | EF_DEVIL8 | Demon of The Sun Moon And Stars (Level 8)
+ 483 | EF_DEVIL9 | Demon of The Sun Moon And Stars (Level 9)
+ 484 | EF_DEVIL10 | Demon of The Sun Moon And Stars (Level 10)
+ 485 | EF_DOUBLEGUMGANG2 | Mental Strength Lightning but White
+ 486 | EF_DOUBLEGUMGANG3 | Mental Strength Lightning
+ 487 | EF_BLACKDEVIL | Demon of The Sun Moon And Stars Ground Effect
+ 488 | EF_FLOWERCAST | Comfort Skills
+ 489 | EF_FLOWERCAST2 | (Nothing)
+ 490 | EF_FLOWERCAST3 | (Nothing)
+ 491 | EF_MOCHI | Element Potions
+ 492 | EF_LAMADAN | Cooking Foods
+ 493 | EF_EDP | Enchant Deadly Poison
+ 494 | EF_SHIELDBOOMERANG2 | Throwing Tomahawk
+ 495 | EF_RG_COIN2 | Full Strip Sound
+ 496 | EF_GUARD2 | Preserve
+ 497 | EF_SLIM | Twilight Alchemy 1
+ 498 | EF_SLIM2 | Twilight Alchemy 2
+ 499 | EF_SLIM3 | Twilight Alchemy 3
+ 500 | EF_CHEMICALBODY | Player Become Blue with Blue Aura
+ 501 | EF_CASTSPIN | Chase Walk Animation
+ 502 | EF_PIERCEBODY | Player Become Yellow with Yellow Aura
+ 503 | EF_SOULLINK | Soul Link Word
+ 504 | EF_CHOOKGI2 | (Nothing)
+ 505 | EF_MEMORIZE | Memorize
+ 506 | EF_SOULLIGHT | (Nothing)
+ 507 | EF_MAPAE | Authoritative Badge
+ 508 | EF_ITEMPOKJUK | Fire Cracker
+ 509 | EF_05VAL | Valentine Day Hearth (Wings)
+ 510 | EF_BEGINASURA11 | Champion Asura Strike
+ 511 | EF_NIGHT | (Nothing)
+ 512 | EF_CHEMICAL2DASH | Chain Crush Combo
+ 513 | EF_GROUNDSAMPLE | Area Cast
+ 514 | EF_GI_EXPLOSION | Really Big Circle
+ 515 | EF_CLOUD4 | Einbroch Fog
+ 516 | EF_CLOUD5 | Airship Cloud
+ 517 | EF_BOTTOM_HERMODE | (Nothing)
+ 518 | EF_CARTTER | Cart Termination
+ 519 | EF_ITEMFAST | Speed Down Potion
+ 520 | EF_SHIELDBOOMERANG3 | Shield Bumerang
+ 521 | EF_DOUBLECASTBODY | Player Become Red with Red Aura
+ 522 | EF_GRAVITATION | Gravitation Field
+ 523 | EF_TAROTCARD1 | Tarot Card of Fate (The Fool)
+ 524 | EF_TAROTCARD2 | Tarot Card of Fate (The Magician)
+ 525 | EF_TAROTCARD3 | Tarot Card of Fate (The High Priestess)
+ 526 | EF_TAROTCARD4 | Tarot Card of Fate (The Chariot)
+ 527 | EF_TAROTCARD5 | Tarot Card of Fate (Strength)
+ 528 | EF_TAROTCARD6 | Tarot Card of Fate (The Lovers)
+ 529 | EF_TAROTCARD7 | Tarot Card of Fate (The Wheel of Fortune)
+ 530 | EF_TAROTCARD8 | Tarot Card of Fate (The Hanged Man)
+ 531 | EF_TAROTCARD9 | Tarot Card of Fate (Death)
+ 532 | EF_TAROTCARD10 | Tarot Card of Fate (Temperance)
+ 533 | EF_TAROTCARD11 | Tarot Card of Fate (The Devil)
+ 534 | EF_TAROTCARD12 | Tarot Card of Fate (The Tower)
+ 535 | EF_TAROTCARD13 | Tarot Card of Fate (The Star)
+ 536 | EF_TAROTCARD14 | Tarot Card of Fate (The Sun)
+ 537 | EF_ACIDDEMON | Acid Demonstration
+ 538 | EF_GREENBODY | Player Become Green with Green Aura
+ 539 | EF_THROWITEM4 | Throw Random Bottle
+ 540 | EF_BABYBODY_BACK | Instant Small->Normal
+ 541 | EF_THROWITEM5 | (Nothing)
+ 542 | EF_BLUEBODY | KA-Spell (1st Part)
+ 543 | EF_HATED | Kahii
+ 544 | EF_REDLIGHTBODY | Warmth Red Sprite
+ 545 | EF_RO2YEAR | Sound And... PUFF Client Crash :P
+ 546 | EF_SMA_READY | Kaupe
+ 547 | EF_STIN | Estin
+ 548 | EF_RED_HIT | Instant Red Sprite
+ 549 | EF_BLUE_HIT | Instant Blue Sprite
+ 550 | EF_QUAKEBODY3 | Another Effect like Running Hit
+ 551 | EF_SMA | Effect Like Estun but with Circle
+ 552 | EF_SMA2 | (Nothing)
+ 553 | EF_STIN2 | Esma
+ 554 | EF_HITTEXTURE | Large White Cloud
+ 555 | EF_STIN3 | Estun
+ 556 | EF_SMA3 | (Nothing)
+ 557 | EF_BLUEFALL | Juperos Energy Waterfall (Horizontal)
+ 558 | EF_BLUEFALL_90 | Juperos Energy Waterfall (Vertical)
+ 559 | EF_FASTBLUEFALL | Juperos Energy Waterfall Fast (Horizontal)
+ 560 | EF_FASTBLUEFALL_90 | Juperos Energy Waterfall Fast (Vertical)
+ 561 | EF_BIG_PORTAL | Juperos Warp
+ 562 | EF_BIG_PORTAL2 | Juperos Warp
+ 563 | EF_SCREEN_QUAKE | Earthquake Effect (Juperos Elevator)
+ 564 | EF_HOMUNCASTING | Wedding Cast
+ 565 | EF_HFLIMOON1 | Filir Moonlight Lvl 1
+ 566 | EF_HFLIMOON2 | Filir Moonlight Lvl 2
+ 567 | EF_HFLIMOON3 | Filir Moonlight Lvl 3
+ 568 | EF_HO_UP | Another Job Level Up
+ 569 | EF_HAMIDEFENCE | Amistr Bulwark
+ 570 | EF_HAMICASTLE | Amistr Castling
+ 571 | EF_HAMIBLOOD | Amistr Bloodlust
+ 572 | EF_HATED2 | Warmth Soul
+ 573 | EF_TWILIGHT1 | Twilight Alchemy 1
+ 574 | EF_TWILIGHT2 | Twilight Alchemy 2
+ 575 | EF_TWILIGHT3 | Twilight Alchemy 3
+ 576 | EF_ITEM_THUNDER | Box Effect (Thunder)
+ 577 | EF_ITEM_CLOUD | Box Effect (Cloud)
+ 578 | EF_ITEM_CURSE | Box Effect (Curse)
+ 579 | EF_ITEM_ZZZ | Box Effect (Sleep)
+ 580 | EF_ITEM_RAIN | Box Effect (Rain)
+ 581 | EF_ITEM_LIGHT | Box Effect (Sunlight)
+ 582 | EF_ANGEL3 | Another Super Novice/Taekwon Angel
+ 583 | EF_M01 | Warmth Hit
+ 584 | EF_M02 | Full Buster
+ 585 | EF_M03 | 5 Medium Size Explosion
+ 586 | EF_M04 | Somatology Lab Mobs Aura
+ 587 | EF_M05 | Big Purple Flame
+ 588 | EF_M06 | Little Red Flame
+ 589 | EF_M07 | Eswoo
+ 590 | EF_KAIZEL | Running Stop
+ 591 | EF_KAAHI | (Nothing)
+ 592 | EF_CLOUD6 | Thanatos Tower Bloody Clouds
+ 593 | EF_FOOD01 | Food Effect (STR)
+ 594 | EF_FOOD02 | Food Effect (INT)
+ 595 | EF_FOOD03 | Food Effect (VIT)
+ 596 | EF_FOOD04 | Food Effect (AGI)
+ 597 | EF_FOOD05 | Food Effect (DEX)
+ 598 | EF_FOOD06 | Food Effect (LUK)
+ 599 | EF_SHRINK | Cast Time Sound and Flashing Animation on Player
+ 600 | EF_THROWITEM6 | Throw Venom Knife
+ 601 | EF_SIGHT2 | Sight Blaster
+ 602 | EF_QUAKEBODY4 | Close Confine (Grab Effect)
+ 603 | EF_FIREHIT2 | Spinning fire ball (like 50, but smaller)
+ 604 | EF_NPC_STOP2 | Close Confine (Ground Effect)
+ 605 | EF_NPC_STOP2_DEL | (Nothing)
+ 606 | EF_FVOICE | Pang Voice (Visual Effect)
+ 607 | EF_WINK | Wink of Charm (Visual Effect)
+ 608 | EF_COOKING_OK | Cooking Success
+ 609 | EF_COOKING_FAIL | Cooking Failed
+ 610 | EF_TEMP_OK | Success
+ 611 | EF_TEMP_FAIL | Failed
+ 612 | EF_HAPGYEOK | Korean Words and /no1 Emoticon
+ 613 | EF_THROWITEM7 | Throw Shuriken
+ 614 | EF_THROWITEM8 | Throw Kunai
+ 615 | EF_THROWITEM9 | Throw Fumma Shuriken
+ 616 | EF_THROWITEM10 | Throw Money
+ 617 | EF_BUNSINJYUTSU | Illusionary Shadow
+ 618 | EF_KOUENKA | Crimson Fire Bolossom
+ 619 | EF_HYOUSENSOU | Lightning Spear Of Ice
+ 620 | EF_BOTTOM_SUITON | Water Escape Technique
+ 621 | EF_STIN4 | Wind Blade
+ 622 | EF_THUNDERSTORM2 | Lightning Crash
+ 623 | EF_CHEMICAL4 | Piercing Shot
+ 624 | EF_STIN5 | Kamaitachi
+ 625 | EF_MADNESS_BLUE | Madness Canceller
+ 626 | EF_MADNESS_RED | Adjustment
+ 627 | EF_RG_COIN3 | Disarm (Sound Effect)
+ 628 | EF_BASH3D5 | Dust
+ 629 | EF_CHOOKGI3 | (Nothing)
+ 630 | EF_KIRIKAGE | Shadow Slash
+ 631 | EF_TATAMI | Reverse Tatami Map Unit
+ 632 | EF_KASUMIKIRI | Mist Slash
+ 633 | EF_ISSEN | Final Strike
+ 634 | EF_KAEN | Crimson Fire Formation
+ 635 | EF_BAKU | Dragon Fire Formation
+ 636 | EF_HYOUSYOURAKU | Falling Ice Pillar
+ 637 | EF_DESPERADO | Desperado
+ 638 | EF_LIGHTNING_S | Ground Drift Grenade
+ 639 | EF_BLIND_S | Ground Drift Grenade
+ 640 | EF_POISON_S | Ground Drift Grenade
+ 641 | EF_FREEZING_S | Ground Drift Grenade
+ 642 | EF_FLARE_S | Ground Drift Grenade
+ 643 | EF_RAPIDSHOWER | Rapid Shower
+ 644 | EF_MAGICALBULLET | Magic Bullet
+ 645 | EF_SPREADATTACK | Spread Attack
+ 646 | EF_TRACKCASTING | Tracking (Shown While Casting)
+ 647 | EF_TRACKING | Tracking
+ 648 | EF_TRIPLEACTION | Triple Action
+ 649 | EF_BULLSEYE | Bull's Eye
+ 650 | EF_MAP_MAGICZONE | Ice Cave Level 4 Circle
+ 651 | EF_MAP_MAGICZONE2 | Ice Cave Level 4 Big Circle
+ 652 | EF_DAMAGE1 | Like Regeneration Number but Red with a Sound
+ 653 | EF_DAMAGE1_2 | Like Regeneration Number but Red
+ 654 | EF_DAMAGE1_3 | Like Regeneration Number but Purple
+ 655 | EF_UNDEADBODY | Mobs Skill (Change Undead Element)
+ 656 | EF_UNDEADBODY_DEL | Last animation before Change Undead Element finish
+ 657 | EF_GREEN_NUMBER | (Nothing)
+ 658 | EF_BLUE_NUMBER | (Nothing)
+ 659 | EF_RED_NUMBER | (Nothing)
+ 660 | EF_PURPLE_NUMBER | (Nothing)
+ 661 | EF_BLACK_NUMBER | (Nothing)
+ 662 | EF_WHITE_NUMBER | (Nothing)
+ 663 | EF_YELLOW_NUMBER | (Nothing)
+ 664 | EF_PINK_NUMBER | (Nothing)
+ 665 | EF_BUBBLE_DROP | Little Blue Ball Falling From the Sky
+ 666 | EF_NPC_EARTHQUAKE | Earthquake
+ 667 | EF_DA_SPACE | (Nothing)
+ 668 | EF_DRAGONFEAR | Dragonfear
+ 669 | EF_BLEEDING | Wide Bleeding
+ 670 | EF_WIDECONFUSE | Dragon fear (Visual Effect)
+ 671 | EF_BOTTOM_RUNNER | The Japan Earth Symbol (like 'Seven Wind Lv1', but on the ground)
+ 672 | EF_BOTTOM_TRANSFER | The Japan Wind Symbol (like 'Seven Wind Lv2', but on the ground)
+ 673 | EF_CRYSTAL_BLUE | Map turns Blue (like Soul Link)
+ 674 | EF_BOTTOM_EVILLAND | Evil Land Cell
+ 675 | EF_GUARD3 | Like Parrying/Kyrie Eleison barrier but Yellow with small Cross in every barrier piece
+ 676 | EF_NPC_SLOWCAST | Slow Casting
+ 677 | EF_CRITICALWOUND | Critical Wounds/Bleeding Attack
+ 678 | EF_GREEN99_3 | White 99 Aura Bubbles
+ 679 | EF_GREEN99_5 | Green Aura (Middle)
+ 680 | EF_GREEN99_6 | Green Aura (Bottom)
+ 681 | EF_MAPSPHERE | Dimensional Gorge Map Effect
+ 682 | EF_POK_LOVE | I Love You Banner
+ 683 | EF_POK_WHITE | Happy White Day Banner
+ 684 | EF_POK_VALEN | Happy Valentine Day Banner
+ 685 | EF_POK_BIRTH | Happy Birthday Banner
+ 686 | EF_POK_CHRISTMAS | Merry Christmas Banner
+ 687 | EF_MAP_MAGICZONE3 | Cast Circle-Like effect 1
+ 688 | EF_MAP_MAGICZONE4 | Cast Circle-Like effect 2
+ 689 | EF_DUST | Endless Tower Map Effect
+ 690 | EF_TORCH_RED | Burning Flame (Red)
+ 691 | EF_TORCH_GREEN | Burning Flame (Green)
+ 692 | EF_MAP_GHOST | Unknown Aura Bubbles (Small ghosts)
+ 693 | EF_GLOW1 | Translucent yellow circle
+ 694 | EF_GLOW2 | Translucent green circle
+ 695 | EF_GLOW4 | Rotating green light
+ 696 | EF_TORCH_PURPLE | The same of 690 and 691 but Blue/Purple
+ 697 | EF_CLOUD7 | (Nothing)
+ 698 | EF_CLOUD8 | (Nothing)
+ 699 | EF_FLOWERLEAF | Fall of powder from the sky and raise of some leaf
+ 700 | EF_MAPSPHERE2 | Big Colored Green Sphere.
+ 701 | EF_GLOW11 | Huge Blue Sphere
+ 702 | EF_GLOW12 | Little Colored Violet Sphere
+ 703 | EF_CIRCLELIGHT | Light Infiltration with fall of pownder
+ 704 | EF_ITEM315 | Client Error (mobile_ef02.str)
+ 705 | EF_ITEM316 | Client Error (mobile_ef01.str)
+ 706 | EF_ITEM317 | Client Error (mobile_ef03.str)
+ 707 | EF_ITEM318 | Client Crash :P
+ 708 | EF_STORM_MIN | Storm Gust (same as 89)
+ 709 | EF_POK_JAP | A Firework that split in 4 mini fireworks
+ 710 | EF_MAP_GREENLIGHT | A Sphere like Effect 701 but Green, and a bit more larger
+ 711 | EF_MAP_MAGICWALL | A big violet wall
+ 712 | EF_MAP_GREENLIGHT2 | A Little Flame Sphere
+ 713 | EF_YELLOWFLY1 | A lot of Very Small and Yellow Sphere
+ 714 | EF_YELLOWFLY2 | (Nothing)
+ 715 | EF_BOTTOM_BLUE | Little blue Basilica
+ 716 | EF_BOTTOM_BLUE2 | Same as 715
+ 717 | EF_WEWISH | Christmas Carol (copy of Angelus)
+ 718 | EF_FIREPILLARON2 | Judex (Visual Effect)
+ 719 | EF_FORESTLIGHT5 | Renovatio (light beam)
+ 720 | EF_SOULBREAKER3 | Yellow version of Soul Breaker
+ 721 | EF_ADO_STR | Adoramus (lightning bolt)
+ 722 | EF_IGN_STR | Ignition Break (big explosion)
+ 723 | EF_CHIMTO2 | Hundred Spear (sound effect)
+ 724 | EF_WINDCUTTER | Green version of Detecting
+ 725 | EF_DETECT2 | Oratorio (like Detecting)
+ 726 | EF_FROSTMYSTY | Frost Misty (blue vapor and bubbles)
+ 727 | EF_CRIMSON_STR | Crimson Rock
+ 728 | EF_HELL_STR | Small fire (part of Hell Inferno)
+ 729 | EF_SPR_MASH | Marsh of Abyss (like Close Confine)
+ 730 | EF_SPR_SOULE | Small, cartoony explosion (part of Soul Expansion)
+ 731 | EF_DHOWL_STR | Dragon Howling (blinking, expanding circle)
+ 732 | EF_EARTHWALL | Spike from the ground
+ 733 | EF_SOULBREAKER4 | Fluffy Ball flying by
+ 734 | EF_CHAINL_STR | Chain Lightning
+ 735 | EF_CHOOKGI_FIRE | (Nothing)
+ 736 | EF_CHOOKGI_WIND | (Nothing)
+ 737 | EF_CHOOKGI_WATER | (Nothing)
+ 738 | EF_CHOOKGI_GROUND | (Nothing)
+ 739 | EF_MAGENTA_TRAP | Old Magenta Trap
+ 740 | EF_COBALT_TRAP | Old Cobald Trap
+ 741 | EF_MAIZE_TRAP | Old Maize Trap
+ 742 | EF_VERDURE_TRAP | Old Verdure Trap
+ 743 | EF_NORMAL_TRAP | White Ranger Trap
+ 744 | EF_CLOAKING2 | Camouflage
+ 745 | EF_AIMED_STR | Aimed Bolt (crosshairs)
+ 746 | EF_ARROWSTORM_STR | Arrow Storm
+ 747 | EF_LAULAMUS_STR | Falling white feathers
+ 748 | EF_LAUAGNUS_STR | Falling blue feathers
+ 749 | EF_MILSHIELD_STR | Millennium Shield
+ 750 | EF_CONCENTRATION2 | Detonator (blue sparkles)
+ 751 | EF_FIREBALL2 | Releasing summoned warlock spheres
+ 752 | EF_BUNSINJYUTSU2 | Like Energy Coat, but not as dark
+ 753 | EF_CLEARTIME | Clearance
+ 754 | EF_GLASSWALL3 | Green warp portal (root of Epiclesis)
+ 755 | EF_ORATIO | Oratio (spinning blue symbol)
+ 756 | EF_POTION_BERSERK2 | Enchant Blade (like Berserk Potion)
+ 757 | EF_CIRCLEPOWER | Third Class Aura (Middle)
+ 758 | EF_ROLLING1 | Rolling Cutter - Spin Count 1
+ 759 | EF_ROLLING2 | Rolling Cutter - Spin Count 2
+ 760 | EF_ROLLING3 | Rolling Cutter - Spin Count 3
+ 761 | EF_ROLLING4 | Rolling Cutter - Spin Count 4
+ 762 | EF_ROLLING5 | Rolling Cutter - Spin Count 5
+ 763 | EF_ROLLING6 | Rolling Cutter - Spin Count 6
+ 764 | EF_ROLLING7 | Rolling Cutter - Spin Count 7
+ 765 | EF_ROLLING8 | Rolling Cutter - Spin Count 8
+ 766 | EF_ROLLING9 | Rolling Cutter - Spin Count 9
+ 767 | EF_ROLLING10 | Rolling Cutter - Spin Count 10
+ 768 | EF_PURPLEBODY | Blinking
+ 769 | EF_STIN6 | Cross Ripper Slasher (flying knives)
+ 770 | EF_RG_COIN4 | Strip sound
+ 771 | EF_POISONWAV | Poison sound
+ 772 | EF_POISONSMOKE | Poison particles
+ 773 | EF_GUMGANG4 | Expanding purple aura (part of Phantom Menace)
+ 774 | EF_SHIELDBOOMERANG4 | Axe Boomerang
+ 775 | EF_CASTSPIN2 | Spinning character sprite
+ 776 | EF_VULCANWAV | Like Desperado sound effect
+ 777 | EF_AGIUP2 | Faded light from the ground [S]
+ 778 | EF_DETECT3 | Expanding white aura (like Clearance)
+ 779 | EF_AGIUP3 | Faded light from the ground [S]
+ 780 | EF_DETECT4 | Expanding red aura (from Infrared Scan)
+ 781 | EF_ELECTRIC3 | Magnetic Field (purple chains)
+ 782 | EF_GUARD4 | All-around shield [S]
+ 783 | EF_BOTTOM_BARRIER | Yellow shaft of light
+ 784 | EF_BOTTOM_STEALTH | White shaft of light
+ 785 | EF_REPAIRTIME | Upward flying wrenches
+ 786 | EF_NC_ANAL | Symbol with bleeping sound [S]
+ 787 | EF_FIRETHROW | Flare Launcher (line of fire)
+ 788 | EF_VENOMIMPRESS | Venom Impress (green skull)
+ 789 | EF_FROSTMISTY | Freezing Status Effect (two ancillas)
+ 790 | EF_BURNING | Burning Status Effect (flame symbol)
+ 791 | EF_COLDTHROW | Two ice shots
+ 792 | EF_MAKEHALLU | Upward streaming white particles
+ 793 | EF_HALLUTIME | Same, but more brief
+ 794 | EF_INFRAREDSCAN | Infrared Scan (red lasers)
+ 795 | EF_CRASHAXE | Power Swing (axe crash)
+ 796 | EF_GTHUNDER | Spinning blue triangles
+ 797 | EF_STONERING | Stapo
+ 798 | EF_INTIMIDATE2 | Red triangles (like Intimidate)
+ 799 | EF_STASIS | Stasis (expanding blue mist) [S]
+ 800 | EF_REDLINE | Hell Inferno (red lights)
+ 801 | EF_FROSTDIVER3 | Jack Frost unit (ice spikes)
+ 802 | EF_BOTTOM_BASILICA2 | White Imprison
+ 803 | EF_RECOGNIZED | Recognized Spell
+ 804 | EF_TETRA | Tetra Vortex [S]
+ 805 | EF_TETRACASTING | Tetra Vortex cast animation (blinking colors)
+ 806 | EF_FIREBALL3 | Flying by as fast as a rocket
+ 807 | EF_INTIMIDATE3 | Kidnapping sound
+ 808 | EF_RECOGNIZED2 | Like Recognized Spell, but one symbol
+ 809 | EF_CLOAKING3 | Shadowy filter [S]
+ 810 | EF_INTIMIDATE4 | Damp thud sound [S]
+ 811 | EF_STRETCH | Body Painting
+ 812 | EF_BLACKBODY | Black expanding aura
+ 813 | EF_ENERVATION | Masquerade - Enervation
+ 814 | EF_ENERVATION2 | Masquerade - Groomy
+ 815 | EF_ENERVATION3 | Masquerade - Ignorance
+ 816 | EF_ENERVATION4 | Masquerade - Laziness
+ 817 | EF_ENERVATION5 | Masquerade - Unlucky
+ 818 | EF_ENERVATION6 | Masquerade - Weakness
+ 819 | EF_LINELINK4 | (Nothing)
+ 820 | EF_RG_COIN5 | Strip Accessory
+ 821 | EF_WATERFALL_ANI | Waterfall
+ 822 | EF_BOTTOM_MANHOLE | Dimension Door (spinning blue aura)
+ 823 | EF_MANHOLE | in-the-manhole effect
+ 824 | EF_MAKEFEINT | Some filter
+ 825 | EF_FORESTLIGHT6 | Dimension Door (aura + blue light)
+ 826 | EF_DARKCASTING2 | Expanding black casting anim.
+ 827 | EF_BOTTOM_ANI | Chaos Panic (spinning brown aura)
+ 828 | EF_BOTTOM_MAELSTROM | Maelstrom (spinning pink aura)
+ 829 | EF_BOTTOM_BLOODYLUST | Bloody Lust (spinning red aura)
+ 830 | EF_BEGINSPELL_N1 | Blue aura (Arch Bishop cast animation)
+ 831 | EF_BEGINSPELL_N2 | Blue cone [S]
+ 832 | EF_HEAL_N | Sonic Wave
+ 833 | EF_CHOOKGI_N | (Nothing)
+ 834 | EF_JOBLVUP50_2 | Light shooting away circlish
+ 835 | EF_CHEMICAL2DASH2 | Fastness yellow-reddish
+ 836 | EF_CHEMICAL2DASH3 | Fastness yellow-pinkish
+ 837 | EF_ROLLINGCAST | Casting [S]
+ 838 | EF_WATER_BELOW | Watery aura
+ 839 | EF_WATER_FADE | [Client Error]
+ 840 | EF_BEGINSPELL_N3 | Red cone
+ 841 | EF_BEGINSPELL_N4 | Green cone
+ 842 | EF_BEGINSPELL_N5 | Yellow cone
+ 843 | EF_BEGINSPELL_N6 | White cone
+ 844 | EF_BEGINSPELL_N7 | Purple cone
+ 845 | EF_BEGINSPELL_N8 | light-bluish turquoise cone
+ 846 | EF_WATER_SMOKE | (Nothing)
+ 847 | EF_DANCE1 | Gloomy Day (white/red light rays)
+ 848 | EF_DANCE2 | Gloomy Day (white/blue light rays)
+ 849 | EF_LINKPARTICLE | (Nothing)
+ 850 | EF_SOULLIGHT2 | (Nothing)
+ 851 | EF_SPR_PARTICLE | Green mushy-foggy stuff (dull)
+ 852 | EF_SPR_PARTICLE2 | Green mushy-foggy stuff (bright)
+ 853 | EF_SPR_PLANT | Bright green flower area
+ 854 | EF_CHEMICAL_V | Blue beam of light with notes
+ 855 | EF_SHOOTPARTICLE | (Nothing)
+ 856 | EF_BOT_REVERB | Reverberation (red eighth notes)
+ 857 | EF_RAIN_PARTICLE | Severe Rainstorm (falling red and blue beams)
+ 858 | EF_CHEMICAL_V2 | Deep Sleep Lullaby (two red beams and music notes)
+ 859 | EF_SECRA | Holograph of text (blue)
+ 860 | EF_BOT_REVERB2 | Distorted note (blue)
+ 861 | EF_CIRCLEPOWER2 | Green aura (from Circle of Life's Melody)
+ 862 | EF_SECRA2 | Randomize Spell (holograph of text)
+ 863 | EF_CHEMICAL_V3 | Dominion Impulse (two spears of light)
+ 864 | EF_ENERVATION7 | Gloomy Day (colorful lines)
+ 865 | EF_CIRCLEPOWER3 | Blue aura (from Song of Mana)
+ 866 | EF_SPR_PLANT2 | Dance with a Warg (Wargs)
+ 867 | EF_CIRCLEPOWER4 | Yellow aura (from Dance with a Warg)
+ 868 | EF_SPR_PLANT3 | Song of Mana (Violies)
+ 869 | EF_RG_COIN6 | Strip sound [S]
+ 870 | EF_SPR_PLANT4 | Ghostly Succubuses of fire
+ 871 | EF_CIRCLEPOWER5 | Red aura (from Lerad's Dew)
+ 872 | EF_SPR_PLANT5 | Lerad's Dew (Minerals)
+ 873 | EF_CIRCLEPOWER6 | Stargate-wormhole stuff (bright purple)
+ 874 | EF_SPR_PLANT6 | Melody of Sink (Ktullanuxes)
+ 875 | EF_CIRCLEPOWER7 | Stargate-wormhole stuff (bright turquoise)
+ 876 | EF_SPR_PLANT7 | Warcry of Beyond (Garms)
+ 877 | EF_CIRCLEPOWER8 | Stargate-wormhole stuff (white)
+ 878 | EF_SPR_PLANT8 | Unlimited Humming Voice (Miyabi Ningyos)
+ 879 | EF_HEARTASURA | Siren's Voice (heart-like)
+ 880 | EF_BEGINSPELL_150 | Bluish castish cone
+ 881 | EF_LEVEL99_150 | Blue aura
+ 882 | EF_PRIMECHARGE | Whirl of fireflies (red)
+ 883 | EF_GLASSWALL4 | Epiclesis (transparent green tree)
+ 884 | EF_GRADIUS_LASER | Green beam
+ 885 | EF_BASH3D6 | Blue light beams
+ 886 | EF_GUMGANG5 | Blue castish cone
+ 887 | EF_HITLINE8 | Wavy sparks
+ 888 | EF_ELECTRIC4 | Earth Shaker (same as 432)
+ 889 | EF_TEIHIT1T | Fast light beams
+ 890 | EF_SPINMOVE | Rotation
+ 891 | EF_FIREBALL4 | Magic shots [S]
+ 892 | EF_TRIPLEATTACK4 | Fastness with hitting sound[S]
+ 893 | EF_CHEMICAL3S | Blue-white light passing by
+ 894 | EF_GROUNDSHAKE | (Nothing)
+ 895 | EF_DQ9_CHARGE | Big wheel of flat light beams
+ 896 | EF_DQ9_CHARGE2 | Still sun shaped lightning aura
+ 897 | EF_DQ9_CHARGE3 | Animated sun shaped lightning aura
+ 898 | EF_DQ9_CHARGE4 | Animated, curvy sun shaped lightning aura
+ 899 | EF_BLUELINE | White/red light shots from below
+ 900 | EF_SELFSCROLL | Animated, slow curvy sun shaped lightning aura
+ 901 | EF_SPR_LIGHTPRINT | Explosion
+ 902 | EF_PNG_TEST | Floating bedtable texture
+ 903 | EF_BEGINSPELL_YB | Castish flamey cone
+ 904 | EF_CHEMICAL2DASH4 | Yellow/pink lights passing by
+ 905 | EF_GROUNDSHAKE2 | Expanding circle
+ 906 | EF_PRESSURE2 | Shield Press (falling shield)
+ 907 | EF_RG_COIN7 | Chainy, metalish sound [S]
+ 908 | EF_PRIMECHARGE2 | Prestige (sphere of yellow particles)
+ 909 | EF_PRIMECHARGE3 | Banding (sphere of red particles)
+ 910 | EF_PRIMECHARGE4 | Inspiration (sphere of blue particles)
+ 911 | EF_GREENCASTING | Green castish animation [S]
+ 912 | EF_WALLOFTHORN | Wall of Thorns unit (green fog cloud)
+ 913 | EF_FIREBALL5 | Magic projectiles
+ 914 | EF_THROWITEM11 | (Nothing)
+ 915 | EF_SPR_PLANT9 | Crazy Weed
+ 916 | EF_DEMONICFIRE | Demonic Fire
+ 917 | EF_DEMONICFIRE2 | More angry, demonic flames
+ 918 | EF_DEMONICFIRE3 | Fire Insignia (demonic flames)
+ 919 | EF_HELLSPLANT | Hell's Plant (green snapping plant)
+ 920 | EF_FIREWALL2 | Fire Walk unit
+ 921 | EF_VACUUM | Vacuum Extreme (whirlwind)
+ 922 | EF_SPR_PLANT10 | Psychic Wave
+ 923 | EF_SPR_LIGHTPRINT2 | Poison Buster
+ 924 | EF_POISONSMOKE2 | Poisoning animation
+ 925 | EF_MAKEHALLU2 | Some filter
+ 926 | EF_SHOCKWAVE2 | Electric Walk unit
+ 927 | EF_SPR_PLANT11 | Earth Grave (speary roots)
+ 928 | EF_COLDTHROW2 | Ice cloud projectiles
+ 929 | EF_DEMONICFIRE4 | Warmer (field of flames)
+ 930 | EF_PRESSURE3 | Varetyr Spear (falling spear)
+ 931 | EF_LINKPARTICLE2 | (Nothing)
+ 932 | EF_SOULLIGHT3 | Firefly
+ 933 | EF_CHAREFFECT | [Client Crash]
+ 934 | EF_GUMGANG6 | White, castishly expanding cone
+ 935 | EF_FIREBALL6 | Green magic projectile
+ 936 | EF_GUMGANG7 | Red, castishly expanding cone
+ 937 | EF_GUMGANG8 | Yellow, castishly expanding cone
+ 938 | EF_GUMGANG9 | Dark-red, castishly expanding cone
+ 939 | EF_BOTTOM_DE2 | Blue, conish aura
+ 940 | EF_COLDSTATUS | Snow flake
+ 941 | EF_SPR_LIGHTPRINT3 | Explosion of red, demonic fire
+ 942 | EF_WATERBALL3 | Expanding, white dome
+ 943 | EF_HEAL_N2 | Green, fluffy projectile
+ 944 | EF_RAIN_PARTICLE2 | Falling gems
+ 945 | EF_CLOUD9 | (Nothing)
+ 946 | EF_YELLOWFLY3 | Floating lights
+ 947 | EF_EL_GUST | Blue lightning sphere
+ 948 | EF_EL_BLAST | Two blue lightning spheres
+ 949 | EF_EL_AQUAPLAY | Flat, spinning diamond
+ 950 | EF_EL_UPHEAVAL | Circling, planetlike spheres
+ 951 | EF_EL_WILD_STORM | Three lightning spheres
+ 952 | EF_EL_CHILLY_AIR | Flat, spinning gem and two lightning spheres
+ 953 | EF_EL_CURSED_SOIL | Spinning, planetlike spheres
+ 954 | EF_EL_COOLER | Two lightblue glowing spheres
+ 955 | EF_EL_TROPIC | Three spinning flame spheres
+ 956 | EF_EL_PYROTECHNIC | Flame
+ 957 | EF_EL_PETROLOGY | Spinning planetlike sphere
+ 958 | EF_EL_HEATER | Two flames
+ 959 | EF_POISON_MIST | Purple flame
+ 960 | EF_ERASER_CUTTER | Small yellow explosion
+ 961 | EF_SILENT_BREEZE | Cartoony whirlwind
+ 962 | EF_MAGMA_FLOW | Rising fire
+ 963 | EF_GRAYBODY | Dark filter (like Stone Curse)
+ 964 | EF_LAVA_SLIDE | Same as 920
+ 965 | EF_SONIC_CLAW | Small white explosion
+ 966 | EF_TINDER_BREAKER | Bone crack
+ 967 | EF_MIDNIGHT_FRENZY | Another little explosion
+ 968 | EF_MACRO |
+ 969 | EF_CHEMICAL_ALLRANGE |
+ 970 | EF_TETRA_FIRE |
+ 971 | EF_TETRA_WATER |
+ 972 | EF_TETRA_WIND |
+ 973 | EF_TETRA_GROUND |
+ 974 | EF_EMITTER |
+ 975 | EF_VOLCANIC_ASH |
+ 976 | EF_LEVEL99_ORB1 |
+ 977 | EF_LEVEL99_ORB2 |
+ 978 | EF_LEVEL150 |
+ 979 | EF_LEVEL150_SUB |
+ 980 | EF_THROWITEM4_1 |
+ 981 | EF_THROW_HAPPOKUNAI |
+ 982 | EF_THROW_MULTIPLE_COIN |
+ 983 | EF_THROW_BAKURETSU |
+ 984 | EF_ROTATE_HUUMARANKA |
+ 985 | EF_ROTATE_BG |
+ 986 | EF_ROTATE_LINE_GRAY |
+ 987 | EF_2011RWC |
+ 988 | EF_2011RWC2 |
+ 989 | EF_KAIHOU |
+ 990 | EF_GROUND_EXPLOSION |
+ 991 | EF_KG_KAGEHUMI |
+ 992 | EF_KO_ZENKAI_WATER |
+ 993 | EF_KO_ZENKAI_LAND |
+ 994 | EF_KO_ZENKAI_FIRE |
+ 995 | EF_KO_ZENKAI_WIND |
+ 996 | EF_KO_JYUMONJIKIRI |
+ 997 | EF_KO_SETSUDAN |
+ 998 | EF_RED_CROSS |
+ 999 | EF_KO_IZAYOI |
+1000 | EF_ROTATE_LINE_BLUE |
+1001 | EF_KG_KYOMU |
+1002 | EF_KO_HUUMARANKA |
+1003 | EF_BLUELIGHTBODY |
+1004 | EF_KAGEMUSYA |
+1005 | EF_OB_GENSOU |
+1006 | EF_NO100_FIRECRACKER |
+1007 | EF_KO_MAKIBISHI |
+1008 | EF_KAIHOU1 |
+1009 | EF_AKAITSUKI |
+1010 | EF_ZANGETSU |
+1011 | EF_GENSOU |
+1012 | EF_HAT_EFFECT |
+1013 | EF_CHERRYBLOSSOM |
+1014 | EF_EVENT_CLOUD |
+1015 | EF_RUN_MAKE_OK |
+1016 | EF_RUN_MAKE_FAILURE |
+1017 | EF_MIRESULT_MAKE_OK |
+1018 | EF_MIRESULT_MAKE_FAIL |
+1019 | EF_ALL_RAY_OF_PROTECTION |
+1020 | EF_VENOMFOG |
+1021 | EF_DUSTSTORM |
+1022 | EF_LEVEL160 |
+1023 | EF_LEVEL160_SUB |
+1024 | EF_MAPCHAIN |
+1025 | EF_MAGIC_FLOOR |
+1026 | EF_ICEMINE |
+1027 | EF_FLAMECORSS |
+1028 | EF_ICEMINE_1 |
+1029 | EF_DANCE_BLADE_ATK |
+1030 | EF_DARKPIERCING |
+1031 | EF_INVINCIBLEOFF2 |
+1032 | EF_MAXPAIN |
+1033 | EF_DEATHSUMMON |
+1034 | EF_MOONSTAR |
+1035 | EF_STRANGELIGHTS |
+1036 | EF_SUPER_STAR |
+1037 | EF_YELLOBODY |
+1038 | EF_COLORPAPER2 |
+1039 | EF_EVILS_PAW |
+1040 | EF_GC_DARKCROW |
+1041 | EF_RK_DRAGONBREATH_WATER |
+1042 | EF_ALL_FULL_THROTTLE |
+1043 | EF_SR_FLASHCOMBO |
+1044 | EF_RK_LUXANIMA |
+1045 | EF_CLOUD10 |
+1046 | EF_SO_ELEMENTAL_SHIELD |
+1047 | EF_AB_OFFERTORIUM |
+1048 | EF_WL_TELEKINESIS_INTENSE |
+1049 | EF_GN_ILLUSIONDOPING |
+1050 | EF_NC_MAGMA_ERUPTION |
+1051 | EF_LG_KINGS_GRACE |
+1052 | EF_BLOODDRAIN2 |
+1053 | EF_NPC_WIDEWEB |
+1054 | EF_NPC_BURNT |
+1055 | EF_NPC_CHILL |
+1056 | EF_RA_UNLIMIT |
+1057 | EF_AB_OFFERTORIUM_RING |
+1058 | EF_SC_ESCAPE |
+1059 | EF_WM_FRIGG_SONG |
+1060 | EF_FLICKER |
+1061 | EF_C_MAKER |
+1062 | EF_HAMMER_OF_GOD |
+1063 | EF_MASS_SPIRAL |
+1064 | EF_FIRE_RAIN |
+1065 | EF_WHITEBODY |
+1066 | EF_BANISHING_BUSTER |
+1067 | EF_SLUGSHOT |
+1068 | EF_D_TAIL |
+1069 | EF_BIND_TRAP1 |
+1070 | EF_BIND_TRAP2 |
+1071 | EF_BIND_TRAP3 |
+1072 | EF_JUMPBODY1 |
+1073 | EF_ANIMATED_EMITTER |
+1074 | EF_RL_EXPLOSION |
+1075 | EF_C_MAKER_1 |
+1076 | EF_QD_SHOT |
+1077 | EF_P_ALTER |
+1078 | EF_S_STORM |
+1079 | EF_MUSIC_HAT |
+1080 | EF_CLOUD_KILL |
+1081 | EF_ESCAPE |
+1082 | EF_XENO_SLASHER |
+1083 | EF_FLOWERSMOKE |
+1084 | EF_FSTONE |
+1085 | EF_QSCARABA |
+1086 | EF_LJOSALFAR |
+1087 | EF_HAPPINESSSTAR |
+1088 | EF_POWER_OF_GAIA |
+1089 | EF_MAPLE_FALLS |
+1090 | EF_MARKING_USE_CHANGEMONSTER |
+1091 | EF_MAGICAL_FEATHER |
+1092 | EF_MERMAID_LONGING |
+1093 | EF_GIFT_OF_SNOW |
+1094 | EF_ACH_COMPLETE |
+1095 | EF_TIME_ACCESSORY |
+1096 | EF_SPRITEMABLE |
+1097 | EF_TUNAPARTY |
diff --git a/doc/effect_list.txt b/doc/effect_list.txt
deleted file mode 100644
index 01ea2753b..000000000
--- a/doc/effect_list.txt
+++ /dev/null
@@ -1,986 +0,0 @@
-//===== Hercules Documentation ===============================
-//= Client Effects List
-//===== By: ==================================================
-//= Hercules Dev Team
-//===== Current Version: =====================================
-//= 20120822
-//===== Description: =========================================
-//= A list of client-side effects sorted by ID.
-//============================================================
-
-The following is a compiled list of visual and sound effects which the client
-can produce when receiving a packet with id 0x1f3 (01f3 <ID>.l <type>.l).
-Each list entry contains a number and a short description of the effect.
-You can produce these effects ingame by doing "@effect <number> 22" (22=self).
-It's also possible to attach effects to item/npc scripts by using 'misceffect'.
-
-Number Description
------- -----------
-0. Regular Hit
-1. Bash
-2. Melee Skill Hit
-3. Melee Skill Hit
-4. Melee Skill Hit
-5. Melee Skill Hit
-6. Being Warped
-7. Item Heal effect
-8. Yellow Ripple Effect
-9. Different Type of Heal
-10. Mammonite
-11. Endure
-12. Yellow cast aura
-13. Blue Box
-14. Blue restoring effect
-15. Soul Strike
-16. Hide
-17. Magnum Break
-18. Steal
-19. (Invalid)
-20. Envenom/Poison
-21. Detoxify
-22. Sight
-23. Stone Curse
-24. Fire Ball
-25. Fire Wall
-26. A sound (a swipe?)
-27. Frost Diver (Traveling to Target)
-28. Frost Diver (Hitting)
-29. Lightning Bolt
-30. Thunder Storm
-31. Weird bubbles launching from feet
-32. Small clustered explosions
-33. Ruwach
-34. Old Map Exit Animation (unused)
-35. Old Warp Portal (unused)
-36. Old Warp Portal (unused)
-37. AGI Up
-38. AGI Down
-39. Aqua Benedicta
-40. Signum Crucis
-41. Angelus
-42. Blessing
-43. Dex + Agi Up
-44. Little Fog Smoke.
-45. Faint Little Ball Things.
-46. Sand Wind
-47. Torch
-48. Small Piece of Glass
-49. Firebolt/Wall Hits
-50. Spinning Fire Thing
-51. Ice Elemental Hit
-52. Wind Elemental Hit
-53. Puff of Purpulish Smoke?
-54. Cast Initiation Aura (Water Element)
-55. Cast Initiation Aura (Fire Element)
-56. Cast Initiation Aura (Wind Element)
-57. Cast Initiation Aura (Earth Element)
-58. Cast Initiation Aura (Holy Element)
-59. Cast Initiation Aura (Poison Element)
-60. Cast target circle
-61. Old Warp Portal (NPC Warp, unused)
-62. Sight Trasher
-63. Moonlight Sphere
-64. Something Like Puruple/Yellow Light Bullet
-65. Something Like Absorb of Power
-66. Cure
-67. Provoke
-68. MVP Banner
-69. Skid Trap
-70. Brandish Spear
-71. Spiral White balls
-72. Bigger Spiral White balls
-73. Blue/White Small Aura
-74. Ice Wall
-75. Gloria
-76. Magnificat
-77. Resurrection
-78. Status Recovery
-79. Earth Spike
-80. Spear Boomerang
-81. Skill hit
-82. Turn Undead
-83. Sanctuary
-84. Impositio Manus
-85. Lex Aeterna
-86. Aspersio
-87. Lex Divina
-88. Suffragium
-89. Storm Gust
-90. Lord of Vermilion
-91. B. S. Sacramenti
-92. Meteor Storm
-93. Jupitel Thunder (Ball)
-94. Jupitel Thunder (Hit)
-95. Quagmire
-96. Fire Pillar
-97. Fire Pillar/Land Mine hit
-98. Adrenaline Rush
-99. Flasher Trap
-100. Yellow ball fountain
-101. Weapon Repair
-102. Hammerfall
-103. Weapon Perfection
-104. Maximize Power
-105. (nothing)
-106. Blast Mine Trap
-107. Claymore Trap
-108. Freezing Trap
-109. Bailaban Blue bubble Map Effect
-110. Trap Used by Giearth
-111. Spring Trap
-112. Kyrie Eleison
-113. Magnus Exorcismus
-114. Old Magnus Exorcismus Map Unit (unused)
-115. Blitz Beat
-116. Fling Watersphere
-117. Waterball
-118. Fling Firesphere
-119. Detect
-120. Cloaking
-121. Sonic Blow (Part 1/2)
-122. Multi hit effect
-123. Grimtooth Cast
-124. Venom Dust
-125. Enchant Poison
-126. Poison React
-127. Small Posion React
-128. Over Thrust
-129. Venom Splasher Explosion
-130. Two-Hand Quicken
-131. Auto-Counter Hit
-132. Grimtooth Hit
-133. Ice Effect (Used by NPCs)
-134. Ice Effect (Used by NPCs)
-135. Ice Effect (Used by NPCs)
-136. Slow Poison
-137. Old Sanctuary Map Unit (unused)
-138. Fire pillar
-139. Sandman Trap
-140. Ressurection Aura
-141. Pneuma
-142. Heaven's Drive
-143. Sonic Blow (Part 2/2)
-144. Brandish Spear Pre-Hit Effect
-145. Shockwave Trap
-146. Shockwave Trap Hit
-147. Pierce Hit
-148. Pierce Cast Animation
-149. Bowling Bash
-150. Pierce Cast Animation
-151. Spear Boomerang Cast
-152. Turn Undead
-153. Increase Concentration
-154. Refine Success
-155. Refine Fail
-156. jobchange.str not found error
-157. levelup.str not found error
-158. Job Level Up
-159. PvP circle
-160. PvP Party Circle
-161. (Nothing)
-162. Snow
-163. White Sakura Leaves
-164. (Nothing)
-165. Comodo Fireworks Ball
-166. Energy Coat (Visual Effect)
-167. (Nothing)
-168. (Nothing)
-169. Energy Coat Animation
-170. Cart Revolution
-171. Venom Dust Map Unit
-172. Change Element (Dark)
-173. Change Element (Fire)
-174. Change Element (Water)
-175. Change Element (Wind)
-176. Change Element (Fire)
-177. Change Element (Earth)
-178. Change Element (Holy)
-179. Change Element (Poison)
-180. Darkness Attack
-181. Mental Breaker
-182. Magical Hit
-183. Self Destruction
-184. (Nothing)
-185. (Nothing)
-186. Combo Attack 1
-187. Combo Attack 2
-188. Combo Attack 3
-189. Combo Attack 4
-190. Combo Attack 5
-191. Guided Attack
-192. Poison Attack
-193. Silence Attack
-194. Stun Attack
-195. Petrify Attack
-196. Curse Attack
-197. Sleep Attack
-198. (Nothing)
-199. Small Popping Bubble Map Effect
-200. Normal level 99 Aura (Middle)
-201. Normal level 99 Aura (Bottom)
-202. Lv 99 Aura Bubble
-203. Fury (Visual Effect)
-204. Red Herb/Potion
-205. Orange Potion
-206. Yellow Herb/Potion
-207. White Herb/Potion
-208. Blue Herb/Potion
-209. Green Herb/Potion
-210. Yellow Circle Healing Effect
-211. Blue Circle Healing Effect
-212. Dark Breath
-213. Defender
-214. Keeping
-215. Summon Slave
-216. Blood Drain
-217. Energy Drain
-218. Concentration Potion
-219. Awakening Potion
-220. Berserk Potion
-221. Intense light beam
-222. Defender (Crusader)
-223. Holy Cast Aura
-224. Wind (Map effect)
-225. Volcano casting effect
-226. Grand Cross Effect
-227. Snatch
-228. (Nothing)
-229. (Nothing)
-230. (Nothing)
-231. Map Light Pillar Animation 1
-232. Sacrifice (Visual Effect)
-233. Fog
-234. Spell Breaker
-235. Dispell
-236. Deluge Cast Aura
-237. Violent Gale Cast Aura
-238. Magnetic Earth Cast Aura
-239. Volcano (Visual Effect)
-240. Deluge (Visual Effect)
-241. Violent Gale (Visual Effect)
-242. Magnetic Earth (Visual Effect)
-243. (Invalid)
-244. Magic Rod
-245. Holy Cross
-246. Shield Charge
-247. Map Light Pillar Animation 2
-248. Resistant Souls
-249. Shield Boomerang
-250. Spear Quicken
-251. Devotion
-252. Reflect Shield
-253. Absorb Spirit Spheres
-254. Mental Strength (Visual Effect)
-255. Elemental Endow (Fire)
-256. Elemental Endow (Water)
-257. Elemental Endow (Wind)
-258. Elemental Endow (Earth)
-259. Map Light Pillar Animation 3
-260. Map Light Pillar Animation 4
-261. Fury Cast Animation
-262. Raging Quadruple Blow
-263. Raging Quadruple Blow 2
-264. (Nothing)
-265. Throw Spirit Sphere
-266. Raging Quadruple Blow 3
-267. Occult Impaction
-268. Steal Coin
-269. Divest Weapon
-270. Divest Shield
-271. Divest Armor
-272. Divest Helm
-273. Raging Quadruple Blow 4
-274. Steal Coin Animation
-275. Back Stab Animation
-276. Raging Thrust
-277. Dissoance Map Unit
-278. Lullaby Map Unit
-279. Mr Kim a Rich Man Map Unit
-280. Eternal Chaos Map Unit
-281. A Drum on the Battlefield Map Unit
-282. The Ring Of Nibelungen Map Unit
-283. Loki's Veil Map Unit
-284. Into the Abyss Map Unit
-285. Invunerable Siegfriend Map Unit
-286. A Wistle Map Unit
-287. Assassin Cross of Sunset Map Unit
-288. A Poem of Bragi Map Unit
-289. The Apple Of Idun Map Unit
-290. Ugly Dance Map Unit
-291. Humming Map Unit
-292. Please don't Forget Me Map Unit
-293. Fortune's Kiss Map Unit
-294. Service For You Map Unit
-295. Frost Joke
-296. Scream
-297. Fire Works (Visual Effect)
-298. Acid Terror Animnation
-299. (Nothing)
-300. Chemical Protection
-301. Fire Works (Sound Effect)
-302. Bomb
-303. (Unused)
-304. Teleportation Animation
-305. Pharmacy Success
-306. Pharmacy Failed
-307. Forest Light 1
-308. Throw Stone
-309. First Aid
-310. Sprinkle Sand
-311. Crazy Uproar
-312. Heal Effect
-313. Heal Effect 2
-314. Old Map Exit effect (Unused)
-315. Safety Wall
-316. Warp Portal Animation 1
-317. Warp Portal Animation 2
-318. Magnus Exorcisimus Map Unit
-319. Sanctuary Map Unit
-320. Offensive Heal
-321. Warp NPC
-322. Forest Light 2
-323. Forest Light 3
-324. Forest Light 4
-325. Heal Effect 4
-326. Chase Walk Left Foot
-327. Chse Walk Right Foot
-328. Monk Asura Strike
-329. Triple Strike
-330. Combo Finish
-331. Natural HP Regeneration
-332. Natural SP Regeneration
-333. Autumn Leaves
-334. Blind
-335. Poison
-336. Kyrie Eleison/Parrying Shield
-337. Class Change
-338. Super Novice/Taekwon Level Up Angel
-339. Spiral Pierce
-340. (Nothing)
-341. Wedding Warp Portal
-342. Wedding Skill
-343. Another Merry Skill
-344. Character map entry effect
-345. Wings (Animated)
-346. Like Moonlight But Blue
-347. Wedding Ceremony
-348. Like 1000 Blade trepassing
-349. Waterfall (Horizonatal)
-350. Waterfall (Vertical)
-351. Small Waterfall (Horizonatal)
-352. Small Waterfall (Vertical)
-353. Dark Waterfall (Horizonatal)
-354. Dark Waterfall (Vertical)
-355. Dark Small Waterfall (Horizonatal)
-356. Dark Small Waterfall (Vertical)
-357. (Nothing)
-358. Niflheim Ghost
-359. Niflheim Bat Slow
-360. Niflheim Bat Fast
-361. Soul Destroyer
-362. Trancendant Level 99 Aura 1
-363. Valentine Day Heart With Wings
-364. Valentine Day Heart
-365. Gloria Domini
-366. Martyr's Reckoning
-367. Aura Blade
-368. Berserk
-369. Concentration
-370. Gospel Map Unit
-371. Level Up
-372. Death
-373. House Smoke
-374. Basilica
-375. Assumptio (Visual Effect)
-376. Palm Strike
-377. Matyr's Reckoning 2
-378. Soul Drain (1st Part)
-379. Soul Drain (2nd Part)
-380. Magic Crasher
-381. Blue Starburst (Unknown use)
-382. (Nothing)
-383. Health Conversion
-384. Soul Change (Sound Effect)
-385. Soul Change (Visual Effect)
-386. True Sight
-387. Falcon Assault
-388. Focused Arrow Strike (Sound Effect)
-389. Wind Walk
-390. Shattering Strike
-391. Cart Boost
-392. Reject Sword
-393. Arrow Vulcan
-394. Sheltering Bliss
-395. Marionette Control (Sound Effect)
-396. Marionette Control (Visual Effect)
-397. Trancended 99 Aura (Middle)
-398. Trancended 99 Aura (Bottom)
-399. Head Crush
-400. Joint Beat
-401. Napalm Vulcan Sound
-402. Dangerous Soul Collect
-403. Mind Breaker
-404. Fiber Lock
-405. Wall Of Fog
-406. Soul Burn
-407. Soul Change
-408. Mom, Dad, I love you! (Baby Skill)
-409. Meteor Assault
-410. Rainbow
-411. Leap
-412. Like Throw Spirit Sphere
-413. Axe Kick
-414. Round Kick
-415. Counter Kick
-416. (Nothing)
-417. Flash
-418. Warmth Lightning
-419. Kaite (Visual Effect)
-420. Eswoo (Small) (Visual Effect)
-421. Eswoo (Alt. Small) (Visual Effect)
-422. Eswoo (Normal) (Visual Effect)
-423. Eswoo (Alt. Normal) (Visual Effect)
-424. Spirit Link (Visual Effect)
-425. Esma Hit (Visual Effect)
-426. Sprint Collision (Visual Effect)
-427. (Nothing)
-428. (Nothing)
-429. Taekwon Kick Hit 1
-430. Taekwon Kick Hit 2
-431. Taekwon Kick Hit 3
-432. Solar, Lunar and Stellar Perception (Visual Effect)
-433. Solar, Lunar and Stellar Opposition (Visual Effect)
-434. Taekwon Kick Hit 4
-435. Whirlwind Kick
-436. White Barrier (Unused)
-437. White barrier 2 (Unused)
-438. Kaite Reflect Animation
-439. Flying Side Kick
-440. Assumptio (Animation)
-441. Comfort Skills Cast Aura
-442. Foot Prints caused by Sprint.
-443. (Nothing)
-444. Sprint Stop Animation
-445. High Jump (Jump)
-446. High Jump (Return Down)
-447. Running Left Foot
-448. Running Right Foot
-449. KA-Spell (1st Part)
-450. Darkcross
-451. Dark Strike
-452. Something Like Jupitel Thunder
-453. Paralized
-454. Like Blind
-455. Another Warmth Lightning
-456. Power Up
-457. Flying Side Kick (2nd Part)
-458. Running/Sprint (running into a wall)
-459. Brown tornado that spins sprite (unused)
-460. Green tornado (unused)
-461. Blue tornado (unused)
-462. Kaupe Dodge Effect
-463. Kaupe Dodge Effect
-464. White tornado (unused)
-465. Purple tornado (unused)
-466. Another Round Kick
-467. Warm/Mild Wind (Earth)
-468. Warm/Mild Wind (Wind)
-469. Warm/Mild Wind (Water)
-470. Warm/Mild Wind (Fire)
-471. Warm/Mild Wind (Undead)
-472. Warm/Mild Wind (Shadow)
-473. Warm/Mild Wind (Holy)
-474. (Nothing)
-475. Demon of The Sun Moon And Stars (Level 1)
-476. Demon of The Sun Moon And Stars (Level 2)
-477. Demon of The Sun Moon And Stars (Level 3)
-478. Demon of The Sun Moon And Stars (Level 4)
-479. Demon of The Sun Moon And Stars (Level 5)
-480. Demon of The Sun Moon And Stars (Level 6)
-481. Demon of The Sun Moon And Stars (Level 7)
-482. Demon of The Sun Moon And Stars (Level 8)
-483. Demon of The Sun Moon And Stars (Level 9)
-484. Demon of The Sun Moon And Stars (Level 10)
-485. Mental Strength Lightning but White
-486. Mental Strength Lightning
-487. Demon of The Sun Moon And Stars Ground Effect
-488. Comfort Skills
-489. (Nothing)
-490. (Nothing)
-491. Element Potions
-492. Cooking Foods
-493. Enchant Deadly Poison
-494. Throwing Tomahawk
-495. Full Strip Sound
-496. Preserve
-497. Twilight Alchemy 1
-498. Twilight Alchemy 2
-499. Twilight Alchemy 3
-500. Player Become Blue with Blue Aura
-501. Chase Walk Animation
-502. Player Become Yellow with Yellow Aura
-503. Soul Link Word
-504. (Nothing)
-505. Memorize
-506. (Nothing)
-507. Authoritative Badge
-508. Fire Cracker
-509. Valentine Day Hearth (Wings)
-510. Champion Asura Strike
-511. (Nothing)
-512. Chain Crush Combo
-513. Area Cast
-514. Really Big Circle
-515. Einbroch Fog
-516. Airship Cloud
-517. (Nothing)
-518. Cart Termination
-519. Speed Down Potion
-520. Shield Bumerang
-521. Player Become Red with Red Aura
-522. Gravitation Field
-523. Tarot Card of Fate (The Fool)
-524. Tarot Card of Fate (The Magician)
-525. Tarot Card of Fate (The High Priestess)
-526. Tarot Card of Fate (The Chariot)
-527. Tarot Card of Fate (Strength)
-528. Tarot Card of Fate (The Lovers)
-529. Tarot Card of Fate (The Wheel of Fortune)
-530. Tarot Card of Fate (The Hanged Man)
-531. Tarot Card of Fate (Death)
-532. Tarot Card of Fate (Temperance)
-533. Tarot Card of Fate (The Devil)
-534. Tarot Card of Fate (The Tower)
-535. Tarot Card of Fate (The Star)
-536. Tarot Card of Fate (The Sun)
-537. Acid Demonstration
-538. Player Become Green with Green Aura
-539. Throw Random Bottle
-540. Instant Small->Normal
-541. (Nothing)
-542. KA-Spell (1st Part)
-543. Kahii
-544. Warmth Red Sprite
-545. Sound And... PUFF Client Crash :P
-546. Kaupe
-547. Estin
-548. Instant Red Sprite
-549. Instant Blue Sprite
-550. Another Effect like Running Hit
-551. Effect Like Estun but with Circle
-552. (Nothing)
-553. Esma
-554. Large White Cloud
-555. Estun
-556. (Nothing)
-557. Juperos Energy Waterfall (Horizontal)
-558. Juperos Energy Waterfall (Vertical)
-559. Juperos Energy Waterfall Fast (Horizontal)
-560. Juperos Energy Waterfall Fast (Vertical)
-561. Juperos Warp
-562. Juperos Warp
-563. Earthquake Effect (Juperos Elevator)
-564. Wedding Cast
-565. Filir Moonlight Lvl 1
-566. Filir Moonlight Lvl 2
-567. Filir Moonlight Lvl 3
-568. Another Job Level Up
-569. Amistr Bulwark
-570. Amistr Castling
-571. Amistr Bloodlust
-572. Warmth Soul
-573. Twilight Alchemy 1
-574. Twilight Alchemy 2
-575. Twilight Alchemy 3
-576. Box Effect (Thunder)
-577. Box Effect (Cloud)
-578. Box Effect (Curse)
-579. Box Effect (Sleep)
-580. Box Effect (Rain)
-581. Box Effect (Sunlight)
-582. Another Super Novice/Taekwon Angel
-583. Warmth Hit
-584. Full Buster
-585. 5 Medium Size Explosion
-586. Somatology Lab Mobs Aura
-587. Big Purple Flame
-588. Little Red Flame
-589. Eswoo
-590. Running Stop
-591. (Nothing)
-592. Thanatos Tower Bloody Clouds
-593. Food Effect (STR)
-594. Food Effect (INT)
-595. Food Effect (VIT)
-596. Food Effect (AGI)
-597. Food Effect (DEX)
-598. Food Effect (LUK)
-599. Cast Time Sound and Flashing Animation on Player
-600. Throw Venom Knife
-601. Sight Blaster
-602. Close Confine (Grab Effect)
-603. Spinning fire ball (like 50, but smaller)
-604. Close Confine (Ground Effect)
-605. (Nothing)
-606. Pang Voice (Visual Effect)
-607. Wink of Charm (Visual Effect)
-608. Cooking Success
-609. Cooking Failed
-610. Success
-611. Failed
-612. Korean Words and /no1 Emoticon
-613. Throw Shuriken
-614. Throw Kunai
-615. Throw Fumma Shuriken
-616. Throw Money
-617. Illusionary Shadow
-618. Crimson Fire Bolossom
-619. Lightning Spear Of Ice
-620. Water Escape Technique
-621. Wind Blade
-622. Lightning Crash
-623. Piercing Shot
-624. Kamaitachi
-625. Madness Canceller
-626. Adjustment
-627. Disarm (Sound Effect)
-628. Dust
-629. (Nothing)
-630. Shadow Slash
-631. Reverse Tatami Map Unit
-632. Mist Slash
-633. Final Strike
-634. Crimson Fire Formation
-635. Dragon Fire Formation
-636. Falling Ice Pillar
-637. Desperado
-638. Ground Drift Grenade
-639. Ground Drift Grenade
-640. Ground Drift Grenade
-641. Ground Drift Grenade
-642. Ground Drift Grenade
-643. Rapid Shower
-644. Magic Bullet
-645. Spread Attack
-646. Tracking (Shown While Casting)
-647. Tracking
-648. Triple Action
-649. Bull's Eye
-650. Ice Cave Level 4 Circle
-651. Ice Cave Level 4 Big Circle
-652. Like Regeneration Number but Red with a Sound
-653. Like Regeneration Number but Red
-654. Like Regeneration Number but Purple
-655. Mobs Skill (Change Undead Element)
-656. Last animation before Change Undead Element finish
-657. (Nothing)
-658. (Nothing)
-659. (Nothing)
-660. (Nothing)
-661. (Nothing)
-662. (Nothing)
-663. (Nothing)
-664. (Nothing)
-665. Little Blue Ball Falling From the Sky
-666. Earthquake
-667. (Nothing)
-668. Dragonfear
-669. Wide Bleeding
-670. Dragon fear (Visual Effect)
-671. The Japan Earth Symbol (like 'Seven Wind Lv1', but on the ground)
-672. The Japan Wind Symbol (like 'Seven Wind Lv2', but on the ground)
-673. Map turns Blue (like Soul Link)
-674. Evil Land Cell
-675. Like Parrying/Kyrie Eleison barrier but Yellow with small Cross in every barrier piece
-676. Slow Casting
-677. Critical Wounds/Bleeding Attack
-678. White 99 Aura Bubbles
-679. Green Aura (Middle)
-680. Green Aura (Bottom)
-681. Dimensional Gorge Map Effect
-682. I Love You Banner
-683. Happy White Day Banner
-684. Happy Valentine Day Banner
-685. Happy Birthday Banner
-686. Merry Christmas Banner
-687. Cast Circle-Like effect 1
-688. Cast Circle-Like effect 2
-689. Endless Tower Map Effect
-690. Burning Flame (Red)
-691. Burning Flame (Green)
-692. Unknown Aura Bubbles (Small ghosts)
-693. Translucent yellow circle
-694. Translucent green circle
-695. Rotating green light
-696. The same of 690 and 691 but Blue/Purple
-697. (Nothing)
-698. (Nothing)
-699. Fall of powder from the sky and raise of some leaf
-700. Big Colored Green Sphere.
-701. Huge Blue Sphere
-702. Little Colored Violet Sphere
-703. Light Infiltration with fall of pownder
-704. Client Error (mobile_ef02.str)
-705. Client Error (mobile_ef01.str)
-706. Client Error (mobile_ef03.str)
-707. Client Crash :P
-708. Storm Gust (same as 89)
-709. A Firework that split in 4 mini fireworks
-710. A Sphere like Effect 701 but Green, and a bit more larger
-711. A big violet wall
-712. A Little Flame Sphere
-713. A lot of Very Small and Yellow Sphere
-714. (Nothing)
-715. Little blue Basilica
-716. Same as 715
-717. Christmas Carol (copy of Angelus)
-718. Judex (Visual Effect)
-719. Renovatio (light beam)
-720. Yellow version of Soul Breaker
-721. Adoramus (lightning bolt)
-722. Ignition Break (big explosion)
-723. Hundred Spear (sound effect)
-724. Green version of Detecting
-725. Oratorio (like Detecting)
-726. Frost Misty (blue vapor and bubbles)
-727. Crimson Rock
-728. Small fire (part of Hell Inferno)
-729. Marsh of Abyss (like Close Confine)
-730. Small, cartoony explosion (part of Soul Expansion)
-731. Dragon Howling (blinking, expanding circle)
-732. Spike from the ground
-733. Fluffy Ball flying by
-734. Chain Lightning
-735. (Nothing)
-736. (Nothing)
-737. (Nothing)
-738. (Nothing)
-739. Old Magenta Trap
-740. Old Cobald Trap
-741. Old Maize Trap
-742. Old Verdure Trap
-743. White Ranger Trap
-744. Camouflage
-745. Aimed Bolt (crosshairs)
-746. Arrow Storm
-747. Falling white feathers
-748. Falling blue feathers
-749. Millennium Shield
-750. Detonator (blue sparkles)
-751. Releasing summoned warlock spheres
-752. Like Energy Coat, but not as dark
-753. Clearance
-754. Green warp portal (root of Epiclesis)
-755. Oratio (spinning blue symbol)
-756. Enchant Blade (like Berserk Potion)
-757. Third Class Aura (Middle)
-758. Rolling Cutter - Spin Count 1
-759. Rolling Cutter - Spin Count 2
-760. Rolling Cutter - Spin Count 3
-761. Rolling Cutter - Spin Count 4
-762. Rolling Cutter - Spin Count 5
-763. Rolling Cutter - Spin Count 6
-764. Rolling Cutter - Spin Count 7
-765. Rolling Cutter - Spin Count 8
-766. Rolling Cutter - Spin Count 9
-767. Rolling Cutter - Spin Count 10
-768. Blinking
-769. Cross Ripper Slasher (flying knives)
-770. Strip sound
-771. Poison sound
-772. Poison particles
-773. Expanding purple aura (part of Phantom Menace)
-774. Axe Boomerang
-775. Spinning character sprite
-776. Like Desperado sound effect
-777. Faded light from the ground [S]
-778. Expanding white aura (like Clearance)
-779. Faded light from the ground [S]
-780. Expanding red aura (from Infrared Scan)
-781. Magnetic Field (purple chains)
-782. All-around shield [S]
-783. Yellow shaft of light
-784. White shaft of light
-785. Upward flying wrenches
-786. Symbol with bleeping sound [S]
-787. Flare Launcher (line of fire)
-788. Venom Impress (green skull)
-789. Freezing Status Effect (two ancillas)
-790. Burning Status Effect (flame symbol)
-791. Two ice shots
-792. Upward streaming white particles
-793. Same, but more brief
-794. Infrared Scan (red lasers)
-795. Power Swing (axe crash)
-796. Spinning blue triangles
-797. Stapo
-798. Red triangles (like Intimidate)
-799. Stasis (expanding blue mist) [S]
-800. Hell Inferno (red lights)
-801. Jack Frost unit (ice spikes)
-802. White Imprison
-803. Recognized Spell
-804. Tetra Vortex [S]
-805. Tetra Vortex cast animation (blinking colors)
-806. Flying by as fast as a rocket
-807. Kidnapping sound
-808. Like Recognized Spell, but one symbol
-809. Shadowy filter [S]
-810. Damp thud sound [S]
-811. Body Painting
-812. Black expanding aura
-813. Masquerade - Enervation
-814. Masquerade - Groomy
-815. Masquerade - Ignorance
-816. Masquerade - Laziness
-817. Masquerade - Unlucky
-818. Masquerade - Weakness
-819. (Nothing)
-820. Strip Accessory
-821. Waterfall
-822. Dimension Door (spinning blue aura)
-823. in-the-manhole effect
-824. Some filter
-825. Dimension Door (aura + blue light)
-826. Expanding black casting anim.
-827. Chaos Panic (spinning brown aura)
-828. Maelstrom (spinning pink aura)
-829. Bloody Lust (spinning red aura)
-830. Blue aura (Arch Bishop cast animation)
-831. Blue cone [S]
-832. Sonic Wave
-833. (Nothing)
-834. Light shooting away circlish
-835. Fastness yellow-reddish
-836. Fastness yellow-pinkish
-837. Casting [S]
-838. Watery aura
-839. [Client Error]
-840. Red cone
-841. Green cone
-842. Yellow cone
-843. White cone
-844. Purple cone
-845. light-bluish turquoise cone
-846. (Nothing)
-847. Gloomy Day (white/red light rays)
-848. Gloomy Day (white/blue light rays)
-849. (Nothing)
-850. (Nothing)
-851. Green mushy-foggy stuff (dull)
-852. Green mushy-foggy stuff (bright)
-853. Bright green flower area
-854. Blue beam of light with notes
-855. (Nothing)
-856. Reverberation (red eighth notes)
-857. Severe Rainstorm (falling red and blue beams)
-858. Deep Sleep Lullaby (two red beams and music notes)
-859. Holograph of text (blue)
-860. Distorted note (blue)
-861. Green aura (from Circle of Life's Melody)
-862. Randomize Spell (holograph of text)
-863. Dominion Impulse (two spears of light)
-864. Gloomy Day (colorful lines)
-865. Blue aura (from Song of Mana)
-866. Dance with a Warg (Wargs)
-867. Yellow aura (from Dance with a Warg)
-868. Song of Mana (Violies)
-869. Strip sound [S]
-870. Ghostly Succubuses of fire
-871. Red aura (from Lerad's Dew)
-872. Lerad's Dew (Minerals)
-873. Stargate-wormhole stuff (bright purple)
-874. Melody of Sink (Ktullanuxes)
-875. Stargate-wormhole stuff (bright turquoise)
-876. Warcry of Beyond (Garms)
-877. Stargate-wormhole stuff (white)
-878. Unlimited Humming Voice (Miyabi Ningyos)
-879. Siren's Voice (heart-like)
-880. Bluish castish cone
-881. Blue aura
-882. Whirl of fireflies (red)
-883. Epiclesis (transparent green tree)
-884. Green beam
-885. Blue light beams
-886. Blue castish cone
-887. Wavy sparks
-888. Earth Shaker (same as 432)
-889. Fast light beams
-890. Rotation
-891. Magic shots [S]
-892. Fastness with hitting sound[S]
-893. Blue-white light passing by
-894. (Nothing)
-895. Big wheel of flat light beams
-896. Still sun shaped lightning aura
-897. Animated sun shaped lightning aura
-898. Animated, curvy sun shaped lightning aura
-899. White/red light shots from below
-900. Animated, slow curvy sun shaped lightning aura
-901. Explosion
-902. Floating bedtable texture
-903. Castish flamey cone
-904. Yellow/pink lights passing by
-905. Expanding circle
-906. Shield Press (falling shield)
-907. Chainy, metalish sound [S]
-908. Prestige (sphere of yellow particles)
-909. Banding (sphere of red particles)
-910. Inspiration (sphere of blue particles)
-911. Green castish animation [S]
-912. Wall of Thorns unit (green fog cloud)
-913. Magic projectiles
-914. (Nothing)
-915. Crazy Weed
-916. Demonic Fire
-917. More angry, demonic flames
-918. Fire Insignia (demonic flames)
-919. Hell's Plant (green snapping plant)
-920. Fire Walk unit
-921. Vacuum Extreme (whirlwind)
-922. Psychic Wave
-923. Poison Buster
-924. Poisoning animation
-925. Some filter
-926. Electric Walk unit
-927. Earth Grave (speary roots)
-928. Ice cloud projectiles
-929. Warmer (field of flames)
-930. Varetyr Spear (falling spear)
-931. (Nothing)
-932. Firefly
-933. [Client Crash]
-934. White, castishly expanding cone
-935. Green magic projectile
-936. Red, castishly expanding cone
-937. Yellow, castishly expanding cone
-938. Dark-red, castishly expanding cone
-939. Blue, conish aura
-940. Snow flake
-941. Explosion of red, demonic fire
-942. Expanding, white dome
-943. Green, fluffy projectile
-944. Falling gems
-945. (Nothing)
-946. Floating lights
-947. Blue lightning sphere
-948. Two blue lightning spheres
-949. Flat, spinning diamond
-950. Circling, planetlike spheres
-951. Three lightning spheres
-952. Flat, spinning gem and two lightning spheres
-953. Spinning, planetlike spheres
-954. Two lightblue glowing spheres
-955. Three spinning flame spheres
-956. Flame
-957. Spinning planetlike sphere
-958. Two flames
-959. Purple flame
-960. Small yellow explosion
-961. Cartoony whirlwind
-962. Rising fire
-963. Dark filter (like Stone Curse)
-964. Same as 920
-965. Small white explosion
-966. Bone crack
-967. Another little explosion
diff --git a/doc/global_configuration.md b/doc/global_configuration.md
new file mode 100644
index 000000000..b0e99e698
--- /dev/null
+++ b/doc/global_configuration.md
@@ -0,0 +1,65 @@
+# Global configuration reference
+
+## What is global configuration?
+
+Global configuration is an import system that allows configuration files to be
+shared between servers (login, char, map), but can also be used independently
+in each server.
+
+
+## How does it work?
+
+It works by using the `@include` directive from libconfig:
+
+> "A configuration file may "include" the contents of another file using an
+> include directive. This directive has the effect of inlining the contents of
+> the named file at the point of inclusion.
+
+An include directive must appear on its own line and takes this form:
+
+```
+ @include "filename"
+```
+
+Any backslashes or double quotes in the filename must be escaped as `\\` and
+`\"`, respectively.
+
+
+## How do I stop using global configurations?
+
+To stop using global configuration, all you have to do is copy the contents of
+the file being imported and paste it _exactly_ where the include directive was.
+
+### Example
+
+If you want map server and char server to have their own separate SQL connection
+settings, you would search in `conf/map/map-server.conf` and
+`conf/char/char-server.conf` for this line:
+
+```
+ @include "conf/global/sql_connection.conf"
+```
+
+And replace it with:
+
+```
+ sql_connection: {
+ // [INTER] You can specify the codepage to use in your mySQL tables here.
+ // (Note that this feature requires MySQL 4.1+)
+ //default_codepage: ""
+
+ // [LOGIN] Is `userid` in account_db case sensitive?
+ //case_sensitive: false
+
+ // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1.
+ // Under windows, you want to use 127.0.0.1. If you see a message like
+ // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"
+ // and you have localhost, switch it to 127.0.0.1
+ db_hostname: "127.0.0.1"
+ db_port: 3306
+ db_username: "ragnarok"
+ db_password: "ragnarok"
+ db_database: "ragnarok"
+ //codepage:""
+ }
+```
diff --git a/doc/global_configuration.txt b/doc/global_configuration.txt
deleted file mode 100644
index a000a4572..000000000
--- a/doc/global_configuration.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-//===== Hercules Documentation ===============================
-//= Global configuration reference
-//===== By: ==================================================
-//= Panikon (Hercules Dev. Team)
-//===== Current Version: =====================================
-//= 20140616
-//===== Description: =========================================
-//= Global configurations found in conf/global/
-//============================================================
-
-- What are global configurations?
-
-Global configurations are configurations that can be shared between servers,
-but can also be set independently in each server.
-
-- How do they work?
-
-They work by using an include system that is available with libconfig:
-
- "A configuration file may "include" the contents of another file using an
- include directive. This directive has the effect of inlining the contents of
- the named file at the point of inclusion.
-
- An include directive must appear on its own line in the input. It has the
- form:
-
- @include "filename"
-
- Any backslashes or double quotes in the filename must be escaped as '\\' and
- '\"', respectively."
- From libconfig's documentation
-
-So each file that is included is actually inside each one of the main
-configuration files and thus a change in the first will be a change in the
-latter.
-Note: the @include directive is read by the server executable, so any path
-should be from were it is and NOT from where the main configuration file is!
-
-- How do I stop using global configurations?
-
-To stop using global configurations is very simple, all you have to do is copy
-the contents that are inside the global configuration file and put them
-_exactly_ where the include directive were in the main configuration file.
-
-E.g.
- Find in any file:
- @include "conf/global/sql_connection.conf"
- Replace it with:
- sql_connection: {
- // [INTER] You can specify the codepage to use in your mySQL tables here.
- // (Note that this feature requires MySQL 4.1+)
- //default_codepage: ""
-
- // [LOGIN] Is `userid` in account_db case sensitive?
- //case_sensitive: false
-
- // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1
- // Under windows, you want to use 127.0.0.1. If you see a message like
- // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"
- // and you have localhost, switch it to 127.0.0.1
- db_hostname: "127.0.0.1"
- db_port: 3306
- db_username: "ragnarok"
- db_password: "ragnarok"
- db_database: "ragnarok"
- //codepage:""
- }
- If the main configuration file belongs to the map server, for instance, you
- don't need to include default_codepage and case_sensitive.
diff --git a/doc/item_bonus.md b/doc/item_bonus.md
new file mode 100644
index 000000000..7c8547456
--- /dev/null
+++ b/doc/item_bonus.md
@@ -0,0 +1,436 @@
+# Hercules Item Bonuses List
+
+<!--
+# Copyright
+> This file is part of Hercules.
+> http://herc.ws - http://github.com/HerculesWS/Hercules
+>
+> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) Athena Dev Teams
+>
+> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+>
+> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+> See the GNU General Public License for more details.
+>
+> You should have received a copy of the GNU General Public License along with this program.
+> If not, see <http://www.gnu.org/licenses/>.
+-->
+
+## Description
+List of script instructions used in item bonuses, mainly `bonus`/`bonus2`/`bonus3`/`bonus4`/`bonus5` arguments and etc.
+
+
+## Constants
+This table contains all available constants referenced in the `bonus` commands.
+
+Race (`r`) | Status effect (`eff`) | Element (`e`) | Monster Race (`mr`) | Size (`s`)
+:----------------- | :-------------------- | :------------- | :------------------ | :-----------
+RC_Formless | Eff_Stone | Ele_Neutral | RC2_Goblin | Size_Small
+RC_Undead | Eff_Freeze | Ele_Water | RC2_Kobold | Size_Medium
+RC_Brute | Eff_Stun | Ele_Earth | RC2_Orc | Size_Large
+RC_Plant | Eff_Sleep | Ele_Fire | RC2_Golem |
+RC_Insect | Eff_Poison | Ele_Wind | RC2_Guardian |
+RC_Fish | Eff_Curse | Ele_Poison | RC2_Ninja |
+RC_Demon | Eff_Silence | Ele_Holy | RC2_Scaraba |
+RC_DemiHuman | Eff_Confusion | Ele_Dark | RC2_Turtle |
+RC_Angel | Eff_Blind | Ele_Ghost | |
+RC_Dragon | Eff_Bleeding | Ele_Undead | |
+RC_Player | Eff_DPoison | Ele_All | |
+RC_Boss | Eff_Fear | | |
+RC_NonBoss | Eff_Cold | | |
+RC_NonDemiHuman | Eff_Burning | | |
+RC_NonPlayer | Eff_Deepsleep | | |
+RC_DemiPlayer | | | |
+RC_NonDemiPlayer | | | |
+RC_All | | | |
+
+
+### Trigger criteria (`bf`)
+ Type 1 | Description
+:----------------- | :------------------------------
+`BF_WEAPON` | Trigger on weapon skills
+`BF_MAGIC` | Trigger on magic skills
+`BF_MISC` | Trigger on misc skills
+
+(Default: `BF_WEAPON`)
+
+ Type 2 | Description
+:----------------- | :------------------------------
+`BF_SHORT` | Trigger on melee attacks
+`BF_LONG` | Trigger on ranged attacks
+
+(Default: `BF_SHORT`+`BF_LONG`)
+
+ Type 3 | Description
+:----------------- | :------------------------------
+`BF_NORMAL` | Trigger on normal attacks
+`BF_SKILL` | Trigger on skills
+
+(Default: `BF_SKILL` if type is `BF_MISC` or `BF_MAGIC`, `BF_NORMAL` if type is `BF_WEAPON`)
+
+
+### Attack Trigger Criteria (`abf`)
+ Type 1 | Description
+:----------------- | :------------------------------
+`ATF_SELF` | Trigger on self
+`ATF_TARGET` | Trigger on target
+
+(Default: `ATF_TARGET`)
+
+ Type 2 | Description
+:----------------- | :------------------------------
+`ATF_SHORT` | Trigger on melee attack
+`ATF_LONG` | Trigger on ranged attack
+
+(Default: `ATF_SHORT`+`ATF_LONG`)
+
+ Type 3 | Description
+:----------------- | :------------------------------
+`ATF_WEAPON` | Trigger on Weapon Skills
+`ATF_MAGIC` | Trigger on magic attacks
+`ATF_MISC` | Trigger on misc skills
+`ATF_SKILL` | Trigger on skill attack
+
+(Default: `ATF_WEAPON`)
+
+ Type 4 | Description
+:----------------- | :------------------------------
+`ATF_SELF` | Trigger effect on self.
+`ATF_TARGET` | Trigger effect on target (default)
+`ATF_SHORT` | Trigger on melee attacks
+`ATF_LONG` | Trigger in ranged attacks (default: trigger on all attacks)
+
+(Default: `ATF_TARGET`)
+
+ Other values | Remarks
+:----------------- | :------------------------------
+Skill (`sk`) | see `db/(pre-)re/skill_db.txt` (NOTE: Both skill IDs and names, with and without quotes, are supported.)
+Monster id (`mid`) | see `db/(pre-)re/mob_db.txt`
+Item id (`id`) | see `db/(pre-)re/item_db.conf`
+Item chain (`ic`) | see `db/(pre-)re/item_chain.conf` (Only Constants)
+Item group (`ig`) | see `db/(pre-)re/item_group.conf` (ItemID)
+Weapon type (`w`) | see `doc/item_db.txt` -> View -> Weapons
+Class (`c`) | see `db/(pre-re)/mob_db.txt` -> For Players, `c` = JobID
+
+---------------
+
+
+## Bonuses
+---------------
+The format of bonuses listed in this file is as follows:
+ * 1. Basic Bonuses
+ * 2. Extended Bonuses
+ * 3. Group-specific Bonuses
+ * 4. Status-related Bonuses
+ * 5. AutoSpell Bonuses
+ * 6. Misc Bonuses
+
+
+---------------
+
+### 1. Basic Bonuses
+
+Base Stats | Description
+:-------------------------------- | :-------------------------
+bonus bStr,`n`; | STR + `n`
+bonus bAgi,`n`; | AGI + `n`
+bonus bVit,`n`; | VIT + `n`
+bonus bInt,`n`; | INT + `n`
+bonus bDex,`n`; | DEX + `n`
+bonus bLuk,`n`; | LUK + `n`
+bonus bAgiVit,`n`; | AGI + `n`, VIT + `n`
+bonus bAgiDexStr,`n`; | STR + `n`, AGI + `n`, DEX + `n`
+bonus bAllStats,`n`; | STR + `n`, AGI + `n`, VIT + `n`, INT + `n`, DEX + `n`, LUK + `n`
+
+HP/SP | Description
+:-------------------------------- | :-------------------------
+bonus bMaxHP,`n`; | MaxHP + `n`
+bonus bMaxHPrate,`n`; | MaxHP + `n`%
+bonus bMaxSP,`n`; | MaxSP + `n`
+bonus bMaxSPrate,`n`; | MaxSP + `n`%
+
+Attack/Def | Description
+:-------------------------------- | :-------------------------
+bonus bAtk,`n`; | ATK + `n`
+bonus bAtk2,`n`; | ATK2 + `n`
+bonus bAtkRate,`n`; | Attack Power + `n`%
+bonus bBaseAtk,`n`; | Basic Attack Power + `n`
+bonus bDef,`n`; | Equipment DEF + `n`
+bonus bDef2,`n`; | VIT based DEF + `n`
+bonus bDefRate,`n`; | Equipment DEF + `n`%
+bonus bDef2Rate,`n`; | VIT based DEF + `n`%
+
+Magic Attack/Def | Description
+:-------------------------------- | :-------------------------
+bonus bMatk,`n`; | Magical attack power + `n`
+bonus bMatkRate,`n`; | Magical attack power + `n`%
+bonus bMdef,`n`; | Equipment MDEF + `n`
+bonus bMdef2,`n`; | INT based MDEF + `n`
+bonus bMdefRate,`n`; | Equipment MDEF + `n`%
+bonus bMdef2Rate,`n`; | INT based MDEF + `n`%
+
+Other Stats | Description
+:-------------------------------- | :-------------------------
+bonus bHit,`n`; | Hit + `n`
+bonus bHitRate,`n`; | Hit + `n`%
+bonus bCritical,`n`; | Critical + `n`
+bonus bCriticalRate,`n`; | Critical + `n`%
+bonus bFlee,`n`; | Flee + `n`
+bonus bFleeRate,`n`; | Flee + `n`%
+bonus bFlee2,`n`; | Perfect Dodge + `n`
+bonus bFlee2Rate,`n`; | Perfect Dodge + `n`%
+bonus bPerfectHitRate,`n`; | On-target impact attack probability `n`% (only the highest among all is applied)
+bonus bPerfectHitAddRate,`n`; | On-target impact attack probability + `n`%
+bonus bSpeedRate,`n`; | Moving speed + `n`% (only the highest among all is applied)
+bonus bSpeedAddRate,`n`; | Moving speed + `n`%
+bonus bAspd,`n`; | Attack speed + `n`
+bonus bAspdRate,`n`; | Attack speed + `n`%
+bonus bAtkRange,`n`; | Attack range + `n`
+bonus bAddMaxWeight,`n`; | MaxWeight + `n` (in units of 0.1)
+
+
+---------------
+
+### 2. Extended Bonuses
+
+HP | Description
+:-------------------------------- | :-------------------------
+bonus bHPrecovRate,`n`; | Natural HP recovery ratio + `n`%
+bonus2 bHPRegenRate,`n`,`t`; | Gain `n` HP every `t` milliseconds
+bonus2 bHPLossRate,`n`,`t`; | Lose `n` HP every `t` millisecond
+
+SP | Description
+:-------------------------------- | :-------------------------
+bonus bSPrecovRate,`n`; | Natural SP recovery ratio + `n`%
+bonus2 bSPRegenRate,`n`,`t`; | Gain `n` SP every `t` milliseconds
+bonus2 bSPLossRate,`n`,`t`; | Lose `n` SP every `t` milliseconds
+bonus bUseSPrate,`n`; | SP consumption + `n`%
+bonus2 bSkillUseSP,`sk`,`n`; | Reduces SP consumption of skill `sk` by n.
+bonus2 bSkillUseSPrate,`sk`,`n`; | Reduces SP consumption of skill `sk` by `n`%
+bonus bNoRegen,`x`; | Stops regeneration for `x` (`x`: 1=HP, 2=SP)
+
+Attack/Def | Description
+:-------------------------------- | :-------------------------
+bonus bNearAtkDef,`n`; | Adds `n`% damage reduction against melee physical attacks
+bonus bLongAtkDef,`n`; | Adds `n`% damage reduction against ranged physical attacks
+bonus bMagicAtkDef,`n`; | Adds `n`% damage reduction against magical attacks
+bonus bMiscAtkDef,`n`; | Adds `n`% damage reduction against MISC attacks (traps, falcon, ...)
+bonus bCriticalDef,`n`; | Decreases Chance of being hit by critical by `n`%
+bonus2 bSkillAtk,`sk`,`n`; | Increase damage of skill `sk` by `n`%
+bonus2 bWeaponAtk,`w`,`n`; | Adds `n` ATK when weapon of type `w` is equipped
+bonus2 bWeaponAtkRate,`w`,`n`; | Adds `n`% damage to weapon attacks when weapon of type `w` is equipped
+bonus bLongAtkRate,`n`; | Increases damage of ranged attacks by `n`%
+bonus bCritAtkRate,`n`; | Increase critical damage by +`n`%
+bonus bNoWeaponDamage,`n`; | Prevents from receiving `n`% physical damage
+bonus bNoMagicDamage,`n`; | Prevents from receiving `n`% magical effect (Attack, Healing, Support spells are all blocked)
+bonus bNoMiscDamage,`n`; | Adds `n`% reduction to received misc damage
+
+Heal | Description
+:-------------------------------- | :-------------------------
+bonus bHealPower,`n`; | Increase heal amount of all heal skills used by player on self by `n`%
+bonus bHealPower2,`n`; | Increase heal amount if you are healed by any skills of others by `n`%
+bonus2 bSkillHeal,`sk`,`n`; | Increase heal amount of skill `sk` by `n`%
+bonus2 bSkillHeal2,`sk`,`n`; | Increase heal amount if you are healed by skill `sk` by `n`%
+bonus bAddItemHealRate,`n`; | Increases HP recovered by `n`% for healing items.
+bonus2 bAddItemHealRate,`id`,`n`; | Increases HP recovered by `n`% for item `id`/`ig`
+
+Skill Cast | Description
+:---------------------------------- | :-------------------------
+bonus bCastrate,`n`; | Skill casting time rate + `n`%
+bonus2 bCastrate,`sk`,`n`; | Adjust casting time of skill `sk` by `n`%
+bonus bFixedCastrate,`n`; | Increases fixed cast time of all skills by `n`%
+bonus2 bFixedCastrate,`s`,`n`; | Increases fixed cast time of skill `sk` by `n`%
+bonus bFixedCast,`t`; | Increases fixed cast time of all skills by `t` milliseconds
+bonus2 bSkillFixedCast,`sk`,`t`; | Increases fixed cast time of skill `sk` by `t` milliseconds
+bonus bVariableCastrate,`n`; | Increases variable cast time of all skills by `n`%
+bonus2 bVariableCastrate,`sk`,`n`; | Increases variable cast time of skill `sk` by `n`%
+bonus bVariableCast,`t`; | Increases variable cast time of all skills by `t` milliseconds
+bonus2 bSkillVariableCast,`sk`,`t`; | Increases variable cast time of skill `sk` by `t` milliseconds
+bonus bNoCastCancel,`n`; | Prevents casting from being interrupted when hit (does not work in GvG | `n` is meaningless)
+bonus bNoCastCancel2,`n`; | Prevents casting from being interrupted when hit (works even in GvG | `n` is meaningless)
+bonus bDelayrate,`n`; | Increases skill delay by `n`%
+bonus2 bSkillCooldown,`sk`,`t`; | Increases cooldown of skill `sk` by `t` milliseconds
+
+
+---------------
+
+### 3. Group-specific Bonuses
+
+Damage Modifiers | Description
+:----------------------------------- | :-------------------------
+bonus2 bAddSize,`s`,`n`; | +n% Physical damage against size `s`
+bonus2 bMagicAddSize,`s`,`n`; | +n% Magical damage against size `s`
+bonus2 bSubSize,`s`,`n`; | +n% Damage reduction against size `s`
+bonus2 bAddRaceTolerance,`r`,`n`; | +n% tolerance against race `r` (Renewal Only)
+bonus2 bAddRace,`r`,`n`; | +n% Physical damage against race `r`
+bonus2 bMagicAddRace,`n`,`x`; | +n% Magical damage against race `r`
+bonus2 bSubRace,`r`,`n`; | +n% Damage reduction against race `r`
+bonus2 bAddRace2,`mr`,`n`; | +n% Damage Against monster race `mr`
+bonus2 bSubRace2,`mr`,`n`; | +n% Damage reduction against monster race `mr`
+bonus2 bAddEle,`e`,`n`; | +n% Physical damage against element `e`
+bonus2 bMagicAddEle,`e`,`n`; | +n% Magical damage against element `e`
+bonus2 bMagicAtkEle,`e`,`n`; | Increases damage of element `e` magic by `n`%
+bonus3 bAddEle,`e`,`n`,`bf`; | +n% physical damage against element `e`
+bonus2 bSubEle,`e`,`n`; | +n% Damage reduction against element `e`
+bonus3 bSubEle,`e`,`n`,`bf`; | +n% Damage reduction against element `e`.
+bonus2 bAddDamageClass,`c`,`x`; | +n% extra physical damage against monsters of class `c`
+bonus2 bAddMagicDamageClass,`c`,`x`; | +n% extra magical damage against monsters of class `c`
+bonus2 bAddDefClass,`c`,`x`; | +n% physical damage reduction against monsters of class `c`
+bonus2 bAddMdefClass,`c`,`x`; | +n% magical damage reduction against monsters of class `c`
+bonus2 bCriticalAddRace,`r`,`n`; | +`n` Critical Against race `r`
+
+Attack/Def | Description
+:------------------------------------- | :-------------------------
+bonus bAtkEle,`e`; | Gives the player's attacks element `e`
+bonus bDefEle,`e`; | Gives the player's defense element `e`
+bonus bDefRatioAtkEle,`e`; | Deals more damage to enemies of element `e` with higher defense
+bonus bDefRatioAtkRace,`r`; | Deals more damage to enemies of race `r` with higher defense
+bonus4 bSetDefRace,`r`,`n`,`t`,`y`; | Set DEF to `y` of an enemy of race `r` at `n`/100% for `t` milliseconds with normal attack
+bonus4 bSetMDefRace,`r`,`n`,`t`,`y`; | Set MDEF to `y` of an enemy of race `r` at `n`/100% for `t` milliseconds with normal attack
+
+Ignore Def | Description
+:-------------------------------- | :-------------------------
+bonus bIgnoreDefRace,`r`; | Disregard DEF against enemies of race `r`
+bonus bIgnoreMdefRace,`r`; | Disregard MDEF against enemies of race `r`
+bonus bIgnoreDefEle,`e`; | Disregard DEF against enemies of element `e`
+bonus bIgnoreMdefEle,`e`; | Disregard MDEF against enemies of element `e`
+bonus2 bIgnoreDefRate,`r`,`n`; | Disregard `n`% of the target's DEF if the target belongs to race `r`
+bonus2 bIgnoreMdefRate,`r`,`n`; | Disregard `n`% of the target's MDEF if the target belongs to race `r`
+bonus bIgnoreMdefRate,`n`; | Disregard `n`% of the target's MDEF
+
+Experience | Description
+:-------------------------------- | :-------------------------
+bonus2 bExpAddRace,`r`,`n`; | +n% Experience from enemies of race `r`
+
+
+---------------
+
+### 4. Status-related Bonuses
+
+Status-related Bonuses | Description
+:------------------------------------------- | :-------------------------
+bonus2 bResEff,`e`,`n`; | Adds a `n`/100% tolerance to effect `e`
+bonus2 bAddEff,`eff`,`n`; | Adds a `n`/100% chance to cause effect `eff` to the target when attacking
+bonus2 bAddEff2,`eff`,`n`; | Adds a `n`/100% chance to cause effect `eff` on self when attacking.
+bonus3 bAddEff,`eff`,`n`,`abf`; | Adds a `n`/100% chance to cause effect `eff` to the target when attacking for target abf
+bonus4 bAddEff,`eff`,`n`,`abf`,`t`; | Adds a `n`/100% chance to cause effect `eff` to the target when attacking for target `abf` for `t` milliseconds <br/> (Note:The effect can't be avoided nor its duration reduced. Duration: 0-65535)
+bonus3 bAddEffOnSkill,`sk`,`eff`,`n`; | Adds a `n`/100% chance to cause effect `eff` on enemy when using skill `sk`
+bonus4 bAddEffOnSkill,`sk`,`eff`,`n`,`abf`; | Adds a `n`/100% chance to cause effect `eff` when using skill `sk`
+bonus2 bAddEffWhenHit,`eff`,`n`; | `n`/100% chance to cause effect `eff` to the enemy when being hit by physical damage
+bonus3 bAddEffWhenHit,`eff`,`n`,`abf`; | Adds a `n`/100% chance to cause effect `eff` to the enemy when being hit by physical damage
+bonus2 bWeaponComaRace,`r`,`n`; | Adds a `n`/100% chance to cause Coma when attacking a monster of race `r` with a weapon attack
+bonus2 bWeaponComaEle,`e`,`n`; | Adds a `n`/100% chance to cause Coma when attacking a monster of element `e` with weapon attack
+
+
+---------------
+
+### 5. AutoSpell Bonuses
+
+NOTES:
+ - For all AutoSpell bonuses, target must be within the spell's range to go off.
+ - By default, AutoSpell skills are casted on target unless it is a self or support skill (inf = 4/16).
+
+AutoSpell Bonuses | Description
+:------------------------------------------------- | :-------------------------
+bonus4 bAutoSpellOnSkill,`sk`,`x`,`y`,`n`; | Adds a `n`/10% chance to autospell skill `x` at level `y` when using skill `sk`
+bonus5 bAutoSpellOnSkill,`sk`,`x`,`y`,`n`,`i`; | Adds a `n`/10% chance to autospell skill `x` at level `y` when using skill `sk` <br/> i: <br/> Flags (bitfield)<br/> &1: Forces the skill to be casted on self, rather than on the target of skill `sk`<br/> &2: Random skill level between 1 and l is chosen.
+bonus4 bAutoSpell,`sk`,`y`,`n`,`i`; | `n`/10% chance to cast skill `sk` of level `y` when attacking
+bonus5 bAutoSpell,`sk`,`y`,`n`,`bf`,`i`; | `n`/10% chance to cast skill `sk` of level `y` when attacking
+bonus4 bAutoSpellWhenHit,`sk`,`y`,`n`,`i`; | `n`/10% chance to cast skill `sk` of level `y` when being hit by a direct attack
+bonus5 bAutoSpellWhenHit,`sk`,`y`,`n`,`bf`,`i`; | `n`/10% chance to cast skill `sk` of level `y` when being hit by a direct attack <br/>i: <br/>0 = cast on self <br/>1 = cast on enemy, not on self <br/>2 = use random skill lv in [1..y] <br/>3 = 1+2 (random lv on enemy)
+bonus3 bAutoSpellWhenHit,`sk`,`x`,`n`; | `n`/10% chance to cast skill `sk` of level `x` on attacker when being hit by a direct attack
+bonus3 bAutoSpell,`sk`,`x`,`n`; | Auto Spell casting on attack of spell `sk` at level `x` with `n`/10% chance
+
+
+---------------
+
+### 6. Misc Bonuses
+
+HP/SP Drain | Description
+:------------------------------------- | :-------------------------
+bonus bHPDrainValue,`n`; | Heals +`n` HP with weapon attack.
+bonus2 bHPDrainValue,`n`,`x`; | Heals +`n` HP with weapon attack. When `x` is non-zero, the HP is drained instead.
+bonus2 bHPDrainRate,`n`,`x`; | `n`/10% probability to drain `x`% HP when attacking
+bonus bSPDrainValue,`n`; | When hitting a monster by physical attack, you gain `n` SP
+bonus2 bSPDrainRate,`n`,`x`; | `n`/10% probability to drain `x`% SP when attacking
+bonus2 bSPDrainValue,`n`,`x`; | When hitting a monster by physical attack <br/> x: <br/> 0: Gain `n` SP <br/> 1: drain `n` SP from target
+bonus3 bSPDrainRate,`n`,`x`,`y`; | When attacking there is a `n`/10% chance to either gain SP equivalent to `x`% of damage dealt, OR drain the amount of sp from the enemy. <br/> y: <br/> 0: Gain SP <br/> 1: Drain SP from target
+bonus2 bHPDrainValueRace,`r`,`n`; | Heals +`n` HP when attacking a monster of race `r` with weapon attack.
+bonus2 bSPDrainValueRace,`r`,`n`; | Heals +`n` SP when attacking a monster of race `r` with weapon attack.
+bonus3 bHPDrainRateRace,`r`,`n`,`x`; | Adds a `n`/10% chance to receive `x`% of damage dealt as HP from a monster of race `r` with weapon attack.
+bonus3 bSPDrainRateRace,`r`,`n`,`x`; | Adds a `n`/10% chance to receive `x`% of damage dealt as SP from a monster of race `r` with weapon attack.
+
+HP/SP Vanish | Description
+:------------------------------------- | :-------------------------
+bonus2 bHPVanishRate,`n`,`x`; | Add the (`n`/10)% chance of decreasing enemy HP amount by `x`% when attacking
+bonus2 bSPVanishRate,`n`,`x`; | Add the (`n`/10)% chance of decreasing enemy SP amount by `x`% when attacking
+bonus3 bHPVanishRate,`n`,`x`,`bf`; | Add the (`n`/10)% chance of decreasing enemy HP amount by `x`% when attacking for criteria `bf`
+bonus3 bSPVanishRate,`n`,`x`,`bf`; | Add the (`n`/10)% chance of decreasing enemy SP amount by `x`% when attacking for criteria `bf`
+
+HP/SP Gain | Description
+:------------------------------------- | :-------------------------
+bonus bHPGainValue,`n`; | When killing a monster by physical attack, you gain `n` HP
+bonus bSPGainValue,`n`; | When killing a monster by physical attack, you gain `n` SP
+bonus bMagicHPGainValue,`n`; | Gains +`n` HP when killing an enemy with magic attack
+bonus bMagicSPGainValue,`n`; | Gains +`n` SP when killing an enemy with magic attack
+bonus2 bHPGainRaceAttack,`r`,`n`; | Heals `n` HP when attacking race `r` on every hit
+bonus2 bSPGainRaceAttack,`r`,`n`; | Heals `n` SP when attacking race `r` on every hit
+bonus2 bSPGainRace,`r`,`n`; | When killing a monster of race `r` by physical attack gain `n` SP
+
+Damage return | Description
+:------------------------------------- | :-------------------------
+bonus bMagicDamageReturn,`n`; | Adds a `n`% chance to reflect targetted magic spells back to the enemy that caused it
+bonus bShortWeaponDamageReturn,`n`; | Reflects `n`% of received melee damage back to the enemy that caused it
+bonus bLongWeaponDamageReturn,`n`; | Reflects `n`% of received ranged damage back to the enemy that caused it
+
+NOTE:
+ - `n` is meaningless if not mentioned.
+
+Strip/Break equipment | Description
+:--------------------------------------- | :-------------------------
+bonus bUnstripable,`n`; | Equipment cannot be taken off via strip skills
+bonus bUnstripableWeapon,`n`; | Weapon cannot be taken off via Strip skills
+bonus bUnstripableArmor,`n`; | Armor cannot be taken off via Strip skills
+bonus bUnstripableHelm,`n`; | Helm cannot be taken off via Strip skills
+bonus bUnstripableShield,`n`; | Shield cannot be taken off via Strip skills
+bonus bUnbreakable,`n`; | Reduces the break chance of all equipped equipment by `n`%.
+bonus bUnbreakableGarment,`n`; | Garment cannot be damaged/broken by any means
+bonus bUnbreakableWeapon,`n`; | Weapon cannot be damaged/broken by any means
+bonus bUnbreakableArmor,`n`; | Armor cannot be damaged/broken by any means
+bonus bUnbreakableHelm,`n`; | Helm cannot be damaged/broken by any means
+bonus bUnbreakableShield,`n`; | Shield cannot be damaged/broken by any means
+bonus bUnbreakableShoes,`n`; | Shoes cannot be damaged/broken by any means
+bonus bBreakWeaponRate,`n`; | Adds a `n`/100% chance to break enemy's weapon while attacking (Stackable)
+bonus bBreakArmorRate,`n`; | Adds a `n`/100% chance to break enemy's armor while attacking (Stackable)
+
+NOTE:
+ - `n` is meaningless if not mentioned.
+
+Monster Related | Description
+:----------------------------------------- | :-------------------------
+bonus3 bAddClassDropItem,`id`,`c`,`n`; | Adds a `n`/100% chance of dropping item id when killing monster mid
+bonus2 bAddMonsterDropItem,`id`,`n`; | Adds a `n`/100% chance for item id to be dropped, when killing any monster.
+bonus3 bAddMonsterDropItem,`id`,`r`,`n`; | Adds a `n`/100% chance for item id to be dropped, when killing any monster of race `r`. <br/> If `n` is negative value, then it's a part of formula <br/> `chance = -y*(killed_mob_level/10)+1`
+bonus bAddMonsterDropChainItem,`ic`; | Able to get Item of chain `ic` when you kill a monster
+bonus2 bAddMonsterDropChainItem,`ic`,`r`; | Able to get item of chain `ic` when you kill a monster of race `r`
+bonus2 bGetZenyNum,`x`,`n`; | When killing a monster, there is a `n`% chance of gaining 1~x zeny (only the highest among all is applied).
+bonus2 bAddGetZenyNum,`x`,`n`; | When killing a monster, there is a `n`% chance of gaining 1~x zeny (Stackable) <br/> x: <br/> < 0: Max Zeny gain is `(-x*monster_level)`
+
+Misc effects | Description
+:------------------------------------- | :-------------------------
+skill i,`n`; | Gives skill #i at level n
+bonus bDoubleRate,`n`; | Double Attack probability +n% (works with all weapons | only the highest among all is applied)
+bonus bDoubleAddRate,`n`; | Double Attack probability +n% (works with all weapons)
+bonus bSplashRange,`n`; | Splash attack radius +`n` (highest is applied)
+bonus bSplashAddRange,`n`; | Splash attack radius + `n` (e.g. `n`=1 makes a `3*3` cells area, `n`=2 a `5*5` area, etc) <br/> `n`: <br/> 1: 3*3 Area <br/> 2: 5*5 Area <br/> ...
+bonus bClassChange,`n`; | Gives a `n`/100% chance to change the attacked monster's class with normal attack.
+bonus bAddStealRate,`n`; | `n`/100% increase to Steal skill success chance
+bonus bRestartFullRecover,`n`; | When reviving, HP and SP are fully healed
+bonus bNoSizeFix,`n`; | The attack revision with the size of the monster is not received
+bonus bNoGemStone,`n`; | Skills requiring Gemstones do no require them (Hocus Pocus will still require 1 Yellow Gemstone)
+bonus bIntravision,`n`; | Always see Hiding and Cloaking players/mobs <br/> `n`: is meaningless
+bonus2 bAddSkillBlow,`sk`,`n`; | Knockbacks the target by `n` cells when using skill `sk`
+bonus bNoKnockback,`n`; | Character is no longer knocked back by enemy skills with such effect (`n` is meaningless)
+bonus bPerfectHide,`n`; | Hidden/cloaked character is no longer detected by monsters with 'detector' mode (`n` is meaningless).
+
diff --git a/doc/item_bonus.txt b/doc/item_bonus.txt
deleted file mode 100644
index dd176d919..000000000
--- a/doc/item_bonus.txt
+++ /dev/null
@@ -1,444 +0,0 @@
-//===== Hercules Documentation ===============================
-//= Hercules Item Bonuses List
-//===== By: ==================================================
-//= Hercules Dev Team
-//===== Current Version: =====================================
-//= 20150624
-//===== Description: =========================================
-//= List of script instructions used in item bonuses,
-//= mainly bonus/bonus2/bonus3/bonus4/bonus5 arguments.
-//============================================================
-
-Constants
----------
-This list contains all available constants referenced in the 'bonus' commands.
-
-* Status effect (eff)
- Eff_Stone, Eff_Freeze, Eff_Stun, Eff_Sleep, Eff_Poison, Eff_Curse, Eff_Silence,
- Eff_Confusion, Eff_Blind, Eff_Bleeding, Eff_DPoison, Eff_Fear, Eff_Cold,
- Eff_Burning, Eff_Deepsleep
-
-* Element (e)
- Ele_Neutral, Ele_Water, Ele_Earth, Ele_Fire, Ele_Wind, Ele_Poison,
- Ele_Holy, Ele_Dark, Ele_Ghost, Ele_Undead, Ele_All
-
-* Race (r)
- RC_Formless, RC_Undead, RC_Brute, RC_Plant, RC_Insect, RC_Fish,
- RC_Demon, RC_DemiHuman, RC_Angel, RC_Dragon, RC_Player, RC_Boss,
- RC_NonBoss, RC_NonDemiHuman, RC_NonPlayer, RC_DemiPlayer,
- RC_NonDemiPlayer, RC_All
-
-* Monster Race (mr)
- RC2_Goblin, RC2_Kobold, RC2_Orc, RC2_Golem, RC2_Guardian, RC2_Ninja,
- RC2_Scaraba, RC2_Turtle
-
-* Size (s)
- Size_Small, Size_Medium, Size_Large
-
-* Trigger criteria (bf)
- BF_WEAPON: Trigger on weapon skills
- BF_MAGIC: Trigger on magic skills
- BF_MISC: Trigger on misc skills
- (Default: BF_WEAPON)
-
- BF_SHORT: Trigger on melee attacks
- BF_LONG: Trigger on ranged attacks
- (Default: BF_SHORT+BF_LONG)
-
- BF_NORMAL: Trigger on normal attacks
- BF_SKILL: Trigger on skills
- (Default: BF_SKILL if type is BF_MISC or BF_MAGIC, BF_NORMAL if type is BF_WEAPON)
-
-* Attack Trigger Criteria (abf)
- ATF_SELF: Trigger on self
- ATF_TARGET: Trigger on target
- (Default: ATF_TARGET)
-
- ATF_SHORT: Trigger on melee attack
- ATF_LONG: Trigger on ranged attack
- (Default: ATF_SHORT+ATF_LONG)
-
- ATF_WEAPON: Trigger on Weapon Skills
- ATF_MAGIC: Trigger on magic attacks
- ATF_MISC: Trigger on misc skills
- ATF_SKILL: Trigger on skill attack
- (Default: ATF_WEAPON)
-
-ATF_SELF: Trigger effect on self.
- ATF_TARGET: Trigger effect on target (default)
- ATF_SHORT: Trigger on melee attacks
- ATF_LONG: Trigger in ranged attacks (default: trigger on all attacks)
-* Other values:
- Skill (sk): see 'db/(pre-)re/skill_db.txt' (NOTE: Both skill IDs and names, with and without quotes, are supported.)
- Monster id (mid): see 'db/(pre-)re/mob_db.txt'
- Item id (id): see 'db/(pre-)re/item_db.conf'
- Item chain (ic): see 'db/(pre-)re/item_chain.conf' (Only Constants)
- Item group (ig): see 'db/(pre-)re/item_group.conf' (ItemID)
- Weapon type (w): see 'doc/item_db.txt' -> View -> Weapons
- Class (c): see 'db/(pre-re)/mob_db.txt' -> For Players, c = JobID
-
-Bonuses
--------
-The format of bonuses listed in this file is as follows:
- 1. Basic Bonuses
- 2. Extended Bonuses
- 3. Group-specific Bonuses
- 4. Status-related Bonuses
- 5. AutoSpell Bonuses
- 6. Misc Bonuses
-
-====================
-| 1. Basic Bonuses |
-====================
-
-Base Stats
-----------
-bonus bStr,n; STR + n
-bonus bAgi,n; AGI + n
-bonus bVit,n; VIT + n
-bonus bInt,n; INT + n
-bonus bDex,n; DEX + n
-bonus bLuk,n; LUK + n
-bonus bAgiVit,n; AGI + n, VIT + n
-bonus bAgiDexStr,n; STR + n, AGI + n, DEX + n
-bonus bAllStats,n; STR + n, AGI + n, VIT + n, INT + n, DEX + n, LUK + n
-
-HP/SP
------
-bonus bMaxHP,n; MaxHP + n
-bonus bMaxHPrate,n; MaxHP + n%
-bonus bMaxSP,n; MaxSP + n
-bonus bMaxSPrate,n; MaxSP + n%
-
-Attack/Def
-----------
-bonus bAtk,n; ATK + n
-bonus bAtk2,n; ATK2 + n
-bonus bAtkRate,n; Attack Power + n%
-bonus bBaseAtk,n; Basic Attack Power + n
-bonus bDef,n; Equipment DEF + n
-bonus bDef2,n; VIT based DEF + n
-bonus bDefRate,n; Equipment DEF + n%
-bonus bDef2Rate,n; VIT based DEF + n%
-
-Magic Attack/Def
-----------------
-bonus bMatk,n; Magical attack power + n
-bonus bMatkRate,n; Magical attack power + n%
-bonus bMdef,n; Equipment MDEF + n
-bonus bMdef2,n; INT based MDEF + n
-bonus bMdefRate,n; Equipment MDEF + n%
-bonus bMdef2Rate,n; INT based MDEF + n%
-
-Other Stats
------------
-bonus bHit,n; Hit + n
-bonus bHitRate,n; Hit + n%
-bonus bCritical,n; Critical + n
-bonus bCriticalRate,n; Critical + n%
-bonus bFlee,n; Flee + n
-bonus bFleeRate,n; Flee + n%
-bonus bFlee2,n; Perfect Dodge + n
-bonus bFlee2Rate,n; Perfect Dodge + n%
-bonus bPerfectHitRate,n; On-target impact attack probability n% (only the highest among all is applied)
-bonus bPerfectHitAddRate,n; On-target impact attack probability + n%
-bonus bSpeedRate,n; Moving speed + n% (only the highest among all is applied)
-bonus bSpeedAddRate,n; Moving speed + n%
-bonus bAspd,n; Attack speed + n
-bonus bAspdRate,n; Attack speed + n%
-bonus bAtkRange,n; Attack range + n
-bonus bAddMaxWeight,n; MaxWeight + n (in units of 0.1)
-
-=======================
-| 2. Extended Bonuses |
-=======================
-
-HP
---
-bonus bHPrecovRate,n; Natural HP recovery ratio + n%
-bonus2 bHPRegenRate,n,t; Gain n HP every t milliseconds
-bonus2 bHPLossRate,n,t; Lose n HP every t millisecond
-
-SP
---
-bonus bSPrecovRate,n; Natural SP recovery ratio + n%
-bonus2 bSPRegenRate,n,t; Gain n SP every t milliseconds
-bonus2 bSPLossRate,n,t; Lose n SP every t milliseconds
-bonus bUseSPrate,n; SP consumption + n%
-bonus2 bSkillUseSP,sk,n; Reduces SP consumption of skill sk by n.
-bonus2 bSkillUseSPrate,sk,n; Reduces SP consumption of skill sk by n%
-bonus bNoRegen,x; Stops regeneration for x (x: 1=HP, 2=SP)
-
-Attack/Def
-----------
-bonus bNearAtkDef,n; Adds n% damage reduction against melee physical attacks
-bonus bLongAtkDef,n; Adds n% damage reduction against ranged physical attacks
-bonus bMagicAtkDef,n; Adds n% damage reduction against magical attacks
-bonus bMiscAtkDef,n; Adds n% damage reduction against MISC attacks (traps, falcon, ...)
-bonus bCriticalDef,n; Decreases Chance of being hit by critical by n%
-
-bonus2 bSkillAtk,sk,n; Increase damage of skill sk by n%
-bonus2 bWeaponAtk,w,n; Adds n ATK when weapon of type w is equipped
-bonus2 bWeaponAtkRate,w,n; Adds n% damage to weapon attacks when weapon of type w is equipped
-bonus bLongAtkRate,n; Increases damage of ranged attacks by n%
-bonus bCritAtkRate,n; Increase critical damage by +n%
-
-bonus bNoWeaponDamage,n; Prevents from receiving n% physical damage
-bonus bNoMagicDamage,n; Prevents from receiving n% magical effect (Attack, Healing, Support spells are all blocked)
-bonus bNoMiscDamage,n; Adds n% reduction to received misc damage
-
-Heal
-----
-bonus bHealPower,n; Increase heal amount of all heal skills used by player on self by n%
-bonus bHealPower2,n; Increase heal amount if you are healed by any skills of others by n%
-
-bonus2 bSkillHeal,sk,n; Increase heal amount of skill sk by n%
-bonus2 bSkillHeal2,sk,n; Increase heal amount if you are healed by skill sk by n%
-
-bonus bAddItemHealRate,n; Increases HP recovered by n% for healing items.
-bonus2 bAddItemHealRate,id,n; Increases HP recovered by n% for item id/ig
-
-Skill Cast
-----------
-bonus bCastrate,n; Skill casting time rate + n%
-bonus2 bCastrate,sk,n; Adjust casting time of skill sk by n%
-
-bonus bFixedCastrate,n; Increases fixed cast time of all skills by n%
-bonus2 bFixedCastrate,s,n; Increases fixed cast time of skill sk by n%
-bonus bFixedCast,t; Increases fixed cast time of all skills by t milliseconds
-bonus2 bSkillFixedCast,sk,t; Increases fixed cast time of skill sk by t milliseconds
-
-bonus bVariableCastrate,n; Increases variable cast time of all skills by n%
-bonus2 bVariableCastrate,sk,n; Increases variable cast time of skill sk by n%
-bonus bVariableCast,t; Increases variable cast time of all skills by t milliseconds
-bonus2 bSkillVariableCast,sk,t; Increases variable cast time of skill sk by t milliseconds
-
-bonus bNoCastCancel,n; Prevents casting from being interrupted when hit (does not work in GvG | n is meaningless)
-bonus bNoCastCancel2,n; Prevents casting from being interrupted when hit (works even in GvG | n is meaningless)
-
-bonus bDelayrate,n; Increases skill delay by n%
-bonus2 bSkillCooldown,sk,t; Increases cooldown of skill sk by t milliseconds
-
-=============================
-| 3. Group-specific Bonuses |
-=============================
-
-Damage Modifiers
-----------------
-bonus2 bAddSize,s,n; +n% Physical damage against size s
-bonus2 bMagicAddSize,s,n; +n% Magical damage against size s
-bonus2 bSubSize,s,n; +n% Damage reduction against size s
-
-bonus2 bAddRaceTolerance,r,n; +n% tolerance against race r (Renewal Only)
-
-bonus2 bAddRace,r,n; +n% Physical damage against race r
-bonus2 bMagicAddRace,n,x; +n% Magical damage against race r
-bonus2 bSubRace,r,n; +n% Damage reduction against race r
-
-bonus2 bAddRace2,mr,n; +n% Damage Against monster race mr
-bonus2 bSubRace2,mr,n; +n% Damage reduction against monster race mr
-
-bonus2 bAddEle,e,n; +n% Physical damage against element e
-bonus2 bMagicAddEle,e,n; +n% Magical damage against element e
-bonus2 bMagicAtkEle,e,n; Increases damage of element e magic by n%
-bonus3 bAddEle,e,n,bf; +n% physical damage against element e
-bonus2 bSubEle,e,n; +n% Damage reduction against element e
-bonus3 bSubEle,e,n,bf; +n% Damage reduction against element e.
-
-bonus2 bAddDamageClass,c,x; +n% extra physical damage against monsters of class c
-bonus2 bAddMagicDamageClass,c,x; +n% extra magical damage against monsters of class c
-bonus2 bAddDefClass,c,x; +n% physical damage reduction against monsters of class c
-bonus2 bAddMDefClass,c,x; +n% magical damage reduction against monsters of class c
-bonus2 bCriticalAddRace,r,n; +n Critical Against race r
-
-Attack/Def
-----------
-bonus bAtkEle,e; Gives the player's attacks element e
-bonus bDefEle,e; Gives the player's defense element e
-
-bonus bDefRatioAtkEle,e; Deals more damage to enemies of element e with higher defense
-bonus bDefRatioAtkRace,r; Deals more damage to enemies of race r with higher defense
-
-bonus4 bSetDefRace,r,n,t,y; Set DEF to y of an enemy of race r at n/100% for t milliseconds with normal attack
-bonus4 bSetMDefRace,r,n,t,y; Set MDEF to y of an enemy of race r at n/100% for t milliseconds with normal attack
-
-Ignore Def
-----------
-bonus bIgnoreDefRace,r; Disregard DEF against enemies of race r
-bonus bIgnoreMDefRace,r; Disregard MDEF against enemies of race r
-
-bonus bIgnoreDefEle,e; Disregard DEF against enemies of element e
-bonus bIgnoreMDefEle,e; Disregard MDEF against enemies of element e
-
-bonus2 bIgnoreDefRate,r,n; Disregard n% of the target's DEF if the target belongs to race r
-bonus2 bIgnoreMdefRate,r,n; Disregard n% of the target's MDEF if the target belongs to race r
-
-bonus bIgnoreMdefRate,n; Disregard n% of the target's MDEF
-
-Experience
-----------
-bonus2 bExpAddRace,r,n; +n% Experience from enemies of race r
-
-=============================
-| 4. Status-related Bonuses |
-=============================
-bonus2 bResEff,e,n; Adds a n/100% tolerance to effect e
-bonus2 bAddEff,eff,n; Adds a n/100% chance to cause effect eff to the target when attacking
-bonus2 bAddEff2,eff,n; Adds a n/100% chance to cause effect eff on self when attacking.
-bonus3 bAddEff,eff,n,abf; Adds a n/100% chance to cause effect eff to the target when attacking for target abf
-bonus4 bAddEff,eff,n,abf,t; Adds a n/100% chance to cause effect eff to the target when attacking for target abf for t milliseconds
- (Note:The effect can't be avoided nor its duration reduced. Duration: 0-65535)
-bonus3 bAddEffOnSkill,sk,eff,n; Adds a n/100% chance to cause effect eff on enemy when using skill sk
-bonus4 bAddEffOnSkill,sk,eff,n,abf; Adds a n/100% chance to cause effect eff when using skill sk
-
-bonus2 bAddEffWhenHit,eff,n; n/100% chance to cause effect eff to the enemy when being hit by physical damage
-bonus3 bAddEffWhenHit,eff,n,abf; Adds a n/100% chance to cause effect eff to the enemy when being hit by physical damage
-
-bonus2 bWeaponComaRace,r,n; Adds a n/100% chance to cause Coma when attacking a monster of race r with a weapon attack
-bonus2 bWeaponComaEle,e,n; Adds a n/100% chance to cause Coma when attacking a monster of element e with weapon attack
-
-========================
-| 5. AutoSpell Bonuses |
-========================
-NOTES:
- - For all AutoSpell bonuses, target must be within the spell's range to go off.
- - By default, AutoSpell skills are casted on target unless it is a self or support skill (inf = 4/16).
-
-bonus4 bAutoSpellOnSkill,sk,x,y,n; Adds a n/10% chance to autospell skill x at level y when using skill sk
-bonus5 bAutoSpellOnSkill,sk,x,y,n,i; Adds a n/10% chance to autospell skill x at level y when using skill sk
- i: Flags (bitfield)
- &1: Forces the skill to be casted on self, rather than on the target of skill sk
- &2: Random skill level between 1 and l is chosen.
-
-bonus4 bAutoSpell,sk,y,n,i; n/10% chance to cast skill sk of level y when attacking
-bonus5 bAutoSpell,sk,y,n,bf,i; n/10% chance to cast skill sk of level y when attacking
-bonus4 bAutoSpellWhenHit,sk,y,n,i; n/10% chance to cast skill sk of level y when being hit by a direct attack
-bonus5 bAutoSpellWhenHit,sk,y,n,bf,i; n/10% chance to cast skill sk of level y when being hit by a direct attack
- i:
- 0 = cast on self
- 1 = cast on enemy, not on self
- 2 = use random skill lv in [1..y]
- 3 = 1+2 (random lv on enemy)
-
-bonus3 bAutoSpellWhenHit,sk,x,n; n/10% chance to cast skill sk of level x on attacker when being hit by a direct attack
-bonus3 bAutoSpell,sk,x,n; Auto Spell casting on attack of spell sk at level x with n/10% chance
-
-===================
-| 6. Misc Bonuses |
-===================
-
-HP/SP Drain
------------
-bonus bHPDrainValue,n; Heals +n HP with weapon attack.
-bonus2 bHPDrainValue,n,x; Heals +n HP with weapon attack. When x is non-zero, the HP is drained instead.
-bonus2 bHPDrainRate,n,x; n/10% probability to drain x% HP when attacking
-
-bonus bSPDrainValue,n; When hitting a monster by physical attack, you gain n SP
-bonus2 bSPDrainRate,n,x; n/10% probability to drain x% SP when attacking
-bonus2 bSPDrainValue,n,x; When hitting a monster by physical attack
- x:
- 0: Gain n SP
- 1: drain n SP from target
-bonus3 bSPDrainRate,n,x,y; When attacking there is a n/10% chance to either gain SP equivalent to x% of damage dealt,
- OR drain the amount of sp from the enemy.
- y:
- 0: Gain SP
- 1: Drain SP from target
-
-bonus2 bHPDrainValueRace,r,n; Heals +n HP when attacking a monster of race r with weapon attack.
-bonus2 bSPDrainValueRace,r,n; Heals +n SP when attacking a monster of race r with weapon attack.
-
-bonus3 bHPDrainRateRace,r,n,x; Adds a n/10% chance to receive x% of damage dealt as HP from a monster of race r with weapon attack.
-bonus3 bSPDrainRateRace,r,n,x; Adds a n/10% chance to receive x% of damage dealt as SP from a monster of race r with weapon attack.
-
-HP/SP Vanish
-------------
-bonus2 bHPVanishRate,n,x; Add the (n/10)% chance of decreasing enemy HP amount by x% when attacking
-bonus2 bSPVanishRate,n,x; Add the (n/10)% chance of decreasing enemy SP amount by x% when attacking
-
-bonus3 bHPVanishRate,n,x,bf; Add the (n/10)% chance of decreasing enemy HP amount by x% when attacking for criteria bf
-bonus3 bSPVanishRate,n,x,bf; Add the (n/10)% chance of decreasing enemy SP amount by x% when attacking for criteria bf
-
-HP/SP Gain
-----------
-bonus bHPGainValue,n; When killing a monster by physical attack, you gain n HP
-bonus bSPGainValue,n; When killing a monster by physical attack, you gain n SP
-
-bonus bMagicHPGainValue,n; Gains +n HP when killing an enemy with magic attack
-bonus bMagicSPGainValue,n; Gains +n SP when killing an enemy with magic attack
-
-bonus2 bHPGainRaceAttack,r,n; Heals n HP when attacking Race r on every hit
-bonus2 bSPGainRaceAttack,r,n; Heals n SP when attacking Race r on every hit
-
-bonus2 bSPGainRace,r,n; When killing a monster of race r by physical attack gain n SP
-
-Damage return
--------------
-bonus bMagicDamageReturn,n; Adds a n% chance to reflect targetted magic spells back to the enemy that caused it
-bonus bShortWeaponDamageReturn,n; Reflects n% of received melee damage back to the enemy that caused it
-bonus bLongWeaponDamageReturn,n; Reflects n% of received ranged damage back to the enemy that caused it
-
-Strip/Break equipment
----------------------
-NOTE:
- - n is meaningless if not mentioned.
-bonus bUnstripable,n; Equipment cannot be taken off via strip skills
-bonus bUnstripableWeapon,n; Weapon cannot be taken off via Strip skills
-bonus bUnstripableArmor,n; Armor cannot be taken off via Strip skills
-bonus bUnstripableHelm,n; Helm cannot be taken off via Strip skills
-bonus bUnstripableShield,n; Shield cannot be taken off via Strip skills
-
-bonus bUnbreakable,n; Reduces the break chance of all equipped equipment by n%.
-bonus bUnbreakableGarment,n; Garment cannot be damaged/broken by any means
-bonus bUnbreakableWeapon,n; Weapon cannot be damaged/broken by any means
-bonus bUnbreakableArmor,n; Armor cannot be damaged/broken by any means
-bonus bUnbreakableHelm,n; Helm cannot be damaged/broken by any means
-bonus bUnbreakableShield,n; Shield cannot be damaged/broken by any means
-bonus bUnbreakableShoes,n; Shoes cannot be damaged/broken by any means
-
-bonus bBreakWeaponRate,n; Adds a n/100% chance to break enemy's weapon while attacking (Stackable)
-bonus bBreakArmorRate,n; Adds a n/100% chance to break enemy's armor while attacking (Stackable)
-
-Monster Related
----------------
-bonus3 bAddClassDropItem,id,c,n; Adds a n/100% chance of dropping item id when killing monster mid
-
-bonus2 bAddMonsterDropItem,id,n; Adds a n/100% chance for item id to be dropped, when killing any monster.
-bonus3 bAddMonsterDropItem,id,r,n; Adds a n/100% chance for item id to be dropped, when killing any monster of race r.
- If 'n' is negative value, then it's a part of formula
- chance = -y*(killed_mob_level/10)+1
-
-bonus bAddMonsterDropChainItem,ic; Able to get Item of chain ic when you kill a monster
-bonus2 bAddMonsterDropChainItem,ic,r; Able to get item of chain ic when you kill a monster of race r
-
-bonus2 bGetZenyNum,x,n; When killing a monster, there is a n% chance of gaining 1~x zeny (only the highest among all is applied).
-bonus2 bAddGetZenyNum,x,n; When killing a monster, there is a n% chance of gaining 1~x zeny (Stackable)
- x:
- < 0: Max Zeny gain is (-x*monster_level)
-
-Misc effects
-------------
-skill i,n; Gives skill #i at level n
-
-bonus bDoubleRate,n; Double Attack probability +n% (works with all weapons | only the highest among all is applied)
-bonus bDoubleAddRate,n; Double Attack probability +n% (works with all weapons)
-
-bonus bSplashRange,n; Splash attack radius +n (highest is applied)
-bonus bSplashAddRange,n; Splash attack radius + n (e.g. n=1 makes a 3*3 cells area, n=2 a 5*5 area, etc)
- n:
- 1: 3*3 Area
- 2: 5*5 Area
- ...
-
-bonus bClassChange,n; Gives a n/100% chance to change the attacked monster's class with normal attack.
-bonus bAddStealRate,n; n/100% increase to Steal skill success chance
-bonus bRestartFullRecover,n; When reviving, HP and SP are fully healed
-bonus bNoSizeFix,n; The attack revision with the size of the monster is not received
-bonus bNoGemStone,n; Skills requiring Gemstones do no require them (Hocus Pocus will still require 1 Yellow Gemstone)
-bonus bIntravision,n; Always see Hiding and Cloaking players/mobs
- n: is meaningless
-
-bonus2 bAddSkillBlow,sk,n; Knockbacks the target by n cells when using skill sk
-bonus bNoKnockback,n; Character is no longer knocked back by enemy skills with such effect (n is meaningless)
-
-bonus bPerfectHide,n; Hidden/cloaked character is no longer detected by monsters with 'detector' mode (n is meaningless).
diff --git a/doc/mob_db.txt b/doc/mob_db.txt
index 29d2ab465..d62181048 100644
--- a/doc/mob_db.txt
+++ b/doc/mob_db.txt
@@ -63,10 +63,14 @@ mob_db: (
MvpExp: mvp experience (int, defaults to 0)
MvpDrops: {
AegisName: chance (string: int)
+ // or
+ AegisName: (chance, "Option Drop Group")
// ...
}
Drops: {
- AegisName: chance (string: int)
+ AegisName: chance (string: int)
+ // or
+ AegisName: (chance, "Option Drop Group")
// ...
}
},
@@ -199,21 +203,55 @@ MvpExp: Base Experience given by the monster to the player who inflict more atta
MvpDrops: Sets monster mvp drops list. Requires to have MvpExp to trigger.
- Accepted values are AegisName as defined on item_db.conf and a chance.
+ There are two ways to define a drop:
+ 1) The first one is used for simple drops and uses the item AegisName
+ as defined on item_db.conf and a chance.
+ Format:
+ AegisName: chance
Chance is an integer from 1 to 10000 (10000 = 100%).
- Required format:
- MvpDrops: {
- AegisName: chance
- // ...
- }
- When not specified, becomes false.
+
+ 2) The second way to define a drop allows setting a random option drop
+ group to be used by this drop.
+ Format:
+ AegisName: (chance, "Option Drop Group")
+
+ The item drop chance refers to the chance of dropping this item, same as chance in the first option.
+ the "Option Drop Group" parameter refers to an entry on option_drop_group database file. The specified
+ entry will be used when this item is dropped in order to add random options to the dropped equipment.
+
+ A monster drop list may use both format for different items.
+ Required Format:
+ Drops: {
+ AegisName: chance
+ // or
+ AegisName: (chance, "Option Drop Group")
+ }
+
+ When not specified, becomes false (no drops).
Drops: Sets monster drops list.
- Accepted values are AegisName as defined on item_db.conf and a chance.
+ There are two ways to define a drop:
+ 1) The first one is used for simple drops and uses the item AegisName
+ as defined on item_db.conf and a chance.
+ Format:
+ AegisName: chance
Chance is an integer from 1 to 10000 (10000 = 100%).
- Required format:
- Drops: {
- AegisName: chance
- // ...
- }
- When not specified, becomes false.
+
+ 2) The second way to define a drop allows setting a random option drop
+ group to be used by this drop.
+ Format:
+ AegisName: (chance, "Option Drop Group")
+
+ The item drop chance refers to the chance of dropping this item, same as chance in the first option.
+ the "Option Drop Group" parameter refers to an entry on option_drop_group database file. The specified
+ entry will be used when this item is dropped in order to add random options to the dropped equipment.
+
+ A monster drop list may use both format for different items.
+ Required Format:
+ Drops: {
+ AegisName: chance
+ // or
+ AegisName: (chance, "Option Drop Group")
+ }
+
+ When not specified, becomes false (no drops).
diff --git a/doc/mob_db_mode_list.md b/doc/mob_db_mode_list.md
new file mode 100644
index 000000000..a8ad4fa0a
--- /dev/null
+++ b/doc/mob_db_mode_list.md
@@ -0,0 +1,72 @@
+# Hercules Monster Modes Reference
+
+<!--
+## Copyright
+> This file is part of Hercules.
+> http://herc.ws - http://github.com/HerculesWS/Hercules
+>
+> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) Athena Dev Teams
+>
+> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+>
+> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+> See the GNU General Public License for more details.
+>
+> You should have received a copy of the GNU General Public License along with this program.
+> If not, see <http://www.gnu.org/licenses/>.
+-->
+
+## Description
+A reference description of Hercules's mob_db.conf `mode` field.
+
+## Monster Mode Legend:
+Constant Name | Bits | Value | Description
+:-------------------- | :-----: | :------: | :----------------
+MD_CANMOVE | 0x00001 | 1 | Enables the mob to move/chase characters.
+MD_LOOTER | 0x00002 | 2 | The mob will loot up nearby items on the ground when it's on idle state.
+MD_AGGRESSIVE | 0x00004 | 4 | Normal aggressive mob, will look for a close-by player to attack.
+MD_ASSIST | 0x00008 | 8 | When a nearby mob of the same class attacks, assist types will join them.
+MD_CASTSENSOR_IDLE | 0x00010 | 16 | Will go after characters who start casting on them if idle or walking (without a target).
+MD_BOSS | 0x00020 | 32 | Special flag which makes mobs immune to certain status changes and skills.
+MD_PLANT | 0x00040 | 64 | Always receives 1 damage from attacks.
+MD_CANATTACK | 0x00080 | 128 | Enables the mob to attack/retaliate when you are within attack range. <br/>Note that this only enables them to use normal attacks, skills are always allowed.
+MD_DETECTOR | 0x00100 | 256 | Enables mob to detect and attack characters who are in hiding/cloak.
+MD_CASTSENSOR_CHASE | 0x00200 | 512 | Will go after characters who start casting on them if idle or chasing other players (they switch chase targets)
+MD_CHANGECHASE | 0x00400 | 1024 | Allows chasing mobs to switch targets if another player happens to be within attack range (handy on ranged attackers, for example)
+MD_ANGRY | 0x00800 | 2048 | These mobs are "hyper-active". Apart from "chase"/"attack", they have the states "follow"/"angry". </br>Once hit, they stop using these states and use the normal ones. The new states are used to determine a different skill-set for their "before attacked" and "after attacked" states. </br>Also, when "following", they automatically switch to whoever character is closest.
+MD_CHANGETARGET_MELEE | 0x01000 | 4096 | Enables a mob to switch targets when attacked while attacking someone else.
+MD_CHANGETARGET_CHASE | 0x02000 | 8192 | Enables a mob to switch targets when attacked while chasing another character.
+MD_TARGETWEAK | 0x04000 | 16384 | Allows aggressive monsters to only be aggressive against characters that are five levels below it's own level. </br>For example, a monster of level 104 will not pick fights with a level 99.
+MD_NOKNOCKBACK | 0x08000 | 32768 | Monsters will be immune to knockback's effect.
+MD_RANDOMTARGET | 0x10000 | 65536 | Picks a new random target in range on each attack/skill. (not implemented)
+
+## Aegis Mob Types:
+What Aegis has are mob-types, where each type represents an AI behavior that is mimicked by a group of eA mode bits.
+This is the table to convert from one to another:
+
+No. | Bits | Mob Type | Aegis/eA Description
+--: | :----: | :------: | :----------------
+ 01 | 0x0081 | Any | passive
+ 02 | 0x0083 | Any | passive, looter
+ 03 | 0x1089 | Any | passive, assist and change-target melee
+ 04 | 0x3885 | Any | angry, change-target melee/chase
+ 05 | 0x2085 | Any | aggressive, change-target chase
+ 06 | 0x0000 | Plants | passive, immobile, can't attack
+ 07 | 0x108B | Any | passive, looter, assist, change-target melee
+ 08 | 0x6085 | Any | aggressive, change-target chase, target weak enemies
+ 09 | 0x3095 | Guardian | aggressive, change-target melee/chase, cast sensor idle
+ 10 | 0x0084 | Any | aggressive, immobile
+ 11 | 0x0084 | Guardian | aggressive, immobile
+ 12 | 0x2085 | Guardian | aggressive, change-target chase
+ 13 | 0x308D | Any | aggressive, change-target melee/chase, assist
+ 17 | 0x0091 | Any | passive, cast sensor idle
+ 19 | 0x3095 | Any | aggressive, change-target melee/chase, cast sensor idle
+ 20 | 0x3295 | Any | aggressive, change-target melee/chase, cast sensor idle/chase
+ 21 | 0x3695 | Any | aggressive, change-target melee/chase, cast sensor idle/chase, chase-change target
+ 25 | 0x0001 | Pet | passive, can't attack
+ 26 | 0xB695 | Any | aggressive, change-target melee/chase, cast sensor idle/chase, chase-change target, random target
+ 27 | 0x8084 | Any | aggressive, immobile, random target
+
+- Note that the detector bit due to being Insect/Demon, Plant and Boss mode bits need to be added independently of this list.
+
diff --git a/doc/mob_db_mode_list.txt b/doc/mob_db_mode_list.txt
deleted file mode 100644
index 32e7a0e8d..000000000
--- a/doc/mob_db_mode_list.txt
+++ /dev/null
@@ -1,113 +0,0 @@
-//===== Hercules Documentation ===============================
-//= Hercules Monster Modes Reference
-//===== By: ==================================================
-//= Hercules Dev Team
-//===== Current Version: =====================================
-//= 20120630
-//===== Description: =========================================
-//= A reference description of Hercules' mob_db 'mode' field.
-//============================================================
-
-Bit Legend:
--------------------------------------------------------------------------------
-
-MD_CANMOVE | 0x00001 | 1
-MD_LOOTER | 0x00002 | 2
-MD_AGGRESSIVE | 0x00004 | 4
-MD_ASSIST | 0x00008 | 8
-MD_CASTSENSOR_IDLE | 0x00010 | 16
-MD_BOSS | 0x00020 | 32
-MD_PLANT | 0x00040 | 64
-MD_CANATTACK | 0x00080 | 128
-MD_DETECTOR | 0x00100 | 256
-MD_CASTSENSOR_CHASE | 0x00200 | 512
-MD_CHANGECHASE | 0x00400 | 1024
-MD_ANGRY | 0x00800 | 2048
-MD_CHANGETARGET_MELEE | 0x01000 | 4096
-MD_CHANGETARGET_CHASE | 0x02000 | 8192
-MD_TARGETWEAK | 0x04000 | 16384
-MD_NOKNOCKBACK | 0x08000 | 32768
-MD_RANDOMTARGET | 0x10000 | 65536 (not implemented)
-
-Explanation for modes:
--------------------------------------------------------------------------------
-
-CanMove: Enables the mob to move/chase characters.
-
-CanAttack: Enables the mob to attack/retaliate when you are within attack
- range. Note that this only enables them to use normal attacks, skills are
- always allowed.
-
-Looter: The mob will loot up nearby items on the ground when it's on idle state.
-
-Aggressive: normal aggressive mob, will look for a close-by player to attack.
-
-Assist: When a nearby mob of the same class attacks, assist types will join them.
-
-Cast Sensor Idle: Will go after characters who start casting on them if idle
- or walking (without a target).
-
-Cast Sensor Chase: Will go after characters who start casting on them if idle
- or chasing other players (they switch chase targets)
-
-Boss: Special flag which makes mobs immune to certain status changes and skills.
-
-Plant: Always receives 1 damage from attacks.
-
-Detector: Enables mob to detect and attack characters who are in hiding/cloak.
-
-ChangeChase: Allows chasing mobs to switch targets if another player happens
- to be within attack range (handy on ranged attackers, for example)
-
-Angry: These mobs are "hyper-active". Apart from "chase"/"attack", they have
- the states "follow"/"angry". Once hit, they stop using these states and use
- the normal ones. The new states are used to determine a different skill-set
- for their "before attacked" and "after attacked" states. Also, when
- "following", they automatically switch to whoever character is closest.
-
-Change Target Melee: Enables a mob to switch targets when attacked while
- attacking someone else.
-
-Change Target Chase: Enables a mob to switch targets when attacked while
- chasing another character.
-
-Target Weak: Allows aggressive monsters to only be aggressive against
- characters that are five levels below it's own level.
- For example, a monster of level 104 will not pick fights with a level 99.
-
-NoKnockback: Monsters will be immune to Knockback's.
-
-Random Target: Picks a new random target in range on each attack / skill.
- (not implemented)
-
-Aegis Mob Types:
--------------------------------------------------------------------------------
-
-What Aegis has are mob-types, where each type represents an AI behavior that
-is mimicked by a group of eA mode bits. This is the table to convert from one
-to another:
-
-Aegis/eA (description)
-01: 0x0081 (passive)
-02: 0x0083 (passive, looter)
-03: 0x1089 (passive, assist and change-target melee)
-04: 0x3885 (angry, change-target melee/chase)
-05: 0x2085 (aggressive, change-target chase)
-06: 0x0000 (passive, immobile, can't attack) [plants]
-07: 0x108B (passive, looter, assist, change-target melee)
-08: 0x6085 (aggressive, change-target chase, target weak enemies)
-09: 0x3095 (aggressive, change-target melee/chase, cast sensor idle) [Guardian]
-10: 0x0084 (aggressive, immobile)
-11: 0x0084 (aggressive, immobile) [Guardian]
-12: 0x2085 (aggressive, change-target chase) [Guardian]
-13: 0x308D (aggressive, change-target melee/chase, assist)
-17: 0x0091 (passive, cast sensor idle)
-19: 0x3095 (aggressive, change-target melee/chase, cast sensor idle)
-20: 0x3295 (aggressive, change-target melee/chase, cast sensor idle/chase)
-21: 0x3695 (aggressive, change-target melee/chase, cast sensor idle/chase, chase-change target)
-25: 0x0001 (passive, can't attack) [Pet]
-26: 0xB695 (aggressive, change-target melee/chase, cast sensor idle/chase, chase-change target, random target)
-27: 0x8084 (aggressive, immobile, random target)
-
-- Note that the detector bit due to being Insect/Demon, plant and Boss mode
- bits need to be added independently of this list.
diff --git a/doc/option_drop_group.md b/doc/option_drop_group.md
new file mode 100644
index 000000000..325cf9fe2
--- /dev/null
+++ b/doc/option_drop_group.md
@@ -0,0 +1,97 @@
+# Option Drop Group Database
+
+## Description
+Explanation of the `db/option_drop_groups.conf` file and structure.
+
+This database file allows the creation of groups of random options
+that will be added to certain equipments when dropped. After creating
+a group in this database file, you may set up drops in `mob_db` to use
+it in order to get items with these options. For more information on
+adding option drop groups to `mob_db`, check `doc/mob_db.txt` documentation file.
+
+Each item may have up to `MAX_ITEM_OPTION` options at the same time,
+in this document, each of these independent options will be called
+`option slot`. One drop group will define the possibilities of random
+options for each of these slots.
+
+## Entries Format
+
+```
+<Group Name Constant>: (
+ { // Option Slot 1
+ Rate: (int) chance of filling option slot 1 (100 = 1%)
+
+ // Possible options for slot 1
+ // min/max value : int, defaults to 0
+ // chance : int, 100 = 1% if not set, will be 100%/number of possibiltiies
+ OptionName: value
+ // or
+ OptionName: [min value, max value]
+ // or
+ OptionName: [min value, max value, chance]
+ // ... (as many as you want)
+ },
+ // ... (up to MAX_ITEM_OPTION)
+),
+```
+
+### `Group Name Constant`
+This is the group name, it is how this group is referenced in other files
+(e.g. mob_db). It must be globally unique, as it is a server constant, and
+must contain only letters, numbers and " _ ".
+
+### `Rate`
+This is the chance of this option slot to drop. In other words, this is the
+chance of getting this slot filled with something, where something is given
+by the list of `OptionName` that follows.
+
+Rate is an integer value where 100 means 1%.
+
+### `OptionName`
+Adds `OptionName` as one option that may fill this slot when it drops.
+
+The details of this option may be specified in one of 3 ways:
+
+#### `OptionName: value`
+The chance of this option being picked is auto calculated (see below),
+and if this option is chosen, its value will be `value`.
+
+#### `OptionName: [min, max]`
+The chance of this option being picked is auto calculated (see below),
+and if this option is chosen, its value will be a random integer between
+`min` and `max` (both included).
+
+#### `OptionName: [min, max, chance]`
+The chance of this option being picked is `chance`, and if this option is chosen,
+its value will be a random integer between `min` and `max` (both included).
+
+#### Auto calculated chances
+When chance is not specified in an option, it will be auto calculated by
+the server as being `100%/num`, when `num` is the number of possibilities
+in this option slot.
+
+For example, if you specify 3 possible options, all of them without
+a `chance` defined, all of them will have 33.33% chance of being
+picked (100%/3). If you set the chance of one of them to 50%, you
+will have one option with 50% chance, and each of the others with
+33.33% chance.
+
+## Example
+```
+MYITEM: (
+ { // Option Slot 1
+ Rate: 10000 // It has 100% of chance of being filled
+
+ // This slot may have one of the following options:
+ WEAPON_ATTR_WIND: 5, // WEAPON_ATTR_WIND Lv5 (33.33%)
+ WEAPON_ATTR_GROUND: [2, 4] // WEAPON_ATTR_GROUND Lv 2~4 (33.33%)
+ WEAPON_ATTR_POISON: [1, 4, 8000] // WEAPON_ATTR_POISON Lv 1~4 (80%)
+ },
+ { // Option Slot 2
+ Rate: 5000 // It has 50% of chance of being filled
+
+ // If filled, may have one of the following options:
+ WEAPON_ATTR_WATER: 4 // WEAPON_ATTR_WATER Lv4 (100%)
+ }
+)
+```
diff --git a/doc/permissions.md b/doc/permissions.md
new file mode 100644
index 000000000..7d29b59fd
--- /dev/null
+++ b/doc/permissions.md
@@ -0,0 +1,51 @@
+# Group Permission List
+A list of player group permission, configured in `conf/groups.conf`.
+
+## Copyright
+> This file is part of Hercules.
+> http://herc.ws - http://github.com/HerculesWS/Hercules
+>
+> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) Athena Dev Teams
+>
+> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+>
+> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+> See the GNU General Public License for more details.
+>
+> You should have received a copy of the GNU General Public License along with this program.
+> If not, see <http://www.gnu.org/licenses/>.
+
+## Description
+The Hercules emulator has a permission system that enables certain groups of players to perform certain actions, or have access to certain visual enhancements or in-game activity.
+
+Permission | Description
+:------------------------ | :---------------------------------------------
+can_trade | Ability to trade or otherwise distribute items (drop, storage, vending etc).
+can_party | Ability to join parties.
+all_skill | Ability to use all skills.
+all_equipment | Ability to equip anything (can cause client errors).
+skill_unconditional | Ability to use skills without meeting the required conditions (SP, items, etc).
+join_chat | Ability to join a password protected chatrooms.
+kick_chat | Protection from being kicked from a chat.
+hide_session | Hides player session from being displayed by `@commands`.
+who_display_aid | Ability to see GMs and Account/Char IDs in the `@who` command.
+hack_info | Ability to receive all informations about any player that try to hack, spoof a name, etc.
+any_warp | Ability to bypass nowarp, nowarpto, noteleport and nomemo mapflags. This option is mainly used in commands which modify a character's map/coordinates (like `@memo`, `@mapmove`, `@go`, `@jump`, etc).
+view_hpmeter | Ability to see HP bar of every player.
+view_equipment | Ability to view players equipment regardless of their setting.
+use_check | Ability to use client command `/check` (display character status).
+use_changemaptype | Ability to use client command `/changemaptype`.
+all_commands | Ability to use all atcommands and charcommands.
+receive_requests | Ability to receive `@requests`.
+show_bossmobs | Ability to see boss mobs with `@showmobs`.
+disable_pvm | Ability to disable Player vs. Monster (PvM).
+disable_pvp | Ability to disable Player vs. Player (PvP).
+disable_commands_when_dead | Ability to disable atcommands usage when dead.
+can_trade_bound | Ability to trade or otherwise distribute bound items (drop, storage, vending etc).
+hchsys_admin | Hercules Chat System Admin (Ability to modify channel settings regardless of ownership and join password-protected channels without requiring a password.)
+disable_pickup | Ability to disable the player from picking up any item from ground, they can still receive items picked up by others means like party share píck.
+disable_exp | Ability to disable the player from gaining any experience point.
+disable_store | Ability to disable the player from using/openning npc and player stores.
+disable_skill_usage | Ability to disable the player from using any skill.
+
diff --git a/doc/permissions.txt b/doc/permissions.txt
deleted file mode 100644
index bc84f86b6..000000000
--- a/doc/permissions.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-//===== Hercules Documentation ===============================
-//= Permission List
-//===== By: ==================================================
-//= Hercules Dev Team
-//===== Current Version: =====================================
-//= 20131031
-//===== Description: =========================================
-//= Player group permissions, configured in conf/groups.conf.
-//============================================================
-
-can_trade : Ability to trade or otherwise distribute items (drop, storage, vending etc...).
-can_party : Ability to join parties.
-all_skill : Ability to use all skills.
-all_equipment : Ability to equip anything (can cause client errors).
-skill_unconditional : Ability to use skills without meeting the required conditions (SP, items, etc...).
-join_chat : Ability to join a password protected chatrooms.
-kick_chat : Protection from being kicked from a chat.
-hide_session : Hides player session from being displayed by @commands.
-who_display_aid : Ability to see GMs and Account/Char IDs in the @who command.
-hack_info : Ability to receive all informations about any player that try to hack, spoof a name, etc.
-any_warp : Ability to bypass nowarp, nowarpto, noteleport and nomemo mapflags.
- This option is mainly used in commands which modify a character's
- map/coordinates (like @memo, @mapmove, @go, @jump, etc...).
-view_hpmeter : Ability to see HP bar of every player.
-view_equipment : Ability to view players equipment regardless of their setting.
-use_check : Ability to use client command /check (display character status).
-use_changemaptype : Ability to use client command /changemaptype.
-all_commands : Ability to use all atcommands and charcommands.
-receive_requests : Ability to receive @requests.
-show_bossmobs : Ability to see boss mobs with @showmobs.
-disable_pvm : Ability to disable Player vs. Monster.
-disable_pvp : Ability to disable Player vs. Player.
-disable_commands_when_dead : Ability to disable @command usage when dead.
-can_trade_bound: Ability to trade or otherwise distribute bound items (drop, storage, vending etc...).
-hchsys_admin : Hercules Chat System Admin (Ability to modify channel settings regardless of ownership and join password-protected channels without requiring a password.)
-disable_pickup: Ability to disable the player from picking up any item from ground, they can still receive items picked up by others means like party share píck.
-disable_exp: Ability to disable the player from gaining any experience point.
-disable_store: Ability to disable the player from using/openning npc and player stores.
-disable_skill_usage: Ability to disable the player from using any skill.
diff --git a/doc/quest_variables.md b/doc/quest_variables.md
new file mode 100644
index 000000000..2f8922c41
--- /dev/null
+++ b/doc/quest_variables.md
@@ -0,0 +1,262 @@
+# Quest Variables
+
+<!--
+## Copyright
+> This file is part of Hercules.
+> http://herc.ws - http://github.com/HerculesWS/Hercules
+>
+> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) Athena Dev Teams
+>
+> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+>
+> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+> See the GNU General Public License for more details.
+>
+> You should have received a copy of the GNU General Public License along with this program.
+> If not, see <http://www.gnu.org/licenses/>.
+-->
+
+## Description
+This file should help to understand and manage bit-wise quest variables.
+You can store up to 31 boolean value into a single variable.
+
+## Sample Variable: `MISC_QUEST`
+
+Quest # No | Sample Quest
+:-------------| :------------
+Description | How to assign a bit-wise value and check it.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| X;```
+Check Value | ```if (MISC_QUEST & X) { ... }```
+
+- Where `X` refer to the bit-wise value that could be used to represent the state/progress of a quest.
+
+--------------------------------------------------------------
+
+## Example
+
+Quest # 1 | Juice Maker Quest
+:-------------| :------------
+Description | How to make juices. This bit keeps final state of the quest.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 1;```
+Check Value | ```if (MISC_QUEST & 1) { ... }```
+
+Quest # 2 | Tempestra Quest
+:-------------| :------------
+Description | Determines if player has given a potion to Tempestra.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 2;```
+Check Value | ```if (MISC_QUEST & 2) { ... }```
+
+Quest # 3 | Morgenstein Quest
+:-------------| :------------
+Description | How to make Mixture & Counteragent. This bit keeps final state of the quest.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 4;```
+Check Value | ```if (MISC_QUEST & 4) { ... }```
+
+Quest # 4 | Prontera Culvert Quest
+:-------------| :------------
+Description | Determines if player can enter Prontera Culverts.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 8;```
+Check Value | ```if (MISC_QUEST & 8) { ... }```
+
+Quest # 5 | Edgar's Offer
+:-------------| :------------
+Description | Cheap ticket from Izlude to Alberta. This bit keeps final state of the quest.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 16;```
+Check Value | ```if (MISC_QUEST & 16) { ... }```
+
+Quest # 6 | Piano Quest
+:-------------| :------------
+Description | The only way from Niflheim to Umbala.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 32;```
+Check Value | ```if (MISC_QUEST & 32) { ... }```
+
+Quest # 7 | Bio Ethics Quest
+:-------------| :------------
+Description | Quest for homunculus skill for alchemists. This bit keeps final state of the quest.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 64;```
+Check Value | ```if (MISC_QUEST & 64) { ... }```
+
+Quest # 8 | DTS Warper
+:-------------| :------------
+Description | Determines if player has already voted.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 128;```
+Check Value | ```if (MISC_QUEST & 128) { ... }```
+
+Quest # 9 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 256;```
+Check Value | ```if (MISC_QUEST & 256) { ... }```
+
+Quest # 10 | Cube Room
+:-------------| :------------
+Description | Lighthalzen Cube Room quest (to enter Bio-Lab)
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 512;```
+Check Value | ```if (MISC_QUEST & 512) { ... }```
+
+Quest # 11 | Reset Skills Event
+:-------------| :------------
+Description | Yuno, Hypnotist Teacher
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 1024;```
+Check Value | ```if (MISC_QUEST & 1024) { ... }```
+
+Quest # 12 | Slotted Arm Guard Quest
+:-------------| :------------
+Description | Ninja Job Room, Boshuu
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 2048;```
+Check Value | ```if (MISC_QUEST & 2048) { ... }```
+
+Quest # 13 | Improved Arm Guard Quest
+:-------------| :------------
+Description | Ninja Job Room, Basshu
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 4096;```
+Check Value | ```if (MISC_QUEST & 4096) { ... }```
+
+Quest # 14 | Rachel Sanctuary Quest
+:-------------| :------------
+Description | Determines if player can access Rachel Santuary.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 8192;```
+Check Value | ```if (MISC_QUEST & 8192) { ... }```
+
+Quest # 15 | Message Delivery Quest
+:-------------| :------------
+Description | Send a message to Elly, in Niflheim from Erious.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 16384;```
+Check Value | ```if (MISC_QUEST & 16384) { ... }```
+
+Quest # 16 | Umbala Domestic Dispute?
+:-------------| :------------
+Description | Reward: 1 Yggdrasil Leaf.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 32768;```
+Check Value | ```if (MISC_QUEST & 32768) { ... }```
+
+Quest # 17 | Access to the Turtle Island
+:-------------| :------------
+Description | Reward: ~1 Old Card Album , Old Violet Box, GB.
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 65536;```
+Check Value | ```if (MISC_QUEST & 65536) { ... }```
+
+Quest # 18 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 131072;```
+Check Value | ```if (MISC_QUEST & 131072) { ... }```
+
+Quest # 19 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 262144;```
+Check Value | ```if (MISC_QUEST & 262144) { ... }```
+
+Quest # 20 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 524288;```
+Check Value | ```if (MISC_QUEST & 524288) { ... }```
+
+Quest # 21 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 1048576;```
+Check Value | ```if (MISC_QUEST & 1048576) { ... }```
+
+Quest # 22 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 2097152;```
+Check Value | ```if (MISC_QUEST & 2097152) { ... }```
+
+Quest # 23 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 4194304;```
+Check Value | ```if (MISC_QUEST & 4194304) { ... }```
+
+Quest # 24 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 8388608;```
+Check Value | ```if (MISC_QUEST & 8388608) { ... }```
+
+Quest # 25 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 16777216;```
+Check Value | ```if (MISC_QUEST & 16777216) { ... }```
+
+Quest # 26 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 33554432;```
+Check Value | ```if (MISC_QUEST & 33554432) { ... }```
+
+Quest # 27 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 67108864;```
+Check Value | ```if (MISC_QUEST & 67108864) { ... }```
+
+Quest # 28 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 134217728;```
+Check Value | ```if (MISC_QUEST & 134217728) { ... }```
+
+Quest # 29 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 268435456;```
+Check Value | ```if (MISC_QUEST & 268435456) { ... }```
+
+Quest # 30 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 536870912;```
+Check Value | ```if (MISC_QUEST & 536870912) { ... }```
+
+Quest # 31 | -
+:-------------| :------------
+Description | -
+Assign Value | ```MISC_QUEST = MISC_QUEST \| 1073741824;```
+Check Value | ```if (MISC_QUEST & 1073741824) { ... }```
+
+### Quest#32 and onwards
+You had to use a new variable to store it.
+The existing variable `MISC_QUEST`'s value may overflow as it already reaching the max value.
+Basically the cycle repeat every 32th quests, unless the limit has been lifted in the future.
+
+ No | Formulae | Bits Value | Accumulate
+:--:|:-----------:|-----------:|-------------:
+ 1 | 2 ^ 0 | 1 | 1
+ 2 | 2 ^ 1 | 2 | 3
+ 3 | 2 ^ 2 | 4 | 7
+ 4 | 2 ^ 3 | 8 | 15
+ 5 | 2 ^ 4 | 16 | 31
+ 6 | 2 ^ 5 | 32 | 63
+ 7 | 2 ^ 6 | 64 | 127
+ 8 | 2 ^ 7 | 128 | 255
+ 9 | 2 ^ 8 | 256 | 511
+ 10 | 2 ^ 9 | 512 | 1023
+ 11 | 2 ^ 10 | 1024 | 2047
+ 12 | 2 ^ 11 | 2048 | 4095
+ 13 | 2 ^ 12 | 4096 | 8191
+ 14 | 2 ^ 13 | 8192 | 16383
+ 15 | 2 ^ 14 | 16384 | 32767
+ 16 | 2 ^ 15 | 32768 | 65535
+ 17 | 2 ^ 16 | 65536 | 131071
+ 18 | 2 ^ 17 | 131072 | 262143
+ 19 | 2 ^ 18 | 262144 | 524287
+ 20 | 2 ^ 19 | 524288 | 1048575
+ 21 | 2 ^ 20 | 1048576 | 2097151
+ 22 | 2 ^ 21 | 2097152 | 4194303
+ 23 | 2 ^ 22 | 4194304 | 8388607
+ 24 | 2 ^ 23 | 8388608 | 16777215
+ 25 | 2 ^ 24 | 16777216 | 33554431
+ 26 | 2 ^ 25 | 33554432 | 67108863
+ 27 | 2 ^ 26 | 67108864 | 134217727
+ 28 | 2 ^ 27 | 134217728 | 268435455
+ 29 | 2 ^ 28 | 268435456 | 536870911
+ 30 | 2 ^ 29 | 536870912 | 1073741823
+ 31 | 2 ^ 30 | 1073741824 | 2147483647
+
diff --git a/doc/quest_variables.txt b/doc/quest_variables.txt
deleted file mode 100644
index 0be144183..000000000
--- a/doc/quest_variables.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-//===== Hercules Documentation ===============================
-//= Permanent Quest Variables
-//===== By: ==================================================
-//= Lupus
-//===== Current Version: =====================================
-//= 20120826
-//===== Description: =========================================
-//= This file should help to understand and manage bit-wise
-//= quest variables. You can store up to 31 boolean value into
-//= a single variable.
-//============================================================
-
-Variable: MISC_QUEST
---------------------------------------------------------------
-
-Quest: Juice Maker Quest
-Info: How to make juices. This bit keeps final state of the quest.
-How to set: set MISC_QUEST, MISC_QUEST | 1;
-How to check: if (MISC_QUEST & 1) {}
-
-Quest: Tempestra Quest
-Info: Determines if player has given a potion to Tempestra.
-How to set: set MISC_QUEST, MISC_QUEST | 2;
-How to check: if (MISC_QUEST & 2) {}
-
-Quest: Morgenstein Quest
-Info: How to make Mixture & Counteragent. This bit keeps final state of the quest.
-How to set: set MISC_QUEST, MISC_QUEST | 4;
-How to check: if (MISC_QUEST & 4) {}
-
-Quest: Prontera Culvert Quest
-Info: Determines if player can enter Prontera Culverts.
-How to set: set MISC_QUEST, MISC_QUEST | 8;
-How to check: if (MISC_QUEST & 8) {}
-
-Quest: Edgar's Offer
-Info: Cheap ticket from Izlude to Alberta. This bit keeps final state of the quest.
-How to set: set MISC_QUEST, MISC_QUEST | 16;
-How to check: if (MISC_QUEST & 16) {}
-
-Quest: Piano Quest
-Info: The only way from Niflheim to Umbala.
-How to set: set MISC_QUEST, MISC_QUEST | 32;
-How to check: if (MISC_QUEST & 32) {}
-
-Quest: Bio Ethics Quest
-Info: Quest for homunculus skill for alchemists. This bit keeps final state of the quest.
-How to set: set MISC_QUEST, MISC_QUEST|64;
-How to check: if (MISC_QUEST & 64) {}
-
-Quest: DTS Warper
-Info: Determines if player has already voted.
-How to set: set MISC_QUEST, MISC_QUEST|128;
-How to check: if (MISC_QUEST & 128) {}
-
-Quest: -
-Info: -
-How to set: set MISC_QUEST, MISC_QUEST | 256;
-How to check: if (MISC_QUEST & 256) {}
-
-Quest: Cube Room
-Info: Lighthalzen Cube Room quest (to enter Bio-Lab)
-How to set: set MISC_QUEST, MISC_QUEST | 512;
-How to check: if (MISC_QUEST & 512) {}
-
-Quest: Reset Skills Event
-Info: Yuno, Hypnotist Teacher
-How to set: set MISC_QUEST, MISC_QUEST | 1024;
-How to check: if (MISC_QUEST & 1024) {}
-
-Quest: Slotted Arm Guard Quest
-Info: Ninja Job Room, Boshuu
-How to set: set MISC_QUEST, MISC_QUEST | 2048;
-How to check: if (MISC_QUEST & 2048) {}
-
-Quest: Improved Arm Guard Quest
-Info: Ninja Job Room, Basshu
-How to set: set MISC_QUEST, MISC_QUEST | 4096;
-How to check: if (MISC_QUEST & 4096) {}
-
-Quest: Rachel Sanctuary Quest
-Info: Determines if player can access Rachel Santuary.
-How to set: set MISC_QUEST, MISC_QUEST | 8192;
-How to check: if (MISC_QUEST & 8192) {}
-
-Quest: Message Delivery Quest
-Info: Send a message to Elly, in Niflheim from Erious.
-How to set: set MISC_QUEST, MISC_QUEST | 16384;
-How to check: if (MISC_QUEST & 16384) {}
-
-Quest: Umbala Domestic Dispute?
-Info: Reward: 1 Yggdrasil Leaf.
-How to set: set MISC_QUEST, MISC_QUEST | 32768;
-How to check: if (MISC_QUEST & 32768) {}
-
-Quest: Access to the Turtle Island
-Info: Reward: ~1 OCA, OVB, GB.
-How to set: set MISC_QUEST, MISC_QUEST | 65536;
-How to check: if (MISC_QUEST & 65536) {}
-
-
-Variable: MISC_QUEST2
---------------------------------------------------------------
-
-Quest: -
-Info: -
-How to set: set MISC_QUEST2, MISC_QUEST2 | ?;
-How to check: if (MISC_QUEST2 & ?) {}
diff --git a/doc/sample/getiteminfo.txt b/doc/sample/getiteminfo.txt
index 57407c072..9d5121635 100644
--- a/doc/sample/getiteminfo.txt
+++ b/doc/sample/getiteminfo.txt
@@ -9,12 +9,12 @@
//============================================================
prontera,156,179,6 script test_getiteminfo 4_F_KAFRA1,{
- mes "Please enter an item ID.";
- input .@value;
+ mes("Please enter an item ID.");
+ input(.@value);
// This line uses an INTERNAL function of your client to show item name by its ID!
// ^nItemID^XXXX -> Item Name
- mes "Item ID: "+.@value+" ^nItemID^"+.@value;
+ mesf("Item ID: %d ^nItemID^%d", .@value, .@value);
mes("Current item info:");
mesf("Buy Price: %d", getiteminfo(.@value, ITEMINFO_BUYPRICE));
@@ -34,5 +34,8 @@ prontera,156,179,6 script test_getiteminfo 4_F_KAFRA1,{
mesf("View ID: %d", getiteminfo(.@value, ITEMINFO_VIEWID));
mesf("MATK: %d", getiteminfo(.@value, ITEMINFO_MATK));
mesf("View Sprite: %d", getiteminfo(.@value, ITEMINFO_VIEWSPRITE));
+
+ .@trade$ = callfunc("F_GetTradeRestriction", .@value);
+ mesf("Trade Restriction: %s", .@trade$);
close;
}
diff --git a/doc/sample/npc_trader_sample.txt b/doc/sample/npc_trader_sample.txt
index 0d50af8c5..24c53330b 100644
--- a/doc/sample/npc_trader_sample.txt
+++ b/doc/sample/npc_trader_sample.txt
@@ -56,3 +56,11 @@ OnMyResupply:
sellitem Red_Potion,-1,49;
end;
}
+/* demonstrate barter shop */
+prontera,159,284,4 trader Barter Shop#prt 4_M_KID1,{
+OnInit:
+ tradertype(NST_BARTER);
+ sellitem White_Herb, 100, Red_Potion, 2;
+ sellitem Blue_Herb, 200, Orange_Potion, 3;
+ end;
+}
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index 4c5dab969..9e5045c9c 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -266,8 +266,8 @@ direction across Y. Walking into that area will trigger the NPC. If no
'OnTouch:' special label is present in the NPC code, the execution will
start from the beginning of the script, otherwise, it will start from the
'OnTouch:' label. Monsters can also trigger the NPC, though the label
-'OnTouchNPC:' is used in this case. If player left area npc will called
-if present label 'OnUnTouch'.
+'OnTouchNPC:' is used in this case, and using mobattached() will return
+monster GID. If player left the area will trigger the label 'OnUnTouch'.
The code part is the script code that will execute whenever the NPC is
triggered. It may contain commands and function calls, descriptions of
@@ -323,10 +323,12 @@ The types that a trader object can have are the following:
- NST_MARKET (2) Normal NPC Market Shop (where items have limited availability
and need to be refurbished)
- NST_CUSTOM (3) Custom Shop (any currency, item/var/etca, check sample)
+- NST_BARTER (4) Barter Shop (each item with own item currency)
Unless otherwise specified via *tradertype an trader object will be defined as
NST_ZENY.
Note: NST_MARKET is only available with PACKETVER 20131223 or newer.
+Note: NST_BARTER is only available with PACKETVER 20181226 zero or newer.
See '12 - NPC Trader-Related Commands' and /doc/sample/npc_trader_sample.txt for
more information regarding how to use this NPC type.
@@ -714,6 +716,11 @@ MAX_BANK_ZENY - Maximum Zeny in the bank
MAX_BG_MEMBERS - Maximum BattleGround members
MAX_CHAT_USERS - Maximum Chat users
MAX_REFINE - Maximum Refine level
+MAX_ITEM_ID - Maximum Item ID
+MAX_MENU_OPTIONS - Maximum NPC menu options
+MAX_MENU_LENGTH - Maximum NPC menu string length
+MOB_CLONE_START - Clone ID start from this range
+MOB_CLONE_END - Clone ID end with this range
Send targets and status options are also hard-coded and can be found
in 'doc/constants.md'.
@@ -1224,7 +1231,7 @@ you have to set it back to black unless you want all the rest of the text be in
that color:
mes("This is ^FF0000 red ^000000 and this is ^00FF00 green, ^000000 so.");
- mes(callfunc("F_MesColor", C_BLUE) +"This message is now in BLUE");
+ mesf("%sThis message is now in BLUE.", F_MesColor(C_BLUE));
Notice that the text coloring is handled purely by the client. If you use
non-English characters, the color codes might get screwed if they stick to
@@ -1248,6 +1255,14 @@ This will allow you to visit 'Google' with the in-game browser using default dim
Clicking 'Bing!' will open the in-game browser using the specified dimensions. (800x600)
+If you're using client from 2013-01-30 onwards, you can also use <ITEMLINK> to show
+the item's description. Gravity changed this into <ITEM> since 2015-07-29 onwards.
+
+ mes("Bring me an <ITEM>Apple<INFO>512</INFO></ITEM>.");
+ mesf("Bring me an %s.", F_MesItemInfo(Apple));
+
+This will show the item name and a clickable link for the item description.
+
---------------------------------------
*mesf("<format>"{, <param>{, <param>{, ...}}})
@@ -1286,6 +1301,21 @@ and the script will terminate.
---------------------------------------
+*mesclear();
+
+This command will clear the dialog text and continue the script without player interaction.
+
+Example:
+ mes("This is how the 'mesclear' script command works.");
+ sleep2 3000;
+ mesclear(); // This will clear the dialog and continue to the next one.
+ mes("I will show you again.");
+ sleep2 3000;
+ mesclear(); // This will clear the dialog and continue to the next one.
+ mes("Bye!");
+
+---------------------------------------
+
*close()
This command will create a 'close' button in the message window for the
@@ -1600,21 +1630,24 @@ perfectly equivalent.
---------------------------------------
*select("<option>"{, "<option>", ...})
-*prompt("<option>"{, "<option>", ...})
This function is a handy replacement for 'menu' that doesn't use a complex
-label structure. It will return the number of menu option picked,
-starting with 1. Like 'menu', it will also set the variable @menu to
-contain the option the user picked.
+label structure. It will return the number of the menu option picked,
+starting with 1. If the player presses cancel, the script is terminated.
- if (select("Yes:No") == 1)
+ if (select("Yes", "No") == 1)
mes("You said yes, I know.");
And like 'menu', the selected option is consistent with grouped options
and empty options.
-'prompt' works almost the same as select, except that when a character
-clicks the Cancel button, this function will return 255 instead.
+---------------------------------------
+
+*prompt("<option>"{, "<option>", ...})
+
+This function behaves exactly like select(), but when a player presses cancel
+it returns MAX_MENU_OPTIONS and the script is not terminated. You almost always
+want to use select() rather than prompt().
---------------------------------------
@@ -2574,15 +2607,12 @@ playerattached() to check for the character attached to the script.
---------------------------------------
-*getnpcid(<type>{, "<npc name>"})
+*getnpcid({"<npc name>"})
Retrieves IDs of the currently invoked NPC. If a unique npc name is given,
-IDs of that NPC are retrieved instead. Type specifies what ID to retrieve
-and can be one of the following:
-
- 0 - Unit ID (GID)
+IDs of that NPC are retrieved instead.
-If an invalid type is given or the NPC does not exist, 0 is returned.
+If the NPC does not exist, 0 is returned.
---------------------------------------
@@ -3109,6 +3139,7 @@ invoking character has in its inventory, including all the data needed to
recreate these items perfectly if they are destroyed. Here's what you get:
@inventorylist_id[] - array of item ids.
+@inventorylist_idx[] - array of item inventory index.
@inventorylist_amount[] - their corresponding item amounts.
@inventorylist_equip[] - will return the slot the item is equipped on, if at all.
@inventorylist_refine[] - for how much it is refined.
@@ -3121,7 +3152,8 @@ recreate these items perfectly if they are destroyed. Here's what you get:
made by a specific craftsman.
@inventorylist_expire[] - expire time (Unix time stamp). 0 means never
expires.
-@inventorylist_bound - whether it is an account bounded item or not.
+@inventorylist_bound[] - whether it is an account bounded item or not.
+@inventorylist_favorite[] - whether it is favorite (inside favorite tab) or not.
@inventorylist_count - the number of items in these lists.
This could be handy to save/restore a character's inventory, since no
@@ -3239,6 +3271,7 @@ Valid types are:
ITEMINFO_VIEWID - View ID ("Sprite" field in the Item DB)
ITEMINFO_MATK - MATK (only relevant if RENEWAL is set)
ITEMINFO_VIEWSPRITE - View Sprite ("ViewSprite" field in the Item DB)
+ ITEMINFO_TRADE - Trade Restriction (see "doc/constant.md": item trade restriction)
Check sample in doc/sample/getiteminfo.txt
@@ -3378,11 +3411,12 @@ argument is omitted, it will try to use the map of the attached NPC, or the
map of the attached player if the NPC can't be found.
Valid <info> are:
- MAPINFO_NAME name of the map
- MAPINFO_ID numeric ID of the map
- MAPINFO_ZONE name of the zone used by the map
- MAPINFO_SIZE_X width of the map (cells on the x axis)
- MAPINFO_SIZE_Y height of the map (cells on the y axis)
+ MAPINFO_NAME name of the map
+ MAPINFO_ID numeric ID of the map
+ MAPINFO_ZONE name of the zone used by the map
+ MAPINFO_SIZE_X width of the map (cells on the x axis)
+ MAPINFO_SIZE_Y height of the map (cells on the y axis)
+ MAPINFO_NPC_COUNT total number of NPC in the map
Examples:
getmapinfo(MAPINFO_ID, "map name"); // ID from name
@@ -3524,20 +3558,21 @@ Examples :
---------------------------------------
-*gettimestr(<format string>, <max length>)
+*gettimestr(<format string>, <max length>{, <timestamp>})
This function will return a string containing time data as specified by
the format string.
-This uses the C function 'strfmtime', which obeys special format
+This uses the C function 'strftime', which obeys special format
characters. For a full description see, for example, the description of
-'strfmtime' at http://www.delorie.com/gnu/docs/glibc/libc_437.html
+'strftime' at http://www.delorie.com/gnu/docs/glibc/libc_437.html
All the format characters given in there should properly work.
Max length is the maximum length of a time string to generate.
The example given in Hercules sample scripts works like this:
mes(gettimestr("%Y-%m/%d %H:%M:%S", 21));
+ mes(gettimestr("%Y-%m/%d %H:%M:%S", 21, getcalendartime(0, 0)));
This will print a full date and time like 'YYYY-MM/DD HH:MM:SS'.
@@ -3826,26 +3861,34 @@ how many skills a character has.
*getpetinfo(<type>)
-This function will return pet information for the pet the invoking
-character currently has active. Valid types are:
+This command will return the currently active pet information of the invoking character.
+These fields are associate in 'db/(pre-)re/pet_db.conf'. Valid types are:
- 0 - Unique pet ID number as stored by the char server and distinguishing
- it from all other pets the characters actually have. This value is
- currently useless, at most you can use it to tell pets apart reliably.
- 1 - Pet class number as per 'db/pet_db.txt' - will tell you what kind of
- a pet it is.
- 2 - Pet name. Will return "null" if there's no pet.
- 3 - Pet friendly level (intimacy score). 1000 is full loyalty.
- 4 - Pet hungry level. 100 is completely full.
- 5 - Pet rename flag. 0 means this pet has not been named yet.
-
-If the invoking player doesn't own a pet, this command will return
-"null" for type 2, and return 0 for other types.
+ PETINFO_ID - Pet Database ID, stored in `pet` table to distinguish from other pets.
+ PETINFO_CLASS - Pet class ID. (Id field)
+ PETINFO_NAME - Pet Name, return "null" if there's no active pet.
+ PETINFO_INTIMACY - Pet Intimacy level. 1000 is full loyalty.
+ PETINFO_HUNGRY - Pet hungry level. 100 is completely full.
+ PETINFO_RENAME - Pet rename flag. 0 means this pet has not been named yet.
+ PETINFO_GID - Pet Game ID
+ PETINFO_EGGITEM - Pet EggItem
+ PETINFO_FOODITEM - Pet FoodItem
+ PETINFO_ACCESSORYITEM - Pet AccessoryItem
+ PETINFO_ACCESSORYFLAG - return 1 if the pet currently equipping accessory, return 0 otherwise.
+ PETINFO_EVO_EGGID - Pet Evolve EggID
+ PETINFO_AUTOFEED - Pet AutoFeed flag.
+
+If the invoking player doesn't own a pet, this command will
+return "null" for type PETINFO_NAME, and return 0 for other types.
---------------------------------------
*petstat(<flag>)
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ @ /!\ This command is deprecated @
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
Returns current pet status, all are integers except name.
Returns 0 or "" if the player doesn't have pets.
@@ -3859,6 +3902,9 @@ PET_INTIMATE
Example:
.@i = petstat(PET_CLASS);
+This command is deprecated and it should not be used in new scripts, as it is
+likely to be removed at a later time. Please use 'getpetinfo' instead.
+
---------------------------------------
*getmonsterinfo(<mob ID>, <type>)
@@ -4436,11 +4482,14 @@ if <color> field is left out.
---------------------------------------
-*showscript("<message>"{, <GID>})
+*showscript("<message>"{, <GID>{, <send_target>}})
Makes the attached player or GID, display a message similiar to a chat,
this will be seen by everyone near the invoking character but will not
be displayed in the chat window.
+send_target: (optional)
+ AREA: show the message to everyone within the view range (default)
+ SELF: show the message to the given unit GID only
---------------------------------------
@@ -5339,6 +5388,30 @@ Check getitem2() to understand the arguments of the function.
---------------------------------------
+*countnameditem(<item id>, "<character name>")
+*countnameditem(<item id>, <character ID>)
+*countnameditem("<item name>", "<character name>")
+*countnameditem("<item name>", <character ID>)
+
+This function will return the number of signed items for the specified item ID
+that the invoking character has in their inventory.
+
+ mes("[Item Checker]");
+ if (countnameditem(Apple) > 0) {
+ mes("You have an apple with your name on it!");
+ } else {
+ mes("You do not have an apple with your name on it.");
+ }
+ next();
+ mes("[Item Checker]");
+ mesf("You have %d apples with John's name on it!", countnameditem(Apple, "John"));
+ close();
+
+Like getnameditem(), this function will also accept an 'english name' from the
+database as an argument.
+
+---------------------------------------
+
*groupranditem(<item id>)
Returns the item_id of a random item picked from the item container specified. There
@@ -5992,6 +6065,17 @@ Example usage:
---------------------------------------
+*removespecialeffect(<effect number>{, <send_target>{, <unit id>{, <account id>}}})
+*removespecialeffect(<effect number>{, <send_target>{, "<NPC Name>"{, <account id>}}})
+
+Works for:
+ main client from version 2018-10-02
+ re client from version 2018-10-02
+This command will remove special effect. All parameters same with specialeffect.
+Examples and detailed explanation about parameters see in specialeffect.
+
+---------------------------------------
+
*specialeffect2(<effect number>{, <send_target>{, "<Player Name>"}})
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ -6034,6 +6118,22 @@ Amount can be negative. See statusup().
---------------------------------------
+*needed_status_point(<type>, <val>);
+
+Returns the number of stat points needed to change the specified stat <type> by <val>.
+If <val> is negative, returns the number of stat points that would be needed to
+raise the specified stat from (current value - <val>) to current value.
+
+List of <type>:
+bStr - Strength
+bVit - Vitality
+bInt - Intelligence
+bAgi - Agility
+bDex - Dexterity
+bLuk - Luck
+
+---------------------------------------
+
*bonus(<bonus type>, <val1>)
*bonus2(<bonus type>, <val1>, <val2>)
*bonus3(<bonus type>, <val1>, <val2>, <val3>)
@@ -6276,7 +6376,7 @@ Examples:
setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL, true);
// Re-enables attack, skills and item use
- setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_ITEM, false);
+ setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_USEITEM, false);
// checkpcblock related checks
if ((checkpcblock() & PCBLOCK_IMMUNE) != 0)
@@ -6427,7 +6527,7 @@ This command will kill all monsters that were spawned with monster() or
areamonster() and have a specified event label attached to them. Commonly
used to get rid of remaining quest monsters once the quest is complete.
-If the label is given as "All", all monsters which have their respawn
+If the label is given as "all", all monsters which have their respawn
times set to -1 (like all the monsters summoned with 'monster' or
'areamonster' script command, and all monsters summoned with GM commands,
but no other ones - that is, all non-permanent monsters) on the specified
@@ -6449,6 +6549,14 @@ other number for this parameter won't be recognized.
---------------------------------------
+*killmonstergid(<GID>);
+
+This command will kill the specific monster GID. The difference between
+this command and 'unitkill', is this command does not trigger monster's
+event label.
+
+---------------------------------------
+
*strmobinfo(<type>, <monster id>)
This function will return information about a monster record in the
@@ -6537,6 +6645,17 @@ will run as if by donpcevent().
---------------------------------------
+*mobattached()
+
+This command will return RID of the monster running from 'OnTouchNPC:' label.
+
+
+// Kill any monster entering npc's trigger area
+OnTouchNPC:
+ killmonstergid mobattached();
+
+---------------------------------------
+
*homevolution()
This command will try to evolve the current player's homunculus.
@@ -7681,6 +7800,10 @@ solution rather than sending the map and the monster_id.
*debugmes("<format string>"{, <param>{, ...}})
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ @ /!\ This command is deprecated @
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
This command will print a message in the server console (map-server window),
after applying the same format-string replacements as sprintf(). It will not be
displayed anywhere else. Returns true on success.
@@ -7694,6 +7817,29 @@ Example:
---------------------------------------
+*consolemes("<type>", "<format string>"{,<param>{, ...}})
+
+This command will print a message in the server console (map-server window),
+after applying the same format-string replacements as sprintf(). It will not be
+displayed anywhere else. Returns true on success.
+
+List of available <type> are:
+ CONSOLEMES_DEBUG = 0
+ CONSOLEMES_ERROR = 1
+ CONSOLEMES_WARNING = 2
+ CONSOLEMES_INFO = 3
+ CONSOLEMES_STATUS = 4
+ CONSOLEMES_NOTICE = 5
+
+Example:
+
+ // Displays "NAME has clicked me!" in the map-server window.
+ consolemes(CONSOLEMES_DEBUG, "%s has clicked me!", strcharinfo(PC_NAME));
+
+ consolemes(CONSOLEMES_DEBUG, "\033[0;32mHello World"); // supports ANSI escape sequences
+
+---------------------------------------
+
*logmes("<message>"{, <log type>})
This command will write the message given to the map server log files, as
@@ -8114,7 +8260,7 @@ built-in atcommands and custom atcommands.
*has_permission("<permission>"{, <account id>})
Check if the attached or specified player has the specified permission
-and returns true or false accordingly. See doc/permissions.txt for
+and returns true or false accordingly. See doc/permissions.md for
details about permissions.
Valid <permission> are:
@@ -8406,6 +8552,18 @@ Example:
---------------------------------------
+*cap_value(<number>, <min>, <max>)
+
+Returns the number but capped between <min> and <max>.
+
+Example:
+ // capped between 0 ~ 100
+ .@value = cap_value(10, 0, 100); // .@value will be equal to 10
+ .@value = cap_value(1000, 0, 100); // .@value will be equal to 100
+ .@value = cap_value(-10, 3, 100); // .@value will be equal to 3
+
+---------------------------------------
+
*md5("<string>")
Returns the md5 checksum of a number or string.
@@ -8587,6 +8745,18 @@ Example:
---------------------------------------
+*data_to_string(<data>)
+
+Returns a string representation of the given data, similar to the .toString()
+method in JavaScript.
+
+Example:
+
+ data_to_string(DATATYPE_VAR) // "DATATYPE_VAR"
+ data_to_string(.@foo) // ".@foo"
+
+---------------------------------------
+
*charisalpha("<string>", <position>)
This function will return true if the character number Position in the given
@@ -9414,10 +9584,11 @@ supported types: values
QINFO_SEX: sex
QINFO_BASE_LEVEL: min, max
QINFO_JOB_LEVEL: min, max
- QINFO_ITEM: item_id, amount // append to the items list on each use
+ QINFO_ITEM: item_id, min amount, max amount // append to the items list on each use
QINFO_HOMUN_LEVEL: min
QINFO_HOMUN_TYPE: homunculus_type (0 - regular, 1 - evolved, 2 - S)
QINFO_QUEST: quest_id, state // append to the quests list on each use
+ QINFO_MERCENARY_CLASS: mercenary_class
---------------------------------------
@@ -9547,6 +9718,11 @@ is run when they relog.
<On Death Event> refers to an NPC label that attaches to the character and
is run when they die. Can be "" for empty.
+If "-" is supplied for <mapname>, this will remove the 1 second automatic
+respawn on the battleground map. This allows for better manipulation of
+<On Death Event>. The player will have to be warped to desired location
+at the end of <On Death Event>.
+
Unlike the prior command, the latter will attach a GROUP in a waiting room
to the battleground, and sets the array $@arenamembers[0] where 0 holds
the IDs of the first group, and 1 holds the IDs of the second.
@@ -9678,6 +9854,8 @@ mapflag%TAB%<map_name>%TAB%battleground%TAB%2
This command will create a new BG Team.
When player dies, they will be respawned map_name,X,Y as mentioned.
+If "-" is supplied for the map name, this will remove the 1 second automatic
+respawn on the battleground map.
Command will return -1 if BG Creation is failed,
else it will return the BG ID(Also known as TeamID).
@@ -9767,17 +9945,18 @@ If char id is given, the information of that character is retrieved
instead. Type specifies what information to retrieve and can be one of the
following:
- 0 - Database ID
- 1 - Class
- 2 - Name
- 3 - Faith value for this mercenary's guild, if any
- 4 - Calls value for this mercenary's guild, if any
- 5 - Kill count
- 6 - Remaining life time in msec
- 7 - Level
+ MERCINFO_ID - Mercenary Database ID
+ MERCINFO_CLASS - Mercenary Class
+ MERCINFO_NAME - Mercenary Name
+ MERCINFO_FAITH - Mercenary faith value for this mercenary's guild, if any
+ MERCINFO_CALLS - Mercenary calls value for this mercenary's guild, if any
+ MERCINFO_KILLCOUNT - Mercenary kill count
+ MERCINFO_LIFETIME - Mercenary remaining life time in mili-second
+ MERCINFO_LEVEL - Mercenary Level
+ MERCINFO_GID - Mercenary Game ID
-If the character does not have a mercenary, the command returns ""
-for name and 0 for all other types.
+If the character does not have a mercenary, the command returns "" for MERCINFO_NAME
+and 0 for all other types.
---------------------------------------
//=====================================
@@ -9908,6 +10087,7 @@ when the optional NPC_Name param is used.
---------------------------------------
*sellitem(<Item_ID>{, <price>{, <qty>}})
+*sellitem(<Item_ID>, <qty>, <currency_id>, <currency_amount>)
adds (or modifies) <Item_ID> data to the shop,
when <price> is not provided (or when it is -1) itemdb default is used.
@@ -9916,11 +10096,15 @@ qty is only necessary for NST_MARKET trader types.
when <Item_ID> is already in the shop,
the previous data (price/qty), is overwritten with the new.
+currency_id and currency_amount can be used only with shop type NST_BARTER
+
---------------------------------------
*stopselling(<Item_ID>)
+*stopselling(<Item_ID>{, <currency_id>, <currency_amount>})
attempts to remove <Item_ID> from the current shop list.
+currency_id and currency_amount can be used only with shop type NST_BARTER
---------------------------------------
@@ -9959,133 +10143,131 @@ Returns the amount of still-available <Item_ID> in the shop (on a NST_MARKET tra
---------------------------------------
-*setunitdata(<GUID>, <DataType>, <Val1> {,<Val2>,<Val3>})
+*setunitdata(<GID>, <DataType>, <Val>)
Sets or alters the data in real-time for game objects of the following types -
NPCs, Pets, Monsters, Homunuculus', Mercenaries, Elementals.
Applicable Data Types (available as constants) -
Data Types Description (parameter type)
- UDT_SIZE: Unit Size (int)
- UDT_LEVEL: Level (int)
- UDT_HP: Current HP (int)
- UDT_MAXHP: Max HP (int)
- UDT_SP: SP (int)
- UDT_MAXSP: MAX SP (int)
- UDT_MASTERAID: Master Account ID (for Summons) (int)
- UDT_MASTERCID: Master Char ID (for Summons) (int)
- UDT_MAPIDXY: Warp a Unit to a map. (Val1 = (string) MapName, Val2 = (int) x, Val3 = (int) y)
- UDT_WALKTOXY: Make a unit walk to certain co-ordinates. (Val1 = (int) x, Val2 = (int) y)
- UDT_SPEED: Unit Speed. (int)
- UDT_MODE: Mode (Mobs only) (int)
+ UDT_SIZE: Unit Size
+ UDT_LEVEL: Level
+ UDT_HP: Current HP
+ UDT_MAXHP: Max HP
+ UDT_SP: SP
+ UDT_MAXSP: MAX SP
+ UDT_MASTERAID: Master Account ID (for Summons)
+ UDT_MASTERCID: Master Char ID (for Summons)
+ UDT_SPEED: Unit Speed.
+ UDT_MODE: Mode (Mobs only)
UDT_AI: Unit AI Type (see doc/constants.md for Unit AI Types)
UDT_SCOPTION: Status Options. (see doc/constants.md for Unit Option Types)
UDT_SEX: Gender of the unit. (see doc/constants.md for Genders)
- UDT_CLASS: Class of the unit. (Monster ID) (int)
- UDT_HAIRSTYLE: Hair Style ID. (int)
- UDT_HAIRCOLOR: Hair Color ID. (int)
- UDT_HEADBOTTOM: Headgear Bottom Sprite ID. (int)
- UDT_HEADMIDDLE: Headgear Middle Sprite ID. (int)
- UDT_HEADTOP: Headgear Top Sprite ID. (int)
- UDT_CLOTHCOLOR: Cloth Color ID. (int)
- UDT_SHIELD: Shield Sprite ID. (int)
- UDT_WEAPON: Weapon Sprite ID. (int)
- UDT_LOOKDIR: Face direction. (int)
- UDT_CANMOVETICK: Stop a unit from move for n seconds. (int)
- UDT_STR: Unit STR. (int)
- UDT_AGI: Unit AGI. (int)
- UDT_VIT: Unit VIT. (int)
- UDT_INT: Unit INT. (int)
- UDT_DEX: Unit DEX. (int)
- UDT_LUK: Unit LUK. (int)
- UDT_ATKRANGE: Attack range of a unit. (int)
- UDT_ATKMIN: Min Atk of a unit. (int)
- UDT_ATKMAX: Max Atk of a unit. (int)
- UDT_MATKMIN: Min MATK of a unit. (int)
- UDT_MATKMAX: Max MATK of a unit. (int)
- UDT_DEF: DEF. (int)
- UDT_MDEF: MDEF. (int)
- UDT_HIT: HIT. (int)
- UDT_FLEE: FLEE. (int)
- UDT_PDODGE: Perfect Dodge. (int)
- UDT_CRIT: Critical Rate. (int)
- UDT_RACE: Race. (Eg. string constants RC_DemiHuman or Integer 7).
- UDT_ELETYPE: Element. (Eg. string constants Ele_Neutral or Integer 0).
- UDT_ELELEVEL: Element Level (int).
- UDT_AMOTION: AMotion Rate (int).
- UDT_ADELAY: ADelay Rate (int).
- UDT_DMOTION: DMotion Rate (int).
- UDT_HUNGER: Hunger Rate (int) - for summons.
- UDT_INTIMACY: Intimacy Rate (int) - for summons.
- UDT_LIFETIME: LifeTime (int) - for summons.
- UDT_MERC_KILLCOUNT: Kill count for mercenaries (int).
- UDT_STATADD: Status Points (int) - for NPCs.
+ UDT_CLASS: Class of the unit. (Monster ID)
+ UDT_HAIRSTYLE: Hair Style ID.
+ UDT_HAIRCOLOR: Hair Color ID.
+ UDT_HEADBOTTOM: Headgear Bottom Sprite ID.
+ UDT_HEADMIDDLE: Headgear Middle Sprite ID.
+ UDT_HEADTOP: Headgear Top Sprite ID.
+ UDT_CLOTHCOLOR: Cloth Color ID.
+ UDT_SHIELD: Shield Sprite ID.
+ UDT_WEAPON: Weapon Sprite ID.
+ UDT_LOOKDIR: Face direction.
+ UDT_CANMOVETICK: Stop a unit from move for n seconds.
+ UDT_STR: Unit STR.
+ UDT_AGI: Unit AGI.
+ UDT_VIT: Unit VIT.
+ UDT_INT: Unit INT.
+ UDT_DEX: Unit DEX.
+ UDT_LUK: Unit LUK.
+ UDT_ATKRANGE: Attack range of a unit.
+ UDT_ATKMIN: Min Atk of a unit.
+ UDT_ATKMAX: Max Atk of a unit.
+ UDT_MATKMIN: Min MATK of a unit.
+ UDT_MATKMAX: Max MATK of a unit.
+ UDT_DEF: DEF.
+ UDT_MDEF: MDEF.
+ UDT_HIT: HIT.
+ UDT_FLEE: FLEE.
+ UDT_PDODGE: Perfect Dodge.
+ UDT_CRIT: Critical Rate.
+ UDT_RACE: Race. (Eg. constants RC_DemiHuman or Integer 7).
+ UDT_ELETYPE: Element. (Eg. constants Ele_Neutral or Integer 0).
+ UDT_ELELEVEL: Element Level.
+ UDT_AMOTION: AMotion Rate.
+ UDT_ADELAY: ADelay Rate.
+ UDT_DMOTION: DMotion Rate.
+ UDT_HUNGER: Hunger Rate - for summons.
+ UDT_INTIMACY: Intimacy Rate - for summons.
+ UDT_LIFETIME: LifeTime - for summons.
+ UDT_MERC_KILLCOUNT: Kill count for mercenaries
+ UDT_STATADD: Status Points - for NPCs.
+ UDT_GROUP: group id
returns 0 if value could not be set, 1 if successful.
---------------------------------------
-*getunitdata (<GUID>,<DataType>{,<Variable>})
+*getunitdata (<GID>,<DataType>)
-Retrieves real-time data of a game object. For data with multiple return values,
-an array variable may be passed to store the data in.
+Retrieves real-time data of a game object.
Applicable Data types (available as constants) -
Data Types Description (return type)
- UDT_SIZE: Unit Size (int)
- UDT_LEVEL: Level (int)
- UDT_HP: Current HP (int)
- UDT_MAXHP: Max HP (int)
- UDT_SP: SP (int)
- UDT_MAXSP: MAX SP (int)
- UDT_MASTERAID: Master Account ID (for Summons) (int)
- UDT_MASTERCID: Master Char ID (for Summons) (int)
- UDT_MAPIDXY: Warp a Unit to a map. (Val1 = (string) MapName, Val2 = (int) x, Val3 = (int) y)
- UDT_SPEED: Unit Speed. (int)
- UDT_MODE: Mode (Mobs only) (int)
+ UDT_SIZE: Unit Size
+ UDT_LEVEL: Level
+ UDT_HP: Current HP
+ UDT_MAXHP: Max HP
+ UDT_SP: SP
+ UDT_MAXSP: MAX SP
+ UDT_MASTERAID: Master Account ID (for Summons)
+ UDT_MASTERCID: Master Char ID (for Summons)
+ UDT_SPEED: Unit Speed.
+ UDT_MODE: Mode (Mobs only)
UDT_AI: Unit AI Type (see doc/constants.md for Unit AI Types)
UDT_SCOPTION: Status Options. (see doc/constants.md for Unit Option Types)
UDT_SEX: Gender of the unit. (see doc/constants.md for Genders)
- UDT_CLASS: Class of the unit. (Monster ID) (int)
- UDT_HAIRSTYLE: Hair Style ID. (int)
- UDT_HAIRCOLOR: Hair Color ID. (int)
- UDT_HEADBOTTOM: Headgear Bottom Sprite ID. (int)
- UDT_HEADMIDDLE: Headgear Middle Sprite ID. (int)
- UDT_HEADTOP: Headgear Top Sprite ID. (int)
- UDT_CLOTHCOLOR: Cloth Color ID. (int)
- UDT_SHIELD: Shield Sprite ID. (int)
- UDT_WEAPON: Weapon Sprite ID. (int)
- UDT_LOOKDIR: Face direction. (int)
- UDT_CANMOVETICK: Stop a unit from move for n seconds. (int)
- UDT_STR: Unit STR. (int)
- UDT_AGI: Unit AGI. (int)
- UDT_VIT: Unit VIT. (int)
- UDT_INT: Unit INT. (int)
- UDT_DEX: Unit DEX. (int)
- UDT_LUK: Unit LUK. (int)
- UDT_ATKRANGE: Attack range of a unit. (int)
- UDT_ATKMIN: Min Atk of a unit. (int)
- UDT_ATKMAX: Max Atk of a unit. (int)
- UDT_MATKMIN: Min MATK of a unit. (int)
- UDT_MATKMAX: Max MATK of a unit. (int)
- UDT_DEF: DEF. (int)
- UDT_MDEF: MDEF. (int)
- UDT_HIT: HIT. (int)
- UDT_FLEE: FLEE. (int)
- UDT_PDODGE: Perfect Dodge. (int)
- UDT_CRIT: Critical Rate. (int)
- UDT_RACE: Race. (Eg. string constants RC_DemiHuman or Integer 7).
- UDT_ELETYPE: Element. (Eg. string constants Ele_Neutral or Integer 0).
- UDT_ELELEVEL: Element Level (int).
- UDT_AMOTION: AMotion Rate (int).
- UDT_ADELAY: ADelay Rate (int).
- UDT_DMOTION: DMotion Rate (int).
- UDT_HUNGER: Hunger Rate (int) - for summons.
- UDT_INTIMACY: Intimacy Rate (int) - for summons.
- UDT_LIFETIME: LifeTime (int) - for summons.
- UDT_MERC_KILLCOUNT: Kill count for mercenaries (int).
-
-returns 0 if value could not be retrieved.
+ UDT_CLASS: Class of the unit. (Monster ID)
+ UDT_HAIRSTYLE: Hair Style ID.
+ UDT_HAIRCOLOR: Hair Color ID.
+ UDT_HEADBOTTOM: Headgear Bottom Sprite ID.
+ UDT_HEADMIDDLE: Headgear Middle Sprite ID.
+ UDT_HEADTOP: Headgear Top Sprite ID.
+ UDT_CLOTHCOLOR: Cloth Color ID.
+ UDT_SHIELD: Shield Sprite ID.
+ UDT_WEAPON: Weapon Sprite ID.
+ UDT_LOOKDIR: Face direction.
+ UDT_CANMOVETICK: Stop a unit from move for n seconds.
+ UDT_STR: Unit STR.
+ UDT_AGI: Unit AGI.
+ UDT_VIT: Unit VIT.
+ UDT_INT: Unit INT.
+ UDT_DEX: Unit DEX.
+ UDT_LUK: Unit LUK.
+ UDT_ATKRANGE: Attack range of a unit.
+ UDT_ATKMIN: Min Atk of a unit.
+ UDT_ATKMAX: Max Atk of a unit.
+ UDT_MATKMIN: Min MATK of a unit.
+ UDT_MATKMAX: Max MATK of a unit.
+ UDT_DEF: DEF.
+ UDT_MDEF: MDEF.
+ UDT_HIT: HIT.
+ UDT_FLEE: FLEE.
+ UDT_PDODGE: Perfect Dodge.
+ UDT_CRIT: Critical Rate.
+ UDT_RACE: Race. (Eg. constants RC_DemiHuman or Integer 7).
+ UDT_ELETYPE: Element. (Eg. constants Ele_Neutral or Integer 0).
+ UDT_ELELEVEL: Element Level.
+ UDT_AMOTION: AMotion Rate.
+ UDT_ADELAY: ADelay Rate.
+ UDT_DMOTION: DMotion Rate.
+ UDT_HUNGER: Hunger Rate - for summons.
+ UDT_INTIMACY: Intimacy Rate - for summons.
+ UDT_LIFETIME: LifeTime - for summons.
+ UDT_MERC_KILLCOUNT: Kill count for mercenaries.
+ UDT_GROUP: group id
+
+returns -1 if value could not be retrieved.
---------------------------------------
@@ -10172,3 +10354,146 @@ Show in client message by <message_id> from msg string table.
Optional <color> can be used for set color for whole message.
---------------------------------------
+
+*camerainfo()
+
+Show or hide camera info window.
+Works for 20160525 clients or newer.
+
+---------------------------------------
+
+*changecamera(<range>, <rotation>, <latitude>{, <target>})
+
+Change camera range, rotation, latitude.
+The optional target parameter specifies who will get changed
+camera.
+Works for 20160525 clients or newer.
+
+---------------------------------------
+
+*achievement_progress(<ach_id>, <obj_idx>, <progress>, <incremental>{, <account_id>});
+
+Make the player progress in the specified achievement.
+aid - achievement ID
+obj_idx - achievement objective index.
+progress - objective progress towards goal.
+incremental - (boolean) true to add the progress towards the goal,
+ false to use the progress only as a comparand.
+account_id - (optional) AID to perform on (default to attached player).
+
+returns progress on success and false on failure
+
+---------------------------------------
+
+*itempreview(<index>)
+
+Update already opened preview window with item from
+ inventory with given index.
+Works for 20181017 RE and main clients or newer.
+
+---------------------------------------
+
+*enchantitem(<equip_pos>, <card_slot>, <card_id>);
+
+Insert card into equipped item in EQI_* slot.
+card_slot - can be 0 to 3.
+card_id - any card item id.
+
+returns true if all parameters correct
+false in other case.
+Works for 20160831 main, 20151118 RE, any zero version
+
+---------------------------------------
+
+*servicemessage("<message>", <color>{, <account_id>})
+*servicemessage("<message>", <color>{, <player_name>})
+
+That command will send a service message to the chat window of the character
+specified by account ID or name, or to connected to npc player.
+It will not be seen by anyone else.
+
+Works for 20170830 RE and main and for any zero clients
+
+---------------------------------------
+
+*expandInventoryAck(<result>{, <itemId>})
+
+Send initial inventory expansion result.
+Normally this function should be called from script label
+inventory_expansion::OnInventoryExpandRequest.
+
+Valid result statuses:
+ EXPAND_INVENTORY_ASK_CONFIRMATION - force client to ask player about inventory expansion
+ EXPAND_INVENTORY_FAILED - other failed reason
+ EXPAND_INVENTORY_OTHER_WORK - failed because player busy with other work
+ EXPAND_INVENTORY_MISSING_ITEM - failed because missing item
+ EXPAND_INVENTORY_MAX_SIZE - failed because inventory size already maximum
+
+ItemId make sense only if result is EXPAND_INVENTORY_ASK_CONFIRMATION
+Works for 20181212 zero clients
+
+---------------------------------------
+
+*expandInventoryResult(<result>)
+
+Send final inventory expansion result.
+Normally this function should be called from script label
+inventory_expansion::OnInventoryExpandConfirmed.
+
+Valid result values:
+ EXPAND_INVENTORY_RESULT_SUCCESS - success message
+ EXPAND_INVENTORY_RESULT_FAILED - other failed reason
+ EXPAND_INVENTORY_RESULT_OTHER_WORK - failed because player busy with other work
+ EXPAND_INVENTORY_RESULT_MISSING_ITEM - failed because missing item
+ EXPAND_INVENTORY_RESULT_MAX_SIZE - failed because inventory size already maximum
+
+Works for 20181212 zero clients
+
+---------------------------------------
+
+*expandInventory(<value>)
+
+Adjust player inventory to given value.
+Maximum inventory size is MAX_INVENTORY.
+Minimum inventory size is FIXED_INVENTORY_SIZE.
+For supported clients it send inventory change packet. For old clients,
+this change is silent.
+Current max inventory size can be read by function getInventorySize().
+
+---------------------------------------
+
+*getInventorySize()
+
+Return current player max inventory size.
+This value always smaller or equal to MAX_INVENTORY.
+Size can be changed by group of functions expandInventory*
+
+---------------------------------------
+
+*getunittitle(<GID>)
+
+Return unit title string.
+Works for 20180207 main clients, 20171129 re clients, 20171130 zero clients
+
+---------------------------------------
+
+*setunittitle(<GID>, <title>)
+
+Set unit title string.
+Invisible for players, because current implimentation using title id only.
+Works for 20180207 main clients, 20171129 re clients, 20171130 zero clients
+
+---------------------------------------
+
+*closeroulette()
+
+Force close roulette window.
+Works for 20141008 main clients, 20140903 re, any zero.
+
+---------------------------------------
+*openrefineryui()
+
+Opens refinery user interface for the player
+returns true on success and false on failure
+
+---------------------------------------
diff --git a/maps/pre-re/1@cor.mcache b/maps/pre-re/1@cor.mcache
new file mode 100644
index 000000000..eb75bcc4d
--- /dev/null
+++ b/maps/pre-re/1@cor.mcache
Binary files differ
diff --git a/maps/pre-re/1@gl_prq.mcache b/maps/pre-re/1@gl_prq.mcache
new file mode 100644
index 000000000..10f035f98
--- /dev/null
+++ b/maps/pre-re/1@gl_prq.mcache
Binary files differ
diff --git a/maps/pre-re/1@os_a.mcache b/maps/pre-re/1@os_a.mcache
new file mode 100644
index 000000000..e87860ac1
--- /dev/null
+++ b/maps/pre-re/1@os_a.mcache
Binary files differ
diff --git a/maps/pre-re/1@os_b.mcache b/maps/pre-re/1@os_b.mcache
new file mode 100644
index 000000000..8f2277128
--- /dev/null
+++ b/maps/pre-re/1@os_b.mcache
Binary files differ
diff --git a/maps/pre-re/1@rgsr.mcache b/maps/pre-re/1@rgsr.mcache
new file mode 100644
index 000000000..cf2114dd8
--- /dev/null
+++ b/maps/pre-re/1@rgsr.mcache
Binary files differ
diff --git a/maps/pre-re/gl_cas01_.mcache b/maps/pre-re/gl_cas01_.mcache
new file mode 100644
index 000000000..457a8be74
--- /dev/null
+++ b/maps/pre-re/gl_cas01_.mcache
Binary files differ
diff --git a/maps/pre-re/mag_dun03.mcache b/maps/pre-re/mag_dun03.mcache
new file mode 100644
index 000000000..ad35c4be1
--- /dev/null
+++ b/maps/pre-re/mag_dun03.mcache
Binary files differ
diff --git a/maps/pre-re/pub_cat.mcache b/maps/pre-re/pub_cat.mcache
new file mode 100644
index 000000000..1e4d4a92a
--- /dev/null
+++ b/maps/pre-re/pub_cat.mcache
Binary files differ
diff --git a/maps/pre-re/rgsr_in.mcache b/maps/pre-re/rgsr_in.mcache
new file mode 100644
index 000000000..fa37ec1ec
--- /dev/null
+++ b/maps/pre-re/rgsr_in.mcache
Binary files differ
diff --git a/maps/pre-re/sp_cor.mcache b/maps/pre-re/sp_cor.mcache
new file mode 100644
index 000000000..59f0835f6
--- /dev/null
+++ b/maps/pre-re/sp_cor.mcache
Binary files differ
diff --git a/maps/pre-re/sp_os.mcache b/maps/pre-re/sp_os.mcache
new file mode 100644
index 000000000..029e11070
--- /dev/null
+++ b/maps/pre-re/sp_os.mcache
Binary files differ
diff --git a/maps/pre-re/sp_rudus.mcache b/maps/pre-re/sp_rudus.mcache
new file mode 100644
index 000000000..bc2435ecd
--- /dev/null
+++ b/maps/pre-re/sp_rudus.mcache
Binary files differ
diff --git a/maps/pre-re/sp_rudus2.mcache b/maps/pre-re/sp_rudus2.mcache
new file mode 100644
index 000000000..0269518bc
--- /dev/null
+++ b/maps/pre-re/sp_rudus2.mcache
Binary files differ
diff --git a/maps/pre-re/sp_rudus3.mcache b/maps/pre-re/sp_rudus3.mcache
new file mode 100644
index 000000000..f060c444f
--- /dev/null
+++ b/maps/pre-re/sp_rudus3.mcache
Binary files differ
diff --git a/maps/re/1@cor.mcache b/maps/re/1@cor.mcache
new file mode 100644
index 000000000..eb75bcc4d
--- /dev/null
+++ b/maps/re/1@cor.mcache
Binary files differ
diff --git a/maps/re/1@gl_prq.mcache b/maps/re/1@gl_prq.mcache
new file mode 100644
index 000000000..10f035f98
--- /dev/null
+++ b/maps/re/1@gl_prq.mcache
Binary files differ
diff --git a/maps/re/1@os_a.mcache b/maps/re/1@os_a.mcache
new file mode 100644
index 000000000..e87860ac1
--- /dev/null
+++ b/maps/re/1@os_a.mcache
Binary files differ
diff --git a/maps/re/1@os_b.mcache b/maps/re/1@os_b.mcache
new file mode 100644
index 000000000..8f2277128
--- /dev/null
+++ b/maps/re/1@os_b.mcache
Binary files differ
diff --git a/maps/re/1@rgsr.mcache b/maps/re/1@rgsr.mcache
new file mode 100644
index 000000000..cf2114dd8
--- /dev/null
+++ b/maps/re/1@rgsr.mcache
Binary files differ
diff --git a/maps/re/gl_cas01_.mcache b/maps/re/gl_cas01_.mcache
new file mode 100644
index 000000000..457a8be74
--- /dev/null
+++ b/maps/re/gl_cas01_.mcache
Binary files differ
diff --git a/maps/re/mag_dun03.mcache b/maps/re/mag_dun03.mcache
new file mode 100644
index 000000000..ad35c4be1
--- /dev/null
+++ b/maps/re/mag_dun03.mcache
Binary files differ
diff --git a/maps/re/pub_cat.mcache b/maps/re/pub_cat.mcache
new file mode 100644
index 000000000..1e4d4a92a
--- /dev/null
+++ b/maps/re/pub_cat.mcache
Binary files differ
diff --git a/maps/re/rgsr_in.mcache b/maps/re/rgsr_in.mcache
new file mode 100644
index 000000000..fa37ec1ec
--- /dev/null
+++ b/maps/re/rgsr_in.mcache
Binary files differ
diff --git a/maps/re/sp_cor.mcache b/maps/re/sp_cor.mcache
new file mode 100644
index 000000000..59f0835f6
--- /dev/null
+++ b/maps/re/sp_cor.mcache
Binary files differ
diff --git a/maps/re/sp_os.mcache b/maps/re/sp_os.mcache
new file mode 100644
index 000000000..029e11070
--- /dev/null
+++ b/maps/re/sp_os.mcache
Binary files differ
diff --git a/maps/re/sp_rudus.mcache b/maps/re/sp_rudus.mcache
new file mode 100644
index 000000000..bc2435ecd
--- /dev/null
+++ b/maps/re/sp_rudus.mcache
Binary files differ
diff --git a/maps/re/sp_rudus2.mcache b/maps/re/sp_rudus2.mcache
new file mode 100644
index 000000000..0269518bc
--- /dev/null
+++ b/maps/re/sp_rudus2.mcache
Binary files differ
diff --git a/maps/re/sp_rudus3.mcache b/maps/re/sp_rudus3.mcache
new file mode 100644
index 000000000..f060c444f
--- /dev/null
+++ b/maps/re/sp_rudus3.mcache
Binary files differ
diff --git a/npc/cities/jawaii.txt b/npc/cities/jawaii.txt
index b48b960d2..71ec8264f 100644
--- a/npc/cities/jawaii.txt
+++ b/npc/cities/jawaii.txt
@@ -1271,7 +1271,7 @@ prt_in,173,13,4 script Customer#SoloHan 4_M_04,{
next;
mes "[Bachewcca]";
mes "^666666*Grunt!*^000000";
- specialeffect(EF_TALK_SCREAM, AREA, getnpcid(0, "Customer#Bachewcca"));
+ specialeffect(EF_TALK_SCREAM, AREA, getnpcid("Customer#Bachewcca"));
next;
mes "[SoloHan]";
mes "To...";
@@ -1377,7 +1377,7 @@ prt_in,173,13,4 script Customer#SoloHan 4_M_04,{
next;
mes "[Bachewcca]";
mes "^666666*Grrr...!*^000000";
- specialeffect(EF_THROWITEM, AREA, getnpcid(0, "Customer#Bachewcca"));
+ specialeffect(EF_THROWITEM, AREA, getnpcid("Customer#Bachewcca"));
close;
}
mes "Oh man...";
diff --git a/npc/cities/morocc.txt b/npc/cities/morocc.txt
index a79148fbf..e4400e7af 100644
--- a/npc/cities/morocc.txt
+++ b/npc/cities/morocc.txt
@@ -138,7 +138,7 @@ morocc,223,102,0 script Volunteer - Morroc#06::MocVolunteer 2_M_BARD_ORIENT,{
next;
mes "[Ringing Voice]";
mes "Be quiet! Can't you see what's going on?!";
- specialeffect(EF_HIT2, AREA, getnpcid(0, "Volunteer - Morroc#06"));
+ specialeffect(EF_HIT2, AREA, getnpcid("Volunteer - Morroc#06"));
next;
mes "[Morroc Volunteer]";
mes "Heyyy, you're being too harsh, Senyorita. Your fist may be as fragile as you are, but it sure can hurt somebody.";
diff --git a/npc/custom/bartershop.txt b/npc/custom/bartershop.txt
new file mode 100644
index 000000000..bcb61795e
--- /dev/null
+++ b/npc/custom/bartershop.txt
@@ -0,0 +1,21 @@
+//===== Hercules Script ======================================
+//= Barter shop demo
+//===== By: ==================================================
+//= 4144
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Barter shop demo in prontera.
+//============================================================
+
+prontera,159,284,4 trader Barter Shop#prt 4_M_KID1,{
+OnInit:
+ tradertype(NST_BARTER);
+ sellitem White_Herb, 100, Red_Potion, 2;
+ sellitem Blue_Herb, 200, Orange_Potion, 3;
+ sellitem Green_Herb, 100, Red_Potion, 4;
+ sellitem White_Herb, 100, Orange_Potion, 1;
+ sellitem Apple, -1, Orange_Potion, 1;
+ sellitem Praetorian_Shield, 100, Berserk_Potion, 10;
+ end;
+}
diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt
index 35b863e9d..2ae2e7f7f 100644
--- a/npc/custom/etc/quest_warper.txt
+++ b/npc/custom/etc/quest_warper.txt
@@ -82,7 +82,7 @@ function script Q_Warpra {
case 2:
warp $QW_SP_WarpMap$, $QW_SP_WarpX, $QW_SP_WarpY;
close2;
- debugmes "Please check your special warp menu settings on the Warpra.";
+ consolemes(CONSOLEMES_WARNING, "Please check your special warp menu settings on the Warpra.");
end;
case 3: goto L_town;
case 4: goto L_dungeon;
@@ -1533,7 +1533,7 @@ function script QWS_Dungeon_Warpra {
mes "[Warpra]";
mes "Sorry, I can only unlock this location.";
} else
- debugmes "QWS_Dungeon_Warpra error, improper syntax?";
+ consolemes(CONSOLEMES_ERROR, "QWS_Dungeon_Warpra error, improper syntax?");
return;
function QWS_D_setbin {
@@ -1577,7 +1577,7 @@ function script QWS_Town_Warpra {
} else if (QWS_T_getbin(getarg(0)) == 1) {
callfunc "Q_Warpra",0;
} else
- debugmes "QWS_Town_Warpra error, improper syntax ?";
+ consolemes(CONSOLEMES_ERROR, "QWS_Town_Warpra error, improper syntax ?");
return;
function QWS_T_setbin {
diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt
index b9071d162..fde5e544a 100644
--- a/npc/custom/events/disguise.txt
+++ b/npc/custom/events/disguise.txt
@@ -8,6 +8,7 @@
//= Note: This script requires PCRE to run properly.
//= 5.0 Last update by GmOcean.
//= 5.1 Cleaned and standardized, mostly. [Euphy]
+//= 5.2 Fix a bug that causes this event run indefinitely [AnnieRuru]
//============================================================
prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{
@@ -183,6 +184,15 @@ OnTimer30000:
deletepset 1;
stopnpctimer;
setnpctimer 0;
+ ++.RoundCount;
+ if (.RoundCount >= .Rounds) {
+ setnpcdisplay "Disguise Event", 4_M_NFDEADMAN;
+ .RoundCount = 0;
+ .Change = 0;
+ .EventON = 0;
+ npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later.";
+ end;
+ }
initnpctimer;
end;
OnTimer60000:
diff --git a/npc/custom/events/mushroom_event.txt b/npc/custom/events/mushroom_event.txt
index b9c54c09e..fc7446814 100644
--- a/npc/custom/events/mushroom_event.txt
+++ b/npc/custom/events/mushroom_event.txt
@@ -41,7 +41,7 @@ OnMinute10: // Start time (every hour)
set .status,1;
set .Spawn,rand(1,10); // How many Mushrooms should spawn?
set .Map$,.maps$[rand(getarraysize(.maps$))];
- killmonster .Map$,"All";
+ killmonster(.Map$, "all");
monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(NPC_NAME)+"::OnMobKilled";
announce "Find the Mushroom : Total of "+.Spawn+" Mushrooms have been spawned in "+.Map$+"!",0;
sleep 2500;
@@ -50,9 +50,12 @@ OnMinute10: // Start time (every hour)
OnMobKilled:
set .Spawn, .Spawn - 1;
- getitem .Prize, .Amount;
- if (.Spawn) announce "[ "+strcharinfo(PC_NAME)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;
- else {
+ if (playerattached() != 0) {
+ getitem .Prize, .Amount;
+ if (.Spawn)
+ announce "[ "+strcharinfo(PC_NAME)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;
+ }
+ if (!.Spawn) {
announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0;
set .status,0;
}
diff --git a/npc/custom/quests/quest_shop.txt b/npc/custom/quests/quest_shop.txt
index 739b53c02..c2481e991 100644
--- a/npc/custom/quests/quest_shop.txt
+++ b/npc/custom/quests/quest_shop.txt
@@ -170,13 +170,13 @@ OnEnd:
function Add {
if (getitemname(getarg(1)) == "null") {
- debugmes "Quest reward #"+getarg(1)+" invalid (skipped).";
+ consolemes(CONSOLEMES_WARNING, "Quest reward #"+getarg(1)+" invalid (skipped).");
return;
}
setarray .@j[0],getarg(2),getarg(3),getarg(4);
for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) {
if (getitemname(getarg(.@i)) == "null") {
- debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped).";
+ consolemes(CONSOLEMES_WARNING, "Quest requirement #"+getarg(.@i)+" invalid (skipped).");
return;
} else
setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1);
diff --git a/npc/custom/quests/thq/THQS_TTShop.txt b/npc/custom/quests/thq/THQS_TTShop.txt
index 96e7346d3..4c12f9938 100644
--- a/npc/custom/quests/thq/THQS_TTShop.txt
+++ b/npc/custom/quests/thq/THQS_TTShop.txt
@@ -93,7 +93,7 @@ function script thqs_trade_token {
// getarg(1) - .@mp$ -> PRICE
function script thqs_menu_buy {
if( getargcount() != 2 ) {
- debugmes "thqs_menu_buy: Wrong number of arguments!!";
+ consolemes(CONSOLEMES_ERROR, "thqs_menu_buy: Wrong number of arguments!!");
close;
}
@@ -101,7 +101,7 @@ function script thqs_menu_buy {
.@mp$ = getarg(1);
if( getarraysize( getd(.@mw$) ) != getarraysize( getd(.@mp$) ) ) {
- debugmes "thqs_menu_buy: Missing entries in data!";
+ consolemes(CONSOLEMES_ERROR, "thqs_menu_buy: Missing entries in data!");
close;
}
diff --git a/npc/dev/test.txt b/npc/dev/test.txt
index bdbc52ed4..a867a09b2 100644
--- a/npc/dev/test.txt
+++ b/npc/dev/test.txt
@@ -651,6 +651,12 @@ function script HerculesSelfTestHelper {
setd(".@x", getd(".@y"));
callsub(OnCheck, "setd getd", .@x, .@y);
+ // getd types
+ callsub(OnCheck, "Getdatatype (getd: param)", getdatatype(getd("Hp")), DATATYPE_INT | DATATYPE_PARAM);
+ callsub(OnCheck, "Getdatatype (getd: const)", getdatatype(getd("DATATYPE_CONST")), DATATYPE_INT | DATATYPE_CONST);
+ callsub(OnCheck, "Getdatatype (getd: numeric var)", getdatatype(getd(".@foo")), DATATYPE_INT | DATATYPE_VAR);
+ callsub(OnCheck, "Getdatatype (getd: string var)", getdatatype(getd(".@foo$")), DATATYPE_STR | DATATYPE_VAR);
+
// getvariableofnpc
.x = 2;
set getvariableofnpc(.x, "TestVarOfAnotherNPC"), 1;
@@ -769,11 +775,21 @@ function script HerculesSelfTestHelper {
callsub(OnCheck, "Getdatatype (getarg integer value)", callsub(OnTestGetdatatype, 5), DATATYPE_INT);
callsub(OnCheck, "Getdatatype (getarg string)", callsub(OnTestGetdatatype, "foo"), DATATYPE_STR | DATATYPE_CONST);
+ callsub(OnCheck, "data_to_string (NIL)", data_to_string(), "");
+ callsub(OnCheck, "data_to_string (empty string)", data_to_string(""), "");
+ callsub(OnCheck, "data_to_string (string)", data_to_string("foo"), "foo");
+ callsub(OnCheck, "data_to_string (integer)", data_to_string(5), "5");
+ callsub(OnCheck, "data_to_string (parameter)", data_to_string(Hp), "Hp");
+ callsub(OnCheck, "data_to_string (constant)", data_to_string(DATATYPE_CONST), "DATATYPE_CONST");
+ callsub(OnCheck, "data_to_string (label)", data_to_string(OnTestGetdatatype), "OnTestGetdatatype");
+ callsub(OnCheck, "data_to_string (string variable)", data_to_string(.@x$), ".@x$");
+ callsub(OnCheck, "data_to_string (integer variable)", data_to_string(.@x), ".@x");
+
if (.errors) {
- debugmes "Script engine self-test [ \033[0;31mFAILED\033[0m ]";
- debugmes "**** The test was completed with " + .errors + " errors. ****";
+ consolemes(CONSOLEMES_DEBUG, "Script engine self-test [ \033[0;31mFAILED\033[0m ]");
+ consolemes(CONSOLEMES_DEBUG, "**** The test was completed with " + .errors + " errors. ****");
} else {
- debugmes "Script engine self-test [ \033[0;32mPASSED\033[0m ]";
+ consolemes(CONSOLEMES_DEBUG, "Script engine self-test [ \033[0;32mPASSED\033[0m ]");
}
return .errors;
end;
@@ -824,8 +840,8 @@ OnReportError:
.@val$ = getarg(1,"");
.@ref$ = getarg(2,"");
if (.errors == 1)
- debugmes "**** WARNING: Any self-test results past this point are unreliable because of previous errors. ****";
- debugmes "Error: "+.@msg$+": '"+.@val$+"' (found) != '"+.@ref$+"' (expected)";
+ consolemes(CONSOLEMES_DEBUG, "**** WARNING: Any self-test results past this point are unreliable because of previous errors. ****");
+ consolemes(CONSOLEMES_DEBUG, "Error: "+.@msg$+": '"+.@val$+"' (found) != '"+.@ref$+"' (expected)");
++.errors;
//end;
return;
diff --git a/npc/events/gdevent_aru.txt b/npc/events/gdevent_aru.txt
index 4e8a3c6e8..0a3eef0b1 100644
--- a/npc/events/gdevent_aru.txt
+++ b/npc/events/gdevent_aru.txt
@@ -1351,33 +1351,33 @@ OnMVP:
end;
OnTimer1000:
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_1_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_3_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_5_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_7_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_9_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_1_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_3_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_5_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_7_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_9_a"));
end;
OnTimer2000:
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_2_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_4_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_6_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_8_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_2_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_4_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_6_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_8_a"));
end;
OnTimer3000:
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_1_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_3_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_5_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_7_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_9_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_1_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_3_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_5_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_7_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_9_a"));
end;
OnTimer4000:
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_2_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_4_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_6_a"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_8_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_2_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_4_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_6_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_8_a"));
stopnpctimer;
end;
}
diff --git a/npc/events/gdevent_sch.txt b/npc/events/gdevent_sch.txt
index 1b55f8492..add37bcb9 100644
--- a/npc/events/gdevent_sch.txt
+++ b/npc/events/gdevent_sch.txt
@@ -1348,33 +1348,33 @@ OnMVP:
end;
OnTimer1000:
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_1_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_3_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_5_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_7_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_9_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_1_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_3_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_5_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_7_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_9_s"));
end;
OnTimer2000:
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_2_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_4_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_6_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_8_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_2_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_4_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_6_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_8_s"));
end;
OnTimer3000:
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_1_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_3_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_5_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_7_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_9_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_1_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_3_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_5_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_7_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_9_s"));
end;
OnTimer4000:
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_2_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_4_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_6_s"));
- specialeffect(EF_MVP, AREA, getnpcid(0, "paper_sp_8_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_2_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_4_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_6_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_8_s"));
stopnpctimer;
end;
}
diff --git a/npc/jobs/2-2e/SoulLinker.txt b/npc/jobs/2-2e/SoulLinker.txt
index db916fc35..6fc4e3aaa 100644
--- a/npc/jobs/2-2e/SoulLinker.txt
+++ b/npc/jobs/2-2e/SoulLinker.txt
@@ -434,7 +434,7 @@ OnTouch:
mes "[Maia]";
mes "This Witherless Rose will";
mes "wither away instead of you...";
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, "Maia#link2"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("Maia#link2"));
next;
mes "[Maia]";
mes "This Witherless Rose will";
diff --git a/npc/merchants/advanced_refiner.txt b/npc/merchants/advanced_refiner.txt
index 9632f95f7..ec263e192 100644
--- a/npc/merchants/advanced_refiner.txt
+++ b/npc/merchants/advanced_refiner.txt
@@ -44,14 +44,19 @@
//=========================================================================
payon,157,146,6 script Suhnbi#cash 4_M_03,{
- disable_items;
- mes "[Suhnbi]";
- mes "I am the Armsmith";
- mes "I can refine all kinds of weapons,";
- mes "armor and equipment, so let me";
- mes "know what you want to refine.";
- next;
+ mes("[Suhnbi]");
+ mes("I am the Armsmith");
+ mes("I can refine all kinds of weapons,");
+ mes("armor and equipment, so let me");
+ mes("know what you want to refine.");
+ if (getbattleflag("features/replace_refine_npcs") == 1) {
+ if (openrefineryui())
+ close();
+ }
+ next();
+
+ disable_items;
setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
.@menu$ = "";
for(.@i = 1; .@i<=10; ++.@i) {
diff --git a/npc/merchants/hd_refine.txt b/npc/merchants/hd_refine.txt
index a7fc5e922..1a5a43621 100644
--- a/npc/merchants/hd_refine.txt
+++ b/npc/merchants/hd_refine.txt
@@ -39,6 +39,17 @@
//== Blacksmith Mighty Hammer (+7~9) =======================
- script ::MightyHammer FAKE_NPC,{
+ mes("[Blacksmith Mighty Hammer]");
+ mes("I'm a blacksmith skilled in refining weapons and armors.");
+ mes("I can refine an item of your choice among the items you are equipped with.");
+ mes("Which item do you want to refine?");
+
+ if (getbattleflag("features/replace_refine_npcs") == 1) {
+ if (openrefineryui())
+ close();
+ }
+ next();
+
disable_items;
mes "[Blacksmith Mighty Hammer]";
mes "Unlike others, I am a blacksmith who refines a very limited number of items.";
@@ -179,6 +190,10 @@ lhz_in02,280,19,3 duplicate(MightyHammer) Mighty Hammer#lhz 4_M_DWARF
//== Basta (+10 and up) ====================================
- script ::Basta FAKE_NPC,{
+ if (getbattleflag("features/replace_refine_npcs") == 1) {
+ if (openrefineryui())
+ end();
+ }
disable_items;
mes "[Basta]";
mes "I'm the best Blacksmith in the whole world, Basta.";
diff --git a/npc/merchants/refine.txt b/npc/merchants/refine.txt
index 7f1b4d9a3..19ebf4a8e 100644
--- a/npc/merchants/refine.txt
+++ b/npc/merchants/refine.txt
@@ -589,14 +589,19 @@ lhz_in02,282,20,7 script Fulerr 4_M_LGTMAN,{
// If you enable this function, be sure to edit the value of .@safe to the max
// safe refine in refine_db.txt as well.
function script refinemain {
+ mesf("[%s]", getarg(0));
+ mes("I'm the Armsmith.");
+ mes("I can refine all kinds of weapons, armor and equipment, so let me");
+ mes("know what you want me to refine.");
+
+ if (getbattleflag("features/replace_refine_npcs") == 1) {
+ if (openrefineryui())
+ close();
+ }
+ next();
+
disable_items;
.@features = getarg(1);
- mes "[" + getarg(0) + "]";
- mes "I'm the Armsmith.";
- mes "I can refine all kinds of weapons, armor and equipment, so let me";
- mes "know what you want me to refine.";
- next;
-
setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
.@menu$ = "";
for(.@i = 1; .@i <= 10; ++.@i) {
diff --git a/npc/other/CashShop_Functions.txt b/npc/other/CashShop_Functions.txt
index 92fe841e1..5b957f9f2 100644
--- a/npc/other/CashShop_Functions.txt
+++ b/npc/other/CashShop_Functions.txt
@@ -310,3 +310,30 @@ function script F_Snowball {
}
end;
}
+
+// Status reduction potion
+//============================================================
+// - Permanently reduces base stat <type> by <val>.
+// - Returns status points equals to points needed to raise
+// that stat to original value.
+// - Doesn't work if base status <type> would become lower than 1 after reduction.
+// * callfunc("F_CashReduceStat", <type>{, <val>, <itemid>});
+function script F_CashReduceStat {
+ .@type = getarg(0);
+ .@amount = getarg(1, -1);
+ .@itemid = getarg(2, 0);
+
+ if ((readparam(.@type) + .@amount) < 1) return;
+
+ if (.@itemid) {
+ if (countitem(.@itemid))
+ delitem .@itemid, 1;
+ else
+ return;
+ }
+
+ StatusPoint += needed_status_point(.@type, .@amount);
+ statusup2 .@type, .@amount;
+
+ return;
+} \ No newline at end of file
diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt
index 9882e9d71..e3741b495 100644
--- a/npc/other/Global_Functions.txt
+++ b/npc/other/Global_Functions.txt
@@ -434,7 +434,57 @@ function script F_ShuffleNumbers {
//== Function F_MesColor ===================================
// Function to colorize npc dialog without having to memorize the color code
// Examples:
-// mes callfunc("F_MesColor", C_BLUE) +"This message is now in BLUE";
+// mesf("%sThis message is now in BLUE.", F_MesColor(C_BLUE));
function script F_MesColor {
return sprintf("^%06X", min(getarg(0), 0xFFFFFF));
}
+
+//== Function F_GetTradeRestriction ========================
+// Function to get item trade restriction
+// Examples:
+// mes "Red Potion Restriction: "+ callfunc("F_GetTradeRestriction", Red_Potion);
+function script F_GetTradeRestriction {
+ .@trade = getiteminfo(getarg(0), ITEMINFO_TRADE);
+
+ if (.@trade == 0)
+ return "None";
+ .@trade$ = "";
+ if (.@trade & ITR_NODROP)
+ .@trade$ += "NoDrop|";
+ if (.@trade & ITR_NOTRADE)
+ .@trade$ += "NoTrade|";
+ if (.@trade & ITR_PARTNEROVERRIDE)
+ .@trade$ += "PartnerOverride|";
+ if (.@trade & ITR_NOSELLTONPC)
+ .@trade$ += "NoSellToNpc|";
+ if (.@trade & ITR_NOSTORAGE)
+ .@trade$ += "NoStorage|";
+ if (.@trade & ITR_NOGSTORAGE)
+ .@trade$ += "NoGuildStorage|";
+ if (.@trade & ITR_NOMAIL)
+ .@trade$ += "NoMail|";
+ if (.@trade & ITR_NOAUCTION)
+ .@trade$ += "NoAuction|";
+ return .@trade$;
+}
+
+//== Function F_MesItemInfo ===================================
+// Show the item name and a clickable link for the item description
+// Only works with mes and mesf, does not work in menu/select
+function script F_MesItemInfo {
+ .@item = getarg(0);
+ .@itemname$ = getitemname(.@item);
+ if (.@itemname$ != "null") {
+ .@itemslot = getitemslots(.@item);
+ if (.@itemslot)
+ .@itemname$ = sprintf("%s [%d]", .@itemname$, .@itemslot);
+ }
+ else
+ .@itemname$ = "Unknown Item";
+ if (PACKETVER >= 20150729)
+ return sprintf("<ITEM>%s<INFO>%d</INFO></ITEM>", .@itemname$, .@item);
+ else if (PACKETVER >= 20130130)
+ return sprintf("<ITEMLINK>%s<INFO>%d</INFO></ITEMLINK>", .@itemname$, .@item);
+ else
+ return .@itemname$;
+}
diff --git a/npc/other/inventory_expansion.txt b/npc/other/inventory_expansion.txt
new file mode 100644
index 000000000..db18e09e1
--- /dev/null
+++ b/npc/other/inventory_expansion.txt
@@ -0,0 +1,63 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 4144
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Inventory expansion
+//=========================================================================
+
+- script inventory_expansion FAKE_NPC,{
+ end;
+
+OnInvExpandRequest:
+ if (countitem(Inventory_Extension_Coupon) < 1) {
+ expandInventoryAck(EXPAND_INV_MISSING_ITEM);
+ end;
+ }
+ if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) {
+ expandInventoryAck(EXPAND_INV_MAX_SIZE);
+ end;
+ }
+ expandInventoryAck(EXPAND_INV_ASK_CONFIRMATION, Inventory_Extension_Coupon);
+ end;
+
+OnInvExpandConfirmed:
+ if (countitem(Inventory_Extension_Coupon) < 1) {
+ expandInventoryResult(EXPAND_INV_RESULT_MISSING_ITEM);
+ end;
+ }
+ if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) {
+ expandInventoryResult(EXPAND_INV_RESULT_MAX_SIZE);
+ end;
+ }
+ delitem(Inventory_Extension_Coupon, 1);
+ if (expandInventory(INVENTORY_INCREASE_STEP) == true) {
+ expandInventoryResult(EXPAND_INV_RESULT_SUCCESS);
+ }
+ end;
+
+OnInvExpandRejected:
+ end;
+}
diff --git a/npc/other/poring_war.txt b/npc/other/poring_war.txt
index d89bb3fed..326c601be 100644
--- a/npc/other/poring_war.txt
+++ b/npc/other/poring_war.txt
@@ -1052,7 +1052,7 @@ OnInit:
OnEnable:
enablenpc "#wop_warp_a";
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, "#wop_warp_a"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#wop_warp_a"));
end;
OnDisable:
@@ -1074,7 +1074,7 @@ OnInit:
OnEnable:
enablenpc "#wop_warp_d";
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, "#wop_warp_d"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#wop_warp_d"));
end;
OnDisable:
diff --git a/npc/quests/kiel_hyre_quest.txt b/npc/quests/kiel_hyre_quest.txt
index b51207737..677a81f8d 100644
--- a/npc/quests/kiel_hyre_quest.txt
+++ b/npc/quests/kiel_hyre_quest.txt
@@ -1967,7 +1967,7 @@ kh_vila,184,20,0 script Book#kh1::BookKHQ1 HIDDEN_NPC,{
mes "wall slides opens open";
mes "to reveal a secret path.^000000";
KielHyreQuest = 28;
- specialeffect(EF_READYPORTAL2, AREA, getnpcid(0, "Wall#kh"));
+ specialeffect(EF_READYPORTAL2, AREA, getnpcid("Wall#kh"));
close;
}
else {
@@ -6393,11 +6393,11 @@ kh_kiehl02,50,52,4 script Kiehl#Original 4_M_KHKIEL,{
next;
mes "[Mitchell]";
mes "Nooooo!";
- specialeffect(PF_FOGWALL, AREA, getnpcid(0, "Mitchell#KiehlRoom"));
- specialeffect(PF_FOGWALL, AREA, getnpcid(0, "Agent#KHAgent1"));
- specialeffect(PF_FOGWALL, AREA, getnpcid(0, "Agent#KHAgent2"));
- specialeffect(PF_FOGWALL, AREA, getnpcid(0, "Agent#KHAgent3"));
- specialeffect(PF_FOGWALL, AREA, getnpcid(0, "Agent#KHAgent4"));
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Mitchell#KiehlRoom"));
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Agent#KHAgent1"));
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Agent#KHAgent2"));
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Agent#KHAgent3"));
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Agent#KHAgent4"));
next;
cutin "kh_kiel03",2;
mes "[Kiehl]";
diff --git a/npc/quests/newgears/2004_headgears.txt b/npc/quests/newgears/2004_headgears.txt
index eb07fb029..9e1728c65 100644
--- a/npc/quests/newgears/2004_headgears.txt
+++ b/npc/quests/newgears/2004_headgears.txt
@@ -1927,10 +1927,10 @@ alde_alche,88,180,0 script Muscle Man#Alarm Mask 4_M_ALCHE_A,{
enablenpc " #Alarm Mask Man2";
enablenpc " #Alarm Mask Man3";
enablenpc " #Alarm Mask Man4";
- specialeffect(EF_CLAYMORE, AREA, getnpcid(0, " #Alarm Mask Man1"));
- specialeffect(EF_CLAYMORE, AREA, getnpcid(0, " #Alarm Mask Man2"));
- specialeffect(EF_CLAYMORE, AREA, getnpcid(0, " #Alarm Mask Man3"));
- specialeffect(EF_CLAYMORE, AREA, getnpcid(0, " #Alarm Mask Man4"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man1"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man2"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man3"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man4"));
initnpctimer;
if (countitem(Needle_Of_Alarm) > 2999 && countitem(Mr_Scream) > 0) {
if (select("Give him items", "Cancel") == 1) {
@@ -2042,10 +2042,10 @@ OnTimer4000:
disablenpc " #Alarm Mask Man2";
disablenpc " #Alarm Mask Man3";
disablenpc " #Alarm Mask Man4";
- specialeffect(EF_CLAYMORE, AREA, getnpcid(0, " #Alarm Mask Man1"));
- specialeffect(EF_CLAYMORE, AREA, getnpcid(0, " #Alarm Mask Man2"));
- specialeffect(EF_CLAYMORE, AREA, getnpcid(0, " #Alarm Mask Man3"));
- specialeffect(EF_CLAYMORE, AREA, getnpcid(0, " #Alarm Mask Man4"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man1"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man2"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man3"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man4"));
stopnpctimer;
end;
}
diff --git a/npc/quests/quests_13_1.txt b/npc/quests/quests_13_1.txt
index 17cacaff6..b1e4f90b3 100644
--- a/npc/quests/quests_13_1.txt
+++ b/npc/quests/quests_13_1.txt
@@ -9844,7 +9844,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
next;
mes "[Expedition Messenger]";
mes "What's up? Why haven't you left...?";
- specialeffect(EF_SOULBREAKER, AREA, getnpcid(0, "Expedition Messenger"));
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger"));
next;
mes "[Expedition Messenger]";
mes "Argh... Why are you doing this?!";
@@ -9871,8 +9871,8 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
mes "[???]";
mes "Argh...";
next;
- specialeffect(EF_SOULBREAKER, AREA, getnpcid(0, "Expedition Messenger#3"));
- specialeffect(EF_SOULBREAKER, AREA, getnpcid(0, "Expedition Messenger#3"));
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger#3"));
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger#3"));
mes "[???]";
mes "Argh... You...";
next;
@@ -9924,8 +9924,8 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
mes "[???]";
mes "Argh!";
next;
- specialeffect(EF_SOULBREAKER, AREA, getnpcid(0, "Expedition Messenger#3"));
- specialeffect(EF_SOULBREAKER, AREA, getnpcid(0, "Expedition Messenger#3"));
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger#3"));
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger#3"));
mes "[???]";
mes "Argh... You...";
next;
@@ -11548,7 +11548,7 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
specialeffect EF_BEGINSPELL2;
next;
mes "- The fire sparked, but then it immediatly blew out. -";
- specialeffect(EF_FIREARROW, AREA, getnpcid(0, "Wet Firewood#moc2"));
+ specialeffect(EF_FIREARROW, AREA, getnpcid("Wet Firewood#moc2"));
next;
mes "[Defaria]";
mes "...............";
@@ -11567,7 +11567,7 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
specialeffect EF_BEGINSPELL2;
next;
mes "- The fire sparked, but then it immediately blew out.-";
- specialeffect(EF_FIREARROW, AREA, getnpcid(0, "Wet Firewood#moc2"));
+ specialeffect(EF_FIREARROW, AREA, getnpcid("Wet Firewood#moc2"));
next;
mes "[Defaria]";
mes "...............";
@@ -11804,8 +11804,8 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
mes "Hopefully I can make a fire with your nice logs....";
specialeffect EF_BEGINSPELL2;
next;
- specialeffect(EF_FIREWALL, AREA, getnpcid(0, "Wet Firewood#moc2"));
- specialeffect(EF_TORCH, AREA, getnpcid(0, "Wet Firewood#moc2"));
+ specialeffect(EF_FIREWALL, AREA, getnpcid("Wet Firewood#moc2"));
+ specialeffect(EF_TORCH, AREA, getnpcid("Wet Firewood#moc2"));
mes "[Defaria]";
mes "Oh, this is as great as I'd hoped!";
mes "I guess my magic hasn't gotten that rusty after all..";
@@ -13096,17 +13096,17 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
cutin "moc2_dan02",255;
switch(select("Smack his head.", "Punch his stomach.", "Slap his face.")) {
case 1:
- specialeffect(EF_HIT2, AREA, getnpcid(0, "Rayan#moc_room2_2"));
+ specialeffect(EF_HIT2, AREA, getnpcid("Rayan#moc_room2_2"));
mes "- Wanting to stop Rayan from going berserk, you smacked the back of his head with the journal. Rayan staggered and then fell to the ground. Nice job! -";
next;
break;
case 2:
- specialeffect(EF_HIT4, AREA, getnpcid(0, "Rayan#moc_room2_2"));
+ specialeffect(EF_HIT4, AREA, getnpcid("Rayan#moc_room2_2"));
mes "- Wanting to stop Rayan from going berserk, you sucker punched him in the 'ole bread basket. Rayan staggered and then fell to the ground...! -";
next;
break;
case 3:
- specialeffect(EF_HIT1, AREA, getnpcid(0, "Rayan#moc_room2_2"));
+ specialeffect(EF_HIT1, AREA, getnpcid("Rayan#moc_room2_2"));
mes "- Wanting to stop Rayan from going berserk, you slapped his face with the journal. Rayan staggered and then fell onto the ground. Wah! -";
next;
break;
@@ -13117,7 +13117,7 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
mes "[Rayan]";
mes "Ahh....";
mes "....? Isn't.. Isn't this?!....";
- specialeffect(EF_POISON, AREA, getnpcid(0, "Rayan#moc_room2_2"));
+ specialeffect(EF_POISON, AREA, getnpcid("Rayan#moc_room2_2"));
next;
mes "[Rin]";
mes "Wah! What's going on?";
@@ -13159,7 +13159,7 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
mes "You're Rin, right?";
mes "This is the last time you'll ever see me.";
mes "Haha... Muhahahahaha!!";
- specialeffect(EF_ENTRY, AREA, getnpcid(0, "Rayan#moc_room2_2"));
+ specialeffect(EF_ENTRY, AREA, getnpcid("Rayan#moc_room2_2"));
donpcevent "Rayan#moc_room2_2::OnDisable";
next;
cutin "moc2_rin03",2;
@@ -13533,8 +13533,8 @@ OnTouch:
mes "Why? Why is Rin here? Wait, where am I?";
mes "Argh.. I can't move at all...";
next;
- specialeffect(EF_BEGINSPELL2, AREA, getnpcid(0, "Dandelion Member#moc2_1"));
- specialeffect(EF_BEGINSPELL2, AREA, getnpcid(0, "Dandelion Member#moc2_2"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_1"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_2"));
emotion e_gasp,"Rin#moc2_bt_rin01";
emotion e_gasp,1;
mes "[Rin]";
@@ -13543,8 +13543,8 @@ OnTouch:
next;
donpcevent "Rin#moc2_bt_rin01::OnDisable";
donpcevent "Rin#moc2_bt_rin02::OnEnable";
- specialeffect(EF_ICECRASH, AREA, getnpcid(0, "Rin#moc2_bt_rin01"));
- specialeffect(EF_METEORSTORM, AREA, getnpcid(0, "Rin#moc2_bt_rin01"));
+ specialeffect(EF_ICECRASH, AREA, getnpcid("Rin#moc2_bt_rin01"));
+ specialeffect(EF_METEORSTORM, AREA, getnpcid("Rin#moc2_bt_rin01"));
mes "[Rayan]";
mes "Hah, how impressive! You run like a rabbit!";
mes "I should have you killed you when I had the chance.";
@@ -13561,16 +13561,16 @@ OnTouch:
donpcevent "Dandelion Member#moc2_4::OnEnable";
donpcevent "Dandelion Member#moc2_5::OnEnable";
next;
- specialeffect(EF_FREEZED, AREA, getnpcid(0, "Rin#moc2_bt_rin02"));
+ specialeffect(EF_FREEZED, AREA, getnpcid("Rin#moc2_bt_rin02"));
emotion e_gasp;
mapannounce "que_dan01", "Rin: When.. When did you...!?!",bc_map,"0x7b68ee";
mes "[Rayan]";
mes "I'm sorry that I have to do this.";
mes "...";
mes "Kill her.";
- specialeffect(EF_BEGINSPELL2, AREA, getnpcid(0, "Dandelion Member#moc2_3"));
- specialeffect(EF_BEGINSPELL2, AREA, getnpcid(0, "Dandelion Member#moc2_4"));
- specialeffect(EF_BEGINSPELL2, AREA, getnpcid(0, "Dandelion Member#moc2_5"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_3"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_4"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_5"));
next;
mapannounce "que_dan01", "Rayan: Follow me as soon as you take care of her. Our next meeting place is the usual place. I'm leaving.",bc_map,"0xA8A8A8";
donpcevent "Rayan#moc2_bt_r01::OnDisable";
@@ -13578,9 +13578,9 @@ OnTouch:
donpcevent "Dandelion Member#moc2_2::OnDisable";
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Rin-!!!";
- specialeffect(EF_LIGHTBOLT, AREA, getnpcid(0, "Rin#moc2_bt_rin02"));
- specialeffect(EF_FIREPILLARBOMB, AREA, getnpcid(0, "Rin#moc2_bt_rin02"));
- specialeffect(EF_METEORSTORM, AREA, getnpcid(0, "Rin#moc2_bt_rin02"));
+ specialeffect(EF_LIGHTBOLT, AREA, getnpcid("Rin#moc2_bt_rin02"));
+ specialeffect(EF_FIREPILLARBOMB, AREA, getnpcid("Rin#moc2_bt_rin02"));
+ specialeffect(EF_METEORSTORM, AREA, getnpcid("Rin#moc2_bt_rin02"));
donpcevent "Rin#moc2_bt_rin02::OnDisable";
next;
mes "You feel helpless: you can do nothing but watch her slowly get overpowered..";
diff --git a/npc/quests/quests_airship.txt b/npc/quests/quests_airship.txt
index 9c096c83e..bc6d73fad 100644
--- a/npc/quests/quests_airship.txt
+++ b/npc/quests/quests_airship.txt
@@ -1038,23 +1038,23 @@ ein_in01,125,99,3 script Tarsha Cherno 4_F_EINWOMAN,{
ein_in01,127,94,3 script #exp_ein HIDDEN_NPC,{ end; }
function script F_Cherno {
- specialeffect(EF_COMBOATTACK1, AREA, getnpcid(0, "#exp_ein"));
+ specialeffect(EF_COMBOATTACK1, AREA, getnpcid("#exp_ein"));
mes("^33355F*Bang*^000000");
next();
- specialeffect(EF_COMBOATTACK2, AREA, getnpcid(0, "#exp_ein"));
+ specialeffect(EF_COMBOATTACK2, AREA, getnpcid("#exp_ein"));
mes("^3355FF*Bang*^000000");
if (getarg(0) == true) {
mes("^3355FF*Beeeeeep*^000000");
}
next();
- specialeffect(EF_COMBOATTACK3, AREA, getnpcid(0, "#exp_ein"));
+ specialeffect(EF_COMBOATTACK3, AREA, getnpcid("#exp_ein"));
mes("^3355FF*Bang*^000000");
if (getarg(0) == true) {
mes("^3355FF*Beeeeeep*^000000");
mes("^3355FF*Boop Boop Boop*^000000");
}
next();
- specialeffect(EF_POISONATTACK, AREA, getnpcid(0, "#exp_ein"));
+ specialeffect(EF_POISONATTACK, AREA, getnpcid("#exp_ein"));
mes("^33355F*Crash!*^000000");
mes(".....");
emotion(e_swt, false, "Theo Cherno");
@@ -1717,65 +1717,65 @@ OnTimer68000:
end;
OnTimer73000:
mapannounce("airplane_01", _("*Kzzz...Drrrr...Boom! CRASH!*"), bc_map, C_LIME);
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom6#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
end;
OnTimer73500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom7#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer74000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom8#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
end;
OnTimer74500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom9#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
end;
OnTimer75000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom10#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
end;
OnTimer75500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom6#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
end;
OnTimer76000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom7#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer76500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom8#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
end;
OnTimer77000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom9#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
end;
OnTimer77500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom10#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
end;
OnTimer78000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom6#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
mapannounce("airplane_01", _("Engineer: Oh no! We've got a problem with the Number One Rear Engine!"), bc_map, C_LIME);
end;
OnTimer79000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom7#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer80000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom8#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
end;
OnTimer81000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom9#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
end;
OnTimer82000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom10#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
end;
OnTimer83000:
mapannounce("airplane_01", _("Pilot: Hurry! Get the women, old people and children somewhere safe first! Hurry!"), bc_map, C_LIME);
end;
OnTimer84000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom6#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
end;
OnTimer85000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom7#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer86000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom8#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
end;
OnTimer87000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom7#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer88000:
emotion(e_ag, false, "Airship Captain#02");
@@ -1791,46 +1791,46 @@ OnTimer98000:
end;
OnTimer103000:
mapannounce("airplane_01", _("*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*"), bc_map, C_LIME);
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer103500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom1#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom1#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer104000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom2#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom2#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer104500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom3#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom3#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer105000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom4#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom4#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer105500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom5#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom5#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer106000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom0#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom0#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer106500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom1#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom1#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer107000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom2#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom2#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer107500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom4#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom4#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer108000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom5#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom5#airplane"));
killmonster "airplane_01","Airship#airplane02::OnCaptainMobDead";
end;
OnTimer113000:
@@ -1839,59 +1839,59 @@ OnTimer113000:
end;
OnTimer118000:
mapannounce("airplane_01", _("*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*"), bc_map, C_LIME);
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer118500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom6#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer119000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom7#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer119500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom8#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer120000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom9#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer120500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom10#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer121000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom6#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer121500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom7#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer122000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom8#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer122500:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom9#airplane"));
- specialeffect(EF_HIT5, AREA, getnpcid(0, "Airship Captain#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer123000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom8#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
mapannounce("airplane_01", _("*Boom! Boom Boom! Boom Boom! Boom!*"), bc_map, C_LIME);
end;
OnTimer124000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom9#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
end;
OnTimer125000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom10#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
end;
OnTimer126000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom6#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
end;
OnTimer127000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "boom7#airplane"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer128000:
emotion(e_an, false, "Airship Captain#02");
diff --git a/npc/quests/quests_hugel.txt b/npc/quests/quests_hugel.txt
index 415d37d5b..9af2ab5fc 100644
--- a/npc/quests/quests_hugel.txt
+++ b/npc/quests/quests_hugel.txt
@@ -297,7 +297,7 @@ hu_in01,387,245,0 script Allen Schuwell 4_M_DIEMAN,2,2,{
mes "medicine you're";
mes "supposed to";
mes "need so badly.";
- specialeffect(EF_CHANGECOLD, AREA, getnpcid(0, "Postell Schuwell#D"));
+ specialeffect(EF_CHANGECOLD, AREA, getnpcid("Postell Schuwell#D"));
next;
mes "[Allen]";
mes "Thank goodness...";
@@ -9384,7 +9384,7 @@ OnTouch:
mes "followed. Hold on a sec";
mes "while I take care of him.";
next;
- specialeffect(EF_SONICBLOWHIT, AREA, getnpcid(0, "Hit"));
+ specialeffect(EF_SONICBLOWHIT, AREA, getnpcid("Hit"));
mes "[???]";
mes "Ha!";
next;
diff --git a/npc/quests/quests_louyang.txt b/npc/quests/quests_louyang.txt
index 61888cab4..03816faf2 100644
--- a/npc/quests/quests_louyang.txt
+++ b/npc/quests/quests_louyang.txt
@@ -4122,7 +4122,7 @@ lou_fild01,224,348,0 script Lady#delivery 4_F_CHNDRESS3,{
Zeny -= 100;
}
close2;
- specialeffect(EF_BLASTMINEBOMB, AREA, getnpcid(0, " #fire"));
+ specialeffect(EF_BLASTMINEBOMB, AREA, getnpcid(" #fire"));
end;
}
mes "[Lady]";
diff --git a/npc/quests/quests_moscovia.txt b/npc/quests/quests_moscovia.txt
index d8f3d750f..e49886dbd 100644
--- a/npc/quests/quests_moscovia.txt
+++ b/npc/quests/quests_moscovia.txt
@@ -7096,15 +7096,15 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "- The wind disappears and -";
mes "- a very young girl appears -";
donpcevent "Maria Morebna#rus46::OnEnable";
- specialeffect(EF_FREEZED, AREA, getnpcid(0, "Maria Morebna#rus46"));
+ specialeffect(EF_FREEZED, AREA, getnpcid("Maria Morebna#rus46"));
next;
mes "[Maria Morebna]";
mes "Thank you!";
mes "I'm finally out of there! Now I can.....................aaaaak!!!....";
next;
- specialeffect(EF_HIT2, AREA, getnpcid(0, "Maria Morebna#rus46"));
- specialeffect(EF_DARKBREATH, AREA, getnpcid(0, "Maria Morebna#rus46"));
- specialeffect(EF_DEVIL, AREA, getnpcid(0, "Maria Morebna#rus46"));
+ specialeffect(EF_HIT2, AREA, getnpcid("Maria Morebna#rus46"));
+ specialeffect(EF_DARKBREATH, AREA, getnpcid("Maria Morebna#rus46"));
+ specialeffect(EF_DEVIL, AREA, getnpcid("Maria Morebna#rus46"));
mes "- Maria is attacked -";
mes "- and falls down!! -";
next;
@@ -7133,7 +7133,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "Gray Wolf...";
mes "You think you can fight me?!";
next;
- specialeffect(EF_FIREHIT, AREA, getnpcid(0, "Gray Wolf#rus05"));
+ specialeffect(EF_FIREHIT, AREA, getnpcid("Gray Wolf#rus05"));
mes "- Staggering from -";
mes "- Koshei's flames, -";
mes "- Gray Wolf quickly tell me -";
@@ -7261,7 +7261,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "- The wounds and -";
mes "- curses on her body -";
mes "- are removed !! -";
- specialeffect(EF_ABSORBSPIRITS, AREA, getnpcid(0, "Maria Morebna#rus46"));
+ specialeffect(EF_ABSORBSPIRITS, AREA, getnpcid("Maria Morebna#rus46"));
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok! Next...";
@@ -7291,7 +7291,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
next;
}
mes "- !! -";
- specialeffect(EF_RESURRECTION, AREA, getnpcid(0, "Maria Morebna#rus46"));
+ specialeffect(EF_RESURRECTION, AREA, getnpcid("Maria Morebna#rus46"));
next;
mes "[Gray Wolf]";
mes "Success!!";
diff --git a/npc/quests/quests_rachel.txt b/npc/quests/quests_rachel.txt
index 39b3a7b97..1cc002d80 100644
--- a/npc/quests/quests_rachel.txt
+++ b/npc/quests/quests_rachel.txt
@@ -3210,7 +3210,7 @@ OnTouch:
OnTouchNPC:
emotion e_an;
- //emotion e_gg,1; //Emote on monster - unsupported
+ unitemote mobattached(), e_gg;
end;
OnMyMobDead:
@@ -3722,10 +3722,10 @@ OnStart:
enablenpc "#ice_4f_2";
enablenpc "#ice_4f_3";
enablenpc "#ice_4f_4";
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, "#ice_4f_1"));
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, "#ice_4f_2"));
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, "#ice_4f_3"));
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, "#ice_4f_4"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#ice_4f_1"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#ice_4f_2"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#ice_4f_3"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#ice_4f_4"));
end;
OnTimer60000:
diff --git a/npc/quests/seals/brisingamen_seal.txt b/npc/quests/seals/brisingamen_seal.txt
index 815459c41..ed63847a2 100644
--- a/npc/quests/seals/brisingamen_seal.txt
+++ b/npc/quests/seals/brisingamen_seal.txt
@@ -3226,7 +3226,7 @@ OnTouch:
mes "Go, Lowen!";
mes "Cast Grand Cross, now!^000000";
next;
- specialeffect(EF_BEGINSPELL7, AREA, getnpcid(0, "#lowen"));
+ specialeffect(EF_BEGINSPELL7, AREA, getnpcid("#lowen"));
mapannounce "que_god02","Mwahaha! Mortals are such fools...",0,0xA8A8A8;
donpcevent "#brisinsummon::OnDoppel1Off";
donpcevent "#brisinsummon::OnDoppel2On";
@@ -3237,7 +3237,7 @@ OnTouch:
mes "[" + strcharinfo(PC_NAME) + "]";
mes " ??!!!";
next;
- specialeffect(EF_BEGINSPELL7, AREA, getnpcid(0, "#doppelganger2"));
+ specialeffect(EF_BEGINSPELL7, AREA, getnpcid("#doppelganger2"));
mes "[Male Voice]";
mes "Lowen!";
mes "Noooooooooo!!!";
diff --git a/npc/quests/thana_quest.txt b/npc/quests/thana_quest.txt
index 4363a6a27..ea01a926d 100644
--- a/npc/quests/thana_quest.txt
+++ b/npc/quests/thana_quest.txt
@@ -2088,11 +2088,11 @@ OnTimer1000:
OnTimer5000:
.@pillar = 1;
OnTimer3000:
- specialeffect(EF_BEGINSPELL7, AREA, getnpcid(0, "#tteffect05"));
- specialeffect(EF_BEGINSPELL3, AREA, getnpcid(0, "#tteffect04"));
- specialeffect(EF_BEGINSPELL2, AREA, getnpcid(0, "#tteffect03"));
- specialeffect(EF_BEGINSPELL4, AREA, getnpcid(0, "#tteffect02"));
- specialeffect(EF_BEGINSPELL5, AREA, getnpcid(0, "#tteffect01"));
+ specialeffect(EF_BEGINSPELL7, AREA, getnpcid("#tteffect05"));
+ specialeffect(EF_BEGINSPELL3, AREA, getnpcid("#tteffect04"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("#tteffect03"));
+ specialeffect(EF_BEGINSPELL4, AREA, getnpcid("#tteffect02"));
+ specialeffect(EF_BEGINSPELL5, AREA, getnpcid("#tteffect01"));
if (.@pillar) specialeffect EF_MAPPILLAR2;
end;
}
@@ -2235,8 +2235,8 @@ OnDisable:
thana_boss,141,218,0 script #sommon_thanatos FAKE_NPC,{
OnEnable:
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, "#sommon_thanatos"));
- specialeffect(EF_SEISMICWEAPON, AREA, getnpcid(0, "#sommon_thanatos"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#sommon_thanatos"));
+ specialeffect(EF_SEISMICWEAPON, AREA, getnpcid("#sommon_thanatos"));
monster "thana_boss",141,218,"Thanatos Phantom",1708,1,"#sommon_thanatos::OnMyMobDead";
end;
OnMyMobDead:
diff --git a/npc/re/cities/dewata.txt b/npc/re/cities/dewata.txt
index 064cdc461..d8bac5986 100644
--- a/npc/re/cities/dewata.txt
+++ b/npc/re/cities/dewata.txt
@@ -569,10 +569,10 @@ dewata,89,191,6 script Small Shrine#dew1 CLEAR_NPC,{
L_Wish:
mes "Mysterious energy comes out from the shrine.";
- specialeffect(EF_FLASHER, AREA, getnpcid(0, "Small Shrine#dew1"));
- specialeffect(EF_FLASHER, AREA, getnpcid(0, "Small Shrine#dew2"));
- specialeffect(EF_FLASHER, AREA, getnpcid(0, "Small Shrine#dew3"));
- specialeffect(EF_FLASHER, AREA, getnpcid(0, "Small Shrine#dew4"));
+ specialeffect(EF_FLASHER, AREA, getnpcid("Small Shrine#dew1"));
+ specialeffect(EF_FLASHER, AREA, getnpcid("Small Shrine#dew2"));
+ specialeffect(EF_FLASHER, AREA, getnpcid("Small Shrine#dew3"));
+ specialeffect(EF_FLASHER, AREA, getnpcid("Small Shrine#dew4"));
next;
mes "You have received the shrine's blessing.";
specialeffect(EF_BLESSING, AREA, playerattached());
diff --git a/npc/re/events/halloween_2014.txt b/npc/re/events/halloween_2014.txt
index 50786f2e9..fbfb417bb 100644
--- a/npc/re/events/halloween_2014.txt
+++ b/npc/re/events/halloween_2014.txt
@@ -170,7 +170,7 @@
mes "[Mighty Priest]";
mes "Dear Odin, show me your love!";
mes "Heal me with your love! Great!! Bam!!!!!";
- specialeffect(EF_HEAL2, AREA, getnpcid(0, "Exhausted Priest#pron14hal"));
+ specialeffect(EF_HEAL2, AREA, getnpcid("Exhausted Priest#pron14hal"));
emotion e_swt, 1;
next;
mes "[Mighty Priest]";
@@ -1373,8 +1373,8 @@ niflheim,193,186,6 script Bonfire Spirit#14hal 4_TRACE,{
OnTimer21000:
OnTimer23000:
OnTimer25000:
- specialeffect(EF_TORCH, AREA, getnpcid(0, "Bonfire Spirit#14hal"));
- specialeffect(EF_DRAGONSMOKE, AREA, getnpcid(0, "Bonfire Spirit#14hal"));
+ specialeffect(EF_TORCH, AREA, getnpcid("Bonfire Spirit#14hal"));
+ specialeffect(EF_DRAGONSMOKE, AREA, getnpcid("Bonfire Spirit#14hal"));
end;
OnTimer5000:
@@ -1383,16 +1383,16 @@ niflheim,193,186,6 script Bonfire Spirit#14hal 4_TRACE,{
OnTimer13000:
OnTimer14000:
OnTimer16000:
- specialeffect(EF_DRAGONSMOKE, AREA, getnpcid(0, "Bonfire Spirit#14hal"));
+ specialeffect(EF_DRAGONSMOKE, AREA, getnpcid("Bonfire Spirit#14hal"));
end;
OnTimer19000:
npctalk "Oh, No! The fire is dying!!!! Fire!!!!!!!!!!!!";
- specialeffect(EF_DRAGONSMOKE, AREA, getnpcid(0, "Bonfire Spirit#14hal"));
+ specialeffect(EF_DRAGONSMOKE, AREA, getnpcid("Bonfire Spirit#14hal"));
end;
OnTimer20000:
- specialeffect(EF_SIGHTRASHER, AREA, getnpcid(0, "Bonfire Spirit#14hal"));
+ specialeffect(EF_SIGHTRASHER, AREA, getnpcid("Bonfire Spirit#14hal"));
end;
OnTimer27000:
@@ -1543,7 +1543,7 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "This is enough. I can make it soon.";
mes "Odin Crystal power! with Holy light!!!!";
next;
- specialeffect(EF_HOLYHIT, AREA, getnpcid(0, "Spiritual Sister#14hal"));
+ specialeffect(EF_HOLYHIT, AREA, getnpcid("Spiritual Sister#14hal"));
mes "[Sister Haley]";
mes "Whoa~ It's done.";
mes "Hold ^0000cd this in your pocket^000000 and go to the crowd with live and dead ones, you will see who is dead or live.";
@@ -1691,7 +1691,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "It's almost ran out.. Why not he wakes up..";
mes "Oh!!";
- specialeffect(EF_RESURRECTION, AREA, getnpcid(0, "Richard#14hal02"));
+ specialeffect(EF_RESURRECTION, AREA, getnpcid("Richard#14hal02"));
next;
mes "[Richard]";
mes "Uhh.. Umm..";
@@ -1726,7 +1726,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
next;
mes "[Richard's Daughter]";
mes "Dad!!!";
- specialeffect(EF_SONICBLOWHIT, AREA, getnpcid(0, "Richard#14hal02"));
+ specialeffect(EF_SONICBLOWHIT, AREA, getnpcid("Richard#14hal02"));
next;
mes "[Richard]";
mes "O, Ouch!!!";
diff --git a/npc/re/instances/BangungotHospital.txt b/npc/re/instances/BangungotHospital.txt
index 6972322e1..4af583879 100644
--- a/npc/re/instances/BangungotHospital.txt
+++ b/npc/re/instances/BangungotHospital.txt
@@ -404,7 +404,7 @@ OnInstanceInit:
disablenpc instance_npcname("#Memorial Start_time");
end;
OnEnable:
- specialeffect(EF_BAT2, AREA, getnpcid(0, instance_npcname("#Memorial Start")));
+ specialeffect(EF_BAT2, AREA, getnpcid(instance_npcname("#Memorial Start")));
initnpctimer;
end;
OnDisable:
@@ -890,19 +890,19 @@ OnStopTimer:
end;
OnTimer1000:
mapannounce instance_mapname("1@ma_h"),"- Bangungot's Pillar of Spirit is curing Bangungot. If you don't hunt it now, he will fully recover!! -",bc_map,"0xFF8200";
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, instance_npcname("#Patternwarp45")));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid(instance_npcname("#Patternwarp45")));
end;
OnTimer7000:
mapannounce instance_mapname("1@ma_h"),"Bangungot: I never die!!!!",bc_map,"0xFF82FF";
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, instance_npcname("#Patternwarp45")));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid(instance_npcname("#Patternwarp45")));
end;
OnTimer14000:
mapannounce instance_mapname("1@ma_h"),"Bangungot: If you dare, kill me!! I will revive soon!!!",bc_map,"0xFF82FF";
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, instance_npcname("#Patternwarp45")));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid(instance_npcname("#Patternwarp45")));
end;
OnTimer21000:
mapannounce instance_mapname("1@ma_h"),"Bangungot: I cannot die this way...!!!!",bc_map,"0xFF82FF";
- specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, instance_npcname("#Patternwarp45")));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid(instance_npcname("#Patternwarp45")));
end;
OnTimer30000:
donpcevent instance_npcname("#Summon Pillar")+"::OnReset";
diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt
index 44b5f1e61..ec0efeb53 100644
--- a/npc/re/instances/OldGlastHeim.txt
+++ b/npc/re/instances/OldGlastHeim.txt
@@ -2744,7 +2744,7 @@ glast_01,188,273,5 script White Knight#1a 4_WHITEKNIGHT,{
close();
}
mes("I exchange you a White Knight Card for ^0000FF3000 Coagulated Spell^000000 or ^FF000070 Contaminated Magic^000000.");
- mes("<ITEMLINK>White Knight Card<INFO>4608</INFO></ITEMLINK>");
+ mes(F_MesItemInfo(White_Knightage_Card));
next();
setarray(.@item[0], Coagulated_Spell, Corrupted_Charm);
setarray(.@cost[0], 3000, 70);
@@ -2777,7 +2777,7 @@ glast_01,192,273,3 script Khalitzburg Knight#1a 4_F_KHALITZBURG,{
close();
}
mes("I exchange you a Khalitzburg Knight Card for ^0000FF5000 Coagulated Spell^000000 or ^FF0000100 Contaminated Magic^000000.");
- mes("<ITEMLINK>Khalitzburg Knight Card<INFO>4609</INFO></ITEMLINK>");
+ mes(F_MesItemInfo(Khali_Knightage_Card));
next();
setarray(.@item[0], Coagulated_Spell, Corrupted_Charm);
setarray(.@cost[0], 5000, 100);
diff --git a/npc/re/instances/WolfchevLaboratory.txt b/npc/re/instances/WolfchevLaboratory.txt
index efb32be7e..3bbb74ad1 100644
--- a/npc/re/instances/WolfchevLaboratory.txt
+++ b/npc/re/instances/WolfchevLaboratory.txt
@@ -1108,7 +1108,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
if (.@menu==2){ .@equip_card[3] = 0; }
else { .@equip_card[2] = 0; }
.@equip_item = getequipid(.@position);
- specialeffect(EF_BEGINSPELL2, AREA, getnpcid(0, "Sorcerer#Bio4Reward"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Sorcerer#Bio4Reward"));
progressbar "ffff00", 2;
specialeffect(EF_FROSTWEAPON, AREA, playerattached());
delitem Goast_Chill, 10;
@@ -1303,7 +1303,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
setarray .@equip_card[0], getequipcardid(.@position,0),getequipcardid(.@position,1),getequipcardid(.@position,2),getequipcardid(.@position,3);
.@equip_card[(.@socket_type-1)] = .@enchant;
.@equip_item = getequipid(.@position);
- specialeffect(EF_BEGINSPELL3, AREA, getnpcid(0, "Sorcerer#Bio4Reward"));
+ specialeffect(EF_BEGINSPELL3, AREA, getnpcid("Sorcerer#Bio4Reward"));
progressbar "ffff00", 2;
if (.@socket_type == 3)
delitem Blood_Thirst, 10;
@@ -1608,42 +1608,42 @@ que_lhz,1,1,0 script #Eventctrl FAKE_NPC,{
end;
OnTimer1000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "#01"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#01"));
specialeffect EF_BEGINASURA, "Human Guinea pig#01";
end;
OnTimer2000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "#02"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#02"));
specialeffect EF_BEGINASURA, "Human Guinea pig#02";
end;
OnTimer3000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "#03"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#03"));
specialeffect EF_BEGINASURA, "Human Guinea pig#03";
end;
OnTimer4000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "#04"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#04"));
specialeffect EF_BEGINASURA, "Human Guinea pig#04";
end;
OnTimer5000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "#05"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#05"));
specialeffect EF_BEGINASURA, "Human Guinea pig#05";
end;
OnTimer6000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "#06"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#06"));
specialeffect EF_BEGINASURA, "Human Guinea pig#06";
end;
OnTimer7000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "#07"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#07"));
specialeffect EF_BEGINASURA, "Human Guinea pig#07";
end;
OnTimer8000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, "#08"));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#08"));
specialeffect EF_BEGINASURA, "Human Guinea pig#08";
stopnpctimer;
end;
@@ -2441,7 +2441,7 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
OnTimer63000:
for(.@i = 1; .@i < 7; .@i++) {
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid(0, instance_npcname("Valve#2_"+.@i+"")));
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid( instance_npcname("Valve#2_"+.@i+"")));
disablenpc instance_npcname("Valve#2_"+.@i+"");
}
'broken_pipes += 1;
@@ -2845,73 +2845,73 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
OnTimer1000:
mapannounce instance_mapname("1@lhz"),"Whisper: Who are you....",bc_map,"0x7DCBF0";
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Seyren Windsor#boss01")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Seyren Windsor#boss01")));
end;
OnTimer2000:
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Cecile Damon#boss02")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Cecile Damon#boss02")));
end;
OnTimer3000:
mapannounce instance_mapname("1@lhz"),"Whisper: Do not approach more...",bc_map,"0x7DCBF0";
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Gertie Wie#boss03")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Gertie Wie#boss03")));
end;
OnTimer4000:
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Eremes Guile#boss04")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Eremes Guile#boss04")));
end;
OnTimer5000:
mapannounce instance_mapname("1@lhz"),"Whisper: This is a very dangerous place..",bc_map,"0x7DCBF0";
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Trentini#boss05")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Trentini#boss05")));
end;
OnTimer6000:
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Chen Liu#boss06")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Chen Liu#boss06")));
end;
OnTimer7000:
mapannounce instance_mapname("1@lhz"),"Whisper: You won't go out alive....",bc_map,"0x7DCBF0";
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Alphochio Basil#boss07")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Alphochio Basil#boss07")));
end;
OnTimer8000:
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Flamel Emul#boss08")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Flamel Emul#boss08")));
end;
OnTimer9000:
mapannounce instance_mapname("1@lhz"),"Whisper: If you don't want to be a part of us....",bc_map,"0x7DCBF0";
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Randel Lawrence#boss09")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Randel Lawrence#boss09")));
end;
OnTimer10000:
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Celia Alde#boss10")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Celia Alde#boss10")));
end;
OnTimer11000:
mapannounce instance_mapname("1@lhz"),"Whisper: Leave now....",bc_map,"0x7DCBF0";
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Kathryne Keyron#boss11")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Kathryne Keyron#boss11")));
end;
OnTimer12000:
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Margaretha Sorin#boss12")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Margaretha Sorin#boss12")));
end;
OnTimer13000:
mapannounce instance_mapname("1@lhz"),"Whisper: Before this place is thoroughly filled with sorrow and pain....",bc_map,"0x7DCBF0";
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Howard Alt-Eisen#boss13")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Howard Alt-Eisen#boss13")));
end;
OnTimer14000:
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Type_**Gren#boss14")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Type_**Gren#boss14")));
end;
OnTimer15000:
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Type_**Roke#boss15")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Type_**Roke#boss15")));
end;
OnTimer16000:
- specialeffect(EF_SPHERE, AREA, getnpcid(0, instance_npcname("Type_**Dree#boss16")));
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Type_**Dree#boss16")));
end;
OnTimer17000:
diff --git a/npc/re/instances/ghost_palace.txt b/npc/re/instances/ghost_palace.txt
index 3e708dc57..a291984db 100644
--- a/npc/re/instances/ghost_palace.txt
+++ b/npc/re/instances/ghost_palace.txt
@@ -601,7 +601,7 @@ OnInstanceInit:
OnStart:
stopnpctimer instance_npcname("#gp3control");
disablenpc(instance_npcname("#gp3control"));
- killmonster(instance_mapname("1@spa"), "All");
+ killmonster(instance_mapname("1@spa"), "all");
disablenpc(instance_npcname("#gp3warp"));
enablenpc(instance_npcname("Lurid Royal Guard#gp5"));
enablenpc(instance_npcname("Tiara Princess#gp5"));
diff --git a/npc/re/jobs/2e/kagerou_oboro.txt b/npc/re/jobs/2e/kagerou_oboro.txt
index efb1faf03..5c54a0114 100644
--- a/npc/re/jobs/2e/kagerou_oboro.txt
+++ b/npc/re/jobs/2e/kagerou_oboro.txt
@@ -1990,15 +1990,15 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{
mes "[Red Leopard Joe]";
mes "Let's now create a new prototype weapon.";
next;
- specialeffect(EF_GUIDEDATTACK, AREA, getnpcid(0, "Crafting Tools#ko_01"));
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_01"));
mes "[Red Leopard Joe]";
mes "Feel free to use tools from here, and...";
next;
- specialeffect(EF_GUIDEDATTACK, AREA, getnpcid(0, "Crafting Tools#ko_02"));
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_02"));
mes "[Red Leopard Joe]";
mes "...there...";
next;
- specialeffect(EF_GUIDEDATTACK, AREA, getnpcid(0, "Crafting Tools#ko_03"));
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_03"));
setquest 5142;
mes "[Red Leopard Joe]";
mes "...and everywhere else. Now let's begin!!";
@@ -2183,15 +2183,15 @@ L_Weapon:
next;
switch(select("Crafting tools?", "I don't have enough materials.", "How do you expect me to make a weapon?" + getarg(0))) {
case 1:
- specialeffect(EF_GUIDEDATTACK, AREA, getnpcid(0, "Crafting Tools#ko_01"));
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_01"));
mes "[Red Leopard Joe]";
mes "Feel free to use tools from here, and...";
next;
- specialeffect(EF_GUIDEDATTACK, AREA, getnpcid(0, "Crafting Tools#ko_02"));
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_02"));
mes "[Red Leopard Joe]";
mes "...there...";
next;
- specialeffect(EF_GUIDEDATTACK, AREA, getnpcid(0, "Crafting Tools#ko_03"));
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_03"));
mes "[Red Leopard Joe]";
mes "...and everywhere else.";
close;
@@ -2199,7 +2199,7 @@ L_Weapon:
mes "[Red Leopard Joe]";
mes "You haven't brought enough materials?";
next;
- specialeffect(EF_GUIDEDATTACK, AREA, getnpcid(0, "Drawer#ko"));
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Drawer#ko"));
mes "[Red Leopard Joe]";
mes "Then we'll have to pay a visit to the village. Try the ^FF0000drawer^000000 over there. It'll take you to the village.";
close;
diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt
index 6b04533db..e37087857 100644
--- a/npc/re/jobs/3-1/archbishop.txt
+++ b/npc/re/jobs/3-1/archbishop.txt
@@ -779,7 +779,7 @@ job3_arch01,29,34,3 script Valkyrie#arch 4_F_VALKYRIE2,{
warp "odin_tem02",282,263;
end;
}
- if (getmercinfo(1)) {
+ if (getmercinfo(MERCINFO_CLASS)) {
mes "[Valkyrie]";
mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have.";
close;
@@ -1006,7 +1006,7 @@ OnTouch:
if (countitem(ValkyrieA_Scroll)) {
delitem ValkyrieA_Scroll,1;
// fall through
- } else if (getmercinfo(1) == 2037) {
+ } else if (getmercinfo(MERCINFO_CLASS) == VALKYRIE_A) {
if (strnpcinfo(NPC_NAME) == "#arch_1_10")
viewpoint 1,113,327,1,0xFF9900;
.@randht = rand(1,10);
@@ -1038,7 +1038,7 @@ OnTouch:
if (countitem(ValkyrieA_Scroll)) {
delitem ValkyrieA_Scroll,1;
// fall through
- } else if (getmercinfo(1) == 2037) {
+ } else if (getmercinfo(MERCINFO_CLASS) == VALKYRIE_A) {
mapannounce "job3_arch02","Valkyrie's Nightmare: An incompetent illusion of Valkyrie came here with the assistance of humans. You wanna have that nightmare?",bc_map,"0xFF0000";
donpcevent "mob#arch_1::OnKill";
end;
@@ -1113,7 +1113,7 @@ OnKill:
}
job3_arch02,113,327,5 script Valkyrie#arch_01 4_F_VALKYRIE2,{
- if (getmercinfo(1)) {
+ if (getmercinfo(MERCINFO_CLASS)) {
mes "[Valkyrie]";
mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have.";
close;
@@ -1262,7 +1262,7 @@ OnTouch:
mes "So bright and warm....";
next;
mes "- Shoooo -";
- specialeffect(EF_CLOAKING, AREA, getnpcid(0, "Valkyrie Anguhilde#end"));
+ specialeffect(EF_CLOAKING, AREA, getnpcid("Valkyrie Anguhilde#end"));
hideonnpc "Valkyrie Anguhilde#end";
emotion e_omg,1;
next;
@@ -1355,7 +1355,7 @@ OnTouch:
if (countitem(ValkyrieB_Scroll)) {
delitem ValkyrieB_Scroll,1;
// fall through
- } else if (getmercinfo(1) == 2038) {
+ } else if (getmercinfo(MERCINFO_CLASS) == VALKYRIE_B) {
.@randht = rand(1,10);
if (.@randht < 8)
mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
@@ -1400,7 +1400,7 @@ OnTouch:
if (countitem(ValkyrieB_Scroll)) {
delitem ValkyrieB_Scroll,1;
// fall through
- } else if (getmercinfo(1) == 2038) {
+ } else if (getmercinfo(MERCINFO_CLASS) == VALKYRIE_B) {
mapannounce "job3_arch02","A shout of devil: You are so childish. I invite you a party of devil. I'll make you have a fun!",bc_map,"0xFF0000";
end;
}
diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt
index 41e5b476f..166a1d42e 100644
--- a/npc/re/jobs/3-1/ranger.txt
+++ b/npc/re/jobs/3-1/ranger.txt
@@ -613,7 +613,7 @@ tur_dun01,91,169,3 script Test Instructor#jr02 4_M_JOB_HUNTER,{
mes "Don't hang around here doing nothing. This is my area!";
close;
L_Start:
- if (getmercinfo(1)) {
+ if (getmercinfo(MERCINFO_CLASS)) {
mes "[Test Instructor, Teardrop]";
mes "Stop!";
next;
@@ -1491,7 +1491,7 @@ job3_rang02,251,49,3 script Test Supervisor#jr_13 4_M_JOB_HUNTER,{
setquest 8261;
close;
}
- if (getmercinfo(1) == 2034) {
+ if (getmercinfo(MERCINFO_CLASS) == M_DESERT_WOLF_B) {
erasequest 8261;
mes "Good! Then I'll start the test right now!";
next;
diff --git a/npc/re/jobs/3-2/genetic.txt b/npc/re/jobs/3-2/genetic.txt
index e85819f97..d9fb1bce6 100644
--- a/npc/re/jobs/3-2/genetic.txt
+++ b/npc/re/jobs/3-2/genetic.txt
@@ -189,11 +189,11 @@ job3_gen01,25,58,3 script Devries#gen 4_LGTSCIENCE,{
mes "- Zooooooooooooooooing -";
specialeffect EF_ENDURE;
next;
- specialeffect(EF_REPAIRWEAPON, AREA, getnpcid(0, "#from1to2gen"));
+ specialeffect(EF_REPAIRWEAPON, AREA, getnpcid("#from1to2gen"));
mes "- (Screeching Sounds)!!! -";
mes "- (Screeching)!!! -";
next;
- specialeffect(EF_CRASHEARTH, AREA, getnpcid(0, "#from1to2gen"));
+ specialeffect(EF_CRASHEARTH, AREA, getnpcid("#from1to2gen"));
mes "- Bump! Bump! Bump! -";
next;
mes "[Devries]";
@@ -451,8 +451,8 @@ job3_gen01,25,58,3 script Devries#gen 4_LGTSCIENCE,{
mes "Damn!";
next;
if (job_gen == 60) {
- specialeffect(EF_FLASHER, AREA, getnpcid(0, "Super Cultivator#gen"));
- specialeffect(EF_PHARMACY_OK, AREA, getnpcid(0, "Super Cultivator#gen"));
+ specialeffect(EF_FLASHER, AREA, getnpcid("Super Cultivator#gen"));
+ specialeffect(EF_PHARMACY_OK, AREA, getnpcid("Super Cultivator#gen"));
mes "[Devries]";
mes "Popo, look at that!";
mes "That's really a mysterious plant!";
@@ -485,8 +485,8 @@ job3_gen01,25,58,3 script Devries#gen 4_LGTSCIENCE,{
job_gen = 62;
changequest 2215,2216;
} else {
- specialeffect(EF_SPELLBREAKER, AREA, getnpcid(0, "Super Cultivator#gen"));
- specialeffect(EF_PHARMACY_FAIL, AREA, getnpcid(0, "Super Cultivator#gen"));
+ specialeffect(EF_SPELLBREAKER, AREA, getnpcid("Super Cultivator#gen"));
+ specialeffect(EF_PHARMACY_FAIL, AREA, getnpcid("Super Cultivator#gen"));
mes "[Devries]";
mes "Uh oh! You failed, Popo.";
mes "It didn't grow at all, it's withered already.";
diff --git a/npc/re/jobs/3-2/sura.txt b/npc/re/jobs/3-2/sura.txt
index 567469d46..4e0108fd8 100644
--- a/npc/re/jobs/3-2/sura.txt
+++ b/npc/re/jobs/3-2/sura.txt
@@ -130,8 +130,8 @@ ve_in,237,125,0 script King Crab#job_shu 1_M_PAY_ELDER,{
next;
mes "[King Crab & Sludge Worm]";
mes "Aaaaaahhhhhhhhk!!!!!!!!";
- specialeffect(EF_FIRESPLASHHIT, AREA, getnpcid(0, "King Crab#job_shu"));
- specialeffect(EF_FIRESPLASHHIT, AREA, getnpcid(0, "Sludge Worm#job_shu"));
+ specialeffect(EF_FIRESPLASHHIT, AREA, getnpcid("King Crab#job_shu"));
+ specialeffect(EF_FIRESPLASHHIT, AREA, getnpcid("Sludge Worm#job_shu"));
next;
mes "- What is that amazing power? -";
mes "- I've never seen this -";
@@ -654,14 +654,14 @@ OnTimer305000:
OnTimer315000:
mapannounce "sword_2-1","Come on here.",bc_map;
donpcevent "Buddy#job_shuaneh::OnDisable";
- donpcevent "#Sura_garajjom::OnEnable";
+ // donpcevent "#Sura_garajjom::OnEnable"; // Commented to prevent #Sura_garajjom allowing player to success the test at any case (even when failing it).
end;
OnTimer320000:
mapannounce "sword_2-1","I guess you're not ready to meet the master yet...",bc_map;
mapwarp "sword_2-1","yuno_fild07",255,178;
- donpcevent "#Sura_garajjom::OnDisable";
- donpcevent "Drawing Room::OnEnable";
+ // donpcevent "#Sura_garajjom::OnDisable";
donpcevent "Buddy#Sura_Salon::OnDisable";
+ donpcevent "Drawing Room::OnEnable";
end;
}
diff --git a/npc/re/jobs/novice/academy.txt b/npc/re/jobs/novice/academy.txt
index a69f7008d..3b260d3db 100644
--- a/npc/re/jobs/novice/academy.txt
+++ b/npc/re/jobs/novice/academy.txt
@@ -2328,7 +2328,7 @@ izlude,140,249,7 script Academy Student#0 4_M_NOV_RUMIN,{
close();
}
if (questprogress(7478) == 1 && !questprogress(7479)) {
- specialeffect(EF_STEAL, AREA, getnpcid(0, "Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN)));
+ specialeffect(EF_STEAL, AREA, getnpcid("Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN)));
donpcevent("Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnDisable");
emotion(e_gasp, 1);
emotion(e_heh);
@@ -5693,7 +5693,7 @@ izlude,95,146,5 script Mom#iz 4_F_CAVE1,{
mes("^0000cd[Come to me, honey~]^000000");
next();
enablenpc("Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN));
- specialeffect(EF_PORTAL, AREA, getnpcid(0, "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN)));
+ specialeffect(EF_PORTAL, AREA, getnpcid("Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN)));
mes("[Etinifni]");
mes("What's up? Where am I?");
next();
@@ -5779,7 +5779,7 @@ izlude,99,138,3 script Romantic Male#iz 4_M_SITDOWN,{
mes("[Romantic Male]");
mes("Are you lifting up our good old memories renting my wedding dress and your tuxedo!! It will strenghthen our relationship, won't it?");
next();
- specialeffect(EF_HEARTCASTING, AREA, getnpcid(0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN)));
+ specialeffect(EF_HEARTCASTING, AREA, getnpcid("Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN)));
emotion(e_kis, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
mes("[Romantic Male]");
mes("Honey~~ I love you!! Sweetheart~");
@@ -5813,7 +5813,7 @@ izlude,97,138,5 script Romantic Female#iz 4_F_SITDOWN,{
mes("[Romantic Female]");
mes("You are tired of sitting, aren't you?");
next();
- specialeffect(EF_HEARTCASTING, AREA, getnpcid(0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN)));
+ specialeffect(EF_HEARTCASTING, AREA, getnpcid("Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN)));
emotion(e_kis, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
mes("[Romantic Female]");
mes("My sweetheart!!! I love you!!!");
@@ -5821,7 +5821,7 @@ izlude,97,138,5 script Romantic Female#iz 4_F_SITDOWN,{
mes("[Romantic Male]");
mes("Yes, thank you for sharing your SP! You are also tired, aren't you?");
next();
- specialeffect(EF_HEARTCASTING, AREA, getnpcid(0, "Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN)));
+ specialeffect(EF_HEARTCASTING, AREA, getnpcid("Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN)));
emotion(e_kis2, 0, "Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN));
mes("[Romantic Male]");
mes("My sweetheart!! I love you!!!");
diff --git a/npc/re/merchants/hd_refiner.txt b/npc/re/merchants/hd_refiner.txt
index 17979642e..2dcc74bae 100644
--- a/npc/re/merchants/hd_refiner.txt
+++ b/npc/re/merchants/hd_refiner.txt
@@ -39,6 +39,17 @@
//== Blacksmith Mighty Hammer (+7~9) =======================
- script ::MightyHammer FAKE_NPC,{
+ mes("[Blacksmith Mighty Hammer]");
+ mes("I'm a blacksmith skilled in refining weapons and armors.");
+ mes("I can refine an item of your choice among the items you are equipped with.");
+ mes("Which item do you want to refine?");
+
+ if (getbattleflag("features/replace_refine_npcs") == 1) {
+ if (openrefineryui())
+ close();
+ }
+ next();
+
disable_items;
mes "[Blacksmith Mighty Hammer]";
mes "Unlike others, I am a blacksmith who refines a very limited number of items.";
diff --git a/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt
index 6356acfca..879e9a5f1 100644
--- a/npc/re/merchants/refine.txt
+++ b/npc/re/merchants/refine.txt
@@ -56,6 +56,17 @@ payon_in01,18,132,3 script Vestri#pay 4_M_DWARF,{
// On official servers, if an item is unsuccessfully refined it will break at a
// 20% rate and downgrade at an 80% rate.
function script refinenew {
+ mesf("[%s]", getarg(0));
+ mes("I'm a blacksmith skilled in refining weapons and armors.");
+ mes("I can refine an item of your choice among the items you are equipped with.");
+ mes("Which item do you want to refine?");
+
+ if (getbattleflag("features/replace_refine_npcs") == 1) {
+ if (openrefineryui())
+ close();
+ }
+ next();
+
disable_items;
mes "["+ getarg(0) +"]";
mes "I am the best Armsmith ever!";
diff --git a/npc/re/merchants/shadow_refiner.txt b/npc/re/merchants/shadow_refiner.txt
index f03d348b2..db9668b6d 100644
--- a/npc/re/merchants/shadow_refiner.txt
+++ b/npc/re/merchants/shadow_refiner.txt
@@ -39,11 +39,17 @@ itemmall,31,76,3 script Shadow Blacksmith#nomal 4_F_JOB_BLACKSMITH,{
.@npc_name$ = "[Shadow Blacksmith]";
.@zeny_cost = 20000; // Amount of zeny to be charged for refining.
- disable_items;
mesf("%s", .@npc_name$);
mes("Do you want to refine a Shadow item?");
mes("Please choose the part you want to refine.");
- next;
+
+ if (getbattleflag("features/replace_refine_npcs") == 1) {
+ if (openrefineryui())
+ close();
+ }
+ next();
+
+ disable_items;
setarray(.@position$[0],"Armor","Weapon","Shield","Shoes","Earring","Pendant");
for (.@i=EQI_SHADOW_ARMOR; .@i <= EQI_SHADOW_ACC_L; .@i++){
.@menu$ = .@menu$ + (getequipisequiped(.@i) ? getequipname(.@i) : ("^8C8C8C" + .@position$[.@i-EQI_SHADOW_ARMOR] + " [Not Equipped]^000000" + ":"));
diff --git a/npc/re/quests/eden/eden_iro.txt b/npc/re/quests/eden/eden_iro.txt
index 874e514a3..aae9a5566 100644
--- a/npc/re/quests/eden/eden_iro.txt
+++ b/npc/re/quests/eden/eden_iro.txt
@@ -835,8 +835,8 @@ OnInit:
initnpctimer;
end;
OnTimer5000:
- specialeffect(EF_REFINEOK, AREA, getnpcid(0, "Suhnmi#eden"));
- specialeffect(EF_REFINEOK, AREA, getnpcid(0, "Mighty Hammer#ed"));
+ specialeffect(EF_REFINEOK, AREA, getnpcid("Suhnmi#eden"));
+ specialeffect(EF_REFINEOK, AREA, getnpcid("Mighty Hammer#ed"));
initnpctimer;
end;
}
diff --git a/npc/re/quests/eden/eden_tutorial.txt b/npc/re/quests/eden/eden_tutorial.txt
index 902db7945..188bc514a 100644
--- a/npc/re/quests/eden/eden_tutorial.txt
+++ b/npc/re/quests/eden/eden_tutorial.txt
@@ -228,7 +228,7 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
close;
}
} else if (questprogress(9167) == 1) {
- if (!getmercinfo(1)) {
+ if (!getmercinfo(MERCINFO_CLASS)) {
mes "[Tutorial Instructor]";
mes "You haven't gotten a mercenary yet.";
next;
diff --git a/npc/re/quests/quests_brasilis.txt b/npc/re/quests/quests_brasilis.txt
index ad7aed094..4a60fd2bb 100644
--- a/npc/re/quests/quests_brasilis.txt
+++ b/npc/re/quests/quests_brasilis.txt
@@ -828,7 +828,7 @@ brasilis,203,64,3 script Strange Kid#bra 4_M_KID1,{
brasilis,56,224,7 script Mage Paje#bra 4_M_BIBI,{
mes "[Mage Paje]";
mes "Abracadabra~";
- specialeffect(EF_POISONHIT, AREA, getnpcid(0, "Poring#bra"));
+ specialeffect(EF_POISONHIT, AREA, getnpcid("Poring#bra"));
setarray .@display[0], 4_NFCOCK, 4_CAT, 4_PORING;
setnpcdisplay "Poring#bra",.@display[rand(3)];
if (brazil_gua != 5) close;
@@ -950,7 +950,7 @@ OnTouch_:
mes "Smelling! This smell is from a human!";
mes "Somewhere, a human!";
mes "I got it. You are!!!";
- specialeffect(EF_HIT1, AREA, getnpcid(0, "Jaguar#bra"));
+ specialeffect(EF_HIT1, AREA, getnpcid("Jaguar#bra"));
emotion e_omg,1;
next;
mes "[Jaguar]";
@@ -1875,7 +1875,7 @@ bra_dun02,71,200,3 script Water lily#bra HIDDEN_NPC,{
next;
mes "- munch -";
mes "- mumble mumble mumble -";
- specialeffect(EF_POTION7, AREA, getnpcid(0, "Recluse#bra"));
+ specialeffect(EF_POTION7, AREA, getnpcid("Recluse#bra"));
next;
mes "[Jasi]";
mes "Uh, this taste... is!";
diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt
index 542b7c2cd..091d8527a 100644
--- a/npc/re/quests/quests_malaya.txt
+++ b/npc/re/quests/quests_malaya.txt
@@ -7330,14 +7330,14 @@ malaya,55,72,4 script Nurse#ma_n1 4_F_NURSE,{
close;
}
mes "The voice seems to be coming from the bushes near the entrance of the hospital.";
- specialeffect(EF_STEAL, AREA, getnpcid(0, "Bushes#ma"));
+ specialeffect(EF_STEAL, AREA, getnpcid("Bushes#ma"));
malaya_bang = 13;
changequest 11293,11294;
close;
} else if (malaya_bang == 13) {
mes "The voice seems to be coming from the bushes near the entrance of the hospital.";
mes "Let's check around.";
- specialeffect(EF_STEAL, AREA, getnpcid(0, "Bushes#ma"));
+ specialeffect(EF_STEAL, AREA, getnpcid("Bushes#ma"));
close;
} else if (malaya_bang == 14) {
mes "[Nurse Las]";
@@ -8789,11 +8789,11 @@ ma_fild01,172,223,6 script Tattooist#pin 4_M_BARYO_OLD,{
next;
mes "The Tattooist placed the Ancient Grudges around the workplace.";
next;
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#01"));
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#02"));
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#03"));
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#04"));
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#05"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#01"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#02"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#03"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#04"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#05"));
mes "The Ancient Grudge lit up and tools starts to glow. He smiled satisfyingly at the glowing tools and materials.";
next;
mes "And then "+.@name$+" stared intensely at the doll as if to remember every detail of it in his head.";
@@ -8903,11 +8903,11 @@ ma_fild01,172,223,6 script Tattooist#pin 4_M_BARYO_OLD,{
}
mes "He held up the powder in both hands and then blew it onto the drawing.";
next;
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#01"));
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#02"));
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#03"));
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#04"));
- specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid(0, "Ancient Grudge#05"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#01"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#02"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#03"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#04"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#05"));
mes "All Ancient Grudges started to burn and then the glowing light from the "+.@name$+" drawing faded away.";
next;
specialeffect EF_LIGHTSPHERE;
diff --git a/npc/scripts.conf b/npc/scripts.conf
index f03ac50f0..aa3cb23e8 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -226,6 +226,7 @@
"npc/other/turbo_track.txt",
"npc/other/item_merge.txt",
"npc/other/private_airship.txt",
+"npc/other/inventory_expansion.txt",
//================= Quests ================================================
// - Quests-Tutorials for basic classes (1st class quests) ------
diff --git a/npc/scripts_custom.conf b/npc/scripts_custom.conf
index 14384fd17..a5aad9767 100644
--- a/npc/scripts_custom.conf
+++ b/npc/scripts_custom.conf
@@ -50,6 +50,7 @@
//"npc/custom/card_remover.txt",
//"npc/custom/item_signer.txt",
//"npc/custom/woe_controller.txt",
+//"npc/custom/bartershop.txt",
//================= Other Scripts =========================================
// -- MVP Arena
diff --git a/npc/woe-fe/agit_main.txt b/npc/woe-fe/agit_main.txt
index 5ac5b8e9a..a0db6402b 100644
--- a/npc/woe-fe/agit_main.txt
+++ b/npc/woe-fe/agit_main.txt
@@ -105,7 +105,8 @@ OnAgitBreak:
// Show and log error if an unguilded player breaks the Emperium. (Should NEVER happen)
if (.@GID <= 0) {
.@notice$ = "Character "+strcharinfo(PC_NAME)+" ("+getcharid(CHAR_ID_CHAR)+") broke the Emperium in Castle: "+strnpcinfo(NPC_NAME_HIDDEN)+" while guildless. No data will be saved and Emperium respawned.";
- logmes .@notice$; debugmes .@notice$;
+ logmes .@notice$;
+ consolemes(CONSOLEMES_NOTICE, .@notice$);
donpcevent "Agit#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnStartArena";
end;
}
diff --git a/npc/woe-se/agit_main_se.txt b/npc/woe-se/agit_main_se.txt
index 6fc319377..41430f6a1 100644
--- a/npc/woe-se/agit_main_se.txt
+++ b/npc/woe-se/agit_main_se.txt
@@ -222,50 +222,50 @@ OnTreasureDied:
- script Steward#template FAKE_NPC,{
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
if (!.@GID) {
- mes "[ Steward ]";
- mes "I await for the master";
- mes "whom destiny will choose";
- mes "for me. Do you think you";
- mes "have to courage and strength";
- mes "to conquer this stronghold?";
+ mes("[ Steward ]");
+ mes("I await for the master");
+ mes("whom destiny will choose");
+ mes("for me. Do you think you");
+ mes("have to courage and strength");
+ mes("to conquer this stronghold?");
close;
}
if (getcharid(CHAR_ID_GUILD) != .@GID || strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
- mes "[ Steward ]";
- mes "Hmpf. Your threats don't";
- mes "scare me! Guardians, drive";
- mes "this infidel away from here!";
- mes "I will always be loyal to the";
- mes "master of this stronghold,";
- mes "the one and only ^FF0000"+getguildmaster(.@GID)+"^000000.";
+ mes("[ Steward ]");
+ mes("Hmpf. Your threats don't");
+ mes("scare me! Guardians, drive");
+ mes("this infidel away from here!");
+ mes("I will always be loyal to the");
+ mes("master of this stronghold,");
+ mesf("the one and only ^FF0000%s^000000.", getguildmaster(.@GID));
close;
}
- mes "[ Steward ]";
- mes "Ah, Master ^FF0000"+getguildmaster(.@GID)+"^000000...";
- mes "How shall I serve you today?";
- mes "Was there an aspect of this";
- mes "stronghold's maintenance";
- mes "you wanted to discuss?";
+ mes("[ Steward ]");
+ mesf("Ah, Master ^FF0000%s^000000...", getguildmaster(.@GID));
+ mes("How shall I serve you today?");
+ mes("Was there an aspect of this");
+ mes("stronghold's maintenance");
+ mes("you wanted to discuss?");
next;
switch(select("Stronghold Briefing", "Invest in Commercial Growth", "Invest in Defense growth", "Hire/Fire Storage Staff", "Go to Master's room")) {
case 1:
- mes "[ Steward ]";
- mes "The Commercial Growth";
- mes "Level of the stronghold is ^0000ff"+getcastledata(strnpcinfo(NPC_MAP),2)+".";
+ mes("[ Steward ]");
+ mes("The Commercial Growth");
+ mesf("Level of the stronghold is ^0000ff%d^000000.", getcastledata(strnpcinfo(NPC_MAP),2));
if (getcastledata(strnpcinfo(NPC_MAP),4) > 0) {
- mes "Last time, you invested in";
- mes "Commercial Growth "+getcastledata(strnpcinfo(NPC_MAP),4)+".";
+ mes("Last time, you invested in");
+ mesf("Commercial Growth ^0000ff%d^000000.", getcastledata(strnpcinfo(NPC_MAP),4));
}
next;
- mes "[ Steward ]";
- mes "Our stronghold's";
- mes "safeguard level is "+getcastledata(strnpcinfo(NPC_MAP),3)+".";
+ mes("[ Steward ]");
+ mes("Our stronghold's");
+ mesf("safeguard level is %d.", getcastledata(strnpcinfo(NPC_MAP),3));
if (getcastledata(strnpcinfo(NPC_MAP),5) > 0) {
- mes "Last time, you invested";
- mes "in defense "+getcastledata(strnpcinfo(NPC_MAP),5)+" times.";
+ mes("Last time, you invested");
+ mesf("in defense %d times.", getcastledata(strnpcinfo(NPC_MAP),5));
}
- mes " ";
- mes "That is all, master.";
+ mes(" ");
+ mes("That is all, master.");
close;
case 2:
.@Economy = getcastledata(strnpcinfo(NPC_MAP),2);
@@ -281,84 +281,84 @@ OnTreasureDied:
// Quadruple the cost of investing if you've already invested once.
if (getcastledata(strnpcinfo(NPC_MAP),4))
.@eco_invest *= 4;
- mes "[ Steward ]";
- mes "Raising the stronghold's";
- mes "commercial growth will";
- mes "increase the quantity of";
- mes "goods produced for the guild.";
- mes "Investing in commercial growth";
- mes "will help the guild's future.";
+ mes("[ Steward ]");
+ mes("Raising the stronghold's");
+ mes("commercial growth will");
+ mes("increase the quantity of");
+ mes("goods produced for the guild.");
+ mes("Investing in commercial growth");
+ mes("will help the guild's future.");
next;
- mes "[ Steward ]";
- mes "You can make one investment";
- mes "each day, but if you can make";
- mes "two investments if you pay";
- mes "more Zeny: this will speed";
- mes "up commercial development,";
- mes "but can be quite expensive.";
+ mes("[ Steward ]");
+ mes("You can make one investment");
+ mes("each day, but if you can make");
+ mes("two investments if you pay");
+ mes("more Zeny: this will speed");
+ mes("up commercial development,");
+ mes("but can be quite expensive.");
next;
if (.@Economy == 100) {
- mes "[ Steward ]";
- mes "However, our stronghold's";
- mes "commerical growth level is";
- mes "at 100%. It's not possible to";
- mes "develop commercial growth";
- mes "any further than that.";
+ mes("[ Steward ]");
+ mes("However, our stronghold's");
+ mes("commerical growth level is");
+ mes("at 100%. It's not possible to");
+ mes("develop commercial growth");
+ mes("any further than that.");
close;
}
if (getcastledata(strnpcinfo(NPC_MAP),4) >= 2) {
- mes "[ Steward ]";
- mes "You've already made two";
- mes "investments today, so you'll";
- mes "have to wait until tomorrow";
- mes "to make another investment.";
+ mes("[ Steward ]");
+ mes("You've already made two");
+ mes("investments today, so you'll");
+ mes("have to wait until tomorrow");
+ mes("to make another investment.");
close;
}
if (getcastledata(strnpcinfo(NPC_MAP),4) == 0) {
- mes "[ Steward ]";
- mes "You must pay ^FF0000"+.@eco_invest+"^000000 Zeny";
- mes "to make an investment";
- mes "Will you invest in this";
- mes "stronghold's commerical";
- mes "development now?";
+ mes("[ Steward ]");
+ mesf("You must pay ^FF0000%d^000000 Zeny", .@eco_invest);
+ mes("to make an investment");
+ mes("Will you invest in this");
+ mes("stronghold's commerical");
+ mes("development now?");
}
else {
- mes "[ Steward ]";
- mes "You must pay ^FF0000"+.@eco_invest+"^000000";
- mes "more Zeny to make a second";
- mes "investment today. Will you";
- mes "invest one more time?";
+ mes("[ Steward ]");
+ mesf("You must pay ^FF0000%d^000000", .@eco_invest);
+ mes("more Zeny to make a second");
+ mes("investment today. Will you");
+ mes("invest one more time?");
}
next;
switch(select("Invest in Commercial Growth", "Cancel")) {
case 1:
if (getcastledata(strnpcinfo(NPC_MAP),4) >= 2) {
- mes "[ Steward ]";
- mes "You've already made two";
- mes "investments today, so you'll";
- mes "have to wait until tomorrow";
- mes "to make another investment.";
+ mes("[ Steward ]");
+ mes("You've already made two");
+ mes("investments today, so you'll");
+ mes("have to wait until tomorrow");
+ mes("to make another investment.");
close;
}
if (Zeny < .@eco_invest) {
- mes "[ Steward ]";
- mes "I'm sorry, Master, but";
- mes "you do not have enough";
- mes "Zeny to make an investment";
- mes "for the guild today.";
+ mes("[ Steward ]");
+ mes("I'm sorry, Master, but");
+ mes("you do not have enough");
+ mes("Zeny to make an investment");
+ mes("for the guild today.");
close;
}
Zeny -= .@eco_invest;
setcastledata strnpcinfo(NPC_MAP),4,getcastledata(strnpcinfo(NPC_MAP),4)+1;
- mes "[ Steward ]";
- mes "A wise use of the guild's";
- mes "funds, Master. We can expect";
- mes "to see the results of this";
- mes "investment by tomorrow.";
+ mes("[ Steward ]");
+ mes("A wise use of the guild's");
+ mes("funds, Master. We can expect");
+ mes("to see the results of this");
+ mes("investment by tomorrow.");
close;
case 2:
- mes "[ Steward ]";
- mes "As you command, Master.";
+ mes("[ Steward ]");
+ mes("As you command, Master.");
close;
}
case 3:
@@ -375,220 +375,220 @@ OnTreasureDied:
// Quadruple the cost of investing if you've already invested once.
if (getcastledata(strnpcinfo(NPC_MAP),5))
.@def_invest *= 4;
- mes "[ Steward ]";
- mes "Investing in our stronghold's";
- mes "defense will enhance the";
- mes "durability of our Guardians";
- mes "and the Emperium. We'll need";
- mes "every advantage to protect";
- mes "ourselves from our enemies.";
+ mes("[ Steward ]");
+ mes("Investing in our stronghold's");
+ mes("defense will enhance the");
+ mes("durability of our Guardians");
+ mes("and the Emperium. We'll need");
+ mes("every advantage to protect");
+ mes("ourselves from our enemies.");
next;
- mes "[ Steward ]";
- mes "You can invest in defense";
- mes "once per day, but if you pay";
- mes "more Zeny, you can invest";
- mes "a maximum of two times daily.";
+ mes("[ Steward ]");
+ mes("You can invest in defense");
+ mes("once per day, but if you pay");
+ mes("more Zeny, you can invest");
+ mes("a maximum of two times daily.");
next;
- mes "[ Steward ]";
+ mes("[ Steward ]");
if (getcastledata(strnpcinfo(NPC_MAP),3) == 100) {
- mes "The Defense Level of this";
- mes "stronghold is 100%, and";
- mes "cannot be increased further.";
+ mes("The Defense Level of this");
+ mes("stronghold is 100%, and");
+ mes("cannot be increased further.");
close;
}
if (getcastledata(strnpcinfo(NPC_MAP),5) >= 2) {
- mes "Master, you've already";
- mes "invested in Defense twice";
- mes "today. You'll need to wait";
- mes "until tomorrow if you really";
- mes "want to increase our defenses.";
+ mes("Master, you've already");
+ mes("invested in Defense twice");
+ mes("today. You'll need to wait");
+ mes("until tomorrow if you really");
+ mes("want to increase our defenses.");
close;
}
if (getcastledata(strnpcinfo(NPC_MAP),5) == 0) {
- mes "We need ^FF0000"+.@def_invest+"^000000";
- mes "Zeny to invest in our";
- mes "stronghold's defenses.";
- mes "Will you invest now?";
+ mesf("We need ^FF0000%d^000000", .@def_invest);
+ mes("Zeny to invest in our");
+ mes("stronghold's defenses.");
+ mes("Will you invest now?");
}
else {
- mes "We need ^FF0000"+.@def_invest+"^000000";
- mes "Zeny to invest in our";
- mes "stronghold's defenses";
- mes "a second time today.";
- mes "Will you invest now?";
+ mesf("We need ^FF0000%d^000000", .@def_invest);
+ mes("Zeny to invest in our");
+ mes("stronghold's defenses");
+ mes("a second time today.");
+ mes("Will you invest now?");
}
next;
switch(select("Invest in Defense", "Cancel")) {
case 1:
if (getcastledata(strnpcinfo(NPC_MAP),5) >= 2) {
- mes "[ Steward ]";
- mes "Master, you've already";
- mes "invested in Defense twice";
- mes "today. You'll need to wait";
- mes "until tomorrow if you really";
- mes "want to increase our defenses.";
+ mes("[ Steward ]");
+ mes("Master, you've already");
+ mes("invested in Defense twice");
+ mes("today. You'll need to wait");
+ mes("until tomorrow if you really");
+ mes("want to increase our defenses.");
close;
}
if (Zeny < .@def_invest) {
- mes "[ Steward ]";
- mes "I'm sorry, Master, but";
- mes "you do not have enough";
- mes "Zeny to make an investment";
- mes "for the guild today.";
+ mes("[ Steward ]");
+ mes("I'm sorry, Master, but");
+ mes("you do not have enough");
+ mes("Zeny to make an investment");
+ mes("for the guild today.");
close;
}
Zeny -= .@def_invest;
setcastledata strnpcinfo(NPC_MAP),5,getcastledata(strnpcinfo(NPC_MAP),5)+1;
- mes "[ Steward ]";
- mes "A wise use of the guild's";
- mes "funds, Master. Increasing";
- mes "the frequency of treasure";
- mes "procured by the guild will";
- mes "definitely help us all.";
+ mes("[ Steward ]");
+ mes("A wise use of the guild's");
+ mes("funds, Master. Increasing");
+ mes("the frequency of treasure");
+ mes("procured by the guild will");
+ mes("definitely help us all.");
close;
case 2:
- mes "[ Steward ]";
- mes "As you command, Master.";
+ mes("[ Steward ]");
+ mes("As you command, Master.");
close;
}
case 4:
if (getcastledata(strnpcinfo(NPC_MAP),9) == 1) {
- mes "[ Steward ]";
- mes "Do you wish to dismiss";
- mes "the Kafra Employee that";
- mes "we've hired for the guild?";
+ mes("[ Steward ]");
+ mes("Do you wish to dismiss");
+ mes("the Kafra Employee that");
+ mes("we've hired for the guild?");
next;
switch(select("Dismiss", "Cancel")) {
case 1:
cutin "kafra_01",2;
- mes "[ Hired Kafra Employee ]";
- mes "Master, please reconsider!";
- mes "I've been working very hard";
- mes "for the success of the guild!";
- mes "I'll try harder to serve the";
- mes "guild members of this";
- mes "stronghold, I promise!";
+ mes("[ Hired Kafra Employee ]");
+ mes("Master, please reconsider!");
+ mes("I've been working very hard");
+ mes("for the success of the guild!");
+ mes("I'll try harder to serve the");
+ mes("guild members of this");
+ mes("stronghold, I promise!");
next;
switch(select("Dismiss", "Cancel")) {
case 1:
- mes "[ Hired Kafra Employee ]";
- mes "Why?! What have I done";
- mes "to deserve this? Waaah~!";
+ mes("[ Hired Kafra Employee ]");
+ mes("Why?! What have I done");
+ mes("to deserve this? Waaah~!");
next;
cutin "kafra_01",255;
break;
case 2:
- mes "[ Hired Kafra Employee ]";
- mes "Thank you, Master!";
- mes "I'll obey your every";
- mes "command as best I can!";
- mes "You won't regret this!";
+ mes("[ Hired Kafra Employee ]");
+ mes("Thank you, Master!");
+ mes("I'll obey your every");
+ mes("command as best I can!");
+ mes("You won't regret this!");
close;
}
break;
case 2:
- mes "[ Steward ]";
- mes "She works very hard,";
- mes "in my opinion. It was in";
- mes "all of our best interests to";
- mes "allow her to stay with us.";
+ mes("[ Steward ]");
+ mes("She works very hard,");
+ mes("in my opinion. It was in");
+ mes("all of our best interests to");
+ mes("allow her to stay with us.");
close;
}
disablenpc "Kafra Employee#"+strnpcinfo(NPC_NAME_HIDDEN);
setcastledata strnpcinfo(NPC_MAP),9,0;
- mes "[ Steward ]";
- mes "That Kafra Employee";
- mes "has been dismissed.";
- mes "Were really dissatisfied";
- mes "by the quality of her service?";
+ mes("[ Steward ]");
+ mes("That Kafra Employee");
+ mes("has been dismissed.");
+ mes("Were really dissatisfied");
+ mes("by the quality of her service?");
close;
}
else {
- mes "[ Steward ]";
- mes "Will you hire a";
- mes "Kafra Employee to serve";
- mes "our stronghold? You must";
- mes "pay ^FF000010,000 Zeny^000000 to hire one.";
+ mes("[ Steward ]");
+ mes("Will you hire a");
+ mes("Kafra Employee to serve");
+ mes("our stronghold? You must");
+ mes("pay ^FF000010,000 Zeny^000000 to hire one.");
next;
switch(select("Hire", "Cancel")) {
case 1:
if (getgdskilllv(.@GID,10001) == 0) {
- mes "[ Steward ]";
- mes "Master, we cannot hire a";
- mes "Kafra Employee because";
- mes "you have not yet attained";
- mes "the ^FF0000Contract with Kafra^000000";
- mes "guild skill.";
+ mes("[ Steward ]");
+ mes("Master, we cannot hire a");
+ mes("Kafra Employee because");
+ mes("you have not yet attained");
+ mes("the ^FF0000Contract with Kafra^000000");
+ mes("guild skill.");
close;
}
if (Zeny < 10000) {
- mes "[ Steward ]";
- mes "Master, we cannot hire a";
- mes "Kafra Employee because";
- mes "we do not have enough";
- mes "funds to pay the contract fee.";
+ mes("[ Steward ]");
+ mes("Master, we cannot hire a");
+ mes("Kafra Employee because");
+ mes("we do not have enough");
+ mes("funds to pay the contract fee.");
close;
}
Zeny -= 10000;
enablenpc "Kafra Employee#"+strnpcinfo(NPC_NAME_HIDDEN);
setcastledata strnpcinfo(NPC_MAP),9,1;
- mes "[ Steward ]";
- mes "Very well. We have formed";
- mes "a contract with the Kafra";
- mes "Head Office, and hired a";
- mes "Kafra Employee for our";
- mes "stronghold. Here she is~";
+ mes("[ Steward ]");
+ mes("Very well. We have formed");
+ mes("a contract with the Kafra");
+ mes("Head Office, and hired a");
+ mes("Kafra Employee for our");
+ mes("stronghold. Here she is~");
next;
cutin "kafra_01",2;
- mes "[ Hired Kafra Employee ]";
- mes "How do you do? I've";
- mes "been dispatched by the";
- mes "Kafra Head Office to";
- mes "serve your guild's needs.";
- mes "I'll do my best to follow";
- mes "your every command, Master.";
+ mes("[ Hired Kafra Employee ]");
+ mes("How do you do? I've");
+ mes("been dispatched by the");
+ mes("Kafra Head Office to");
+ mes("serve your guild's needs.");
+ mes("I'll do my best to follow");
+ mes("your every command, Master.");
next;
cutin "kafra_01",255;
- mes "[ Steward ]";
- mes "Our contract will expire";
- mes "after one month, so we must";
- mes "pay additional fees to keep";
- mes "this Kafra Employee in";
- mes "the service of our guild.";
+ mes("[ Steward ]");
+ mes("Our contract will expire");
+ mes("after one month, so we must");
+ mes("pay additional fees to keep");
+ mes("this Kafra Employee in");
+ mes("the service of our guild.");
close;
case 2:
- mes "[ Steward ]";
- mes "As you command, Master.";
- mes "However, I suggest hiring";
- mes "a Kafra Employee as soon";
- mes "as possible since our guild";
- mes "would greatly benefit from";
- mes "the convenient Kafra services.";
+ mes("[ Steward ]");
+ mes("As you command, Master.");
+ mes("However, I suggest hiring");
+ mes("a Kafra Employee as soon");
+ mes("as possible since our guild");
+ mes("would greatly benefit from");
+ mes("the convenient Kafra services.");
close;
}
}
case 5:
- mes "[ Steward ]";
- mes "Do you wish to enter the";
- mes "Guild Treasure Room?";
- mes "Only you, the Guild Master,";
- mes "are permitted to enter.";
+ mes("[ Steward ]");
+ mes("Do you wish to enter the");
+ mes("Guild Treasure Room?");
+ mes("Only you, the Guild Master,");
+ mes("are permitted to enter.");
next;
- mes "[ Steward ]";
- mes "Please remember to open";
- mes "the Treasure Boxes at the";
- mes "proper time. Otherwise, the";
- mes "treasure may disappear if";
- mes "something unexpected happens.";
+ mes("[ Steward ]");
+ mes("Please remember to open");
+ mes("the Treasure Boxes at the");
+ mes("proper time. Otherwise, the");
+ mes("treasure may disappear if");
+ mes("something unexpected happens.");
next;
switch(select("Go to Treasure Room", "Cancel")) {
case 1:
- mes "[ Steward ]";
- mes "Allow me to guide you";
- mes "on the secret path to";
- mes "the Treasure Room.";
- mes "Press the secret switch";
- mes "when you wish to return here.";
+ mes("[ Steward ]");
+ mes("Allow me to guide you");
+ mes("on the secret path to");
+ mes("the Treasure Room.");
+ mes("Press the secret switch");
+ mes("when you wish to return here.");
close2;
if (compare(strnpcinfo(NPC_MAP),"arug")) {
if (strnpcinfo(NPC_MAP) == "arug_cas01") setarray .@i[0],250,363;
@@ -603,13 +603,13 @@ OnTreasureDied:
warp strnpcinfo(NPC_MAP),.@i[0],.@i[1];
end;
case 2:
- mes "[ Steward ]";
- mes "Items in the Treasure Room";
- mes "are produced once each day.";
- mes "Therefore, you must obtain";
- mes "the treasure items everyday.";
- mes "For the sake of the guild,";
- mes "prioritize treasure harvesting!";
+ mes("[ Steward ]");
+ mes("Items in the Treasure Room");
+ mes("are produced once each day.");
+ mes("Therefore, you must obtain");
+ mes("the treasure items everyday.");
+ mes("For the sake of the guild,");
+ mes("prioritize treasure harvesting!");
close;
}
}
@@ -656,154 +656,154 @@ OnStartArena:
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
.@n$ = "["+strnpcinfo(NPC_NAME_VISIBLE)+"]";
if (!.@GID) {
- mes .@n$;
- mes "Great job. Now, all you";
- mes "need to do is destroy this";
- mes "Emperium to gain ownership";
- mes "over this stronghold.";
+ mes(.@n$);
+ mes("Great job. Now, all you");
+ mes("need to do is destroy this");
+ mes("Emperium to gain ownership");
+ mes("over this stronghold.");
close;
}
if (getcharid(CHAR_ID_GUILD) == .@GID) {
if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
- mes .@n$;
- mes "As guardian of this";
- mes "stronghold, I answer only";
- mes "to the master of the guild";
- mes "that controls this place.";
+ mes(.@n$);
+ mes("As guardian of this");
+ mes("stronghold, I answer only");
+ mes("to the master of the guild");
+ mes("that controls this place.");
close;
}
else {
if (!agitcheck2()) {
- mes .@n$;
- mes "I am "+strnpcinfo(NPC_NAME_VISIBLE)+", guardian of";
- mes "this stronghold. For now,";
- mes "all is quiet in this place.";
+ mes(.@n$);
+ mesf("I am %s, guardian of", strnpcinfo(NPC_NAME_VISIBLE));
+ mes("this stronghold. For now,");
+ mes("all is quiet in this place.");
next;
switch(select("Converse", "Cancel")) {
case 1:
- mes .@n$;
- mes "Do you have any questions";
- mes "about this stronghold?";
+ mes(.@n$);
+ mes("Do you have any questions");
+ mes("about this stronghold?");
next;
switch(select("Guardian Stones", "Fortress Gates", "Link Flags", "Battle Strategy", "Cancel")) {
case 1:
- mes .@n$;
- mes "There is one Emperium";
- mes "and two Guardian Stones in";
- mes "each fortress. These stones";
- mes "are the first line of defense,";
- mes "and must be destroyed before";
- mes "enemies can even enter.";
+ mes(.@n$);
+ mes("There is one Emperium");
+ mes("and two Guardian Stones in");
+ mes("each fortress. These stones");
+ mes("are the first line of defense,");
+ mes("and must be destroyed before");
+ mes("enemies can even enter.");
next;
- mes .@n$;
- mes "The stones are located in";
- mes "^4D4DFFGate Houses^000000 which must be";
- mes "protected to prevent enemies";
- mes "from reaching the Emperium.";
- mes "Guardian Stones can ^4D4DFFrecall";
- mes "your Guardians^000000 for protection.";
+ mes(.@n$);
+ mes("The stones are located in");
+ mes("^4D4DFFGate Houses^000000 which must be");
+ mes("protected to prevent enemies");
+ mes("from reaching the Emperium.");
+ mes("Guardian Stones can ^4D4DFFrecall");
+ mes("your Guardians^000000 for protection.");
next;
- mes .@n$;
- mes "Fortresses with higher levels";
- mes "of defense can summon more";
- mes "Guardians: this is why it is";
- mes "so important for guilds to";
- mes "invest in Defense Growth.";
+ mes(.@n$);
+ mes("Fortresses with higher levels");
+ mes("of defense can summon more");
+ mes("Guardians: this is why it is");
+ mes("so important for guilds to");
+ mes("invest in Defense Growth.");
next;
- mes .@n$;
- mes "Guardian Stones that have";
- mes "been destroyed can be revived";
- mes "after a certain time, but one of the guild members must give";
- mes "me the order. I can also report the status of the Guardian Stones.";
+ mes(.@n$);
+ mes("Guardian Stones that have");
+ mes("been destroyed can be revived");
+ mes("after a certain time, but one of the guild members must give");
+ mes("me the order. I can also report the status of the Guardian Stones.");
close;
case 2:
- mes .@n$;
- mes "^4D4DFFFortress Gates^000000 are the second line of guild stronghold defense,";
- mes "and are protected by extra barricades activated by the Guardian Stones.";
- mes "These gates are located in three different parts of the fortress.";
+ mes(.@n$);
+ mes("^4D4DFFFortress Gates^000000 are the second line of guild stronghold defense,");
+ mes("and are protected by extra barricades activated by the Guardian Stones.");
+ mes("These gates are located in three different parts of the fortress.");
next;
- mes .@n$;
- mes "Barricades are protected by";
- mes "Guardian Stones, and are";
- mes "restored when the Guardian";
- mes "Stones are retrieved. However,";
- mes "it is not as easy to restore";
- mes "destroyed Fortress Gates.";
+ mes(.@n$);
+ mes("Barricades are protected by");
+ mes("Guardian Stones, and are");
+ mes("restored when the Guardian");
+ mes("Stones are retrieved. However,");
+ mes("it is not as easy to restore");
+ mes("destroyed Fortress Gates.");
next;
- mes .@n$;
- mes "Fortress Gates can only be";
- mes "restored when the ^4D4DFFguild";
- mes "master of a stronghold";
- mes "changes^000000, or if ^4D4DFFrestoration";
- mes "is requested by the guild";
- mes "master of the stronghold^000000.";
+ mes(.@n$);
+ mes("Fortress Gates can only be");
+ mes("restored when the ^4D4DFFguild");
+ mes("master of a stronghold");
+ mes("changes^000000, or if ^4D4DFFrestoration");
+ mes("is requested by the guild");
+ mes("master of the stronghold^000000.");
close;
case 3:
- mes .@n$;
- mes "Strongholds have many";
- mes "Link Flags that allow you";
- mes "to access vital areas within";
- mes "restrictions placed by the";
- mes "Barricades. Usually, ^4D4DFFFlag 1";
- mes "links to the Gate House^000000.";
+ mes(.@n$);
+ mes("Strongholds have many");
+ mes("Link Flags that allow you");
+ mes("to access vital areas within");
+ mes("restrictions placed by the");
+ mes("Barricades. Usually, ^4D4DFFFlag 1");
+ mes("links to the Gate House^000000.");
next;
- mes .@n$;
- mes "Many flags link directly to";
- mes "the flag near the Emperium.";
- mes "The final numbered flag is";
- mes "linked to the Convenience";
- mes "Facility of the stronghold's";
- mes "owner. Keep this in mind.";
+ mes(.@n$);
+ mes("Many flags link directly to");
+ mes("the flag near the Emperium.");
+ mes("The final numbered flag is");
+ mes("linked to the Convenience");
+ mes("Facility of the stronghold's");
+ mes("owner. Keep this in mind.");
close;
case 4:
- mes .@n$;
- mes "Strategy? It would be better";
- mes "to develop your battle plan to";
- mes "exploit your guild's advantages";
- mes "and your enemies' weaknesses.";
- mes "Use the Gate Houses and Barricades, and rebuild as quickly as you can!";
+ mes(.@n$);
+ mes("Strategy? It would be better");
+ mes("to develop your battle plan to");
+ mes("exploit your guild's advantages");
+ mes("and your enemies' weaknesses.");
+ mes("Use the Gate Houses and Barricades, and rebuild as quickly as you can!");
close;
case 5:
- mes .@n$;
- mes "You have no questions";
- mes "to ask of me? Well, I'm";
- mes "here to serve your needs.";
+ mes(.@n$);
+ mes("You have no questions");
+ mes("to ask of me? Well, I'm");
+ mes("here to serve your needs.");
close;
}
case 2:
- mes .@n$;
- mes "I'm always here, so";
- mes "feel free to request my";
- mes "assistance whenever";
- mes "the need arises.";
+ mes(.@n$);
+ mes("I'm always here, so");
+ mes("feel free to request my");
+ mes("assistance whenever");
+ mes("the need arises.");
close;
}
}
else {
- mes .@n$;
- mes "Greetings, "+strcharinfo(PC_NAME)+".";
- mes "What are your orders?";
+ mes(.@n$);
+ mesf("Greetings, %s.", strcharinfo(PC_NAME));
+ mes("What are your orders?");
next;
switch(select("Increase Stronghold Defense", "Situational Briefing", "Cancel")) {
case 1:
if (!getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[5]")) {
if (getgdskilllv(.@GID,10002) == 0) {
- mes .@n$;
- mes "I'm sorry, but the Guardian";
- mes "Stones aren't powerful enough";
- mes "to summon Guardians yet. We";
- mes "need to accumulate more";
- mes "knowledge before they can";
- mes "summon any Guardians.";
+ mes(.@n$);
+ mes("I'm sorry, but the Guardian");
+ mes("Stones aren't powerful enough");
+ mes("to summon Guardians yet. We");
+ mes("need to accumulate more");
+ mes("knowledge before they can");
+ mes("summon any Guardians.");
close;
}
else {
- mes .@n$;
- mes "I shall endeavor to summon";
- mes "a Guardian through a Guardian";
- mes "Stone. However, keep in mind";
- mes "that this will not work if the";
- mes "Guardian Stone is destroyed.";
+ mes(.@n$);
+ mes("I shall endeavor to summon");
+ mes("a Guardian through a Guardian");
+ mes("Stone. However, keep in mind");
+ mes("that this will not work if the");
+ mes("Guardian Stone is destroyed.");
setd "$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[5]",1;
if (!getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[0]"))
donpcevent "gard1#"+strnpcinfo(NPC_MAP)+"::OnEnable";
@@ -813,35 +813,35 @@ OnStartArena:
}
}
else {
- mes .@n$;
- mes "You've already commanded";
- mes "me to summon a Guardian";
- mes "to defend the stronghold.";
+ mes(.@n$);
+ mes("You've already commanded");
+ mes("me to summon a Guardian");
+ mes("to defend the stronghold.");
close;
}
case 2:
- mes .@n$;
- mes "Our defense status is...";
+ mes(.@n$);
+ mes("Our defense status is...");
setarray .@status$[0],"^4D4DFFOperational","^FF0000Destroyed","^008000Repairing";
- mes "1st Guardian Stone: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[0]")]+"^000000";
- mes "2nd Guardian Stone: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[1]")]+"^000000";
- mes "1st Fortress Gate: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[2]")]+"^000000";
- mes "2nd Fortress Gate: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[3]")]+"^000000";
- mes "3rd Fortress Gate: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[4]")]+"^000000";
+ mesf("1st Guardian Stone: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[0]")]);
+ mesf("2nd Guardian Stone: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[1]")]);
+ mesf("1st Fortress Gate: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[2]")]);
+ mesf("2nd Fortress Gate: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[3]")]);
+ mesf("3rd Fortress Gate: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[4]")]);
close;
case 3:
- mes .@n$;
- mes "I'll be standing by,";
- mes "awaiting your orders.";
+ mes(.@n$);
+ mes("I'll be standing by,");
+ mes("awaiting your orders.");
close;
}
}
}
}
else {
- mes .@n$;
- mes "Who are you? Scoundrel!";
- mes "Leave this stronghold now!";
+ mes(.@n$);
+ mes("Who are you? Scoundrel!");
+ mes("Leave this stronghold now!");
close;
}
@@ -855,35 +855,35 @@ OnInit:
cutin "kafra_01",2;
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
if (getcharid(CHAR_ID_GUILD) == .@GID && getgdskilllv(.@GID,10001)) {
- mes "[Kafra Employee]";
- mes "Welcome, proud member";
- mes "of the ^FF0000"+getguildname(.@GID)+"^000000 Guild!";
- mes "The Kafra Corporation is ready";
- mes "to assist you wherever you go!";
+ mes("[Kafra Employee]");
+ mes("Welcome, proud member");
+ mesf("of the ^FF0000%s^000000 Guild!", getguildname(.@GID));
+ mes("The Kafra Corporation is ready");
+ mes("to assist you wherever you go!");
next;
switch(select("Use Storage", "Use Warp Service", "Rent Pushcart", "Cancel")) {
case 1:
if (basicskillcheck() && getskilllv("NV_BASIC") < 6) {
- mes "[Kafra Employee]";
- mes "I'm so sorry, but you must";
- mes "have at least Novice Skill";
- mes "Lv.6 to use the Storage.";
+ mes("[Kafra Employee]");
+ mes("I'm so sorry, but you must");
+ mes("have at least Novice Skill");
+ mes("Lv.6 to use the Storage.");
}
else openstorage;
break;
case 2:
- mes "[Kafra Employee]";
- mes "Please tell me your";
- mes "Warp destination.";
+ mes("[Kafra Employee]");
+ mes("Please tell me your");
+ mes("Warp destination.");
next;
switch(select("Rachel -> 200 z", "Cancel")) {
case 1:
if (Zeny < 200) {
- mes "[Kafra Employee]";
- mes "I'm sorry, but you don't";
- mes "have enough Zeny to pay";
- mes "the warp fee. Would you";
- mes "please check your funds again?";
+ mes("[Kafra Employee]");
+ mes("I'm sorry, but you don't");
+ mes("have enough Zeny to pay");
+ mes("the warp fee. Would you");
+ mes("please check your funds again?");
close2;
cutin "kafra_01",255;
end;
@@ -898,30 +898,30 @@ OnInit:
break;
case 3:
if (BaseClass != Job_Merchant) {
- mes "[Kafra Employee]";
- mes "I'm sorry, but the Pushcart";
- mes "rental service can only be";
- mes "used by Merchant, Blacksmith,";
- mes "and Alchemist class characters.";
+ mes("[Kafra Employee]");
+ mes("I'm sorry, but the Pushcart");
+ mes("rental service can only be");
+ mes("used by Merchant, Blacksmith,");
+ mes("and Alchemist class characters.");
}
else if (checkcart() == 1) {
- mes "[Kafra Employee]";
- mes "Hm? You've already";
- mes "rented a Pushcart.";
+ mes("[Kafra Employee]");
+ mes("Hm? You've already");
+ mes("rented a Pushcart.");
}
else {
- mes "[Kafra Employee]";
- mes "The Pushcart rental fee";
- mes "is 800 Zeny. Would you";
- mes "like to rent a Pushcart?";
+ mes("[Kafra Employee]");
+ mes("The Pushcart rental fee");
+ mes("is 800 Zeny. Would you");
+ mes("like to rent a Pushcart?");
next;
switch(select("Rent Pushcart", "Cancel")) {
case 1:
if (Zeny < 800) {
- mes "[Kafra Employee]";
- mes "I'm sorry, but you don't";
- mes "have enough Zeny to rent";
- mes "one of our Pushcarts.";
+ mes("[Kafra Employee]");
+ mes("I'm sorry, but you don't");
+ mes("have enough Zeny to rent");
+ mes("one of our Pushcarts.");
close2;
cutin "kafra_01",255;
end;
@@ -935,11 +935,11 @@ OnInit:
}
break;
case 4:
- mes "[Kafra Employee]";
- mes "Thank you for using the";
- mes "Kafra Service. Wherever";
- mes "you go, Kafra will be";
- mes "there to support you!";
+ mes("[Kafra Employee]");
+ mes("Thank you for using the");
+ mes("Kafra Service. Wherever");
+ mes("you go, Kafra will be");
+ mes("there to support you!");
close2;
cutin "kafra_01",255;
end;
@@ -949,13 +949,13 @@ OnInit:
end;
}
else {
- mes "[Kafra Employee]";
- mes "I'm sorry, but I've been";
- mes "exclusively contracted";
- mes "to the members of the";
- mes "^FF0000"+getguildname(.@GID)+"^000000 Guild.";
- mes "You'll have to ask another";
- mes "Kafra Employee to help you...";
+ mes("[Kafra Employee]");
+ mes("I'm sorry, but I've been");
+ mes("exclusively contracted");
+ mes("to the members of the");
+ mesf("^FF0000%s^000000 Guild.", getguildname(.@GID));
+ mes("You'll have to ask another");
+ mes("Kafra Employee to help you...");
close2;
cutin "kafra_01",255;
end;
@@ -968,54 +968,54 @@ OnInit:
.@num = atoi(charat(strnpcinfo(NPC_NAME_VISIBLE),0));
.@var$ = "$agit_"+strnpcinfo(NPC_NAME_HIDDEN);
if (getcharid(CHAR_ID_GUILD) == .@GID) {
- mes "^3355FFYou will need the";
- mes "following materials to";
- mes "rebuild a destroyed";
- mes "Guardian Stone.^000000";
+ mes("^3355FFYou will need the");
+ mes("following materials to");
+ mes("rebuild a destroyed");
+ mes("Guardian Stone.^000000");
next;
- mes "1 Oridecon";
- mes "1 Elunium";
- mes "30 Stones";
- mes "5 Blue Gemstones";
- mes "5 Yellow Gemstones";
- mes "5 Red Gemstones";
+ mes("1 Oridecon");
+ mes("1 Elunium");
+ mes("30 Stones");
+ mes("5 Blue Gemstones");
+ mes("5 Yellow Gemstones");
+ mes("5 Red Gemstones");
next;
- mes "^3355FFDo you want to continue?^000000";
+ mes("^3355FFDo you want to continue?^000000");
next;
if(select("No", "Continue") == 1) {
- mes "^3355FFWork canceled.^000000";
+ mes("^3355FFWork canceled.^000000");
close;
}
if ((countitem(Oridecon) > 0) && (countitem(Elunium) > 0) && (countitem(Stone) > 29) && (countitem(Blue_Gemstone) > 4) && (countitem(Yellow_Gemstone) > 4) && (countitem(Red_Gemstone) > 4)) {
- mes "^3355FFArrange Stones, Elunium, and";
- mes "Oridecon, in that order, in the";
- mes "center. Then you must arrange";
- mes "the enchanted Gemstones to";
- mes "rebuild the Guardian Stone.^000000";
+ mes("^3355FFArrange Stones, Elunium, and");
+ mes("Oridecon, in that order, in the");
+ mes("center. Then you must arrange");
+ mes("the enchanted Gemstones to");
+ mes("rebuild the Guardian Stone.^000000");
next;
setarray .@stone$[0],"Elunium","Oridecon","Stones";
.@i = select("Elunium", "Oridecon", "Stone")-1;
if (.@i == 2) .@nice += 10;
- mes "^3355FF"+.@stone$[.@i]+" has been";
- mes "placed in the center.^000000";
+ mesf("^3355FF%s has been", .@stone$[.@i]);
+ mes("placed in the center.^000000");
next;
.@i = select("Elunium", "Oridecon", "Stone")-1;
if (.@i == 0) .@nice += 10;
- mes "^3355FFYou have lined the";
- mes "outside of the center";
- mes "with some "+.@stone$[.@i]+".^000000";
+ mes("^3355FFYou have lined the");
+ mes("outside of the center");
+ mesf("with some %s.^000000", .@stone$[.@i]);
next;
.@i = select("Elunium", "Oridecon", "Stone")-1;
if (.@i == 1) .@nice += 10;
- mes "^3355FFYou covered the";
- mes "rest of the materials";
- mes "with some "+.@stone$[.@i]+".^000000";
+ mes("^3355FFYou covered the");
+ mes("rest of the materials");
+ mesf("with some %s.^000000", .@stone$[.@i]);
next;
- mes "^3355FFNow you need to arrange";
- mes "the enchanted Gemstones";
- mes "accordingly. You can identify";
- mes "their Magic properties by";
- mes "their casting effect.^000000";
+ mes("^3355FFNow you need to arrange");
+ mes("the enchanted Gemstones");
+ mes("accordingly. You can identify");
+ mes("their Magic properties by");
+ mes("their casting effect.^000000");
next;
setarray .@effect[0],56,54,225;
setarray .@color$[0],"Red","Yellow","Blue";
@@ -1023,17 +1023,17 @@ OnInit:
if (.@roof0 > 7) break;
.@i = rand(3);
specialeffect .@effect[.@i];
- mes "^3355FFThe Gemstones must";
- mes "be arranged in the correct";
- mes "order according to their";
- mes "magic properties and power.^000000";
+ mes("^3355FFThe Gemstones must");
+ mes("be arranged in the correct");
+ mes("order according to their");
+ mes("magic properties and power.^000000");
next;
.@j = select("Red Gemstone", "Yellow Gemstone", "Blue Gemstone")-1;
- mes "^3355FFYou placed the "+.@color$[.@j]+" Gemstone.^000000";
+ mesf("^3355FFYou placed the %s Gemstone.^000000", .@color$[.@j]);
if (.@i == .@j) {
- mes "^3355FFHowever, the Guardian Stone";
- mes "Repair System failed because";
- mes "of a magic power conflict.^000000";
+ mes("^3355FFHowever, the Guardian Stone");
+ mes("Repair System failed because");
+ mes("of a magic power conflict.^000000");
close;
}
.@nice += 10;
@@ -1043,23 +1043,23 @@ OnInit:
}
if (.@nice > 90) {
if (!getd(.@var$+"["+(.@num-1)+"]")) {
- mes "^3355FFThe Guardian Stone";
- mes "Repair System has";
- mes "already completed.^000000";
+ mes("^3355FFThe Guardian Stone");
+ mes("Repair System has");
+ mes("already completed.^000000");
close;
}
else {
if (!agitcheck2()) {
- mes "^3355FFIt is impossible to";
- mes "rebuild the Guardian";
- mes "Stone because the";
- mes "Emperium is not present.^000000";
+ mes("^3355FFIt is impossible to");
+ mes("rebuild the Guardian");
+ mes("Stone because the");
+ mes("Emperium is not present.^000000");
close;
}
else {
- mes "^3355FFThe Gemstones have been";
- mes "arranged, and the Guardian";
- mes "Stone is successfully repaired.^000000";
+ mes("^3355FFThe Gemstones have been");
+ mes("arranged, and the Guardian");
+ mes("Stone is successfully repaired.^000000");
delitem Oridecon,1;
delitem Elunium,1;
delitem Stone,30;
@@ -1084,10 +1084,10 @@ OnInit:
}
}
else {
- mes "^3355FFAfter all of that work...";
- mes "It looks like you failed";
- mes "to fix the Guardian Stone,";
- mes "and lost some materials.^000000";
+ mes("^3355FFAfter all of that work...");
+ mes("It looks like you failed");
+ mes("to fix the Guardian Stone,");
+ mes("and lost some materials.^000000");
delitem Stone,10;
delitem Blue_Gemstone,2;
delitem Yellow_Gemstone,2;
@@ -1096,9 +1096,9 @@ OnInit:
}
}
else {
- mes "^3355FFYou don't have enough";
- mes "materials to repair";
- mes "the Guardian Stone.^000000";
+ mes("^3355FFYou don't have enough");
+ mes("materials to repair");
+ mes("the Guardian Stone.^000000");
close;
}
}
@@ -1123,24 +1123,24 @@ OnEnable:
if (getcharid(CHAR_ID_GUILD) == .@GID) {
if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
if (getd(.@var$+"["+(.@num+1)+"]") == 2) {
- mes "^3355FFDemolished Fortress";
- mes "Gates can be repaired,";
- mes "but you will need to gather";
- mes "the following materials.^000000";
+ mes("^3355FFDemolished Fortress");
+ mes("Gates can be repaired,");
+ mes("but you will need to gather");
+ mes("the following materials.^000000");
next;
- mes "^4D4DFF10 Steel^000000,";
- mes "^4D4DFF30 Trunks^000000,";
- mes "^4D4DFF5 Oridecon^000000, and";
- mes "^4D4DFF10 Emveretarcon^000000.";
+ mes("^4D4DFF10 Steel^000000,");
+ mes("^4D4DFF30 Trunks^000000,");
+ mes("^4D4DFF5 Oridecon^000000, and");
+ mes("^4D4DFF10 Emveretarcon^000000.");
next;
select("Continue");
if ((countitem(Wooden_Block) > 29) && (countitem(Steel) > 9) && (countitem(Emveretarcon) > 9) && (countitem(Oridecon) > 4)) {
- mes "^3355FFYou will need Trunks to";
- mes "repair the support frame,";
- mes "Oridecon to enhance the";
- mes "gate's endurance, and";
- mes "Emveretarcon to basically";
- mes "hold everything together.^000000";
+ mes("^3355FFYou will need Trunks to");
+ mes("repair the support frame,");
+ mes("Oridecon to enhance the");
+ mes("gate's endurance, and");
+ mes("Emveretarcon to basically");
+ mes("hold everything together.^000000");
next;
.@ro_of01 = rand(10,15);
while(1) {
@@ -1148,68 +1148,68 @@ OnEnable:
else {
switch(rand(1,4)) {
case 1:
- mes "^3355FFThe support frame";
- mes "is badly damaged:";
- mes "fixing this part";
- mes "is a top priority.^000000";
+ mes("^3355FFThe support frame");
+ mes("is badly damaged:");
+ mes("fixing this part");
+ mes("is a top priority.^000000");
next;
switch(select("Trunk", "Steel", "Emveretarcon", "Oridecon")) {
case 1:
- mes "^3355FFThe frame has been";
- mes "reinforced with wood.^000000";
+ mes("^3355FFThe frame has been");
+ mes("reinforced with wood.^000000");
++.@rp_temp;
++.@ro_of02;
specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
next;
break;
case 2:
- mes "^3355FFYou tried using steel,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using steel,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
case 3:
- mes "^3355FFYou tried using emveretarcon";
- mes "to reinforce the gate, but it's";
- mes "not working well at all.";
- mes "You'll have to start over.^000000";
+ mes("^3355FFYou tried using emveretarcon");
+ mes("to reinforce the gate, but it's");
+ mes("not working well at all.");
+ mes("You'll have to start over.^000000");
close;
case 4:
- mes "^3355FFYou tried using oridecon,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using oridecon,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
}
break;
case 2:
- mes "^3355FFIt looks like the gate's";
- mes "overall endurance needs to";
- mes "be reinforced with something.^000000";
+ mes("^3355FFIt looks like the gate's");
+ mes("overall endurance needs to");
+ mes("be reinforced with something.^000000");
next;
switch(select("Trunk", "Steel", "Emveretarcon", "Oridecon")) {
case 1:
- mes "^3355FFYou tried using wood";
- mes "to reinforce the gate.^000000";
+ mes("^3355FFYou tried using wood");
+ mes("to reinforce the gate.^000000");
++.@ro_of02;
next;
break;
case 2:
- mes "^3355FFYou tried using steel";
- mes "to reinforce the gate, but";
- mes "it's not working well at all.";
- mes "You'll have to start over.^000000";
+ mes("^3355FFYou tried using steel");
+ mes("to reinforce the gate, but");
+ mes("it's not working well at all.");
+ mes("You'll have to start over.^000000");
close;
case 3:
- mes "^3355FFYou tried using emveretarcon";
- mes "to reinforce the gate, but it's";
- mes "not working well at all.";
- mes "You'll have to start over.^000000";
+ mes("^3355FFYou tried using emveretarcon");
+ mes("to reinforce the gate, but it's");
+ mes("not working well at all.");
+ mes("You'll have to start over.^000000");
close;
case 4:
- mes "^3355FFYou hammered the";
- mes "oridecon: it looks";
- mes "like this will work.^000000";
+ mes("^3355FFYou hammered the");
+ mes("oridecon: it looks");
+ mes("like this will work.^000000");
++.@rp_temp;
++.@ro_of02;
specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
@@ -1218,92 +1218,92 @@ OnEnable:
}
break;
case 3:
- mes "^3355FFThe damage to the gate";
- mes "has caused all these";
- mes "cracks. You'll have to";
- mes "weld them solid somehow.^000000";
+ mes("^3355FFThe damage to the gate");
+ mes("has caused all these");
+ mes("cracks. You'll have to");
+ mes("weld them solid somehow.^000000");
next;
switch(select("Trunk", "Steel", "Emveretarcon", "Oridecon")) {
case 1:
- mes "^3355FFYou tried using wood to fix";
- mes "this problem, but it seems";
- mes "to have made it worse.";
- mes "You'll have to start all over.^000000";
+ mes("^3355FFYou tried using wood to fix");
+ mes("this problem, but it seems");
+ mes("to have made it worse.");
+ mes("You'll have to start all over.^000000");
close;
case 2:
- mes "^3355FFYou used steel to weld";
- mes "all the cracks: the gate is";
- mes "is starting to look more solid.^000000";
+ mes("^3355FFYou used steel to weld");
+ mes("all the cracks: the gate is");
+ mes("is starting to look more solid.^000000");
++.@rp_temp;
++.@ro_of02;
specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
next;
break;
case 3:
- mes "^3355FFYou tried using emveretarcon";
- mes "to reinforce the gate, but it's";
- mes "not working well at all.";
- mes "You'll have to start over.^000000";
+ mes("^3355FFYou tried using emveretarcon");
+ mes("to reinforce the gate, but it's");
+ mes("not working well at all.");
+ mes("You'll have to start over.^000000");
close;
case 4:
- mes "^3355FFYou tried using oridecon,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using oridecon,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
}
break;
case 4:
- mes "^3355FFNow you need to make";
- mes "sure that the gate is held";
- mes "together pretty solidly.^000000";
+ mes("^3355FFNow you need to make");
+ mes("sure that the gate is held");
+ mes("together pretty solidly.^000000");
next;
switch(select("Trunk", "Steel", "Emveretarcon", "Oridecon")) {
case 1:
- mes "^3355FFYou tried using wood to fix";
- mes "this problem, but it seems";
- mes "to have made it worse.";
- mes "You'll have to start all over.^000000";
+ mes("^3355FFYou tried using wood to fix");
+ mes("this problem, but it seems");
+ mes("to have made it worse.");
+ mes("You'll have to start all over.^000000");
close;
case 2:
- mes "^3355FFYou tried using steel,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using steel,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
case 3:
- mes "^3355FFYou successfully used";
- mes "the emveretarcon to repair";
- mes "much of the gate's damage.^000000";
+ mes("^3355FFYou successfully used");
+ mes("the emveretarcon to repair");
+ mes("much of the gate's damage.^000000");
++.@rp_temp;
++.@ro_of02;
specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
next;
break;
case 4:
- mes "^3355FFYou tried using oridecon,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using oridecon,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
}
}
}
}
- mes "^3355FFWell, it looks like";
- mes "you're just about done";
- mes "with repairing the gate.^000000";
+ mes("^3355FFWell, it looks like");
+ mes("you're just about done");
+ mes("with repairing the gate.^000000");
next;
if (!agitcheck2()) {
- mes "^3355FFUnfortunately, the Fortress";
- mes "Gate can't be reconstructed:";
- mes "the Emperium is no longer here.^000000";
+ mes("^3355FFUnfortunately, the Fortress");
+ mes("Gate can't be reconstructed:");
+ mes("the Emperium is no longer here.^000000");
close;
}
else {
if (.@rp_temp == .@ro_of01) {
- mes "^3355FFThe Fortress Gate has";
- mes "been successfully repaired!^000000";
+ mes("^3355FFThe Fortress Gate has");
+ mes("been successfully repaired!^000000");
delitem Wooden_Block,30;
delitem Steel,10;
delitem Emveretarcon,10;
@@ -1323,11 +1323,11 @@ OnEnable:
end;
}
else {
- mes "^3355FFThe wall has been breached,";
- mes "and the attempt to repair the";
- mes "Fortress Gate has failed.";
- mes "You lost some of your";
- mes "repair resources...^000000";
+ mes("^3355FFThe wall has been breached,");
+ mes("and the attempt to repair the");
+ mes("Fortress Gate has failed.");
+ mes("You lost some of your");
+ mes("repair resources...^000000");
delitem Oridecon,2;
delitem Steel,4;
delitem Wooden_Block,14;
@@ -1337,9 +1337,9 @@ OnEnable:
}
}
else {
- mes "^3355FFYou can't attempt to repair";
- mes "the Fortress Gate if you don't";
- mes "have all the needed materials.^000000";
+ mes("^3355FFYou can't attempt to repair");
+ mes("the Fortress Gate if you don't");
+ mes("have all the needed materials.^000000");
close;
}
}
@@ -1738,28 +1738,28 @@ OnDisable:
function script LinkFlag {
if (!getcharid(CHAR_ID_GUILD) || getcharid(CHAR_ID_GUILD) != getcastledata(strnpcinfo(NPC_MAP),1)) end;
if (getarg(0) == "Convenience Facility") {
- mes "^3355FFThis is the Stronghold";
- mes "Teleport Service. Would";
- mes "you like to teleport to the";
- mes "Convenience Facility for";
- mes "guild members?^000000";
+ mes("^3355FFThis is the Stronghold");
+ mes("Teleport Service. Would");
+ mes("you like to teleport to the");
+ mes("Convenience Facility for");
+ mes("guild members?^000000");
if(select("Go to Convenience Facility", "Cancel") == 1)
warp strnpcinfo(NPC_MAP),getarg(1),getarg(2);
close;
}
if (getarg(0) == "Emperium Center") {
- mes "^3355FFThis is the Stronghold";
- mes "Teleport Service. Would";
- mes "you like to teleport to";
- mes "the Emperium Center?^000000";
+ mes("^3355FFThis is the Stronghold");
+ mes("Teleport Service. Would");
+ mes("you like to teleport to");
+ mes("the Emperium Center?^000000");
if(select("Teleport", "Cancel") == 1)
warp strnpcinfo(NPC_MAP),getarg(1),getarg(2);
close;
}
- mes "^3355FFThis is the Stronghold";
- mes "Teleport Service. Please";
- mes "choose a destination";
- mes "within the stronghold.^000000";
+ mes("^3355FFThis is the Stronghold");
+ mes("Teleport Service. Please");
+ mes("choose a destination");
+ mes("within the stronghold.^000000");
for (.@i = 0; .@i<getargcount(); .@i += 3)
.@menu$ += getarg(.@i)+":";
.@menu$ += "Cancel";
@@ -1774,20 +1774,20 @@ function script ReturnFlag {
.@str$ = (compare(strnpcinfo(NPC_MAP),"aru"))?"Arunafeltz":"Schwaltzvalt";
.@GID = getcastledata(getarg(0),1);
if (!.@GID) {
- mes "[ "+.@str$+" Royal Edict ]";
- mes "The Holy Kingdom of";
- mes .@str$+" declares that";
- mes "one has yet to claim lordship";
- mes "over this stronghold. The one";
- mes "that breaks the Emperium will";
- mes "be recognized as its new owner.";
+ mesf("[ %s Royal Edict ]", .@str$);
+ mes("The Holy Kingdom of");
+ mesf("%s declares that", .@str$);
+ mes("one has yet to claim lordship");
+ mes("over this stronghold. The one");
+ mes("that breaks the Emperium will");
+ mes("be recognized as its new owner.");
close;
}
if (getcharid(CHAR_ID_GUILD) == .@GID && getarg(1,0)) {
- mes "[ Ringing Voice ]";
- mes "Courageous one,";
- mes "do you wish to return";
- mes "to your stronghold?";
+ mes("[ Ringing Voice ]");
+ mes("Courageous one,");
+ mes("do you wish to return");
+ mes("to your stronghold?");
next;
if(select("Return to the Stronghold", "Cancel") == 1 && getcharid(CHAR_ID_GUILD) == getcastledata(getarg(0),1)) {
if (compare(getarg(0),"arug")) {
@@ -1804,27 +1804,27 @@ function script ReturnFlag {
}
close;
}
- mes "[ "+.@str$+" Royal Edict ]";
- mes "The Holy Kingdom of";
- mes .@str$+" decrees that";
- mes "this stronghold is owned";
- mes "by the ^FF0000"+getguildname(.@GID)+"^000000 Guild.";
+ mesf("[ %s Royal Edict ]", .@str$);
+ mes("The Holy Kingdom of");
+ mesf("%s decrees that", .@str$);
+ mes("this stronghold is owned");
+ mesf("by the ^FF0000%s^000000 Guild.", getguildname(.@GID));
next;
- mes "[ "+.@str$+" Royal Edict ]";
- mes "^FF0000"+getguildmaster(.@GID)+"^000000 is";
- mes "Guild Master of ^FF0000"+getguildname(.@GID)+"^000000.";
- mes "Any that object must claim this";
- mes "stronghold through strength of";
- mes "steel and magic during the";
- mes "appointed Guild Siege times.";
+ mesf("[ %s Royal Edict ]", .@str$);
+ mesf("^FF0000%s^000000 is", getguildmaster(.@GID));
+ mesf("Guild Master of ^FF0000%s^000000.", getguildname(.@GID));
+ mes("Any that object must claim this");
+ mes("stronghold through strength of");
+ mes("steel and magic during the");
+ mes("appointed Guild Siege times.");
close;
}
//== Treasure Room Switches ================================
- script Switch#template FAKE_NPC,{
- mes " ";
- mes "^3355FFWill you pull";
- mes "this small lever?^000000";
+ mes(" ");
+ mes("^3355FFWill you pull");
+ mes("this small lever?^000000");
next;
if(select("Pull Lever", "Cancel") == 2) close;
if (compare(strnpcinfo(NPC_MAP),"arug")) {
@@ -1844,7 +1844,7 @@ function script ReturnFlag {
//== Guild Dungeon Warps ===================================
- script Sunflower#template FAKE_NPC,{
if (getcharid(CHAR_ID_GUILD) == getcastledata(strnpcinfo(NPC_MAP),1)) {
- mes "- It's an amazingly huge sunflower; as big as a human! ... You feel something mysterious emanating from the flower. -";
+ mes("- It's an amazingly huge sunflower; as big as a human! ... You feel something mysterious emanating from the flower. -");
next;
switch(select("Hold the stem.", "Do nothing.")) {
case 1:
@@ -1862,7 +1862,7 @@ function script ReturnFlag {
warp .@map$,.@mapx[.@i],.@mapy[.@i];
close;
case 2:
- mes "It's too scary to touch unknown things.";
+ mes("It's too scary to touch unknown things.");
close;
}
}
diff --git a/sql-files/item_db.sql b/sql-files/item_db.sql
index da69f9fd3..3ebd77ed3 100644
--- a/sql-files/item_db.sql
+++ b/sql-files/item_db.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2018 Hercules Dev Team
+-- Copyright (C) 2013-2019 Hercules Dev Team
--
-- Hercules is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
@@ -696,6 +696,7 @@ REPLACE INTO `item_db` VALUES ('1312','Orcish_Axe_C','Orcish Axe','4','6','0','0
REPLACE INTO `item_db` VALUES ('1313','Tourist_Axe','Tourist Axe','4','6','0','0','500','77','0','0','1','0','414947','63','2','2','1','1',NULL,'0','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
REPLACE INTO `item_db` VALUES ('1314','F_Tomahawk_C','Tomahawk','4','7','2','1','0','200','0','0','1','0','279714','63','2','34','4','0',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind;','','');
REPLACE INTO `item_db` VALUES ('1315','F_Right_Epsilon_C','Light Epsilon','4','7','1','0','0','229','0','0','1','0','279714','63','2','34','4','1',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bStr,10;','','');
+REPLACE INTO `item_db` VALUES ('1326','War_Axe_IL','War_Axe_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1351','Battle_Axe','Battle Axe','4','7','5400','2700','1500','80','0','0','1','3','279714','63','2','34','1','3',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1352','Battle_Axe_','Battle Axe','4','7','5400','2700','1500','80','0','0','1','4','279714','63','2','34','1','3',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1353','Battle_Axe__','Battle Axe','4','7','5400','2700','1500','80','0','0','1','0','279714','63','2','34','1','3',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1033,6 +1034,10 @@ REPLACE INTO `item_db` VALUES ('1826','Krieger_Knuckle1','Glorious Claw','4','12
REPLACE INTO `item_db` VALUES ('1827','Krieger_Knuckle2','Glorious Fist','4','12','20','10','0','30','0','0','1','0','33024','63','2','2','4','80',NULL,'1','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,95; bonus2 bIgnoreDefRate,RC_DemiPlayer,20; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus2 bAddRace,RC_DemiPlayer,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRate,RC_DemiPlayer,5; } if(getrefine()>8) { bonus2 bCastrate,MO_EXTREMITYFIST,-100; bonus4 bAutoSpellOnSkill,MO_EXPLOSIONSPIRITS,CH_SOULCOLLECT,1,1000; }','','');
REPLACE INTO `item_db` VALUES ('1828','Monk_Knuckle','Monk Knuckle','4','12','20','10','0','150','0','0','1','0','33024','63','2','2','4','0',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus2 bSkillAtk,MO_FINGEROFFENSIVE,25;','','');
REPLACE INTO `item_db` VALUES ('1829','Fist_C','Fist','4','12','0','0','0','150','0','0','1','0','33024','63','2','2','3','1',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Small,40; bonus2 bAddSize,Size_Medium,40; bonus2 bAddSize,Size_Large,40;','','');
+REPLACE INTO `item_db` VALUES ('1846','Combo_Battle_Glove_IL','Combo_Battle_Glove_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1848','Rebeginer_SR_Nuckle','Rebeginer_SR_Nuckle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1862','Burning_Knuckle_OS','Burning_Knuckle_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1864','Evt_Iron_Nail_K','Evt_Iron_Nail_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1901','Violin','Violin','4','13','4000','2000','700','50','0','0','1','3','524288','63','1','2','1','2',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1902','Violin_','Violin','4','13','4000','2000','700','50','0','0','1','4','524288','63','1','2','1','2',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1903','Mandolin','Mandolin','4','13','18000','9000','400','90','0','0','1','2','524288','63','1','2','2','14',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1103,6 +1108,10 @@ REPLACE INTO `item_db` VALUES ('2003','Destruction_Rod_M','Staff of Destruction'
REPLACE INTO `item_db` VALUES ('2004','Kronos','Kronos','4','23','20','10','1000','30','0','0','1','0','66052','2','2','34','4','50',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,20; bonus bInt,3+(getrefine()/2); bonus bMaxHP,300+(50*getrefine()/2); autobonus \"{ bonus bMatkRate,12; bonus bUseSPrate,20; }\",1,5000,BF_MAGIC,\"{ specialeffect(EF_ENHANCE, AREA, playerattached()); }\";','','');
REPLACE INTO `item_db` VALUES ('2005','Dea_Staff','Dea Staff','4','23','20','10','1000','30','0','0','1','1','33040','2','2','34','3','50',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bMatkRate,15+getrefine()/2; bonus bInt,6; bonus bVit,2; autobonus3 \"{ }\",20,1000,AL_HEAL,\"{ specialeffect(EF_MAGICALATTHIT, AREA, playerattached()); heal 0,200; }\";','','');
REPLACE INTO `item_db` VALUES ('2006','G_Staff_Of_Light','Staff Of Light','4','23','20','10','1900','80','0','0','1','0','8454660','63','2','34','4','60',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','//bonus bMatk,150; bonus bAtkEle,Ele_Holy; bonus bInt,6;','','');
+REPLACE INTO `item_db` VALUES ('2039','Wizardy_Staff_IL','Wizardy_Staff_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2046','Rebeginer_WL_Staff','Rebeginer_WL_Staff','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2051','Survival_Staff_IL','Survival_Staff_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2054','Evt_Iron_Staff','Evt_Iron_Staff','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2101','Guard','Guard','5','0','500','250','300','0','0','3','0','0','18446744073709551615','63','2','32','0','0',NULL,'1','0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2102','Guard_','Guard','5','0','500','250','300','0','0','3','0','1','18446744073709551615','63','2','32','0','0',NULL,'1','0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2103','Buckler','Buckler','5','0','14000','7000','600','0','0','4','0','0','972274','63','2','32','0','0',NULL,'1','0','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4242,6 +4251,7 @@ REPLACE INTO `item_db` VALUES ('10035','Windup_Spring','Spring','8','0','20','10
REPLACE INTO `item_db` VALUES ('10036','Hell_Horn','Horn Of Hell','8','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10037','Black_Butterfly_Mask','Black Butterfly Mask','8','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10038','Horn_Protector','Horn Barrier','8','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('10042','Dark_Mane','Dark_Mane','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11000','Prontera_Book_01','History book of Prontera','3','0','8000','4000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11001','Adventure_Story01','Adventure Story Vol.1','3','0','8000','4000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11002','Great_Chef_Orleans01','Chef King Orleans Vol.1','3','0','8000','4000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4332,6 +4342,15 @@ REPLACE INTO `item_db` VALUES ('11529','MAAMOUL_','Maamoul','0','0','500','250',
REPLACE INTO `item_db` VALUES ('11530','Jujube','Jujube','0','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal 30,0;','','');
REPLACE INTO `item_db` VALUES ('11531','Coffee','Coffee','0','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal 0,10;','','');
REPLACE INTO `item_db` VALUES ('11602','Catnip_Fruit','Catnip Fruit','0','0','15','7','1','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(10, 40), 0;','','');
+REPLACE INTO `item_db` VALUES ('11607','Crepe','Crepe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11608','Chocolate_Egg','Chocolate_Egg','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11609','Yummy_Cookie_Egg','Yummy_Cookie_Egg','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11611','Pop_Corn','Pop_Corn','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11612','Aromatic_Pop_Corn','Aromatic_Pop_Corn','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11614','Fresh_Milk','Fresh_Milk','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11615','Sweet_Potato_','Sweet_Potato_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11620','Bearopy','Bearopy','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11625','Aromatic_Pop_Corn_','Aromatic_Pop_Corn_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11701','Girl_Bunch_Of_Flower','Girl\'s Bouquet','0','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(105,145),0;','','');
REPLACE INTO `item_db` VALUES ('11702','Moon_Cookie','Moon Cookie','0','0','0','0','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'1',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11703','Mysterious_Blood','Mystery Blood','0','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal 0,rand(25,35);','','');
@@ -5163,6 +5182,8 @@ REPLACE INTO `item_db` VALUES ('13109','Wasteland_Outlaw_C','Wasteland Outlaw','
REPLACE INTO `item_db` VALUES ('13110','Krieger_Pistol1','Glorious Pistol','4','17','0','0','0','80','0','0','7','0','16777216','63','2','34','4','80',NULL,'1','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,55; bonus2 bIgnoreDefRate,RC_DemiPlayer,20; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus2 bAddRace,RC_DemiPlayer,((getrefine()-4) ** (2)); bonus2 bIgnoreDefRate,RC_DemiPlayer,5; } if(getrefine()>8) { bonus4 bAutoSpellOnSkill,GS_RAPIDSHOWER,GS_GLITTERING,1,1000; bonus2 bSkillAtk,GS_RAPIDSHOWER,getrefine()*2; }','','');
REPLACE INTO `item_db` VALUES ('13112','P_Revolver1','Eden Revlover I','4','17','0','0','0','4','0','0','7','0','16777216','63','2','34','1','26',NULL,'0','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-5;','','');
REPLACE INTO `item_db` VALUES ('13113','P_Revolver2','Eden Revlover II','4','17','0','0','0','60','0','0','7','0','16777216','63','2','34','1','40',NULL,'0','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-5;','','');
+REPLACE INTO `item_db` VALUES ('13144','Rebeginer_RL_Gun','Rebeginer_RL_Gun','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13146','Calf_Deathadder','Calf_Deathadder','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13150','Branch','Branch','4','18','3000','1500','500','50','0','0','9','3','16777216','63','2','34','1','1',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13151','The_Cyclone','Cyclone','4','18','17500','8750','700','120','0','0','9','1','16777216','63','2','34','2','24',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,10; bonus bCritical,10;','','');
REPLACE INTO `item_db` VALUES ('13152','The_Cyclone_','Cyclone','4','18','17500','8750','700','120','0','0','9','2','16777216','63','2','34','2','24',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,10; bonus bCritical,10;','','');
@@ -5253,6 +5274,9 @@ REPLACE INTO `item_db` VALUES ('13306','BF_Huuma_Shuriken2','Valorous Huuma Fron
REPLACE INTO `item_db` VALUES ('13307','Krieger_Huuma_Shuriken1','Glorious Shuriken','4','22','20','10','0','55','0','0','1','0','33554432','63','2','34','4','80',NULL,'1','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,95; bonus2 bIgnoreDefRate,RC_DemiPlayer,20; bonus bMatkRate,15; autobonus \"{ bonus2 bSkillAtk,NJ_HUUMA,100; bonus2 bSkillAtk,NJ_ISSEN,100; }\",50,10000; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus2 bAddRace,RC_DemiPlayer,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRate,RC_DemiPlayer,5; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,NJ_ISSEN,AL_HEAL,10,1000,1; bonus4 bAutoSpellOnSkill,NJ_HUUMA,NPC_CRITICALWOUND,2,200; }','','');
REPLACE INTO `item_db` VALUES ('13308','Huuma_Blaze_I','Huuma Blaze Shuriken','4','22','0','0','0','230','0','0','1','0','33554432','63','2','34','4','0',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtkEle,Ele_Fire; bonus bDex,2;','','');
REPLACE INTO `item_db` VALUES ('13309','Huuma_Giant_Wheel_C','Huuma Giant Wheel Shuriken','4','22','0','0','0','99','0','0','1','0','33554432','63','2','34','4','1',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13337','Huuma_Fluttering_Snow_IL','Huuma_Fluttering_Snow_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13338','Huuma_Bird_Wing_IL','Huuma_Bird_Wing_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13341','Rebeginer_KO_Humma','Rebeginer_KO_Humma','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13400','Cutlas_','Cutlus','4','2','20','10','900','150','0','0','1','1','414946','63','2','2','4','40',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill SM_BASH,5; bonus bStr,2; bonus bDef,1;','','');
REPLACE INTO `item_db` VALUES ('13401','Excalibur_C','Excalibur','4','2','1','0','0','199','0','0','1','0','414946','63','2','2','4','1',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bInt,10; bonus bLuk,10; bonus bAtkEle,Ele_Holy;','','');
REPLACE INTO `item_db` VALUES ('13402','Cutlas_C','Cutlus','4','2','2','1','0','185','0','0','1','0','414946','63','2','2','4','0',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill SM_BASH,5; bonus bStr,2; bonus bDef,1;','','');
@@ -5276,6 +5300,10 @@ REPLACE INTO `item_db` VALUES ('13419','Holy_Saber','Holy saber','4','2','20','1
REPLACE INTO `item_db` VALUES ('13420','Honglyuns_Sword','Honglyun\'s Sword','4','2','20','10','1200','160','0','0','1','1','414946','63','2','2','4','70',NULL,'1','0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire; bonus bStr,2; bonus bInt,2;','','');
REPLACE INTO `item_db` VALUES ('13421','Ruber','Ruber','4','2','20','10','1500','170','0','0','1','1','279714','2','2','2','3','50',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus2 bSkillAtk,KN_BOWLINGBASH,20; bonus2 bSkillAtk,SM_BASH,20; }\",5,15000,BF_WEAPON,\"{ specialeffect(EF_ENHANCE, AREA, playerattached()); }\";','','');
REPLACE INTO `item_db` VALUES ('13422','Flamberge_C','Flamberge','4','2','0','0','0','185','0','0','1','0','16512','63','2','2','3','1',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0;','','');
+REPLACE INTO `item_db` VALUES ('13469','Immaterial_Sword_IL','Immaterial_Sword_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13483','Rebeginer_GN_Sword','Rebeginer_GN_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13493','Cannon_Rapier_OS','Cannon_Rapier_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13495','Evt_Bluefire_Sword','Evt_Bluefire_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13500','Insurance60_Package','Life Insurrance Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14500,10;','','');
REPLACE INTO `item_db` VALUES ('13501','Assorted_Scroll_Box','Experience Scroll Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13502','Drooping_Kitty_Box','Refined Drooping Cat Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','rentitem 5279,604800;','','');
@@ -6184,12 +6212,29 @@ REPLACE INTO `item_db` VALUES ('14608','Luxurious_Dinner_E','Manchu-Han Imperial
REPLACE INTO `item_db` VALUES ('14609','Spoiled_Cuisine','Spoiled Cuisine','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 10,10;','','');
REPLACE INTO `item_db` VALUES ('15000','Bone_Plate','Bone Plate','5','0','20','10','1000','0','0','7','0','1','414946','2','2','16','0','85',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRate,RC_DemiPlayer,10; bonus2 bIgnoreDefRate,RC_Brute,10; bonus3 bAutoSpellWhenHit,NPC_WIDEBLEEDING,1,10;','','');
REPLACE INTO `item_db` VALUES ('15001','Odins_Blessing_I','Odin\'s Blessing','5','0','0','0','0','0','0','10','0','0','18446744073709551614','63','2','16','0','0',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15212','YSF01_Plate','YSF01_Plate','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15246','True_Hunting_Mail','True_Hunting_Mail','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15247','R_Hunting_Mail','R_Hunting_Mail','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15250','Rebeginer_Suits','Rebeginer_Suits','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15280','S_CriticalHit_Armor','S_CriticalHit_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15348','Goibne_Armor_IL','Goibne_Armor_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15376','Illusion_Armor_A','Illusion_Armor_A','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15377','Illusion_Armor_B','Illusion_Armor_B','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15383','Time_Overload_Robe','Time_Overload_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15388','Schmidt_Suits','Schmidt_Suits','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15389','Schmidt_Manteau','Schmidt_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16000','Erde','Erde','4','8','20','10','500','130','0','0','1','2','312754','2','2','2','4','50',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus bMaxSP,50; bonus bHealPower,10;','','');
REPLACE INTO `item_db` VALUES ('16001','Red_Square_Bag','Red Square Bag','4','8','20','10','500','130','0','0','1','2','312754','2','2','2','3','50',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,200; bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus2 bAddMonsterDropItem,501,50; bonus2 bAddMonsterDropItem,502,20; bonus2 bAddMonsterDropItem,503,20; bonus2 bAddMonsterDropItem,504,20; bonus2 bAddMonsterDropItem,505,10; if(readparam(bStr)>=95) bonus2 bAddEff,Eff_Stun,500;','','');
REPLACE INTO `item_db` VALUES ('16002','Stunner_C','Stunner','4','8','0','0','0','175','0','0','1','0','33040','63','2','2','3','1',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEff,Eff_Stun,1000; bonus2 bAddSize,Size_Small,40; bonus2 bAddSize,Size_Medium,40; bonus2 bAddSize,Size_Large,40;','','');
REPLACE INTO `item_db` VALUES ('16030','Pilebuncker_S','Pile Bunker S','4','8','0','0','3000','400','0','0','1','1','1024','56','2','2','4','130',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, (getrefine() / 2);','','');
REPLACE INTO `item_db` VALUES ('16031','Pilebuncker_P','Pile Bunker P','4','8','0','0','4000','450','0','0','1','0','1024','56','2','2','4','130',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk, (getrefine() * 5);','','');
REPLACE INTO `item_db` VALUES ('16032','Pilebuncker_T','Pile Bunker T','4','8','0','0','3500','400','0','0','1','1','1024','56','2','2','4','130',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, - getrefine();','','');
+REPLACE INTO `item_db` VALUES ('16063','Long_Mace_IL','Long_Mace_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16065','Iron_Driver_IL','Iron_Driver_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16075','Rebeginer_NC_Mace','Rebeginer_NC_Mace','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16076','Rebeginer_N2_Mace','Rebeginer_N2_Mace','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16088','Saphir_Hall_OS','Saphir_Hall_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16089','Ultio_Spes_OS','Ultio_Spes_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16134','King_Frog_Hat_Box','Frog King Hat Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5528,1;','','');
REPLACE INTO `item_db` VALUES ('16135','Evils_Bone_Hat_Box','Satanic Bone Helm Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','getitem 5529,1;','','');
REPLACE INTO `item_db` VALUES ('16247','Dragon_Arhat_Mask_Box','Dragon Arhat Mask Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5565,1;','','');
@@ -6207,6 +6252,27 @@ REPLACE INTO `item_db` VALUES ('16843','Beauty_Gift_Box','Beauty Gift Box','2','
REPLACE INTO `item_db` VALUES ('16854','Clothing_Dye_Box','Clothing Dye Box','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem(Clothing_Dye_Coupon, 1);','','');
REPLACE INTO `item_db` VALUES ('16855','Clothing_Dye_Orig_Box','Clothing Dye Orig Box','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem(Clothing_Dye_Coupon2, 1);','','');
REPLACE INTO `item_db` VALUES ('17336','Jeremy_Beauty_Coupon_Box','Jeremy\'s Beauty Coupon Box','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem(Cash_Hair_Coupon, 1);','','');
+REPLACE INTO `item_db` VALUES ('17774','Almighty_Plus_Box3','Almighty_Plus_Box3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17775','Almighty100_PlusBox3','Almighty100_PlusBox3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17882','Refine_Ore_Box17_Set10','Refine_Ore_Box17_Set10','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17883','Refine_Ore_Box17','Refine_Ore_Box17','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17884','HD_Refine_Ore_Box5','HD_Refine_Ore_Box5','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17885','HD_High_Refine_Box3','HD_High_Refine_Box3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17886','Infinity_Box','Infinity_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17887','Infinity_10_Box','Infinity_10_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17894','New_Vigorgra_Package','New_Vigorgra_Package','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17895','New_Vigorgra_Set','New_Vigorgra_Set','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17914','2017_GStar_CostumeBox','2017_GStar_CostumeBox','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17923','Refine_Ore_Box18','Refine_Ore_Box18','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17924','Refine_Ore_Box18_Set10','Refine_Ore_Box18_Set10','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17925','HD_Refine_Ore_Box6','HD_Refine_Ore_Box6','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17926','HD_High_Refine_Box4','HD_High_Refine_Box4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17935','New_3_Potion_pack','New_3_Potion_pack','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17936','New_3_Potion_10pack','New_3_Potion_10pack','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17940','Nyangvine_Box10_3','Nyangvine_Box10_3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17941','Nyangvine_Box100_3','Nyangvine_Box100_3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17944','Almighty_Plus_Box4','Almighty_Plus_Box4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17945','Almighty100_PlusBox4','Almighty100_PlusBox4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18000','Cannon_Ball','Cannon Ball','10','8','100','50','10','100','0','0','0','0','263168','8','2','32768','0','99',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18001','Holy_Cannon_Ball','Holy Cannon Ball','10','8','200','100','10','120','0','0','0','0','263168','8','2','32768','0','99',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy;','','');
REPLACE INTO `item_db` VALUES ('18002','Dark_Cannon_Ball','Dark Cannon Ball','10','8','200','100','10','120','0','0','0','0','263168','8','2','32768','0','99',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark;','','');
@@ -6215,6 +6281,16 @@ REPLACE INTO `item_db` VALUES ('18004','Iron_Cannon_Ball','Iron Cannon Ball','10
REPLACE INTO `item_db` VALUES ('18100','Shooting_Star_C','Shooting Star','4','11','20','10','0','190','0','0','5','0','526336','63','2','34','4','1',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,20;','','');
REPLACE INTO `item_db` VALUES ('18101','F_Bow_Of_Rudra_C','Rudra Bow','4','11','2','1','0','185','0','0','5','0','657480','63','2','34','4','0',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bInt,5; skill AL_CURE,1; skill AL_HEAL,1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000;','','');
REPLACE INTO `item_db` VALUES ('18102','E_Bow_Of_Rudra_C','Rudra Bow','4','11','2','1','0','185','0','0','5','0','657480','63','2','34','4','0',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bInt,5; skill AL_CURE,1; skill AL_HEAL,1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000;','','');
+REPLACE INTO `item_db` VALUES ('18149','Balistar_IL','Balistar_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18165','Rebeginer_RN_Bow','Rebeginer_RN_Bow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18166','Rebeginer_WM_Bow','Rebeginer_WM_Bow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18170','Neev_Bow_Of_Rogue','Neev_Bow_Of_Rogue','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18174','Hunter_Bow_IL','Hunter_Bow_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18178','Virtual_Bow_OS','Virtual_Bow_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18179','MH_P89_OS','MH_P89_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18180','AC_B44_OS','AC_B44_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18182','Evt_Royal_Bow_K','Evt_Royal_Bow_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18183','Evt_Narcis_Bow','Evt_Narcis_Bow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18500','Cheer_Scarf6','Cheer Scarf6','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','1',NULL,'0','0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18501','Cheer_Scarf8','Cheer Scarf8','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','1',NULL,'0','0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18502','Cheer_Scarf10','Cheer Scarf10','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','1',NULL,'0','0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -6231,14 +6307,431 @@ REPLACE INTO `item_db` VALUES ('18612','White_Musang_Hat','White Musang Hat','5'
REPLACE INTO `item_db` VALUES ('18613','Black_Musang_Hat','Black Musang Hat','5','0','40','20','200','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','0','771','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bDex,2; bonus bAgi,1; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('18620','Heart_Eyepatch','Heart Eyepatch','5','0','5','2','200','0','0','2','0','0','18446744073709551615','63','2','512','0','20',NULL,'1','0','779','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18656','Wit_Pumpkin_Hat','Witch\'s Pumpkin Hat','5','0','20','10','300','0','0','10','0','0','18446744073709551615','63','2','256','0','20',NULL,'1','0','717','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus bStr,2; bonus bInt,2; bonus2 bMagicAddRace,RC_Undead,15; bonus2 bMagicAddRace,RC_Demon,15;','','');
+REPLACE INTO `item_db` VALUES ('19209','Nurse_Cap_IL','Nurse_Cap_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19210','Apple_Of_Archer_IL','Apple_Of_Archer_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19223','Cap_IL','Cap_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19247','Fancy_Flower_IL','Fancy_Flower_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19264','GoldFish_Hat','GoldFish_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19265','Smoky_TransformHat','Smoky_TransformHat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19277','Soda_In_Mouth','Soda_In_Mouth','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19291','C_Shiba_Inu','C_Shiba_Inu','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19294','C_CatEars_Cyber_HeadP_R','C_CatEars_Cyber_HeadP_R','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19300','Dog_Officer','Dog_Officer','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19310','Rebeginer_Cap','Rebeginer_Cap','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19339','Egg_Crispinette','Egg_Crispinette','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19344','Headband_Of_Power_IL','Headband_Of_Power_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19366','Goibne_Helmet_IL','Goibne_Helmet_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19382','Pop_Popcorn_Hat','Pop_Popcorn_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19389','E_Oxygen_Mask','E_Oxygen_Mask','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19396','Racing_C_Star','Racing_C_Star','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19397','Racing_C_Soul','Racing_C_Soul','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19404','Biting_Off_Rideword','Biting_Off_Rideword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19500','T_Mr_Smile','T Mr Smile','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'0','0','65','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
REPLACE INTO `item_db` VALUES ('19501','T_Spinx_Helm','T Spinx Helm','5','0','0','0','0','0','0','0','0','1','18446744073709551615','63','2','5120','0','0',NULL,'0','0','137','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19504','T_Sunglasses','T Sunglasses','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','0','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19505','T_Cigarette','T Cigarette','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'0','0','54','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19506','T_Valkyrie_Feather_Band','T Valkyrie Feather Band','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','0','300','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19507','Fine_Sun','Clear Sun','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','1',NULL,'0','0','654','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20514','C_Thanatos_Sword','C_Thanatos_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20515','C_Magic_Circle','C_Magic_Circle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20516','C_Wings_of_Michael','C_Wings_of_Michael','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20517','C_GiantCatBag_TW','C_GiantCatBag_TW','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20528','C_GoldButterfly_Wing','C_GoldButterfly_Wing','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20530','C_Wings_of_Gabriel','C_Wings_of_Gabriel','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20533','C_PinkButterfly_Wing_T','C_PinkButterfly_Wing_T','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20535','C_Digital_Space','C_Digital_Space','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20838','Muffler_IL','Muffler_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20840','Cape_Of_Ancient_Lord_IL','Cape_Of_Ancient_Lord_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20847','Clack_Of_Servival_IL','Clack_Of_Servival_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20856','YSF01_Manteau','YSF01_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20902','True_Hunting_Manteau','True_Hunting_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20903','R_Hunting_Manteau','R_Hunting_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20906','Rebeginer_Manteau','Rebeginer_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20923','Goibne_Shoulder_IL','Goibne_Shoulder_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20933','Illusion_Engine_A','Illusion_Engine_A','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20934','Illusion_Engine_B','Illusion_Engine_B','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20939','Time_Overload_Hood','Time_Overload_Hood','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20940','Violet_Halo','Violet_Halo','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20944','Fairy_Cloth','Fairy_Cloth','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('21037','Rebeginer_RK_T_Sword','Rebeginer_RK_T_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('21047','Beam_Claymore_OS','Beam_Claymore_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('21049','Evt_Oriental_Sword','Evt_Oriental_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22133','Shoes_IL','Shoes_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22141','YSF01_Greave','YSF01_Greave','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22168','True_Hunting_Boots','True_Hunting_Boots','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22169','R_Hunting_Boots','R_Hunting_Boots','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22171','ShoesOfGuardsman','ShoesOfGuardsman','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22173','Rebeginer_Boots','Rebeginer_Boots','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22190','Boots_IL','Boots_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22192','Goibne_Boots_IL','Goibne_Boots_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22196','Illusion_Leg_A','Illusion_Leg_A','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22197','Illusion_Leg_B','Illusion_Leg_B','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22204','Time_Overload_Boots','Time_Overload_Boots','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22540','Runstone_Lux','Lux Anima Rune','11','0','2','1','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'0',NULL,'20','1','0','itemskill RK_LUXANIMA,1;','','');
REPLACE INTO `item_db` VALUES ('22777','Buff_Gift_Set','Buff Gift Set','2','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','getitem 14534,5; getitem 12215,5; getitem 12216,5;','','');
REPLACE INTO `item_db` VALUES ('22808','Special_Gift_Box','Special Gift Box','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22837','Integer_Time','Integer Time','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','50',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','TmpRouletteBronze += 1;','','');
REPLACE INTO `item_db` VALUES ('22876','Old_Money_Pocket','Old Money Pocket','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','Zeny += rand(500, 550);','','');
+REPLACE INTO `item_db` VALUES ('23242','Fried_Chicken','Fried_Chicken','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23243','Fried_Chicken_1','Fried_Chicken_1','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23256','Elixir_Bandage','Elixir_Bandage','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23257','Dew_Of_Old_Tree','Dew_Of_Old_Tree','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23258','Foul_Rotten_Meat','Foul_Rotten_Meat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23259','St_Cupcake','St_Cupcake','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23260','Parfait','Parfait','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23261','Macaron','Macaron','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23277','Mado_Box','Mado_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23332','Costama_EggV01','Costama_EggV01','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23342','Vend_Arbeit1_1Lv','Vend_Arbeit1_1Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23343','Vend_Arbeit1_2Lv','Vend_Arbeit1_2Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23344','Vend_Arbeit1_3Lv','Vend_Arbeit1_3Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23345','Buy_Arbeit1_1Lv','Buy_Arbeit1_1Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23346','Buy_Arbeit1_2Lv','Buy_Arbeit1_2Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23347','Buy_Arbeit1_3Lv','Buy_Arbeit1_3Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23348','Vend_Arbeit_1Lv','Vend_Arbeit_1Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23349','Vend_Arbeit_2Lv','Vend_Arbeit_2Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23350','Vend_Arbeit_3Lv','Vend_Arbeit_3Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23351','Buy_Arbeit_1Lv','Buy_Arbeit_1Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23352','Buy_Arbeit_2Lv','Buy_Arbeit_2Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23353','Buy_Arbeit_3Lv','Buy_Arbeit_3Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23354','Vend_Arbeit1_1Lv_','Vend_Arbeit1_1Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23355','Vend_Arbeit1_2Lv_','Vend_Arbeit1_2Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23356','Vend_Arbeit1_3Lv_','Vend_Arbeit1_3Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23357','Buy_Arbeit1_1Lv_','Buy_Arbeit1_1Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23358','Buy_Arbeit1_2Lv_','Buy_Arbeit1_2Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23359','Buy_Arbeit1_3Lv_','Buy_Arbeit1_3Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23405','Green_Scroll_K2','Green_Scroll_K2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23440','Sentimental_Scroll','Sentimental_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23444','July_Hair_Box','July_Hair_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23446','Savage_Trap','Savage_Trap','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23473','Infinity_Scroll','Infinity_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23475','Infinity_Drink','Infinity_Drink','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23484','Firstaid_Box_5','Firstaid_Box_5','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23485','Firstaid_Box_10','Firstaid_Box_10','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23486','Firstaid_Box_15','Firstaid_Box_15','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23487','Firstaid_Box_20','Firstaid_Box_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23488','Firstaid_Box_25','Firstaid_Box_25','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23489','Firstaid_Box_30','Firstaid_Box_30','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23490','Firstaid_Box_35','Firstaid_Box_35','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23491','Firstaid_Box_40','Firstaid_Box_40','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23492','Firstaid_Box_45','Firstaid_Box_45','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23493','Firstaid_Box_50','Firstaid_Box_50','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23494','Firstaid_Box_55','Firstaid_Box_55','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23495','Firstaid_Box_60','Firstaid_Box_60','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23496','Firstaid_Box_65','Firstaid_Box_65','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23497','Firstaid_Box_70','Firstaid_Box_70','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23498','Firstaid_Box_75','Firstaid_Box_75','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23499','Firstaid_Box_80','Firstaid_Box_80','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23500','Firstaid_Box_85','Firstaid_Box_85','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23501','Firstaid_Box_90','Firstaid_Box_90','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23502','Firstaid_Box_95','Firstaid_Box_95','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23503','Red_Potion_B_20','Red_Potion_B_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23504','Orange_Potion_B_20','Orange_Potion_B_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23505','Yellow_Potion_B_20','Yellow_Potion_B_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23506','White_Potion_B_20','White_Potion_B_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23533','Vote_Rose','Vote_Rose','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23537','Bloody_Scroll','Bloody_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23549','Snow_Cookie','Snow_Cookie','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23550','Winter_Cookie','Winter_Cookie','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23551','Festi_Cookie','Festi_Cookie','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23552','Flora_Cookie','Flora_Cookie','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23554','Snow_Festa_CardPack','Snow_Festa_CardPack','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23575','Adventurer_Box_1','Adventurer_Box_1','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23576','Adventurer_Box_15','Adventurer_Box_15','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23577','Adventurer_Box_30','Adventurer_Box_30','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23578','Adventurer_Box_45','Adventurer_Box_45','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23579','Adventurer_Box_60','Adventurer_Box_60','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23580','Adventurer_Box_75','Adventurer_Box_75','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23581','Adventurer_Box_90','Adventurer_Box_90','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23582','E_Wing_Of_Fly_3Day_Box','E_Wing_Of_Fly_3Day_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23583','Rebeginer_Box','Rebeginer_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23584','Rebeginer_S_Box','Rebeginer_S_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23585','Rebeginer_Box_100','Rebeginer_Box_100','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23586','Rebeginer_Box_110','Rebeginer_Box_110','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23587','Rebeginer_Box_120','Rebeginer_Box_120','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23618','2017_Special_Scroll','2017_Special_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23650','Ice_Scroll','Ice_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23661','2018_New_Year_Scroll','2018_New_Year_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23683','EVT_JAN02KR','EVT_JAN02KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23700','Lunar_New_Year_Scroll','Lunar_New_Year_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23706','Reactor_Z','Reactor_Z','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23707','Reactor_Z_','Reactor_Z_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23710','2018_Spring_Scroll','2018_Spring_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23723','Melon_Bread','Melon_Bread','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23765','Costama_EggV02','Costama_EggV02','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23771','Mysterious_Plastic','Mysterious_Plastic','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23772','EP17_1_SPC01','EP17_1_SPC01','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23773','EP17_1_SPC02','EP17_1_SPC02','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23774','EP17_1_SPC03','EP17_1_SPC03','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23775','EP17_1_SPC04','EP17_1_SPC04','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23817','Bs_Making_Scrolls','Bs_Making_Scrolls','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23878','StarSoul_Scroll','StarSoul_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23897','2018_Jump_Thx_Box','2018_Jump_Thx_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23898','Comp_Power_Booster','Comp_Power_Booster','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23899','Comp_Almighty','Comp_Almighty','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23900','Time_Overload_Box','Time_Overload_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23901','110LVUP','110LVUP','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23921','Season_Evt_Reward','Season_Evt_Reward','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23962','Malang_Cat_Can2','Malang_Cat_Can2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24380','Sentimental_Weapone_S','Sentimental_Weapone_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24381','Sentimental_Earring_S','Sentimental_Earring_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24382','Sentimental_Pendant_S','Sentimental_Pendant_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24383','Enchanting_Weapone_S','Enchanting_Weapone_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24384','Enchanting_Earring_S','Enchanting_Earring_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24385','Enchanting_Pendant_S','Enchanting_Pendant_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24386','S_Infinity_Weapon','S_Infinity_Weapon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24387','Rebeginer_Armor_S','Rebeginer_Armor_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24388','Rebeginer_Shield_S','Rebeginer_Shield_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24389','Rebeginer_Shoes_S','Rebeginer_Shoes_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24390','Rebeginer_Weapon_S','Rebeginer_Weapon_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24391','Rebeginer_Earring_S','Rebeginer_Earring_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24392','Rebeginer_Pendant_S','Rebeginer_Pendant_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24393','S_Physical_Shoes','S_Physical_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24394','S_Physical_Shield','S_Physical_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24395','S_Physical_Armor','S_Physical_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24396','S_Magical_Shoes','S_Magical_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24397','S_Magical_Shield','S_Magical_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24398','S_Magical_Armor','S_Magical_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24399','S_ImmunedAthena_Shield','S_ImmunedAthena_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24400','S_HardChamption_Shoes','S_HardChamption_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24401','S_KingbirdAncient_Armor','S_KingbirdAncient_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24402','S_Rebellion_Armor','S_Rebellion_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24403','S_Kagerou_Armor','S_Kagerou_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24404','S_Oboro_Armor','S_Oboro_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24405','S_Rebellion_Shoes','S_Rebellion_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24406','S_Kagerou_Shoes','S_Kagerou_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24407','S_Oboro_Shoes','S_Oboro_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24408','S_DoramPhysical_Armor','S_DoramPhysical_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24409','S_DoramPhysical_Shoes','S_DoramPhysical_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24410','S_DoramMagical_Armor','S_DoramMagical_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24411','S_DoramMagical_Shoes','S_DoramMagical_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24412','S_Star_Emperor_Armor','S_Star_Emperor_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24413','S_Star_Emperor_Shoes','S_Star_Emperor_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24414','S_Soul_Reaper_Armor','S_Soul_Reaper_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24415','S_Soul_Reaper_Shoes','S_Soul_Reaper_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24416','S_Timeoverload_Weapon','S_Timeoverload_Weapon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24417','S_Timeoverload_Armor','S_Timeoverload_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24418','S_Timeoverload_Shield','S_Timeoverload_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24419','S_Timeoverload_Shoes','S_Timeoverload_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24420','S_Timeoverload_Earing','S_Timeoverload_Earing','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24421','S_Timeoverload_Pandent','S_Timeoverload_Pandent','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25258','BrokenArrow','BrokenArrow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25265','Shining_Spore','Shining_Spore','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25266','Dried_Leaf_Of_Ygg','Dried_Leaf_Of_Ygg','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25271','IllusionStone','IllusionStone','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25290','Sweets_Coin','Sweets_Coin','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25294','Clover_Ticket','Clover_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25295','Happiness_Clover','Happiness_Clover','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25340','Golden_Corn','Golden_Corn','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25375','Mightysoul_Essence','Mightysoul_Essence','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25390','Captured_Savage','Captured_Savage','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25391','Goodly_Bough','Goodly_Bough','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25392','Free_Pass_Ticket','Free_Pass_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25393','Delicious_Corn','Delicious_Corn','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25394','Fruit_Lunch','Fruit_Lunch','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25395','Small_Embers','Small_Embers','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25401','Black_Fur','Black_Fur','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25408','Memory_Of_Gyol','Memory_Of_Gyol','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25409','SuraStone_Top','SuraStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25410','SuraStone_Middle','SuraStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25411','SuraStone_Bottom','SuraStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25412','SuraStone_Robe','SuraStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25413','RangerStone_Top','RangerStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25414','RangerStone_Middle','RangerStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25415','RangerStone_Bottom','RangerStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25416','RangerStone_Robe','RangerStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25417','SorcererStone_Top','SorcererStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25418','SorcererStone_Middle','SorcererStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25419','SorcererStone_Bottom','SorcererStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25420','SorcererStone_Robe','SorcererStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25421','Pumpkin_Decor','Pumpkin_Decor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25422','White_Thin_Stem','White_Thin_Stem','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25425','SnowFlower_Of_Spell','SnowFlower_Of_Spell','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25426','Warm_Cotton','Warm_Cotton','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25427','Rebeginer_W_Coupon','Rebeginer_W_Coupon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25428','Rebeginer_W_7Up','Rebeginer_W_7Up','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25445','RuneknightStone_Top','RuneknightStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25446','RuneknightStone_Middle','RuneknightStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25447','RuneknightStone_Bottom','RuneknightStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25448','RuneknightStone_Robe','RuneknightStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25449','GeneticStone_Robe','GeneticStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25450','GeneticStone_Top','GeneticStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25451','GeneticStone_Middle','GeneticStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25452','GeneticStone_Bottom','GeneticStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25453','WarlockStone_Top','WarlockStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25454','WarlockStone_Middle','WarlockStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25455','WarlockStone_Bottom','WarlockStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25456','WarlockStone_Robe','WarlockStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25464','World_Tour_Ticket','World_Tour_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25479','Dogly_Bottle','Dogly_Bottle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25490','ShadowchaserStone_Top','ShadowchaserStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25491','ShadowchaseStone_Middle','ShadowchaseStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25492','ShadowchaseStone_Bottom','ShadowchaseStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25493','ShadowchaserStone_Robe','ShadowchaserStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25494','MechanicStone_Top','MechanicStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25495','MechanicStone_Middle','MechanicStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25496','MechanicStone_Bottom','MechanicStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25497','MechanicStone_Robe','MechanicStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25498','WanderMinstrelStone_Top','WanderMinstrelStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25499','WanderMinstStone_Middle','WanderMinstStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25500','WanderMinstStone_Bottom','WanderMinstStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25501','WanderMinstreStone_Robe','WanderMinstreStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25504','Visionary_Ticket','Visionary_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25508','Token_of_OrcGeneral','Token_of_OrcGeneral','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25511','Evt_March04_KR','Evt_March04_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25512','Evt_March05_KR','Evt_March05_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25616','Green_Bearopy','Green_Bearopy','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25622','White_Snake_Tear','White_Snake_Tear','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25627','Gold_Card','Gold_Card','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25629','Konts_Letter','Konts_Letter','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25633','Token_Of_Wootan','Token_Of_Wootan','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25634','Wootan_D_S_Piece','Wootan_D_S_Piece','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25638','Token_Of_Bigstone','Token_Of_Bigstone','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25639','Fragment_Of_Rock','Fragment_Of_Rock','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25643','Autographed_Book','Autographed_Book','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25655','Dalcom_Coin','Dalcom_Coin','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25656','Stamp_Note','Stamp_Note','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25657','Evt_July01_KR','Evt_July01_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25658','Evt_July02_KR','Evt_July02_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25659','Evt_May02_KR','Evt_May02_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25664','Evt_July03_KR','Evt_July03_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25665','Dienes_Envelope','Dienes_Envelope','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25666','Id_Card','Id_Card','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25668','Broken_Weapon','Broken_Weapon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25669','Unknown_Parts','Unknown_Parts','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25706','HighpriestStone_Top','HighpriestStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25707','HighpriestStone_Middle','HighpriestStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25708','HighpriestStone_Bottom','HighpriestStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25709','ArchbishopStone_Robe','ArchbishopStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25710','PaladinStone_Top','PaladinStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25711','PaladinStone_Middle','PaladinStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25712','PaladinStone_Bottom','PaladinStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25713','RoyalguardStone_Robe','RoyalguardStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25714','AssacrossStone_Top','AssacrossStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25715','AssacrossStone_Middle','AssacrossStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25716','AssacrossStone_Bottom','AssacrossStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25717','GuillcrossStone_Robe','GuillcrossStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25723','Cor_Core','Cor_Core','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25728','Shadowdecon_Ore','Shadowdecon_Ore','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25729','Shadowdecon','Shadowdecon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25730','Zelunium_Ore','Zelunium_Ore','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25731','Zelunium','Zelunium','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25734','Sealed_Weapon_Ticket','Sealed_Weapon_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25735','Unsealing_Token','Unsealing_Token','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25739','GH_Cursed_Crystal','GH_Cursed_Crystal','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25740','GH_Cursed_Gemstone','GH_Cursed_Gemstone','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25793','Inventory_Extension_Coupon','Inventory_Extension_Coupon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26007','Spectral_Spear_IL','Spectral_Spear_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26015','Rebeginer_LG_Lance','Rebeginer_LG_Lance','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26109','Staff_Of_Bordeaux_IL','Staff_Of_Bordeaux_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26110','CandyCaneRod','CandyCaneRod','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26111','Metal_Foxtail','Metal_Foxtail','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26119','Rebeginer_SO_Rod','Rebeginer_SO_Rod','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26120','Rebeginer_DO_Rod','Rebeginer_DO_Rod','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26151','Rutilus_Stick_OS','Rutilus_Stick_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26155','MeawFoxtail','MeawFoxtail','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26156','Evt_Shadow_Staff_K','Evt_Shadow_Staff_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28022','Infiltrator_IL','Infiltrator_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28023','Ghoul_Leg_IL','Ghoul_Leg_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28027','Rebeginer_GC_Katar','Rebeginer_GC_Katar','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28038','Meuchler_OS','Meuchler_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28040','Evt_Shiver_Katar_K','Evt_Shiver_Katar_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28136','Blasti_OS','Blasti_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28137','Evt_Avenger','Evt_Avenger','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28240','Calf_Kingcobra','Calf_Kingcobra','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28241','Calf_Diamondback','Calf_Diamondback','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28242','Calf_Anaconda','Calf_Anaconda','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28243','Calf_Python','Calf_Python','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28244','Gate_KeeperDD_IL','Gate_KeeperDD_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28253','HR_S55_OS','HR_S55_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28508','Skul_Ring_IL','Skul_Ring_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28509','Ring_IL','Ring_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28510','Vampire_s_Servant','Vampire_s_Servant','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28534','RKC_2017_Pendant','RKC_2017_Pendant','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28535','RKC_2017_Ring','RKC_2017_Ring','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28566','Rebeginer_Ring','Rebeginer_Ring','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28612','Book_Of_The_Apo_IL','Book_Of_The_Apo_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28616','Rebeginer_AB_Bible','Rebeginer_AB_Bible','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28626','Tablet_IL','Tablet_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28629','Circuit_Board_OS','Circuit_Board_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28631','Time_Kamiji','Time_Kamiji','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28725','Moonlight_Sword_IL','Moonlight_Sword_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28740','Rebeginer_SC_Dagger','Rebeginer_SC_Dagger','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28745','Counter_Dagger_IL','Counter_Dagger_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28755','Kuroiro_OS','Kuroiro_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28759','Evt_Magic_Sword','Evt_Magic_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28922','Herald_Of_GOD_IL','Herald_Of_GOD_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28942','Bloody_Knight_Shield','Bloody_Knight_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28945','Bloody_Knight_Shield_','Bloody_Knight_Shield_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28946','Bloody_Knight_Shield__','Bloody_Knight_Shield__','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28953','Poring_B_Shield','Poring_B_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29540','Deep_Black_Pearl','Deep_Black_Pearl','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29547','Sea_Sapphire','Sea_Sapphire','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29548','Red_Fog_Garnet','Red_Fog_Garnet','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29549','Lightning_Topaz','Lightning_Topaz','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29550','Poisoned_Amethyst','Poisoned_Amethyst','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29551','Frost_Zircon','Frost_Zircon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29552','Deep_Black_Pearl_','Deep_Black_Pearl_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29587','Lightning_Topaz_','Lightning_Topaz_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29588','Bloody_Ruby','Bloody_Ruby','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29589','GH_Cursed_Gemstone_','GH_Cursed_Gemstone_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29590','GH_Cursed_Crystal_','GH_Cursed_Crystal_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29591','Cursed_Emerald','Cursed_Emerald','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29592','Shinee_Opal','Shinee_Opal','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31172','Roast_Memory','Roast_Memory','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31186','C_Black_Cat','C_Black_Cat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31195','Choco_Minihat','Choco_Minihat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31197','Egg_Crispinette_','Egg_Crispinette_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31208','Straight_Long_YL','Straight_Long_YL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31209','Straight_Long_WH','Straight_Long_WH','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31249','Rabbit_Hopping','Rabbit_Hopping','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31261','Soda_In_Mouth_','Soda_In_Mouth_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31300','Warm_Cat_Muffler','Warm_Cat_Muffler','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31313','C_FallenAngelWingEar','C_FallenAngelWingEar','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31314','C_Ghost_Holiday','C_Ghost_Holiday','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31316','C_FlutterButterfly_BL','C_FlutterButterfly_BL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31329','C_Alice_Wig','C_Alice_Wig','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31332','C_Khalitzburg_Helm_BL','C_Khalitzburg_Helm_BL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31368','Harvest_Festa_Hat','Harvest_Festa_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31369','Straight_Long_WH_','Straight_Long_WH_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31370','Straight_Long_YL_','Straight_Long_YL_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31387','Jjakk','Jjakk','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31389','White_Bird_Rose','White_Bird_Rose','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31390','Let_It_Snow','Let_It_Snow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31396','C_Sorcerer_Hood','C_Sorcerer_Hood','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31397','C_Pope_Sitting_Head','C_Pope_Sitting_Head','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31398','C_Blinking_Thin_Eyes','C_Blinking_Thin_Eyes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31407','Alice_Wig_PK','Alice_Wig_PK','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31415','C_Wanderer_Sakkat','C_Wanderer_Sakkat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31432','C_Luwmin_Ice','C_Luwmin_Ice','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31433','C_Astro_Circle','C_Astro_Circle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31437','C_Baby_Penguin','C_Baby_Penguin','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31439','C_Fluffy_Heart_Earmuffs','C_Fluffy_Heart_Earmuffs','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31452','White_Cat','White_Cat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31454','Love_Feeling','Love_Feeling','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31455','Enchanted_Dog','Enchanted_Dog','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31460','C_Blessing_Sky_Lantern','C_Blessing_Sky_Lantern','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31463','C_Flying_Drone','C_Flying_Drone','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31465','Egg_Minihat','Egg_Minihat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31489','C_Bouquet_Hat','C_Bouquet_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31490','C_Poring_Muffler','C_Poring_Muffler','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31494','Volume_Low_Twin','Volume_Low_Twin','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31495','Lolita_Two_Side_Up','Lolita_Two_Side_Up','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31498','C_Elephangel_TH','C_Elephangel_TH','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31516','Mini_Melon','Mini_Melon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31518','Pop_Popcorn_Hat_','Pop_Popcorn_Hat_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31519','Slurp_Slurp_Hat','Slurp_Slurp_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31529','C_Happy_Rabbit_Ribbon','C_Happy_Rabbit_Ribbon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31580','Autumnal_Flavor','Autumnal_Flavor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31589','GOLD_MAJESTIC_GOUT','GOLD_MAJESTIC_GOUT','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31606','C_Autumn_Headband','C_Autumn_Headband','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32005','Pole_Axe_IL','Pole_Axe_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32013','Metal_Stick','Metal_Stick','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32019','Boost_Lance_OS','Boost_Lance_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32021','Evt_Undine_Spear_K','Evt_Undine_Spear_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32207','Illusion_B_R','Illusion_B_R','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32208','Illusion_B_L','Illusion_B_L','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32209','Illusion_BC_R','Illusion_BC_R','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32210','Illusion_BC_L','Illusion_BC_L','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32221','Time_Overload_Ring','Time_Overload_Ring','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32237','Celine_Brooch','Celine_Brooch','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
diff --git a/sql-files/item_db2.sql b/sql-files/item_db2.sql
index 4df23a4d0..3b4f58219 100644
--- a/sql-files/item_db2.sql
+++ b/sql-files/item_db2.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2018 Hercules Dev Team
+-- Copyright (C) 2013-2019 Hercules Dev Team
--
-- Hercules is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql
index 118a4417b..933ef3815 100644
--- a/sql-files/item_db_re.sql
+++ b/sql-files/item_db_re.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2018 Hercules Dev Team
+-- Copyright (C) 2013-2019 Hercules Dev Team
--
-- Hercules is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
@@ -725,6 +725,7 @@ REPLACE INTO `item_db` VALUES ('1317','Academy_Axe','Academy Axe','4','6','0','0
REPLACE INTO `item_db` VALUES ('1318','Dofle_Axe','Deflation Axe','4','6','50000','25000','1800','180','0','0','1','2','414946','63','2','2','4','105',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('1319','TE_Woe_Axe','TE WoE Axe','4','6','20','10','0','100','0','0','1','0','414947','63','2','2','3','40',NULL,'0','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Freeze,1000;','','');
REPLACE INTO `item_db` VALUES ('1323','Ru_Gold_Axe','Ru Gold Axe','4','6','20','10','1800','180','0','0','1','2','262144','56','2','2','3','120',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,8; bonus bInt,8;','','');
+REPLACE INTO `item_db` VALUES ('1326','War_Axe_IL','War_Axe_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1351','Battle_Axe','Battle Axe','4','7','5400','2700','1500','80','0','0','1','3','279714','63','2','34','1','3',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1352','Battle_Axe_','Battle Axe','4','7','5400','2700','1500','80','0','0','1','4','279714','63','2','34','1','3',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1353','Battle_Axe__','Battle Axe','4','7','5400','2700','1500','80','0','0','1','0','279714','63','2','34','1','3',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1157,6 +1158,10 @@ REPLACE INTO `item_db` VALUES ('1834','TE_Woe_Fist','TE WoE Fist','4','12','20',
REPLACE INTO `item_db` VALUES ('1835','Spartacus','Spartacus','4','12','20','10','600','100','0','0','1','2','33024','63','2','2','4','50',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtkRate,getrefine(); if(getrefine()>9) bonus bNoSizeFix,0;','','');
REPLACE INTO `item_db` VALUES ('1836','Thanos_Knuckle','Thanatos Knuckles','4','12','20','10','1600','60','100','0','1','1','32768','56','2','2','4','120',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
REPLACE INTO `item_db` VALUES ('1839','Scarlet_Knuckle','Crimson Knuckle','4','12','20','10','1000','100','0','0','1','2','33024','63','2','2','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('1846','Combo_Battle_Glove_IL','Combo_Battle_Glove_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1848','Rebeginer_SR_Nuckle','Rebeginer_SR_Nuckle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1862','Burning_Knuckle_OS','Burning_Knuckle_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1864','Evt_Iron_Nail_K','Evt_Iron_Nail_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1900','Violin_of_Vicious_Mind','Violin of Vicious Mind','4','13','20','10','1300','130','50','0','1','1','524288','63','1','2','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); bonus bMatk,((min(getrefine(),15)) ** (2))/2;','','');
REPLACE INTO `item_db` VALUES ('1901','Violin','Violin','4','13','4000','2000','700','50','0','0','1','3','524288','63','1','2','1','2',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1902','Violin_','Violin','4','13','4000','2000','700','50','0','0','1','4','524288','63','1','2','1','2',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1271,6 +1276,10 @@ REPLACE INTO `item_db` VALUES ('2023','Thanos_Rod','Thanatos Two-Handed Staff','
REPLACE INTO `item_db` VALUES ('2024','Infinity_Staff','Infinity Staff','4','23','20','10','500','30','170','0','0','1','8454656','56','2','34','4','100',NULL,'1','0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2025','Scarlet_Staff','Staff of Crimson','4','23','20','10','1000','100','150','0','1','2','8454660','63','2','34','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bInt,5; bonus bMatk,((min(getrefine(),15)) ** (2)); if(BaseLevel>70) { bonus bMatk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('2026','Staff_of_Vicious_Mind','Staff of Vicious Mind','4','23','20','10','1000','100','200','0','1','1','8454660','63','2','34','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bMatk,((min(getrefine(),15)) ** (2)); bonus bUnbreakableWeapon,0;','','');
+REPLACE INTO `item_db` VALUES ('2039','Wizardy_Staff_IL','Wizardy_Staff_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2046','Rebeginer_WL_Staff','Rebeginer_WL_Staff','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2051','Survival_Staff_IL','Survival_Staff_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2054','Evt_Iron_Staff','Evt_Iron_Staff','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2101','Guard','Guard','5','0','500','250','300','0','0','20','0','0','18446744073709551615','63','2','32','0','0',NULL,'1','0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2102','Guard_','Guard','5','0','500','250','300','0','0','20','0','1','18446744073709551615','63','2','32','0','0',NULL,'1','0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2103','Buckler','Buckler','5','0','14000','7000','600','0','0','40','0','0','972274','63','2','32','0','0',NULL,'1','0','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5672,6 +5681,7 @@ REPLACE INTO `item_db` VALUES ('10036','Hell_Horn','Horn Of Hell','8','0','20','
REPLACE INTO `item_db` VALUES ('10037','Black_Butterfly_Mask','Black Butterfly Mask','8','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10038','Horn_Protector','Horn Barrier','8','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10039','Tw_Backpack','Tw Backpack','8','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('10042','Dark_Mane','Dark_Mane','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11000','Prontera_Book_01','History book of Prontera','3','0','8000','4000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11001','Adventure_Story01','Adventure Story Vol.1','3','0','8000','4000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11002','Great_Chef_Orleans01','Chef King Orleans Vol.1','3','0','8000','4000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5795,6 +5805,15 @@ REPLACE INTO `item_db` VALUES ('11593','Trance_Candy_B','Blue Transform Candy','
REPLACE INTO `item_db` VALUES ('11594','Trance_Candy_Y','Yellow Transform Candy','0','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(45,65),0; specialeffect(EF_CLOAKING, AREA, playerattached()); showscript \"Trans-Form-!! Jack Fo-rm!!\"; montransform JAKK, 600000, SC_MTF_PUMPKIN, 2000;','','');
REPLACE INTO `item_db` VALUES ('11595','Trance_Candy_G','Green Transform Candy','0','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(45,65),0; specialeffect(EF_CLOAKING, AREA, playerattached()); showscript \"Trans-Form-!! Cube Fo-rm!!\"; montransform QUVE, 600000, SC_MTF_HITFLEE, 10, 20;','','');
REPLACE INTO `item_db` VALUES ('11602','Catnip_Fruit','Catnip Fruit','0','0','15','7','1','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(10,40),0;','','');
+REPLACE INTO `item_db` VALUES ('11607','Crepe','Crepe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11608','Chocolate_Egg','Chocolate_Egg','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11609','Yummy_Cookie_Egg','Yummy_Cookie_Egg','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11611','Pop_Corn','Pop_Corn','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11612','Aromatic_Pop_Corn','Aromatic_Pop_Corn','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11614','Fresh_Milk','Fresh_Milk','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11615','Sweet_Potato_','Sweet_Potato_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11620','Bearopy','Bearopy','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('11625','Aromatic_Pop_Corn_','Aromatic_Pop_Corn_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11701','Girl_Bunch_Of_Flower','Girl\'s Bouquet','0','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(105,145),0;','','');
REPLACE INTO `item_db` VALUES ('11702','Moon_Cookie','Moon Cookie','0','0','0','0','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'1',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11703','Mysterious_Blood','Mystery Blood','0','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal 0,rand(25,35);','','');
@@ -6854,6 +6873,8 @@ REPLACE INTO `item_db` VALUES ('13122','ALTAIR_ARES','Altea & Ares','4','17','14
REPLACE INTO `item_db` VALUES ('13124','ALTAIR_ARES_','Altea & Ares','4','17','1450000','725000','1000','200','0','0','9','1','1073741824','63','2','34','3','140',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5; bonus bDelayrate,10; bonus bLongAtkRate,30;','','');
REPLACE INTO `item_db` VALUES ('13127','Scarlet_Revolver','Crimson Revolver','4','17','20','10','1000','100','0','0','7','2','16777216','63','2','34','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('13128','Revolver_of_Vicious_Mind','Revolver of Vicious Mind','4','17','20','10','1500','150','0','0','7','1','16777216','63','2','34','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2));','','');
+REPLACE INTO `item_db` VALUES ('13144','Rebeginer_RL_Gun','Rebeginer_RL_Gun','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13146','Calf_Deathadder','Calf_Deathadder','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13150','Branch','Branch','4','18','3000','1500','500','50','0','0','9','3','16777216','1','2','34','1','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13151','The_Cyclone','Cyclone','4','18','17500','8750','700','120','0','0','9','1','16777216','1','2','34','2','24',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,10; bonus bCritical,10;','','');
REPLACE INTO `item_db` VALUES ('13152','The_Cyclone_','Cyclone','4','18','17500','8750','700','120','0','0','9','2','16777216','1','2','34','2','24',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,10; bonus bCritical,10;','','');
@@ -6995,6 +7016,9 @@ REPLACE INTO `item_db` VALUES ('13316','Upg_Huuma_Shuriken','Upg Huuma Shuriken'
REPLACE INTO `item_db` VALUES ('13317','TE_Woe_Huuma','TE Woe Huuma','4','22','0','0','0','80','100','0','1','0','570425344','1','2','34','3','40',NULL,'0','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Bleeding,1000;','','');
REPLACE INTO `item_db` VALUES ('13327','Scarlet_Huuma','Crimson Huuma Shuriken','4','22','20','10','1000','100','0','0','1','2','570425344','63','2','34','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,((min(getrefine(),15)) ** (2)); bonus bMatk,((min(getrefine(),15)) ** (2))/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('13328','Huuma_Shuriken_of_Vicious_Mind','Huuma Shuriken of Vicious Mind','4','22','20','10','1500','150','50','0','1','1','570425344','63','2','34','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); bonus bMatk,((min(getrefine(),15)) ** (2))/2; bonus bUnbreakableWeapon,0;','','');
+REPLACE INTO `item_db` VALUES ('13337','Huuma_Fluttering_Snow_IL','Huuma_Fluttering_Snow_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13338','Huuma_Bird_Wing_IL','Huuma_Bird_Wing_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13341','Rebeginer_KO_Humma','Rebeginer_KO_Humma','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13400','Cutlas_','Cutlus','4','2','20','10','900','150','0','0','1','1','414946','63','2','2','4','40',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill SM_BASH,5; bonus bStr,2; bonus bDef,1;','','');
REPLACE INTO `item_db` VALUES ('13401','Excalibur_C','Excalibur','4','2','1','0','0','199','0','0','1','0','414946','63','2','2','4','0',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bInt,10; bonus bLuk,10; bonus bAtkEle,Ele_Holy;','','');
REPLACE INTO `item_db` VALUES ('13402','Cutlas_C','Cutlas','4','2','2','1','0','185','0','0','1','0','414946','63','2','2','4','0',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','skill SM_BASH,5; bonus bStr,2; bonus bDef,1;','','');
@@ -7038,6 +7062,10 @@ REPLACE INTO `item_db` VALUES ('13442','Old_Parasol','Old Parasol','4','2','20',
REPLACE INTO `item_db` VALUES ('13444','Pala','Pala','4','2','20','10','700','190','0','0','0','1','414946','63','2','2','3','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,8;','','');
REPLACE INTO `item_db` VALUES ('13454','Scarlet_Saber','Crimson Saber','4','2','20','10','850','85','0','0','1','2','414947','63','2','2','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('13455','Saber_of_Vicious_Mind','Saber of Vicious Mind','4','2','20','10','1350','135','0','0','1','1','414947','63','2','2','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2));','','');
+REPLACE INTO `item_db` VALUES ('13469','Immaterial_Sword_IL','Immaterial_Sword_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13483','Rebeginer_GN_Sword','Rebeginer_GN_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13493','Cannon_Rapier_OS','Cannon_Rapier_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13495','Evt_Bluefire_Sword','Evt_Bluefire_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13500','Insurance60_Package','Life Insurrance Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14500,10;','','');
REPLACE INTO `item_db` VALUES ('13501','Assorted_Scroll_Box','Experience Scroll Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13502','Drooping_Kitty_Box','Refined Drooping Cat Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 5279,604800;','','');
@@ -8089,6 +8117,17 @@ REPLACE INTO `item_db` VALUES ('15138','Aegir_Armor','Aegir Armor','5','0','2000
REPLACE INTO `item_db` VALUES ('15150','White_Shirt','White Shirt','5','0','20','10','50','0','0','25','0','1','0','63','2','16','0','6',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,70; bonus bFlee,5;','','');
REPLACE INTO `item_db` VALUES ('15151','White_Eco_Shirt','White Eco-Shirt','5','0','20','10','100','0','0','40','0','1','0','63','2','16','0','15',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,150; bonus bFlee,10;','','');
REPLACE INTO `item_db` VALUES ('15156','Elegant_Doram_Suit','Elegant Doram Suit','5','0','20','10','900','0','0','120','0','1','0','63','2','16','0','175',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate, 15; bonus bMaxSPrate, 15; bonus bDex, getrefine(); bonus bInt, getrefine(); if (getrefine() > 9) bonus bUseSPrate, -5;','','');
+REPLACE INTO `item_db` VALUES ('15212','YSF01_Plate','YSF01_Plate','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15246','True_Hunting_Mail','True_Hunting_Mail','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15247','R_Hunting_Mail','R_Hunting_Mail','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15250','Rebeginer_Suits','Rebeginer_Suits','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15280','S_CriticalHit_Armor','S_CriticalHit_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15348','Goibne_Armor_IL','Goibne_Armor_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15376','Illusion_Armor_A','Illusion_Armor_A','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15377','Illusion_Armor_B','Illusion_Armor_B','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15383','Time_Overload_Robe','Time_Overload_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15388','Schmidt_Suits','Schmidt_Suits','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15389','Schmidt_Manteau','Schmidt_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16000','Erde','Erde','4','8','20','10','500','130','0','0','1','2','312754','58','2','2','3','50',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus bMaxSP,50; bonus bHealPower,10;','','');
REPLACE INTO `item_db` VALUES ('16001','Red_Square_Bag','Red Square Bag','4','8','20','10','500','130','0','0','1','2','312754','58','2','2','3','50',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,200; bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus2 bAddMonsterDropItem,501,50; bonus2 bAddMonsterDropItem,502,20; bonus2 bAddMonsterDropItem,503,20; bonus2 bAddMonsterDropItem,504,20; bonus2 bAddMonsterDropItem,505,10; if(readparam(bStr)>=95) { bonus2 bAddEff,Eff_Stun,500; }','','');
REPLACE INTO `item_db` VALUES ('16002','Stunner_C','Stunner','4','8','0','0','0','175','0','0','1','0','33040','63','2','2','3','0',NULL,'0','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEff,Eff_Stun,1000; bonus2 bAddSize,Size_Small,40; bonus2 bAddSize,Size_Medium,40; bonus2 bAddSize,Size_Large,40;','','');
@@ -8124,6 +8163,12 @@ REPLACE INTO `item_db` VALUES ('16032','Pilebuncker_T','Pile Bunker T','4','8','
REPLACE INTO `item_db` VALUES ('16039','Spoon','Spoon','4','8','20','10','100','80','0','0','1','1','312755','63','2','2','3','40',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspd,10; bonus2 bAddEff,Eff_Curse,1000;','','');
REPLACE INTO `item_db` VALUES ('16040','Scarlet_Mace','Crimson Mace','4','8','20','10','800','80','0','0','1','2','312755','63','2','2','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,((min(getrefine(),15)) ** (2)); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('16041','Mace_of_Vicious_Mind','Mace of Vicious Mind','4','8','20','10','1300','130','0','0','1','1','312755','63','2','2','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); bonus bUnbreakableWeapon,0;','','');
+REPLACE INTO `item_db` VALUES ('16063','Long_Mace_IL','Long_Mace_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16065','Iron_Driver_IL','Iron_Driver_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16075','Rebeginer_NC_Mace','Rebeginer_NC_Mace','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16076','Rebeginer_N2_Mace','Rebeginer_N2_Mace','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16088','Saphir_Hall_OS','Saphir_Hall_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16089','Ultio_Spes_OS','Ultio_Spes_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16131','Lady_Tanee_Doll_Box','Tanigumi Girl Doll Box','18','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5526,1;','','');
REPLACE INTO `item_db` VALUES ('16132','Lunatic_Hat_Box','Lunatic Hat Box','18','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5527,1;','','');
REPLACE INTO `item_db` VALUES ('16134','King_Frog_Hat_Box','Frog King Hat Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5528,1;','','');
@@ -8205,6 +8250,7 @@ REPLACE INTO `item_db` VALUES ('16415','FTurtle_Hat_Box','Turtle Hat Box','18','
REPLACE INTO `item_db` VALUES ('16418','Giant_Fly_Wing_Box_500','Giant Fly Wing Box 500','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12212,500;','','');
REPLACE INTO `item_db` VALUES ('16419','Greed_Scroll_Box_30','Greed Scroll 30 Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14529,30;','','');
REPLACE INTO `item_db` VALUES ('16420','Adventurer_Pack','Adventurer Pack','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12208,10; getitem 12210,10; getitem 12216,20; getitem 12215,20; getitem 7621,10; getitem 12209,10; getitem 12211,5; getitem 12450,10; getitem 12448,10; getitem 12446,10; getitem 12206,10; getitem 12445,10; getitem 12447,10;','','');
+REPLACE INTO `item_db` VALUES ('16423','PoporingKey','PoporingKey','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16424','Executioner_Box_','Executioner Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','rentitem 1174,604800;','','');
REPLACE INTO `item_db` VALUES ('16425','Cutlus_Box','Cutlus Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','rentitem 13402,604800;','','');
REPLACE INTO `item_db` VALUES ('16426','Moonlight_Dagger_Box','Moonlight Dagger Box','18','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','rentitem 13026,604800;','','');
@@ -8483,6 +8529,27 @@ REPLACE INTO `item_db` VALUES ('17273','INT_Biscuit_Stick_Box','Bar of Knowledge
REPLACE INTO `item_db` VALUES ('17274','DEX_Biscuit_Stick_Box','Bar of Tricks Box','18','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem DEX_Biscuit_Stick,20;','','');
REPLACE INTO `item_db` VALUES ('17275','LUK_Biscuit_Stick_Box','Bar of Luck Box','18','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem LUK_Biscuit_Stick,20;','','');
REPLACE INTO `item_db` VALUES ('17336','Jeremy_Beauty_Coupon_Box','Jeremy\'s Beauty Coupon Box','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem(Cash_Hair_Coupon, 1);','','');
+REPLACE INTO `item_db` VALUES ('17774','Almighty_Plus_Box3','Almighty_Plus_Box3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17775','Almighty100_PlusBox3','Almighty100_PlusBox3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17882','Refine_Ore_Box17_Set10','Refine_Ore_Box17_Set10','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17883','Refine_Ore_Box17','Refine_Ore_Box17','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17884','HD_Refine_Ore_Box5','HD_Refine_Ore_Box5','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17885','HD_High_Refine_Box3','HD_High_Refine_Box3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17886','Infinity_Box','Infinity_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17887','Infinity_10_Box','Infinity_10_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17894','New_Vigorgra_Package','New_Vigorgra_Package','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17895','New_Vigorgra_Set','New_Vigorgra_Set','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17914','2017_GStar_CostumeBox','2017_GStar_CostumeBox','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17923','Refine_Ore_Box18','Refine_Ore_Box18','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17924','Refine_Ore_Box18_Set10','Refine_Ore_Box18_Set10','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17925','HD_Refine_Ore_Box6','HD_Refine_Ore_Box6','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17926','HD_High_Refine_Box4','HD_High_Refine_Box4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17935','New_3_Potion_pack','New_3_Potion_pack','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17936','New_3_Potion_10pack','New_3_Potion_10pack','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17940','Nyangvine_Box10_3','Nyangvine_Box10_3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17941','Nyangvine_Box100_3','Nyangvine_Box100_3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17944','Almighty_Plus_Box4','Almighty_Plus_Box4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('17945','Almighty100_PlusBox4','Almighty100_PlusBox4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18000','Cannon_Ball','Cannon Ball','10','8','100','50','10','100','0','0','0','0','263168','8','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18001','Holy_Cannon_Ball','Holy Cannon Ball','10','8','200','100','10','120','0','0','0','0','263168','8','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy;','','');
REPLACE INTO `item_db` VALUES ('18002','Dark_Cannon_Ball','Dark Cannon Ball','10','8','200','100','10','120','0','0','0','0','263168','8','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark;','','');
@@ -8516,6 +8583,16 @@ REPLACE INTO `item_db` VALUES ('18124','Half_BF_Bow1','Half BF Bow1','4','11','0
REPLACE INTO `item_db` VALUES ('18126','Ru_Blue_Bow','Blue Bow','4','11','20','10','1200','170','0','0','5','1','2048','56','2','34','3','100',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,5; bonus bDex,5;','','');
REPLACE INTO `item_db` VALUES ('18128','Infinity_Bow','Infinity Bow','4','11','0','0','500','160','0','0','5','1','657480','56','2','34','4','100',NULL,'1','0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18130','Scarlet_Bow','Crimson Bow','4','11','20','10','1200','120','0','0','5','2','657416','63','2','34','3','7',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('18149','Balistar_IL','Balistar_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18165','Rebeginer_RN_Bow','Rebeginer_RN_Bow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18166','Rebeginer_WM_Bow','Rebeginer_WM_Bow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18170','Neev_Bow_Of_Rogue','Neev_Bow_Of_Rogue','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18174','Hunter_Bow_IL','Hunter_Bow_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18178','Virtual_Bow_OS','Virtual_Bow_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18179','MH_P89_OS','MH_P89_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18180','AC_B44_OS','AC_B44_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18182','Evt_Royal_Bow_K','Evt_Royal_Bow_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18183','Evt_Narcis_Bow','Evt_Narcis_Bow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18500','Cheer_Scarf6','Cheering scarf VI','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bExpAddRace, RC_All, 60;','','');
REPLACE INTO `item_db` VALUES ('18501','Cheer_Scarf8','Cheering scarf VIII','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bExpAddRace, RC_All, 80;','','');
REPLACE INTO `item_db` VALUES ('18502','Cheer_Scarf10','Cheering scarf X','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bExpAddRace, RC_All, 100;','','');
@@ -8943,6 +9020,25 @@ REPLACE INTO `item_db` VALUES ('19081','Faceworm_Egg_Shell','Faceworm Egg Shell'
REPLACE INTO `item_db` VALUES ('19085','Sigruns_Wing_','Sigrun\'s Wings','5','0','20','10','100','0','0','2','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','0','568','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) { bonus bAspd,1; bonus bAgi,-2; } else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker) { bonus bMatk,3; bonus bHealPower,1; } else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) { bonus bLongAtkRate,1; } else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,60; bonus bMaxSP,30; }','','');
REPLACE INTO `item_db` VALUES ('19086','Robo_Eye_','Robo Eye','5','0','20','10','200','0','0','2','0','1','18446744073709551615','63','2','512','0','10',NULL,'0','0','345','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bAddRace, RC_All, 1; bonus bMatkRate,1; bonus bDex,1;','','');
REPLACE INTO `item_db` VALUES ('19087','Angel_Spirit_','Angel Spirit','5','0','20','10','200','0','0','0','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','0','394','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bHit,8;','','');
+REPLACE INTO `item_db` VALUES ('19209','Nurse_Cap_IL','Nurse_Cap_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19210','Apple_Of_Archer_IL','Apple_Of_Archer_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19223','Cap_IL','Cap_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19247','Fancy_Flower_IL','Fancy_Flower_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19264','GoldFish_Hat','GoldFish_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19265','Smoky_TransformHat','Smoky_TransformHat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19277','Soda_In_Mouth','Soda_In_Mouth','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19291','C_Shiba_Inu','C_Shiba_Inu','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19294','C_CatEars_Cyber_HeadP_R','C_CatEars_Cyber_HeadP_R','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19300','Dog_Officer','Dog_Officer','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19310','Rebeginer_Cap','Rebeginer_Cap','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19339','Egg_Crispinette','Egg_Crispinette','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19344','Headband_Of_Power_IL','Headband_Of_Power_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19366','Goibne_Helmet_IL','Goibne_Helmet_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19382','Pop_Popcorn_Hat','Pop_Popcorn_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19389','E_Oxygen_Mask','E_Oxygen_Mask','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19396','Racing_C_Star','Racing_C_Star','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19397','Racing_C_Soul','Racing_C_Soul','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19404','Biting_Off_Rideword','Biting_Off_Rideword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19500','T_Mr_Smile','Costume Mr. Smile','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'0','0','65','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
REPLACE INTO `item_db` VALUES ('19501','T_Spinx_Helm','Costume Sphinx Hat','5','0','0','0','0','0','0','0','0','1','18446744073709551615','63','2','5120','0','0',NULL,'0','0','137','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19502','T_Goggle','Costume Goggles','5','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'0','0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9714,6 +9810,14 @@ REPLACE INTO `item_db` VALUES ('20331','C_Desert_Prince','Costume Desert Prince'
REPLACE INTO `item_db` VALUES ('20332','C_Pure_White_Ribbon','Costume Pure White Ribbon','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','0','1175','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20333','C_Family_Hat','Costume Family Hat','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','0','650','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20500','T_Archangel_Wing','T Archangel\'s Wings','5','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'0','0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('20514','C_Thanatos_Sword','C_Thanatos_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20515','C_Magic_Circle','C_Magic_Circle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20516','C_Wings_of_Michael','C_Wings_of_Michael','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20517','C_GiantCatBag_TW','C_GiantCatBag_TW','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20528','C_GoldButterfly_Wing','C_GoldButterfly_Wing','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20530','C_Wings_of_Gabriel','C_Wings_of_Gabriel','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20533','C_PinkButterfly_Wing_T','C_PinkButterfly_Wing_T','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20535','C_Digital_Space','C_Digital_Space','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20600','Fantastic_Aura','Fantastic Aura','5','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','16384','0','0',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('20700','Egir_Manteau','Aegir Mantle','5','0','200000','100000','300','0','0','10','0','1','18446744073709551615','63','2','4','0','110',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableGarment, 0; if (BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte) bonus bFlee2, 5 + (getequiprefinerycnt(EQI_GARMENT) * 2); else if (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) bonus bShortWeaponDamageReturn, 5 + (getequiprefinerycnt(EQI_GARMENT) * 2);','','');
REPLACE INTO `item_db` VALUES ('20702','TE_Woe_Muffler','TE Woe Muffler','5','0','0','0','0','0','0','5','0','0','18446744073709551615','63','2','4','0','40',NULL,'0','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bUnbreakableGarment,1; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25;','','');
@@ -9753,6 +9857,19 @@ REPLACE INTO `item_db` VALUES ('20778','Crimson_Stole','Crimson Stole','5','0','
REPLACE INTO `item_db` VALUES ('20788','Private_Doram_Manteau','Private Doram Manteau','5','0','20','10','300','0','0','20','0','1','0','63','2','4','0','100',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5; bonus2 bSubEle,Ele_Neutral,2; bonus bFlee2,getrefine()/3;','','');
REPLACE INTO `item_db` VALUES ('20789','Luxury_Doram_Manteau','Luxury Doram Manteau','5','0','20','10','400','0','0','25','0','1','0','63','2','4','0','140',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee, 7; bonus2 bSubEle,Ele_Neutral, 3; bonus bFlee2, getrefine() / 3; bonus bLuk, getrefine() / 3;','','');
REPLACE INTO `item_db` VALUES ('20790','Elegant_Doram_Manteau','Elegant Doram Manteau','5','0','20','10','500','0','0','30','0','1','0','63','2','4','0','175',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee, 10; bonus2 bSubEle,Ele_Neutral, 5; bonus bFlee2, getrefine() / 2; bonus bInt, getrefine() / 2; bonus bDex, getrefine() / 2; bonus bLuk, getrefine() / 2;','','');
+REPLACE INTO `item_db` VALUES ('20838','Muffler_IL','Muffler_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20840','Cape_Of_Ancient_Lord_IL','Cape_Of_Ancient_Lord_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20847','Clack_Of_Servival_IL','Clack_Of_Servival_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20856','YSF01_Manteau','YSF01_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20902','True_Hunting_Manteau','True_Hunting_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20903','R_Hunting_Manteau','R_Hunting_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20906','Rebeginer_Manteau','Rebeginer_Manteau','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20923','Goibne_Shoulder_IL','Goibne_Shoulder_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20933','Illusion_Engine_A','Illusion_Engine_A','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20934','Illusion_Engine_B','Illusion_Engine_B','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20939','Time_Overload_Hood','Time_Overload_Hood','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20940','Violet_Halo','Violet_Halo','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20944','Fairy_Cloth','Fairy_Cloth','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('21000','Upg_Twohand_Sword','Upgrade Two-Hand Sword','4','3','20','10','1500','100','0','0','1','1','16514','63','2','34','3','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,(getrefine()*12); bonus bMatk,(getrefine()*5); if(BaseLevel>70) { bonus bBaseAtk,(((BaseLevel-70)/10)*10); }','','');
REPLACE INTO `item_db` VALUES ('21001','Velum_Claymore','Vellum Claymore','4','3','20','10','3500','260','0','0','2','0','16514','63','2','34','4','95',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,80; bonus2 bIgnoreDefRate,RC_DemiPlayer,30; if(getrefine()>=6) { bonus2 bAddRace,RC_DemiPlayer,40; } if(getrefine()>=9) { autobonus2 \"{ bonus bShortWeaponDamageReturn,20; bonus bMagicDamageReturn,20; }\",200,1000,BF_WEAPON,\"{ specialeffect(EF_REFLECTSHIELD, AREA, playerattached()); }\"; }','','');
REPLACE INTO `item_db` VALUES ('21002','Velum_Katzbalger','Vellum Katzbalger','4','3','20','10','2500','100','0','0','1','0','16514','63','2','34','4','95',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bHPVanishRate, 1000, 8, BF_NORMAL;','','');
@@ -9772,6 +9889,9 @@ REPLACE INTO `item_db` VALUES ('21015','Scarlet_Twohand_Sword','Crimson Two-Hand
REPLACE INTO `item_db` VALUES ('21016','Two_Handed_Sword_of_Vicious_Mind','Two-Handed Sword of Vicious Mind','4','3','20','10','2200','220','0','0','1','1','16514','63','2','34','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2));','','');
REPLACE INTO `item_db` VALUES ('21018','Lindy_Hop','Lindy Hop','4','3','20','10','3400','340','0','0','1','2','16514','56','2','34','4','170',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtkRate,getrefine()/2; bonus bAspdRate,getrefine();','','');
REPLACE INTO `item_db` VALUES ('21019','Onimaru','Onimaru','4','3','0','0','4200','75','0','0','1','2','128','56','2','34','4','130',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,min(readparam(bStr),120); if(readparam(bStr)>=95) { bonus bAtk,40; } if(readparam(bStr)>=108) { bonus bAtk,40; } if(readparam(bStr)>=120) { bonus bAtk,40; } if(getrefine()>=7) { bonus3 bAutoSpell,NPC_WIDECURSE,5,10; } /* Custom - JRO */ if(getrefine()>=9) { skill LK_BERSERK,1; }','','');
+REPLACE INTO `item_db` VALUES ('21037','Rebeginer_RK_T_Sword','Rebeginer_RK_T_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('21047','Beam_Claymore_OS','Beam_Claymore_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('21049','Evt_Oriental_Sword','Evt_Oriental_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22000','Temporal_Str_Boots','Temporal STR Boots','5','0','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAtk,(getrefine()/3)*7; if(readparam(bStr)>=120) { bonus bAtk,50; }','','');
REPLACE INTO `item_db` VALUES ('22001','Temporal_Int_Boots','Temporal INT Boots','5','0','20','10','600','0','0','20','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bMatk,(getrefine()/3)*10; if(readparam(bInt)>=120) { bonus bMatk,60; bonus bMdef,5; }','','');
REPLACE INTO `item_db` VALUES ('22002','Temporal_Agi_Boots','Temporal AGI Boots','5','0','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAspdRate,(getrefine()/3)*3; if(readparam(bAgi)>=120) { bonus bAspd,1; }','','');
@@ -9812,6 +9932,17 @@ REPLACE INTO `item_db` VALUES ('22077','Red_Eco_Friendly_Shoes','Red Eco-Friendl
REPLACE INTO `item_db` VALUES ('22083','Private_Doram_Shoes','Private Doram Shoes','5','0','20','10','500','0','0','25','0','1','0','63','2','64','0','100',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 100; bonus bMaxSP, 50; bonus bHPrecovRate, getrefine() * 10 / 3; bonus bSPrecovRate, getrefine() * 10 / 3;','','');
REPLACE INTO `item_db` VALUES ('22084','Luxury_Doram_Shoes','Luxury Doram Shoes','5','0','20','10','600','0','0','30','0','1','0','63','2','64','0','140',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 300; bonus bMaxSP, 100; bonus bHPrecovRate, 20 * getrefine() / 3; bonus bSPrecovRate, 20 * getrefine() / 3;','','');
REPLACE INTO `item_db` VALUES ('22085','Elegant_Doram_Shoes','Elegant Doram Shoes','5','0','20','10','700','0','0','35','0','1','0','63','2','64','0','175',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate, 10; bonus bMaxSPrate, 5; bonus bMaxHP, 100 * getrefine() / 2; bonus bMaxSP, 20 * getrefine() / 2; if ((getrefine() / 2) >= 4) bonus2 bSkillUseSP, SU_LOPE, 5;','','');
+REPLACE INTO `item_db` VALUES ('22133','Shoes_IL','Shoes_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22141','YSF01_Greave','YSF01_Greave','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22168','True_Hunting_Boots','True_Hunting_Boots','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22169','R_Hunting_Boots','R_Hunting_Boots','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22171','ShoesOfGuardsman','ShoesOfGuardsman','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22173','Rebeginer_Boots','Rebeginer_Boots','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22190','Boots_IL','Boots_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22192','Goibne_Boots_IL','Goibne_Boots_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22196','Illusion_Leg_A','Illusion_Leg_A','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22197','Illusion_Leg_B','Illusion_Leg_B','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22204','Time_Overload_Boots','Time_Overload_Boots','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22508','Para_Team_Mark_','Eden Group Mark','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','1200000','507',NULL,'0',NULL,'0',NULL,'0','warp \"moc_para01\", 171, 115;','','');
REPLACE INTO `item_db` VALUES ('22514','Candy_Holder','Candy Holder','11','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22515','Key_Of_Twisted_Time','Twisted Key of Time','3','0','10','5','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9825,6 +9956,12 @@ REPLACE INTO `item_db` VALUES ('22676','Hangul_Day_Event_Box','Hangul Day Event
REPLACE INTO `item_db` VALUES ('22679','Chest_Of_Death','Death Bin','18','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','170',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22685','Solo_Christmas_Gift','Single Union Christmas Gift','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22686','Solo_Cookie','Single Cookie','0','0','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 5,5;','','');
+REPLACE INTO `item_db` VALUES ('22702','STR_Soul_Potion','STR Reduction Potion','11','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','callfunc(\"F_CashReduceStat\", bStr, -1, STR_Soul_Potion);','','');
+REPLACE INTO `item_db` VALUES ('22703','AGI_Soul_Potion','AGI Reduction Potion','11','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','callfunc(\"F_CashReduceStat\", bAgi, -1, AGI_Soul_Potion);','','');
+REPLACE INTO `item_db` VALUES ('22704','VIT_Soul_Potion','VIT Reduction Potion','11','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','callfunc(\"F_CashReduceStat\", bVit, -1, VIT_Soul_Potion);','','');
+REPLACE INTO `item_db` VALUES ('22705','INT_Soul_Potion','INT Reduction Potion','11','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','callfunc(\"F_CashReduceStat\", bInt, -1, INT_Soul_Potion);','','');
+REPLACE INTO `item_db` VALUES ('22706','DEX_Soul_Potion','DEX Reduction Potion','11','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','callfunc(\"F_CashReduceStat\", bDex, -1, DEX_Soul_Potion);','','');
+REPLACE INTO `item_db` VALUES ('22707','LUK_Soul_Potion','LUK Reduction Potion','11','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','callfunc(\"F_CashReduceStat\", bLuk, -1, LUK_Soul_Potion);','','');
REPLACE INTO `item_db` VALUES ('22737','Bullet_Case_Blood_','Bloody Bullet Case','2','0','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Shell_Of_Blood_, 500;','','');
REPLACE INTO `item_db` VALUES ('22738','Bullet_Case_Silver_','Silver Bullet Case','2','0','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Silver_Bullet_, 500;','','');
REPLACE INTO `item_db` VALUES ('22739','Sphere_Case_Wind_','Lightning Sphere Pack','2','0','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Lighting_Sphere_, 500;','','');
@@ -9843,6 +9980,107 @@ REPLACE INTO `item_db` VALUES ('22808','Special_Gift_Box','Special Gift Box','2'
REPLACE INTO `item_db` VALUES ('22837','Integer_Time','Integer Time','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','50',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','TmpRouletteBronze += 1;','','');
REPLACE INTO `item_db` VALUES ('22838','Something_Candy_Holder','Pumpkin Candy Holder','2','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 22838,1;','','');
REPLACE INTO `item_db` VALUES ('22876','Old_Money_Pocket','Old Money Pocket','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','Zeny += rand(500, 550);','','');
+REPLACE INTO `item_db` VALUES ('23242','Fried_Chicken','Fried_Chicken','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23243','Fried_Chicken_1','Fried_Chicken_1','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23256','Elixir_Bandage','Elixir_Bandage','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23257','Dew_Of_Old_Tree','Dew_Of_Old_Tree','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23258','Foul_Rotten_Meat','Foul_Rotten_Meat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23259','St_Cupcake','St_Cupcake','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23260','Parfait','Parfait','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23261','Macaron','Macaron','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23277','Mado_Box','Mado_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23332','Costama_EggV01','Costama_EggV01','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23342','Vend_Arbeit1_1Lv','Vend_Arbeit1_1Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23343','Vend_Arbeit1_2Lv','Vend_Arbeit1_2Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23344','Vend_Arbeit1_3Lv','Vend_Arbeit1_3Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23345','Buy_Arbeit1_1Lv','Buy_Arbeit1_1Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23346','Buy_Arbeit1_2Lv','Buy_Arbeit1_2Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23347','Buy_Arbeit1_3Lv','Buy_Arbeit1_3Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23348','Vend_Arbeit_1Lv','Vend_Arbeit_1Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23349','Vend_Arbeit_2Lv','Vend_Arbeit_2Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23350','Vend_Arbeit_3Lv','Vend_Arbeit_3Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23351','Buy_Arbeit_1Lv','Buy_Arbeit_1Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23352','Buy_Arbeit_2Lv','Buy_Arbeit_2Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23353','Buy_Arbeit_3Lv','Buy_Arbeit_3Lv','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23354','Vend_Arbeit1_1Lv_','Vend_Arbeit1_1Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23355','Vend_Arbeit1_2Lv_','Vend_Arbeit1_2Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23356','Vend_Arbeit1_3Lv_','Vend_Arbeit1_3Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23357','Buy_Arbeit1_1Lv_','Buy_Arbeit1_1Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23358','Buy_Arbeit1_2Lv_','Buy_Arbeit1_2Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23359','Buy_Arbeit1_3Lv_','Buy_Arbeit1_3Lv_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23405','Green_Scroll_K2','Green_Scroll_K2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23440','Sentimental_Scroll','Sentimental_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23444','July_Hair_Box','July_Hair_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23446','Savage_Trap','Savage_Trap','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23473','Infinity_Scroll','Infinity_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23475','Infinity_Drink','Infinity_Drink','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23484','Firstaid_Box_5','Firstaid_Box_5','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23485','Firstaid_Box_10','Firstaid_Box_10','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23486','Firstaid_Box_15','Firstaid_Box_15','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23487','Firstaid_Box_20','Firstaid_Box_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23488','Firstaid_Box_25','Firstaid_Box_25','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23489','Firstaid_Box_30','Firstaid_Box_30','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23490','Firstaid_Box_35','Firstaid_Box_35','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23491','Firstaid_Box_40','Firstaid_Box_40','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23492','Firstaid_Box_45','Firstaid_Box_45','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23493','Firstaid_Box_50','Firstaid_Box_50','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23494','Firstaid_Box_55','Firstaid_Box_55','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23495','Firstaid_Box_60','Firstaid_Box_60','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23496','Firstaid_Box_65','Firstaid_Box_65','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23497','Firstaid_Box_70','Firstaid_Box_70','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23498','Firstaid_Box_75','Firstaid_Box_75','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23499','Firstaid_Box_80','Firstaid_Box_80','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23500','Firstaid_Box_85','Firstaid_Box_85','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23501','Firstaid_Box_90','Firstaid_Box_90','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23502','Firstaid_Box_95','Firstaid_Box_95','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23503','Red_Potion_B_20','Red_Potion_B_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23504','Orange_Potion_B_20','Orange_Potion_B_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23505','Yellow_Potion_B_20','Yellow_Potion_B_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23506','White_Potion_B_20','White_Potion_B_20','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23533','Vote_Rose','Vote_Rose','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23537','Bloody_Scroll','Bloody_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23549','Snow_Cookie','Snow_Cookie','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23550','Winter_Cookie','Winter_Cookie','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23551','Festi_Cookie','Festi_Cookie','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23552','Flora_Cookie','Flora_Cookie','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23554','Snow_Festa_CardPack','Snow_Festa_CardPack','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23575','Adventurer_Box_1','Adventurer_Box_1','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23576','Adventurer_Box_15','Adventurer_Box_15','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23577','Adventurer_Box_30','Adventurer_Box_30','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23578','Adventurer_Box_45','Adventurer_Box_45','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23579','Adventurer_Box_60','Adventurer_Box_60','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23580','Adventurer_Box_75','Adventurer_Box_75','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23581','Adventurer_Box_90','Adventurer_Box_90','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23582','E_Wing_Of_Fly_3Day_Box','E_Wing_Of_Fly_3Day_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23583','Rebeginer_Box','Rebeginer_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23584','Rebeginer_S_Box','Rebeginer_S_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23585','Rebeginer_Box_100','Rebeginer_Box_100','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23586','Rebeginer_Box_110','Rebeginer_Box_110','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23587','Rebeginer_Box_120','Rebeginer_Box_120','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23618','2017_Special_Scroll','2017_Special_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23650','Ice_Scroll','Ice_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23661','2018_New_Year_Scroll','2018_New_Year_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23683','EVT_JAN02KR','EVT_JAN02KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23700','Lunar_New_Year_Scroll','Lunar_New_Year_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23706','Reactor_Z','Reactor_Z','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23707','Reactor_Z_','Reactor_Z_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23710','2018_Spring_Scroll','2018_Spring_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23723','Melon_Bread','Melon_Bread','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23765','Costama_EggV02','Costama_EggV02','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23771','Mysterious_Plastic','Mysterious_Plastic','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23772','EP17_1_SPC01','EP17_1_SPC01','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23773','EP17_1_SPC02','EP17_1_SPC02','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23774','EP17_1_SPC03','EP17_1_SPC03','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23775','EP17_1_SPC04','EP17_1_SPC04','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23817','Bs_Making_Scrolls','Bs_Making_Scrolls','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23878','StarSoul_Scroll','StarSoul_Scroll','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23897','2018_Jump_Thx_Box','2018_Jump_Thx_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23898','Comp_Power_Booster','Comp_Power_Booster','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23899','Comp_Almighty','Comp_Almighty','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23900','Time_Overload_Box','Time_Overload_Box','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23901','110LVUP','110LVUP','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23921','Season_Evt_Reward','Season_Evt_Reward','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23962','Malang_Cat_Can2','Malang_Cat_Can2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('24000','T1_Shadow_Armor','T STR1 Armor Shadow','5','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('24001','T1_Shadow_Weapon','T DEX1 Weapon Shadow','5','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1;','','');
REPLACE INTO `item_db` VALUES ('24002','T1_Shadow_Shield','T LUK1 Shield Shadow','5','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1;','','');
@@ -10089,7 +10327,165 @@ REPLACE INTO `item_db` VALUES ('24242','S_Caster_Armor','Caster Shadow Armor','5
REPLACE INTO `item_db` VALUES ('24243','S_Reload_Shoes','Reload Shadow Shoes','5','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-1; if (getrefine()>=7) { bonus bDelayrate,-1; } if (getrefine()>=9) { bonus bDelayrate,-1; }','','');
REPLACE INTO `item_db` VALUES ('24244','S_Reload_Shield','Reload Shadow Shield','5','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-1; if (getrefine()>=7) { bonus bDelayrate,-1; } if (getrefine()>=9) { bonus bDelayrate,-1; }','','');
REPLACE INTO `item_db` VALUES ('24245','S_Reload_Armor','Reload Shadow Armor','5','0','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-1; if (getrefine()>=7) { bonus bDelayrate,-1; } if (getrefine()>=9) { bonus bDelayrate,-1; }','','');
+REPLACE INTO `item_db` VALUES ('24380','Sentimental_Weapone_S','Sentimental_Weapone_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24381','Sentimental_Earring_S','Sentimental_Earring_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24382','Sentimental_Pendant_S','Sentimental_Pendant_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24383','Enchanting_Weapone_S','Enchanting_Weapone_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24384','Enchanting_Earring_S','Enchanting_Earring_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24385','Enchanting_Pendant_S','Enchanting_Pendant_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24386','S_Infinity_Weapon','S_Infinity_Weapon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24387','Rebeginer_Armor_S','Rebeginer_Armor_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24388','Rebeginer_Shield_S','Rebeginer_Shield_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24389','Rebeginer_Shoes_S','Rebeginer_Shoes_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24390','Rebeginer_Weapon_S','Rebeginer_Weapon_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24391','Rebeginer_Earring_S','Rebeginer_Earring_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24392','Rebeginer_Pendant_S','Rebeginer_Pendant_S','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24393','S_Physical_Shoes','S_Physical_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24394','S_Physical_Shield','S_Physical_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24395','S_Physical_Armor','S_Physical_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24396','S_Magical_Shoes','S_Magical_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24397','S_Magical_Shield','S_Magical_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24398','S_Magical_Armor','S_Magical_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24399','S_ImmunedAthena_Shield','S_ImmunedAthena_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24400','S_HardChamption_Shoes','S_HardChamption_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24401','S_KingbirdAncient_Armor','S_KingbirdAncient_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24402','S_Rebellion_Armor','S_Rebellion_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24403','S_Kagerou_Armor','S_Kagerou_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24404','S_Oboro_Armor','S_Oboro_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24405','S_Rebellion_Shoes','S_Rebellion_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24406','S_Kagerou_Shoes','S_Kagerou_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24407','S_Oboro_Shoes','S_Oboro_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24408','S_DoramPhysical_Armor','S_DoramPhysical_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24409','S_DoramPhysical_Shoes','S_DoramPhysical_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24410','S_DoramMagical_Armor','S_DoramMagical_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24411','S_DoramMagical_Shoes','S_DoramMagical_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24412','S_Star_Emperor_Armor','S_Star_Emperor_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24413','S_Star_Emperor_Shoes','S_Star_Emperor_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24414','S_Soul_Reaper_Armor','S_Soul_Reaper_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24415','S_Soul_Reaper_Shoes','S_Soul_Reaper_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24416','S_Timeoverload_Weapon','S_Timeoverload_Weapon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24417','S_Timeoverload_Armor','S_Timeoverload_Armor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24418','S_Timeoverload_Shield','S_Timeoverload_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24419','S_Timeoverload_Shoes','S_Timeoverload_Shoes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24420','S_Timeoverload_Earing','S_Timeoverload_Earing','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24421','S_Timeoverload_Pandent','S_Timeoverload_Pandent','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25258','BrokenArrow','BrokenArrow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25265','Shining_Spore','Shining_Spore','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25266','Dried_Leaf_Of_Ygg','Dried_Leaf_Of_Ygg','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25271','IllusionStone','IllusionStone','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25290','Sweets_Coin','Sweets_Coin','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25294','Clover_Ticket','Clover_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25295','Happiness_Clover','Happiness_Clover','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25340','Golden_Corn','Golden_Corn','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25375','Mightysoul_Essence','Mightysoul_Essence','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25390','Captured_Savage','Captured_Savage','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25391','Goodly_Bough','Goodly_Bough','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25392','Free_Pass_Ticket','Free_Pass_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25393','Delicious_Corn','Delicious_Corn','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25394','Fruit_Lunch','Fruit_Lunch','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25395','Small_Embers','Small_Embers','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25401','Black_Fur','Black_Fur','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25408','Memory_Of_Gyol','Memory_Of_Gyol','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25409','SuraStone_Top','SuraStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25410','SuraStone_Middle','SuraStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25411','SuraStone_Bottom','SuraStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25412','SuraStone_Robe','SuraStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25413','RangerStone_Top','RangerStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25414','RangerStone_Middle','RangerStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25415','RangerStone_Bottom','RangerStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25416','RangerStone_Robe','RangerStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25417','SorcererStone_Top','SorcererStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25418','SorcererStone_Middle','SorcererStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25419','SorcererStone_Bottom','SorcererStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25420','SorcererStone_Robe','SorcererStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25421','Pumpkin_Decor','Pumpkin_Decor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25422','White_Thin_Stem','White_Thin_Stem','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25425','SnowFlower_Of_Spell','SnowFlower_Of_Spell','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25426','Warm_Cotton','Warm_Cotton','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25427','Rebeginer_W_Coupon','Rebeginer_W_Coupon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25428','Rebeginer_W_7Up','Rebeginer_W_7Up','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25445','RuneknightStone_Top','RuneknightStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25446','RuneknightStone_Middle','RuneknightStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25447','RuneknightStone_Bottom','RuneknightStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25448','RuneknightStone_Robe','RuneknightStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25449','GeneticStone_Robe','GeneticStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25450','GeneticStone_Top','GeneticStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25451','GeneticStone_Middle','GeneticStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25452','GeneticStone_Bottom','GeneticStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25453','WarlockStone_Top','WarlockStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25454','WarlockStone_Middle','WarlockStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25455','WarlockStone_Bottom','WarlockStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25456','WarlockStone_Robe','WarlockStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25464','World_Tour_Ticket','World_Tour_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25479','Dogly_Bottle','Dogly_Bottle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25490','ShadowchaserStone_Top','ShadowchaserStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25491','ShadowchaseStone_Middle','ShadowchaseStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25492','ShadowchaseStone_Bottom','ShadowchaseStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25493','ShadowchaserStone_Robe','ShadowchaserStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25494','MechanicStone_Top','MechanicStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25495','MechanicStone_Middle','MechanicStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25496','MechanicStone_Bottom','MechanicStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25497','MechanicStone_Robe','MechanicStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25498','WanderMinstrelStone_Top','WanderMinstrelStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25499','WanderMinstStone_Middle','WanderMinstStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25500','WanderMinstStone_Bottom','WanderMinstStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25501','WanderMinstreStone_Robe','WanderMinstreStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25504','Visionary_Ticket','Visionary_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25508','Token_of_OrcGeneral','Token_of_OrcGeneral','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25511','Evt_March04_KR','Evt_March04_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25512','Evt_March05_KR','Evt_March05_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25616','Green_Bearopy','Green_Bearopy','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25622','White_Snake_Tear','White_Snake_Tear','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25627','Gold_Card','Gold_Card','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25629','Konts_Letter','Konts_Letter','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25633','Token_Of_Wootan','Token_Of_Wootan','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25634','Wootan_D_S_Piece','Wootan_D_S_Piece','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25638','Token_Of_Bigstone','Token_Of_Bigstone','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25639','Fragment_Of_Rock','Fragment_Of_Rock','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25643','Autographed_Book','Autographed_Book','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25655','Dalcom_Coin','Dalcom_Coin','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25656','Stamp_Note','Stamp_Note','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25657','Evt_July01_KR','Evt_July01_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25658','Evt_July02_KR','Evt_July02_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25659','Evt_May02_KR','Evt_May02_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25664','Evt_July03_KR','Evt_July03_KR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25665','Dienes_Envelope','Dienes_Envelope','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25666','Id_Card','Id_Card','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25668','Broken_Weapon','Broken_Weapon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25669','Unknown_Parts','Unknown_Parts','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25706','HighpriestStone_Top','HighpriestStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25707','HighpriestStone_Middle','HighpriestStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25708','HighpriestStone_Bottom','HighpriestStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25709','ArchbishopStone_Robe','ArchbishopStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25710','PaladinStone_Top','PaladinStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25711','PaladinStone_Middle','PaladinStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25712','PaladinStone_Bottom','PaladinStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25713','RoyalguardStone_Robe','RoyalguardStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25714','AssacrossStone_Top','AssacrossStone_Top','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25715','AssacrossStone_Middle','AssacrossStone_Middle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25716','AssacrossStone_Bottom','AssacrossStone_Bottom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25717','GuillcrossStone_Robe','GuillcrossStone_Robe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25723','Cor_Core','Cor_Core','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25728','Shadowdecon_Ore','Shadowdecon_Ore','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25729','Shadowdecon','Shadowdecon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25730','Zelunium_Ore','Zelunium_Ore','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25731','Zelunium','Zelunium','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25734','Sealed_Weapon_Ticket','Sealed_Weapon_Ticket','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25735','Unsealing_Token','Unsealing_Token','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25739','GH_Cursed_Crystal','GH_Cursed_Crystal','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25740','GH_Cursed_Gemstone','GH_Cursed_Gemstone','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25793','Inventory_Extension_Coupon','Inventory_Extension_Coupon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26007','Spectral_Spear_IL','Spectral_Spear_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26015','Rebeginer_LG_Lance','Rebeginer_LG_Lance','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('26101','Paradise_Foxtail_Staff_III','Eden Group Foxtail Staff III','4','10','20','10','0','150','195','0','1','0','0','7','2','2','3','60',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,5; bonus bInt,5; bonus bLongAtkRate,7;','','');
+REPLACE INTO `item_db` VALUES ('26109','Staff_Of_Bordeaux_IL','Staff_Of_Bordeaux_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26110','CandyCaneRod','CandyCaneRod','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26111','Metal_Foxtail','Metal_Foxtail','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26119','Rebeginer_SO_Rod','Rebeginer_SO_Rod','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26120','Rebeginer_DO_Rod','Rebeginer_DO_Rod','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26151','Rutilus_Stick_OS','Rutilus_Stick_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26155','MeawFoxtail','MeawFoxtail','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26156','Evt_Shadow_Staff_K','Evt_Shadow_Staff_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('27164','Faceworm_Queen_Card','Faceworm Queen Card','6','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus(bMaxHPrate, -10); bonus(bCritical, 15 + getrefine()); bonus(bCritAtkRate, getrefine());','','');
REPLACE INTO `item_db` VALUES ('27182','Captain_Felock_Card','Captain Felock Card','6','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus(bAtk, 30); bonus2(bSkillAtk, RL_AM_BLAST, getrefine() >= 10 ? 60 : 30); bonus2(bSkillAtk, RL_HAMMER_OF_GOD, getrefine() >= 10 ? 60 : 30);','','');
REPLACE INTO `item_db` VALUES ('28000','Thanos_Katar','Thanatos Katar','4','16','20','10','1800','220','80','0','1','1','4096','56','2','34','4','120',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
@@ -10098,16 +10494,29 @@ REPLACE INTO `item_db` VALUES ('28002','Half_BF_Katar2','Half BF Katar2','4','16
REPLACE INTO `item_db` VALUES ('28007','Scarlet_Katar','Crimson Katar','4','16','20','10','1300','130','0','0','1','2','4096','63','2','34','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); if(BaseLevel>70) { bonus bAtk,5*((BaseLevel-70)/10); }','','');
REPLACE INTO `item_db` VALUES ('28008','Katar_of_Vicious_Mind','Katar of Vicious Mind','4','16','20','10','1800','180','0','0','1','1','4096','63','2','34','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2));','','');
REPLACE INTO `item_db` VALUES ('28010','Juliette_de_Rachel','Juliette de Rachel','4','16','20','10','2500','300','0','0','1','2','4096','56','2','34','4','170',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,getrefine()/2; bonus bAspdRate,getrefine(); bonus bUnbreakableWeapon,0;','','');
+REPLACE INTO `item_db` VALUES ('28022','Infiltrator_IL','Infiltrator_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28023','Ghoul_Leg_IL','Ghoul_Leg_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28027','Rebeginer_GC_Katar','Rebeginer_GC_Katar','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28038','Meuchler_OS','Meuchler_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28040','Evt_Shiver_Katar_K','Evt_Shiver_Katar_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28100','Thanos_Axe','Thanatos Axe','4','7','20','10','4000','300','80','0','1','1','279714','56','2','34','4','120',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
REPLACE INTO `item_db` VALUES ('28101','Tornado_Axe','Axe Tornado','4','7','500','250','4000','320','0','0','1','1','279714','56','2','34','4','100',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind; bonus2 bSkillCooldown,NC_AXETORNADO,-1000;','','');
REPLACE INTO `item_db` VALUES ('28105','Infinity_Two_handed_Axe','Infinity Two-handed Axe','4','7','20','10','500','265','0','0','1','1','279714','56','2','34','4','100',NULL,'1','0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28106','Scarlet_Twohand_Axe','Crimson Two-handed Axe','4','7','20','10','2000','200','0','0','1','2','279714','63','2','34','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,((min(getrefine(),15)) ** (2)); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('28107','Two_Handed_Axe_of_Vicious_Mind','Two-Handed Axe of Vicious Mind','4','7','20','10','2500','250','0','0','1','1','279714','63','2','34','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); bonus bUnbreakableWeapon,0;','','');
+REPLACE INTO `item_db` VALUES ('28136','Blasti_OS','Blasti_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28137','Evt_Avenger','Evt_Avenger','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28200','END_OF_HORIZON','End Of The Horizon','4','21','2700000','1350000','2400','410','0','0','9','1','1073741824','63','2','34','4','110',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28201','Southern_Cross_R','Southern Cross','4','21','2800000','1400000','2000','480','0','0','9','0','1073741824','63','2','34','4','141',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,GC_CROSSIMPACT,1,50;','','');
REPLACE INTO `item_db` VALUES ('28202','Southern_Cross_R_','Southern Cross','4','21','2800000','1400000','2000','480','0','0','9','1','1073741824','63','2','34','4','141',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,GC_CROSSIMPACT,1,50;','','');
REPLACE INTO `item_db` VALUES ('28203','Half_BF_Rifle1','Half BF Rifle1','4','18','0','0','0','50','0','0','9','0','1090519040','63','2','34','3','80',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bHit,8; bonus bCritical,8; bonus2 bAddRace,RC_DemiPlayer,30; bonus2 bVariableCastrate,GS_TRACKING,-20; bonus2 bIgnoreDefRate,RC_DemiPlayer,10; bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('28204','Half_BF_Shotgun1','Half BF Shotgun1','4','20','0','0','0','100','0','0','9','0','1090519040','63','2','34','3','80',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bSplashRange,1; bonus2 bAddRace,RC_DemiPlayer,30; bonus2 bIgnoreDefRate,RC_DemiPlayer,10; autobonus \"{ bonus bBaseAtk,80; bonus2 bHPLossRate,100,1000; }\",30,6000,BF_WEAPON,\"{ specialeffect(EF_BASH3D, AREA, playerattached()); }\"; bonus bUnbreakableWeapon,0;','','');
+REPLACE INTO `item_db` VALUES ('28240','Calf_Kingcobra','Calf_Kingcobra','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28241','Calf_Diamondback','Calf_Diamondback','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28242','Calf_Anaconda','Calf_Anaconda','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28243','Calf_Python','Calf_Python','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28244','Gate_KeeperDD_IL','Gate_KeeperDD_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28253','HR_S55_OS','HR_S55_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28306','Bless_Of_Moon','Luna\'s Blessing','5','0','0','0','100','0','0','5','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bAllStats,1; bonus5 bAutoSpell,CG_TAROTCARD,5,100,BF_WEAPON|BF_MAGIC,1;','','');
REPLACE INTO `item_db` VALUES ('28310','Earring_Of_Sarah_L','Sarah\'s Left Earring','5','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','136','0','145',NULL,'0','0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1;','','');
REPLACE INTO `item_db` VALUES ('28311','Earring_Of_Sarah_R','Sarah\'s Right Earring','5','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','136','0','145',NULL,'0','0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1;','','');
@@ -10139,15 +10548,36 @@ REPLACE INTO `item_db` VALUES ('28421','Greater_Rabbit_Talisman','Greater Rabbit
REPLACE INTO `item_db` VALUES ('28422','Shiny_Branch_Talisman','Shiny Branch Talisman','5','0','0','0','100','0','0','1','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bVariableCastrate,SU_SV_STEMSPEAR,-50; bonus2 bSkillAtk,SU_SV_STEMSPEAR,(readparam(bInt)/2)+(20 * getskilllv(SU_SV_STEMSPEAR)); //Need to confirm damage formula','','');
REPLACE INTO `item_db` VALUES ('28423','Fresh_Tuna_Talisman','Fresh Tuna Talisman','5','0','0','0','100','0','0','1','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillCooldown,SU_TUNAPARTY,-5000; bonus3 bAutoSpellWhenHit,SU_TUNAPARTY,max(1,getskilllv(SU_TUNAPARTY)),10;','','');
REPLACE INTO `item_db` VALUES ('28424','Chubby_Worm_Talisman','Chubby Worm Talisman','5','0','0','0','100','0','0','1','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bVariableCastrate,SU_PICKYPECK,-50; bonus2 bSkillAtk,SU_PICKYPECK,(readparam(bDex)/2)+(20 * getskilllv(SU_PICKYPECK)); //Need to confirm damage formula','','');
+REPLACE INTO `item_db` VALUES ('28508','Skul_Ring_IL','Skul_Ring_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28509','Ring_IL','Ring_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28510','Vampire_s_Servant','Vampire_s_Servant','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28534','RKC_2017_Pendant','RKC_2017_Pendant','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28535','RKC_2017_Ring','RKC_2017_Ring','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28566','Rebeginer_Ring','Rebeginer_Ring','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28604','Scarlet_Bible','Crimson Bible','4','15','20','10','450','45','0','0','1','2','4260096','63','2','2','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,((min(getrefine(),15)) ** (2)); bonus bMatk,((min(getrefine(),15)) ** (2))/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('28605','Book_of_Vicious_Mind','Book of Vicious Mind','4','15','20','10','950','95','0','0','1','1','4260096','63','2','2','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); bonus bMatk,((min(getrefine(),15)) ** (2)); bonus bUnbreakableWeapon,0;','','');
+REPLACE INTO `item_db` VALUES ('28612','Book_Of_The_Apo_IL','Book_Of_The_Apo_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28616','Rebeginer_AB_Bible','Rebeginer_AB_Bible','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28626','Tablet_IL','Tablet_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28629','Circuit_Board_OS','Circuit_Board_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28631','Time_Kamiji','Time_Kamiji','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28703','Infinity_Dagger','Infinity Dagger','4','1','20','10','500','125','100','0','1','1','579821295','63','2','2','4','100',NULL,'1','0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28704','Twilight_Desert_','Desert Twilight','4','1','20','10','600','130','0','0','1','4','4096','58','2','2','2','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28705','Scarlet_Dagger','Crimson Dagger','4','1','20','10','550','55','0','0','1','2','579821295','63','2','2','3','70',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); bonus bMatk,((min(getrefine(),15)) ** (2))/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('28706','Dagger_of_Vicious_Mind','Dagger of Vicious Mind','4','1','20','10','1050','105','50','0','1','1','579821295','63','2','2','4','160',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,((min(getrefine(),15)) ** (2)); bonus bMatk,((min(getrefine(),15)) ** (2))/2;','','');
+REPLACE INTO `item_db` VALUES ('28725','Moonlight_Sword_IL','Moonlight_Sword_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28740','Rebeginer_SC_Dagger','Rebeginer_SC_Dagger','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28745','Counter_Dagger_IL','Counter_Dagger_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28755','Kuroiro_OS','Kuroiro_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28759','Evt_Magic_Sword','Evt_Magic_Sword','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28900','Praetorian_Shield','Praetorian Shield','5','0','20','10','3000','0','0','30','0','1','18446744073709551615','63','2','32','0','100',NULL,'1','0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill LG_SHIELDSPELL,1; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,3,20+(getrefine()); bonus bDef,getrefine()*10; bonus bMdef,getrefine();','','');
REPLACE INTO `item_db` VALUES ('28901','Cursed_Mad_Bunny','Cursed Mad Bunny','5','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'1','0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspd,3; bonus bAtkRate,5; bonus bMatkRate,5; bonus bShortWeaponDamageReturn,10; autobonus \"{ bonus bMagicDamageReturn,60; }\",100,2000,BF_MAGIC,\"{ specialeffect(EF_NONE, AREA, playerattached()); }\"; if(getrefine()>6) { bonus bAtk,5; bonus bMatk,5; } if(getrefine()>8) { bonus bAtk,10; bonus bMatk,10; } if(getrefine()>11) { bonus bNoCastCancel,0; bonus bCritical,10; }','','');
REPLACE INTO `item_db` VALUES ('28902','Mad_Bunny_','Mad Bunny','5','0','0','0','100','0','0','0','0','1','18446744073709551615','63','2','32','0','0',NULL,'1','0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,5; bonus bMatkRate,5; bonus bShortWeaponDamageReturn,10; autobonus \"{ bonus bMagicDamageReturn,60; }\",100,2000,BF_MAGIC,\"{ specialeffect(EF_NONE, AREA, playerattached()); }\"; if(getrefine()>6) { bonus bAtk,5; bonus bMatk,5; } if(getrefine()>8) { bonus bAtk,10; bonus bMatk,10; } if(getrefine()>11) { bonus bNoCastCancel,0; bonus bCritical,10; }','','');
+REPLACE INTO `item_db` VALUES ('28922','Herald_Of_GOD_IL','Herald_Of_GOD_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28942','Bloody_Knight_Shield','Bloody_Knight_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28945','Bloody_Knight_Shield_','Bloody_Knight_Shield_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28946','Bloody_Knight_Shield__','Bloody_Knight_Shield__','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28953','Poring_B_Shield','Poring_B_Shield','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('29000','Rune_Of_Magic1','Rune Of Magic Power 1Lv','6','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine() >= 7) bonus bInt, 5; if (getrefine() >= 10) bonus bMatkRate, 5;','','');
REPLACE INTO `item_db` VALUES ('29001','Rune_Of_Magic2','Rune Of Magic Power 2Lv','6','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine() >= 7) bonus bInt, 6; if (getrefine() >= 11) { bonus bInt, 1; bonus bMatkRate, 7; }','','');
REPLACE INTO `item_db` VALUES ('29002','Rune_Of_Magic3','Rune Of Magic Power 3Lv','6','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine() >= 7) bonus bInt, 7; if (getrefine() >= 12) { bonus bInt, 1; bonus bMatkRate, 8; } if (getrefine() >= 13) { bonus bInt, 1; bonus bMatkRate, 2; }','','');
@@ -10175,3 +10605,73 @@ REPLACE INTO `item_db` VALUES ('29024','LUK3_STR3','LUK+3 STR-3','6','0','0','0'
REPLACE INTO `item_db` VALUES ('29025','LUK3_INT3','LUK+3 INT-3','6','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk, 3; bonus bInt, -3;','','');
REPLACE INTO `item_db` VALUES ('29026','DEF20','DEF+20','6','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef, 20;','','');
REPLACE INTO `item_db` VALUES ('29027','EXP2','EXP+2%','6','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, 2;','','');
+REPLACE INTO `item_db` VALUES ('29540','Deep_Black_Pearl','Deep_Black_Pearl','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29547','Sea_Sapphire','Sea_Sapphire','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29548','Red_Fog_Garnet','Red_Fog_Garnet','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29549','Lightning_Topaz','Lightning_Topaz','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29550','Poisoned_Amethyst','Poisoned_Amethyst','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29551','Frost_Zircon','Frost_Zircon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29552','Deep_Black_Pearl_','Deep_Black_Pearl_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29587','Lightning_Topaz_','Lightning_Topaz_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29588','Bloody_Ruby','Bloody_Ruby','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29589','GH_Cursed_Gemstone_','GH_Cursed_Gemstone_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29590','GH_Cursed_Crystal_','GH_Cursed_Crystal_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29591','Cursed_Emerald','Cursed_Emerald','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('29592','Shinee_Opal','Shinee_Opal','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31172','Roast_Memory','Roast_Memory','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31186','C_Black_Cat','C_Black_Cat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31195','Choco_Minihat','Choco_Minihat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31197','Egg_Crispinette_','Egg_Crispinette_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31208','Straight_Long_YL','Straight_Long_YL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31209','Straight_Long_WH','Straight_Long_WH','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31249','Rabbit_Hopping','Rabbit_Hopping','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31261','Soda_In_Mouth_','Soda_In_Mouth_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31300','Warm_Cat_Muffler','Warm_Cat_Muffler','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31313','C_FallenAngelWingEar','C_FallenAngelWingEar','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31314','C_Ghost_Holiday','C_Ghost_Holiday','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31316','C_FlutterButterfly_BL','C_FlutterButterfly_BL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31329','C_Alice_Wig','C_Alice_Wig','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31332','C_Khalitzburg_Helm_BL','C_Khalitzburg_Helm_BL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31368','Harvest_Festa_Hat','Harvest_Festa_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31369','Straight_Long_WH_','Straight_Long_WH_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31370','Straight_Long_YL_','Straight_Long_YL_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31387','Jjakk','Jjakk','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31389','White_Bird_Rose','White_Bird_Rose','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31390','Let_It_Snow','Let_It_Snow','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31396','C_Sorcerer_Hood','C_Sorcerer_Hood','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31397','C_Pope_Sitting_Head','C_Pope_Sitting_Head','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31398','C_Blinking_Thin_Eyes','C_Blinking_Thin_Eyes','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31407','Alice_Wig_PK','Alice_Wig_PK','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31415','C_Wanderer_Sakkat','C_Wanderer_Sakkat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31432','C_Luwmin_Ice','C_Luwmin_Ice','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31433','C_Astro_Circle','C_Astro_Circle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31437','C_Baby_Penguin','C_Baby_Penguin','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31439','C_Fluffy_Heart_Earmuffs','C_Fluffy_Heart_Earmuffs','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31452','White_Cat','White_Cat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31454','Love_Feeling','Love_Feeling','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31455','Enchanted_Dog','Enchanted_Dog','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31460','C_Blessing_Sky_Lantern','C_Blessing_Sky_Lantern','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31463','C_Flying_Drone','C_Flying_Drone','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31465','Egg_Minihat','Egg_Minihat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31489','C_Bouquet_Hat','C_Bouquet_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31490','C_Poring_Muffler','C_Poring_Muffler','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31494','Volume_Low_Twin','Volume_Low_Twin','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31495','Lolita_Two_Side_Up','Lolita_Two_Side_Up','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31498','C_Elephangel_TH','C_Elephangel_TH','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31516','Mini_Melon','Mini_Melon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31518','Pop_Popcorn_Hat_','Pop_Popcorn_Hat_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31519','Slurp_Slurp_Hat','Slurp_Slurp_Hat','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31529','C_Happy_Rabbit_Ribbon','C_Happy_Rabbit_Ribbon','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31580','Autumnal_Flavor','Autumnal_Flavor','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31589','GOLD_MAJESTIC_GOUT','GOLD_MAJESTIC_GOUT','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31606','C_Autumn_Headband','C_Autumn_Headband','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32005','Pole_Axe_IL','Pole_Axe_IL','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32013','Metal_Stick','Metal_Stick','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32019','Boost_Lance_OS','Boost_Lance_OS','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32021','Evt_Undine_Spear_K','Evt_Undine_Spear_K','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32207','Illusion_B_R','Illusion_B_R','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32208','Illusion_B_L','Illusion_B_L','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32209','Illusion_BC_R','Illusion_BC_R','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32210','Illusion_BC_L','Illusion_BC_L','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32221','Time_Overload_Ring','Time_Overload_Ring','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32237','Celine_Brooch','Celine_Brooch','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
diff --git a/sql-files/main.sql b/sql-files/main.sql
index 2fa6f1332..241efd39b 100644
--- a/sql-files/main.sql
+++ b/sql-files/main.sql
@@ -75,10 +75,10 @@ CREATE TABLE IF NOT EXISTS `auction` (
`type` SMALLINT(6) NOT NULL DEFAULT '0',
`refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
`attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `card0` SMALLINT(11) NOT NULL DEFAULT '0',
- `card1` SMALLINT(11) NOT NULL DEFAULT '0',
- `card2` SMALLINT(11) NOT NULL DEFAULT '0',
- `card3` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
`opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
`opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
`opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
@@ -152,10 +152,10 @@ CREATE TABLE IF NOT EXISTS `cart_inventory` (
`identify` SMALLINT(6) NOT NULL DEFAULT '0',
`refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
`attribute` TINYINT(4) NOT NULL DEFAULT '0',
- `card0` SMALLINT(11) NOT NULL DEFAULT '0',
- `card1` SMALLINT(11) NOT NULL DEFAULT '0',
- `card2` SMALLINT(11) NOT NULL DEFAULT '0',
- `card3` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
`opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
`opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
`opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
@@ -244,6 +244,7 @@ CREATE TABLE IF NOT EXISTS `char` (
`attendance_count` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
`attendance_timer` BIGINT(20) NULL DEFAULT '0',
`title_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `inventory_size` INT(11) UNSIGNED NOT NULL DEFAULT '100',
PRIMARY KEY (`char_id`),
UNIQUE KEY `name_key` (`name`),
KEY `account_id` (`account_id`),
@@ -293,7 +294,7 @@ CREATE TABLE IF NOT EXISTS `charlog` (
`str` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`agi` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`vit` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `INT` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `int` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`dex` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`luk` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`hair` TINYINT(4) NOT NULL DEFAULT '0',
@@ -448,6 +449,7 @@ CREATE TABLE IF NOT EXISTS `guild_castle` (
CREATE TABLE IF NOT EXISTS `guild_expulsion` (
`guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(24) NOT NULL DEFAULT '',
`mes` VARCHAR(40) NOT NULL DEFAULT '',
PRIMARY KEY (`guild_id`,`name`)
@@ -512,10 +514,10 @@ CREATE TABLE IF NOT EXISTS `guild_storage` (
`identify` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
`refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
`attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `card0` SMALLINT(11) NOT NULL DEFAULT '0',
- `card1` SMALLINT(11) NOT NULL DEFAULT '0',
- `card2` SMALLINT(11) NOT NULL DEFAULT '0',
- `card3` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
`opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
`opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
`opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
@@ -587,10 +589,10 @@ CREATE TABLE IF NOT EXISTS `inventory` (
`identify` SMALLINT(6) NOT NULL DEFAULT '0',
`refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
`attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `card0` SMALLINT(11) NOT NULL DEFAULT '0',
- `card1` SMALLINT(11) NOT NULL DEFAULT '0',
- `card2` SMALLINT(11) NOT NULL DEFAULT '0',
- `card3` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
`opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
`opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
`opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
@@ -711,10 +713,10 @@ CREATE TABLE IF NOT EXISTS `mail` (
`refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
`attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
`identify` SMALLINT(6) NOT NULL DEFAULT '0',
- `card0` SMALLINT(11) NOT NULL DEFAULT '0',
- `card1` SMALLINT(11) NOT NULL DEFAULT '0',
- `card2` SMALLINT(11) NOT NULL DEFAULT '0',
- `card3` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
`opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
`opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
`opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
@@ -921,6 +923,12 @@ INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1527964800); -- 2018-06-0
INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1528026381); -- 2018-06-03--17-16.sql
INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1528180320); -- 2018-06-05--12-02.sql
INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1532403228); -- 2018-07-24--03-23.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1535865732); -- 2018-09-01--05-22.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1544738447); -- 2018-12-14--01-02.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1546059075); -- 2018-12-29--07-51.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1554760320); -- 2019-04-08--21-52.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1556147483); -- 2019-04-25--02-12.sql
+
--
-- Table structure for table `storage`
--
@@ -934,10 +942,10 @@ CREATE TABLE IF NOT EXISTS `storage` (
`identify` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
`refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
`attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `card0` SMALLINT(11) NOT NULL DEFAULT '0',
- `card1` SMALLINT(11) NOT NULL DEFAULT '0',
- `card2` SMALLINT(11) NOT NULL DEFAULT '0',
- `card3` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
`opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
`opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
`opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
@@ -964,10 +972,10 @@ CREATE TABLE IF NOT EXISTS `rodex_items` (
`identify` SMALLINT(6) NOT NULL DEFAULT '0',
`refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
`attribute` TINYINT(4) NOT NULL DEFAULT '0',
- `card0` SMALLINT(11) NOT NULL DEFAULT '0',
- `card1` SMALLINT(11) NOT NULL DEFAULT '0',
- `card2` SMALLINT(11) NOT NULL DEFAULT '0',
- `card3` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
`opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
`opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
`opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
@@ -1008,3 +1016,12 @@ CREATE TABLE IF NOT EXISTS `rodex_mail` (
KEY `send_date` (`send_date`),
KEY `expire_date` (`expire_date`)
) ENGINE=MyISAM;
+
+CREATE TABLE IF NOT EXISTS `npc_barter_data` (
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `priceId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `priceAmount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`, `itemid`, `priceId`, `priceAmount`)
+) ENGINE=MyISAM;
diff --git a/sql-files/mob_db.sql b/sql-files/mob_db.sql
index d62f804a9..349a84272 100644
--- a/sql-files/mob_db.sql
+++ b/sql-files/mob_db.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2018 Hercules Dev Team
+-- Copyright (C) 2013-2019 Hercules Dev Team
--
-- Hercules is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
diff --git a/sql-files/mob_db2.sql b/sql-files/mob_db2.sql
index ac3d63985..e602db599 100644
--- a/sql-files/mob_db2.sql
+++ b/sql-files/mob_db2.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2018 Hercules Dev Team
+-- Copyright (C) 2013-2019 Hercules Dev Team
--
-- Hercules is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
diff --git a/sql-files/mob_db_re.sql b/sql-files/mob_db_re.sql
index c6ec23d1e..66b161f4c 100644
--- a/sql-files/mob_db_re.sql
+++ b/sql-files/mob_db_re.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2018 Hercules Dev Team
+-- Copyright (C) 2013-2019 Hercules Dev Team
--
-- Hercules is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
diff --git a/sql-files/mob_skill_db.sql b/sql-files/mob_skill_db.sql
index 7d27cfb87..1e3ab9b90 100644
--- a/sql-files/mob_skill_db.sql
+++ b/sql-files/mob_skill_db.sql
@@ -1,9 +1,34 @@
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2019 Hercules Dev Team
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+-- NOTE: This file was auto-generated and should never be manually edited,
+-- as it will get overwritten. If you need to modify this file,
+-- please consider modifying the corresponding .conf file inside
+-- the db folder, and then re-run the db2sql plugin.
+
+-- GENERATED FILE DO NOT EDIT --
+
--
-- Table structure for table `mob_skill_db`
--
DROP TABLE IF EXISTS `mob_skill_db`;
-CREATE TABLE IF NOT EXISTS `mob_skill_db` (
+CREATE TABLE `mob_skill_db` (
`MOB_ID` SMALLINT(6) NOT NULL,
`INFO` TEXT NOT NULL,
`STATE` TEXT NOT NULL,
@@ -16,182 +41,182 @@ CREATE TABLE IF NOT EXISTS `mob_skill_db` (
`TARGET` TEXT NOT NULL,
`CONDITION` TEXT NOT NULL,
`CONDITION_VALUE` TEXT,
- `VAL1` MEDIUMINT(9) DEFAULT NULL,
- `VAL2` MEDIUMINT(9) DEFAULT NULL,
- `VAL3` MEDIUMINT(9) DEFAULT NULL,
- `VAL4` MEDIUMINT(9) DEFAULT NULL,
- `VAL5` MEDIUMINT(9) DEFAULT NULL,
+ `VAL1` INT(11) DEFAULT NULL,
+ `VAL2` INT(11) DEFAULT NULL,
+ `VAL3` INT(11) DEFAULT NULL,
+ `VAL4` INT(11) DEFAULT NULL,
+ `VAL5` INT(11) DEFAULT NULL,
`EMOTION` TEXT,
`CHAT` TEXT
) ENGINE=MyISAM;
-REPLACE INTO `mob_skill_db` VALUES (1001,'Scorpion@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1001,'Scorpion@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1002,'Poring@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1002,'Poring@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1004,'Hornet@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1004,'Hornet@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1005,'Familiar@NPC_BLINDATTACK','attack',177,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1005,'Familiar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1005,'Familiar@NPC_BLINDATTACK','angry',177,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1005,'Familiar@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1007,'Fabre@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1007,'Fabre@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always','0',1008,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1008,'Pupa@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1008,'Pupa@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always','0',1018,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1009,'Condor@BS_ADRENALINE','attack',111,1,500,1500,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1009,'Condor@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',5,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1009,'Condor@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1010,'Willow@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1010,'Willow@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1010,'Willow@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1011,'Chonchon@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1012,'Roda Frog@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1013,'Wolf@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1013,'Wolf@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1014,'Spore@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',1,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1014,'Spore@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1014,'Spore@NPC_SLEEPATTACK','attack',182,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1014,'Spore@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1015,'Zombie@NPC_POISON','attack',176,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1015,'Zombie@NPC_POISON','angry',176,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1015,'Zombie@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1015,'Zombie@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1016,'Archer Skeleton@AC_DOUBLE','attack',46,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1016,'Archer Skeleton@NPC_UNDEADATTACK','attack',347,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1001,'Scorpion@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1001,'Scorpion@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1002,'Poring@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1002,'Poring@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1004,'Hornet@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1004,'Hornet@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1005,'Familiar@NPC_BLINDATTACK','attack',177,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1005,'Familiar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1005,'Familiar@NPC_BLINDATTACK','angry',177,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1005,'Familiar@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1007,'Fabre@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1007,'Fabre@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always',NULL,1008,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1008,'Pupa@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1008,'Pupa@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always',NULL,1018,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1009,'Condor@BS_ADRENALINE','attack',111,1,500,1500,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1009,'Condor@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,5,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1009,'Condor@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1010,'Willow@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1010,'Willow@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1010,'Willow@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1011,'Chonchon@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1012,'Roda Frog@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1013,'Wolf@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1013,'Wolf@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1014,'Spore@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1014,'Spore@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1014,'Spore@NPC_SLEEPATTACK','attack',182,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1014,'Spore@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1015,'Zombie@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1015,'Zombie@NPC_POISON','angry',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1015,'Zombie@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1015,'Zombie@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1016,'Archer Skeleton@AC_DOUBLE','attack',46,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1016,'Archer Skeleton@NPC_UNDEADATTACK','attack',347,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1018,'Creamy@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1018,'Creamy@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1018,'Creamy@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1018,'Creamy@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1020,'Mandragora@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',32,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_SMOKING','idle',195,1,500,0,36000000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always','0',27,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1024,'Worm Tail@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1025,'Snake@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1025,'Snake@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',1,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_STUNATTACK','angry',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1028,'Skeleton Soldier@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1028,'Skeleton Soldier@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1028,'Skeleton Soldier@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1028,'Skeleton Soldier@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1028,'Skeleton Soldier@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1028,'Skeleton Soldier@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3195,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1030,'Anacondaq@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1030,'Anacondaq@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1031,'Poporing@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1031,'Poporing@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1031,'Poporing@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1032,'Verit@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1032,'Verit@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1032,'Verit@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1034,'Thara Frog@NPC_WATERATTACK','attack',184,3,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3985,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1036,'Ghoul@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1036,'Ghoul@NPC_POISON','angry',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1037,'Side Winder@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1037,'Side Winder@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1037,'Side Winder@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1018,'Creamy@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1018,'Creamy@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1018,'Creamy@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1020,'Mandragora@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_SMOKING','idle',195,1,500,0,36000000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always',NULL,27,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1024,'Wormtail@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1025,'Snake@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1025,'Snake@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_STUNATTACK','angry',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1028,'Soldier Skeleton@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1028,'Soldier Skeleton@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1028,'Soldier Skeleton@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1028,'Soldier Skeleton@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1028,'Soldier Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1028,'Soldier Skeleton@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12693,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1030,'Anacondaq@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1030,'Anacondaq@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1031,'Poporing@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1031,'Poporing@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1031,'Poporing@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1032,'Verit@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1032,'Verit@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1032,'Verit@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1034,'Thara Frog@NPC_WATERATTACK','attack',184,3,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14725,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1036,'Ghoul@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1036,'Ghoul@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1037,'Side Winder@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1037,'Side Winder@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1037,'Side Winder@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_POWERUP','attack',349,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@AS_VENOMDUST','attack',140,5,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@AS_VENOMDUST','attack',140,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@AS_VENOMDUST','attack',140,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@MG_STONECURSE','attack',16,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@ASC_METEORASSAULT','attack',406,10,10000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_CURSEATTACK','attack',181,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_CURSEATTACK','chase',181,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_DARKBREATH','attack',202,5,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_DARKBREATH','chase',202,5,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_POISONATTACK','attack',188,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@MG_STONECURSE','attack',16,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@ASC_METEORASSAULT','attack',406,10,10000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_CURSEATTACK','attack',181,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_CURSEATTACK','chase',181,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_DARKBREATH','attack',202,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_DARKBREATH','chase',202,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_POISONATTACK','attack',188,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1522,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1522,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_SUMMONSLAVE','idle',196,7,10000,0,0,'no','self','onspawn','0',1029,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@SM_BASH','attack',5,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_DARKTHUNDER','chase',341,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_SUMMONSLAVE','idle',196,7,10000,0,0,'no','self','onspawn',NULL,1029,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@SM_BASH','attack',5,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_DARKTHUNDER','chase',341,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_DARKTHUNDER','chase',341,10,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@WZ_QUAGMIRE','chase',92,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@MO_BODYRELOCATION','chase',264,1,2000,200,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_DARKSTRIKE','chase',340,10,2000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@WZ_QUAGMIRE','chase',92,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@MO_BODYRELOCATION','chase',264,1,2000,200,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_DARKSTRIKE','chase',340,10,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@KN_BRANDISHSPEAR','attack',57,20,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@KN_BRANDISHSPEAR','attack',57,20,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_EARTHQUAKE','chase',653,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_EARTHQUAKE','attack',653,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_HELLJUDGEMENT','chase',662,5,10000,800,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_HELLJUDGEMENT','attack',662,5,10000,800,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_DARKBREATH','attack',202,5,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_HELLJUDGEMENT','chase',662,5,10000,800,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_HELLJUDGEMENT','attack',662,5,10000,800,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_DARKBREATH','attack',202,5,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1431,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1431,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn','0',1101,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,1101,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@WZ_VERMILION','chase',85,20,5000,500,2000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1040,'Golem@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1040,'Golem@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1040,'Golem@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1040,'Golem@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1040,'Golem@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1040,'Golem@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1040,'Golem@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1042,'Steel Chonchon@NPC_SILENCEATTACK','attack',178,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1042,'Steel Chonchon@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@PR_LEXDIVINA','chase',76,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_STUNATTACK','angry',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_WATERATTACK','angry',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1042,'Steel Chonchon@NPC_SILENCEATTACK','attack',178,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1042,'Steel Chonchon@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@PR_LEXDIVINA','chase',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_STUNATTACK','angry',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_WATERATTACK','angry',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@AL_HEAL','attack',28,11,10000,0,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@AL_HEAL','chase',28,11,10000,0,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
@@ -202,53 +227,53 @@ REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@AL_TELEPORT','walk',26,1,
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@LK_SPIRALPIERCE','attack',397,5,10000,1000,10000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@KN_TWOHANDQUICKEN','attack',60,20,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@BS_HAMMERFALL','attack',110,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@CR_AUTOGUARD','attack',249,10,2000,500,300000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@BS_HAMMERFALL','attack',110,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@CR_AUTOGUARD','attack',249,10,2000,500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@CR_AUTOGUARD','chase',249,10,2000,500,300000,'no','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@AL_DECAGI','attack',30,48,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@AL_DECAGI','chase',30,48,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@AL_DECAGI','attack',30,48,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@AL_DECAGI','chase',30,48,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_SUMMONSLAVE','attack',196,1,10000,700,10000,'no','self','slavele','3',1427,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@NPC_SUMMONSLAVE','idle',196,1,10000,700,10000,'no','self','slavele','3',1427,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1046,'Doppelganger@BS_HAMMERFALL','chase',110,11,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1047,'PecoPeco Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1047,'PecoPeco Egg@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always','0',1049,1050,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1048,'Thief Bug Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1048,'Thief Bug Egg@NPC_METAMORPHOSIS','idle',193,4,10,2000,5000,'no','self','always','0',1051,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1049,'Picky@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1049,'Picky@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1050,'Shell Picky@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1050,'Shell Picky@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1051,'Thief Bug Larva@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1051,'Thief Bug Larva@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1052,'Rocker@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1052,'Rocker@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1053,'Thief Bug Female@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1053,'Thief Bug Female@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1054,'Thief Bug Male@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1054,'Thief Bug Male@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1055,'Muka@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1055,'Muka@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1047,'Peco Peco Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1047,'Peco Peco Egg@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always',NULL,1049,1050,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1048,'Thief Bug Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1048,'Thief Bug Egg@NPC_METAMORPHOSIS','idle',193,4,10,2000,5000,'no','self','always',NULL,1051,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1049,'Picky@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1049,'Picky@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1050,'Picky@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1050,'Picky@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1051,'Thief Bug@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1051,'Thief Bug@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1052,'Rocker@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1052,'Rocker@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1053,'Thief Bug Female@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1053,'Thief Bug Female@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1054,'Thief Bug Male@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1054,'Thief Bug Male@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1055,'Muka@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1055,'Muka@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1055,'Muka@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@TF_HIDING','attack',51,1,500,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@AM_POTIONPITCHER','idle',231,1,500,1500,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@SM_PROVOKE','chase',6,10,500,600,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1058,'Metaller@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1058,'Metaller@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1058,'Metaller@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1058,'Metaller@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@AM_POTIONPITCHER','idle',231,1,500,1500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@SM_PROVOKE','chase',6,10,500,600,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1057,'Yoyo@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1058,'Metaller@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1058,'Metaller@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1058,'Metaller@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1058,'Metaller@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_HEAL','attack',28,11,10000,0,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_HEAL','chase',28,11,10000,0,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -256,477 +281,477 @@ REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_HEAL','chase',28,11,10000,
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_PNEUMA','attack',25,1,2000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_PNEUMA','chase',25,1,2000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_GUIDEDATTACK','chase',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SILENCEATTACK','attack',178,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SILENCEATTACK','chase',178,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_GUIDEDATTACK','chase',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SILENCEATTACK','attack',178,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SILENCEATTACK','chase',178,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SILENCEATTACK','chase',178,5,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1604,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1604,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn','0',1156,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_STOP','attack',342,1,2000,0,15000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@WZ_JUPITEL','attack',84,28,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@WZ_JUPITEL','chase',84,28,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,1156,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_STOP','attack',342,1,2000,0,15000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@WZ_JUPITEL','attack',84,28,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@WZ_JUPITEL','chase',84,28,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1061,'Nightmare@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1061,'Nightmare@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1061,'Nightmare@NPC_MENTALBREAKER','attack',159,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1061,'Nightmare@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1062,'Santa Poring@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1062,'Santa Poring@NPC_HOLYATTACK','attack',189,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1061,'Nightmare@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1061,'Nightmare@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1061,'Nightmare@NPC_MENTALBREAKER','attack',159,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1061,'Nightmare@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1062,'Santa Poring@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1062,'Santa Poring@NPC_HOLYATTACK','attack',189,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1064,'Megalodon@NPC_CHANGETELEKINESIS','attack',169,1,500,2000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1064,'Megalodon@NPC_UNDEADATTACK','attack',347,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_FROSTDIVER','attack',15,9,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_FROSTDIVER','chase',15,9,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_LIGHTNINGBOLT','attack',20,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_LIGHTNINGBOLT','chase',20,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_FROSTDIVER','angry',15,9,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_FROSTDIVER','follow',15,9,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_LIGHTNINGBOLT','angry',20,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_LIGHTNINGBOLT','follow',20,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@NPC_WATERATTACK','angry',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@WZ_WATERBALL','angry',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1066,'Vadon@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1066,'Vadon@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1064,'Megalodon@NPC_UNDEADATTACK','attack',347,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_FROSTDIVER','attack',15,9,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_FROSTDIVER','chase',15,9,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_LIGHTNINGBOLT','attack',20,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_LIGHTNINGBOLT','chase',20,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_FROSTDIVER','angry',15,9,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_FROSTDIVER','follow',15,9,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_LIGHTNINGBOLT','angry',20,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@MG_LIGHTNINGBOLT','follow',20,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@NPC_WATERATTACK','angry',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1065,'Strouf@WZ_WATERBALL','angry',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1066,'Vadon@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1066,'Vadon@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1066,'Vadon@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1066,'Vadon@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1066,'Vadon@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1067,'Cornutus@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1067,'Cornutus@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1067,'Cornutus@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1067,'Cornutus@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1067,'Cornutus@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1067,'Cornutus@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1068,'Hydra@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@NPC_WATERATTACK','angry',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','angry',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','follow',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1070,'Kukre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',0,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1070,'Kukre@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1071,'Pirate Skeleton@SM_BASH','attack',5,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1071,'Pirate Skeleton@SM_BASH','angry',5,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1071,'Pirate Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@MG_FIREBOLT','angry',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@MG_FIREBOLT','follow',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1073,'Crab@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1074,'Shellfish@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1076,'Skeleton@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',1,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1076,'Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',1,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISON','angry',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1068,'Hydra@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@NPC_WATERATTACK','angry',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','angry',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','follow',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1070,'Kukre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1070,'Kukre@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1071,'Pirate Skeleton@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1071,'Pirate Skeleton@SM_BASH','angry',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1071,'Pirate Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@MG_FIREBOLT','angry',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@MG_FIREBOLT','follow',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1072,'Kaho@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1073,'Crab@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1074,'Shellfish@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1076,'Skeleton@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1076,'Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@HP_ASSUMPTIO','idle',361,5,10000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@HP_ASSUMPTIO','attack',361,5,10000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@CR_REFLECTSHIELD','chase',252,10,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@MC_MAMMONITE','attack',42,20,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@SM_MAGNUM','attack',7,20,2000,0,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@HP_ASSUMPTIO','idle',361,5,10000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@HP_ASSUMPTIO','attack',361,5,10000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@CR_REFLECTSHIELD','chase',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@MC_MAMMONITE','attack',42,20,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@SM_MAGNUM','attack',7,20,2000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@MG_FIREBALL','chase',17,20,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_SUMMONSLAVE','attack',196,10,10000,700,10000,'no','self','slavele','5',1608,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_SUMMONSLAVE','idle',196,10,10000,700,10000,'no','self','slavele','5',1608,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn','0',1054,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn',NULL,1054,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@TF_HIDING','attack',51,1,1000,0,5000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@AL_DECAGI','chase',30,48,2000,0,300000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@AL_DECAGI','chase',30,48,2000,0,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_ARMORBRAKE','attack',344,10,2000,500,300000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_ARMORBRAKE','chase',344,10,2000,500,300000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_ARMORBRAKE','attack',344,10,2000,500,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_ARMORBRAKE','chase',344,10,2000,500,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_POWERUP','attack',349,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@LK_SPIRALPIERCE','attack',397,5,1500,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@LK_SPIRALPIERCE','attack',397,5,1500,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@KN_TWOHANDQUICKEN','attack',60,20,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@MG_THUNDERSTORM','attack',21,15,2000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@MG_THUNDERSTORM','attack',21,15,2000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@MG_THUNDERSTORM','chase',21,15,10000,1500,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_GROUNDATTACK','attack',185,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@CR_AUTOGUARD','attack',249,10,2000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_GROUNDATTACK','attack',185,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@CR_AUTOGUARD','attack',249,10,2000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_SUMMONSLAVE','attack',196,8,10000,700,10000,'no','self','slavele','3',1439,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@NPC_SUMMONSLAVE','idle',196,8,10000,700,10000,'no','self','slavele','3',1439,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','3',1052,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','3',1052,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn','0',1052,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn',NULL,1052,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','3',1012,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@NPC_SUMMONSLAVE','idle',196,6,10000,0,0,'no','self','onspawn','0',1012,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@NPC_SUMMONSLAVE','idle',196,6,10000,0,0,'no','self','onspawn',NULL,1012,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','3',1002,1113,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','3',1002,1113,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn','0',1002,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@NPC_WATERATTACK','attack',184,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn',NULL,1002,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@NPC_WATERATTACK','attack',184,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','0',1011,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','0',1011,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn','0',1011,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele',NULL,1011,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele',NULL,1011,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn',NULL,1011,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',27,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,27,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','3',1013,NULL,NULL,NULL,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','3',1013,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1013,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1013,NULL,NULL,NULL,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','3',1063,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn','0',1063,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1094,'Ambernite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn',NULL,1063,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1094,'Ambernite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1094,'Ambernite@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1094,'Ambernite@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1095,'Andre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1095,'Andre@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1094,'Ambernite@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1095,'Andre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1095,'Andre@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_HOLYATTACK','attack',189,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_HOLYATTACK','chase',189,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_HOLYATTACK','attack',189,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_HOLYATTACK','chase',189,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','3',1031,1062,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','3',1031,1062,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn','0',1031,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1097,'Ant Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1097,'Ant Egg@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always','0',1095,1105,1160,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn',NULL,1031,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1097,'Ant Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1097,'Ant Egg@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always',NULL,1095,1105,1160,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_DARKBREATH','attack',202,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@MG_THUNDERSTORM','attack',21,5,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_DARKBREATH','attack',202,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@MG_THUNDERSTORM','attack',21,5,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@MG_THUNDERSTORM','chase',21,5,1000,1500,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@AL_HEAL','attack',28,5,5000,500,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@AL_HEAL','idle',28,5,10000,500,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@AL_HEAL','chase',28,5,10000,500,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3795,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@PF_SPIDERWEB','idle',405,1,3000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@PF_SPIDERWEB','attack',405,1,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,14229,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@PF_SPIDERWEB','idle',405,1,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@PF_SPIDERWEB','attack',405,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@SA_DISPELL','attack',289,1,0,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3795,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',30,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1103,'Caramel@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1103,'Caramel@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1105,'Deniro@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1105,'Deniro@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1107,'Baby Desert Wolf@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1107,'Baby Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@WZ_WATERBALL','attack',86,4,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@WZ_WATERBALL','chase',86,4,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always','0',9,0x91,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@SA_DISPELL','attack',289,1,0,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14229,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1103,'Caramel@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1103,'Caramel@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1105,'Deniro@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1105,'Deniro@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1107,'Desert Wolf Baby@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1107,'Desert Wolf Baby@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@WZ_WATERBALL','attack',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@WZ_WATERBALL','chase',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_DARKTHUNDER','attack',341,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_DARKTHUNDER','chase',341,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@BS_ADRENALINE','attack',111,1,500,1500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@BS_ADRENALINE','chase',111,1,500,1500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1111,'Drainliar@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1111,'Drainliar@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1111,'Drainliar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@AL_DECAGI','chase',30,48,2000,0,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_ARMORBRAKE','attack',344,10,2000,0,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_DARKTHUNDER','attack',341,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1109,'Deviruchi@NPC_DARKTHUNDER','chase',341,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@BS_ADRENALINE','attack',111,1,500,1500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@BS_ADRENALINE','chase',111,1,500,1500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1110,'Dokebi@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1111,'Drainliar@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1111,'Drainliar@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1111,'Drainliar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@AL_DECAGI','chase',30,48,2000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_ARMORBRAKE','attack',344,10,2000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@BS_MAXIMIZE','attack',114,1,500,0,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@BS_MAXIMIZE','chase',114,1,500,0,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@BS_MAXIMIZE','attack',114,1,500,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@BS_MAXIMIZE','chase',114,1,500,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_AGIUP','attack',350,10,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_GUIDEDATTACK','chase',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_GUIDEDATTACK','chase',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1566,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1566,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn','0',1192,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,1192,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@WZ_WATERBALL','attack',86,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@WZ_WATERBALL','chase',86,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1113,'Drops@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1113,'Drops@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1114,'Dustiness@NPC_BLINDATTACK','attack',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1114,'Dustiness@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1114,'Dustiness@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1114,'Dustiness@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@WZ_WATERBALL','attack',86,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@WZ_WATERBALL','chase',86,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1113,'Drops@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1113,'Drops@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1114,'Dustiness@NPC_BLINDATTACK','attack',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1114,'Dustiness@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1114,'Dustiness@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1114,'Dustiness@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@MG_FIREBALL','chase',17,20,4000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@MG_FIREBALL','chase',17,20,4000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@MG_FIREBALL','chase',17,20,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_BLEEDING','attack',660,5,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@AM_DEMONSTRATION','attack',229,5,2000,0,2000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@AM_DEMONSTRATION','chase',229,5,2000,0,2000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_BLEEDING','attack',660,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@AM_DEMONSTRATION','attack',229,5,2000,0,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@AM_DEMONSTRATION','chase',229,5,2000,0,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_SUMMONSLAVE','attack',196,8,10000,700,10000,'no','self','slavele','3',1603,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_SUMMONSLAVE','idle',196,8,10000,700,10000,'no','self','slavele','3',1603,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1060,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1060,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@SM_MAGNUM','attack',7,20,3000,0,2000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@SM_MAGNUM','attack',7,20,3000,0,2000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1116,'Eggyra@NPC_BLINDATTACK','attack',177,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1116,'Eggyra@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1116,'Eggyra@CR_AUTOGUARD','attack',249,2,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1116,'Eggyra@NPC_BLINDATTACK','attack',177,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1116,'Eggyra@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1116,'Eggyra@CR_AUTOGUARD','attack',249,2,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1116,'Eggyra@CR_AUTOGUARD','chase',249,2,2000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_BLINDATTACK','attack',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_UNDEADATTACK','chase',347,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1118,'Flora@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1118,'Flora@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1118,'Flora@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',1,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','follow',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_FIREATTACK','angry',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_BLINDATTACK','attack',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@NPC_UNDEADATTACK','chase',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1117,'Evil Druid@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1118,'Flora@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1118,'Flora@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1118,'Flora@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@AS_CLOAKING','follow',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1119,'Frilldora@NPC_FIREATTACK','angry',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@AL_TELEPORT','attack',26,1,5000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'28',NULL);
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_INVISIBLE','attack',353,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_INVISIBLE','idle',353,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_INVISIBLE','chase',353,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@MG_SOULSTRIKE','chase',13,9,2000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'28',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',28,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_INVISIBLE','attack',353,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_INVISIBLE','idle',353,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_INVISIBLE','chase',353,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@MG_SOULSTRIKE','chase',13,9,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,28,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_SUMMONSLAVE','attack',196,5,10000,2000,10000,'no','self','slavele','3',1599,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_SUMMONSLAVE','idle',196,5,10000,2000,10000,'no','self','slavele','3',1599,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1186,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'28',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@HT_SANDMAN','idle',119,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',8,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',18,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',20,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',28,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1127,'Hode@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1127,'Hode@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1127,'Hode@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1128,'Horn@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1128,'Horn@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1186,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@HT_SANDMAN','idle',119,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,8,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,18,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,28,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1127,'Hode@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1127,'Hode@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1127,'Hode@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1128,'Horn@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1128,'Horn@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@MG_SIGHT','chase',10,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@MG_FIREBALL','chase',17,5,500,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'10',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@MG_FROSTDIVER','chase',15,9,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'10',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@MG_SOULSTRIKE','chase',13,9,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_ATTRICHANGE','idle',161,1,500,2000,300000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'10',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_ENERGYDRAIN','chase',200,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_WINDATTACK','chase',187,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_DARKTHUNDER','chase',341,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always','0',20,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION','idle',197,1,100,0,60000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION','attack',197,1,10000,0,60000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always','0',22,0x83,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@MG_SIGHT','chase',10,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@MG_FIREBALL','chase',17,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'10',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@MG_FROSTDIVER','chase',15,9,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'10',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@MG_SOULSTRIKE','chase',13,9,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_ATTRICHANGE','idle',161,1,500,2000,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'10',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_ENERGYDRAIN','chase',200,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_WINDATTACK','chase',187,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_DARKTHUNDER','chase',341,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,20,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION','idle',197,1,100,0,60000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION','attack',197,1,10000,0,60000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,22,131,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold 1@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@HT_FLASHER','idle',120,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',28,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3195,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@HT_FLASHER','idle',120,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,28,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12693,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1141,'Marina@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1141,'Marina@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1141,'Marina@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1141,'Marina@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1141,'Marina@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1141,'Marina@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1142,'Marine Sphere@NPC_RUN','idle',354,7,10000,0,30000,'no','master','alchemist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1142,'Marine Sphere@NPC_SELFDESTRUCTION','any',173,1,10000,3000,0,'no','self','afterskill','354',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1142,'Marine Sphere@NPC_SELFDESTRUCTION','idle',173,1,500,2000,5000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1142,'Marine Sphere@NPC_SELFDESTRUCTION','idle',173,1,10000,2000,5000,'no','self','skillused','173',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1143,'Marionette@HT_FREEZINGTRAP','idle',121,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1143,'Marionette@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1143,'Marionette@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_BLINDATTACK','attack',177,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',1,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x91,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1145,'Martin@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1143,'Marionette@HT_FREEZINGTRAP','idle',121,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1143,'Marionette@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1143,'Marionette@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_BLINDATTACK','attack',177,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1145,'Martin@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1145,'Martin@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1145,'Martin@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',7,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1145,'Martin@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_HEAL','attack',28,11,10000,0,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_HEAL','attack',28,11,10000,0,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_HEAL','chase',28,11,10000,0,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_HEAL','chase',28,11,10000,0,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_TELEPORT','walk',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_TELEPORT','walk',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@KN_BRANDISHSPEAR','attack',57,20,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@KN_BRANDISHSPEAR','attack',57,20,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_POWERUP','attack',349,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@CR_AUTOGUARD','attack',249,10,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@CR_AUTOGUARD','attack',249,10,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1477,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1477,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn','0',1194,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@WZ_HEAVENDRIVE','attack',91,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@WZ_HEAVENDRIVE','chase',91,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn',NULL,1194,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@WZ_HEAVENDRIVE','attack',91,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@WZ_HEAVENDRIVE','chase',91,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@WZ_HEAVENDRIVE','chase',91,5,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@MG_STONECURSE','attack',16,10,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_PETRIFYATTACK','chase',180,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3795,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@MG_STONECURSE','attack',16,10,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_PETRIFYATTACK','chase',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14229,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@AL_HEAL','attack',28,11,10000,0,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@AL_HEAL','attack',28,11,10000,0,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@AL_HEAL','chase',28,11,10000,0,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'21',NULL);
@@ -738,1689 +763,1689 @@ REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@AL_TELEPORT','idle',2
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@ST_FULLSTRIP','attack',476,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@ST_FULLSTRIP','attack',476,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MC_MAMMONITE','attack',42,20,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MG_COLDBOLT','chase',14,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MC_MAMMONITE','attack',42,20,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MG_COLDBOLT','chase',14,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MG_COLDBOLT','chase',14,5,4000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MG_FIREBOLT','chase',19,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MG_FIREBOLT','chase',19,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MG_FIREBOLT','chase',19,5,4000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MG_LIGHTNINGBOLT','chase',20,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MG_LIGHTNINGBOLT','chase',20,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@MG_LIGHTNINGBOLT','chase',20,5,4000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@SA_DISPELL','attack',289,5,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@SA_DISPELL','chase',289,5,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@SA_DISPELL','attack',289,5,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@SA_DISPELL','chase',289,5,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1471,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1471,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn','0',1180,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@BS_HAMMERFALL','chase',110,11,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@BS_HAMMERFALL','attack',110,11,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1151,'Myst@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1151,'Myst@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1151,'Myst@NPC_MENTALBREAKER','attack',159,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1151,'Myst@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1152,'Orc Skeleton@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1152,'Orc Skeleton@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1152,'Orc Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1152,'Orc Skeleton@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1153,'Orc Zombie@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1153,'Orc Zombie@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1153,'Orc Zombie@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1153,'Orc Zombie@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn',NULL,1180,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@BS_HAMMERFALL','chase',110,11,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@BS_HAMMERFALL','attack',110,11,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1151,'Myst@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1151,'Myst@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1151,'Myst@NPC_MENTALBREAKER','attack',159,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1151,'Myst@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1152,'Orc Skeleton@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1152,'Orc Skeleton@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1152,'Orc Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1152,'Orc Skeleton@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1153,'Orc Zombie@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1153,'Orc Zombie@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1153,'Orc Zombie@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1153,'Orc Zombie@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@SM_BASH','attack',5,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@AC_CHARGEARROW','attack',148,1,2000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@AC_CHARGEARROW','attack',148,1,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@MG_THUNDERSTORM','chase',21,9,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_DARKSTRIKE','attack',340,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_DARKBLESSING','attack',203,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_ENERGYDRAIN','attack',200,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_ENERGYDRAIN','chase',200,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_DARKSTRIKE','attack',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_DARKBLESSING','attack',203,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_ENERGYDRAIN','attack',200,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_ENERGYDRAIN','chase',200,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_ENERGYDRAIN','chase',200,1,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_GUIDEDATTACK','chase',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_GUIDEDATTACK','chase',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1458,1464,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1458,1464,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1158,'Phen@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1158,'Phen@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1158,'Phen@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1158,'Phen@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_POWERUP','attack',349,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_WIDESTONE','chase',666,5,10000,500,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_WIDESTONE','attack',666,5,10000,500,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_HELMBRAKE','attack',345,10,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_GUIDEDATTACK','chase',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_LICK','attack',206,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_PETRIFYATTACK','chase',180,5,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_GUIDEDATTACK','chase',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_LICK','attack',206,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_PETRIFYATTACK','chase',180,5,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1558,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1558,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn','0',1127,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn',NULL,1127,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@WZ_HEAVENDRIVE','chase',91,5,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1160,'Piere@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1160,'Piere@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1161,'Plankton@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',0,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1160,'Piere@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1160,'Piere@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1161,'Plankton@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1164,'Requiem@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1164,'Requiem@NPC_EMOTION','walk',197,1,200,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1164,'Requiem@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@TF_SPRINKLESAND','angry',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1166,'Savage@AL_INCAGI','chase',29,1,500,700,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1166,'Savage@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1166,'Savage@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1167,'Savage Babe@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1167,'Savage Babe@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1169,'Skeleton Worker@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1169,'Skeleton Worker@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',1,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1169,'Skeleton Worker@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1170,'Sohee@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',28,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1170,'Sohee@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1164,'Requiem@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1164,'Requiem@NPC_EMOTION','walk',197,1,200,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1164,'Requiem@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1165,'Sandman@TF_SPRINKLESAND','angry',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1166,'Savage@AL_INCAGI','chase',29,1,500,700,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1166,'Savage@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1166,'Savage@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1167,'Savage Babe@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1167,'Savage Babe@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1169,'Skeleton Worker@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1169,'Skeleton Worker@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1169,'Skeleton Worker@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1170,'Sohee@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,28,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1170,'Sohee@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1170,'Sohee@NPC_SUICIDE','attack',175,1,500,0,5000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1170,'Sohee@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1170,'Sohee@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1174,'Stainer@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1174,'Stainer@NPC_SILENCEATTACK','attack',178,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1174,'Stainer@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1175,'Tarou@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1175,'Tarou@NPC_POISON','attack',176,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1174,'Stainer@NPC_SILENCEATTACK','attack',178,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1174,'Stainer@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1175,'Tarou@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1175,'Tarou@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1176,'Vitata@AM_POTIONPITCHER','attack',231,2,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
REPLACE INTO `mob_skill_db` VALUES (1176,'Vitata@AM_POTIONPITCHER','attack',231,2,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
REPLACE INTO `mob_skill_db` VALUES (1176,'Vitata@AM_POTIONPITCHER','chase',231,2,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
REPLACE INTO `mob_skill_db` VALUES (1176,'Vitata@AM_POTIONPITCHER','chase',231,2,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1176,'Vitata@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1177,'Zenorc@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1177,'Zenorc@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1177,'Zenorc@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',28,0x3195,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'28',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1180,'Nine-Tail@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1180,'Nine-Tail@NPC_ATTRICHANGE','attack',161,1,500,2000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1180,'Nine-Tail@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1180,'Nine-Tail@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1180,'Nine-Tail@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1188,'Bon Gun@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1188,'Bon Gun@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1176,'Vitata@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1177,'Zenorc@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1177,'Zenorc@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1177,'Zenorc@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,28,12693,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_ATTRICHANGE','attack',161,1,500,2000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1188,'Bongun@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1188,'Bongun@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1189,'Orc Archer@AC_SHOWER','attack',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1189,'Orc Archer@HT_ANKLESNARE','idle',117,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1189,'Orc Archer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',5,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1189,'Orc Archer@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@AL_INCAGI','chase',29,10,2000,700,300000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1189,'Orc Archer@HT_ANKLESNARE','idle',117,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1189,'Orc Archer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,5,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1189,'Orc Archer@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@AL_INCAGI','chase',29,10,2000,700,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@CR_SHIELDCHARGE','attack',250,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@CR_SHIELDCHARGE','attack',250,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_EARTHQUAKE','chase',653,5,10000,1500,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_EARTHQUAKE','attack',653,5,10000,1500,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_POWERUP','attack',349,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@MG_COLDBOLT','chase',14,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@MG_FIREBOLT','chase',19,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_GROUNDATTACK','attack',185,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@MG_COLDBOLT','chase',14,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@MG_FIREBOLT','chase',19,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_GROUNDATTACK','attack',185,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1473,NULL,NULL,NULL,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1473,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1189,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@PR_LEXDIVINA','chase',76,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1189,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@PR_LEXDIVINA','chase',76,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@PR_LEXDIVINA','chase',76,10,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@SM_PROVOKE','chase',6,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@SM_PROVOKE','chase',6,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1191,'Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1191,'Mimic@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1191,'Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1191,'Mimic@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1191,'Mimic@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1191,'Mimic@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1191,'Mimic@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3195,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1195,'Rideword@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1195,'Rideword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1195,'Rideword@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1196,'Skeleton Prisoner@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12693,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1195,'Rideword@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1195,'Rideword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1195,'Rideword@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1196,'Skeleton Prisoner@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1196,'Skeleton Prisoner@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1197,'Zombie Prisoner@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1197,'Zombie Prisoner@NPC_UNDEADATTACK','attack',347,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_DARKCROSS','attack',338,10,5000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_CHANGEUNDEAD','attack',348,5,1000,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1197,'Zombie Prisoner@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1197,'Zombie Prisoner@NPC_UNDEADATTACK','attack',347,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_DARKCROSS','attack',338,10,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_CHANGEUNDEAD','attack',348,5,1000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@MO_BODYRELOCATION','chase',264,1,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_DARKBREATH','chase',202,5,500,800,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_DARKBREATH','chase',202,5,500,800,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',30,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1257,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_STOP','attack',342,1,500,0,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1201,'Rybio@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'4',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1201,'Rybio@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'4',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1201,'Rybio@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'4',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1202,'Phendark@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1202,'Phendark@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1202,'Phendark@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@NPC_SHIELDBRAKE','attack',346,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1257,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_STOP','attack',342,1,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1201,'Rybio@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1201,'Rybio@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1201,'Rybio@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1202,'Phendark@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1202,'Phendark@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1202,'Phendark@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@NPC_SHIELDBRAKE','attack',346,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Tyrfing@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Tyrfing@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Tyrfing@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Tyrfing@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Tyrfing@NPC_HELMBRAKE','attack',345,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Tyrfing@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Tyrfing@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@NPC_HELMBRAKE','attack',345,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@NPC_ARMORBRAKE','attack',344,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@SM_BASH','attack',5,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@AM_POTIONPITCHER','idle',231,4,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',20,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@NPC_ARMORBRAKE','attack',344,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@AM_POTIONPITCHER','idle',231,4,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'10',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1209,'Cramp@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1209,'Cramp@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1209,'Cramp@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1209,'Cramp@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@CR_SHIELDCHARGE','attack',250,1,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_SMOKING','idle',195,1,500,0,36000000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@AM_POTIONPITCHER','idle',231,1,500,1500,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@CR_SHIELDCHARGE','attack',250,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_SMOKING','idle',195,1,500,0,36000000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@AM_POTIONPITCHER','idle',231,1,500,1500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@HT_SKIDTRAP','idle',115,5,500,0,5000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_SUMMONSLAVE','attack',196,3,10000,2000,60000,'no','self','slavele','0',1057,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1057,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@SM_PROVOKE','chase',6,10,500,600,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1215,'Stem Worm@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1215,'Stem Worm@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1216,'Penomena@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1216,'Penomena@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1216,'Penomena@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@HT_SKIDTRAP','idle',115,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_SUMMONSLAVE','attack',196,3,10000,2000,60000,'no','self','slavele',NULL,1057,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1057,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@SM_PROVOKE','chase',6,10,500,600,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1215,'Stem Worm@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1215,'Stem Worm@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1216,'Penomena@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1216,'Penomena@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1216,'Penomena@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@KN_BRANDISHSPEAR','attack',57,20,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@NPC_SUMMONSLAVE','idle',196,2,10000,2000,600000,'no','self','slavele','0',1132,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@NPC_ARMORBRAKE','attack',344,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@KN_BRANDISHSPEAR','attack',57,20,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@NPC_SUMMONSLAVE','idle',196,2,10000,2000,600000,'no','self','slavele',NULL,1132,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@NPC_ARMORBRAKE','attack',344,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1242,'Marin@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1242,'Marin@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1242,'Marin@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1242,'Marin@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1242,'Marin@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1242,'Marin@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@NPC_HOLYATTACK','attack',189,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@PR_LEXAETERNA','attack',78,1,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@PR_LEXAETERNA','chase',78,1,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@AL_TELEPORT','attack',26,1,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@AL_TELEPORT','idle',26,1,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@AL_TELEPORT','chase',26,1,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@NPC_RUN','attack',354,1,10000,0,0,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@NPC_RUN','chase',354,1,10000,0,0,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1248,'Cruiser@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'24',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1248,'Cruiser@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',27,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@NPC_HOLYATTACK','attack',189,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@PR_LEXAETERNA','attack',78,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@PR_LEXAETERNA','chase',78,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1246,'Christmas Cookie@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@AL_TELEPORT','attack',26,1,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@AL_TELEPORT','idle',26,1,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@AL_TELEPORT','chase',26,1,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@NPC_RUN','attack',354,1,10000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1247,'Antonio@NPC_RUN','chase',354,1,10000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1248,'Cruiser@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1248,'Cruiser@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,27,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',3,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1249,'Myst Case@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AL_HEAL','attack',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AL_HEAL','attack',28,9,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AL_HEAL','chase',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AL_HEAL','chase',28,9,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_EMOTION','attack',197,1,2000,0,5000,'yes','self','always','0',17,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AM_DEMONSTRATION','attack',229,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'17',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AM_DEMONSTRATION','chase',229,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'17',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@WZ_FIREPILLAR','idle',80,5,500,0,5000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_SUMMONSLAVE','attack',196,3,10000,2000,60000,'no','self','slavele','0',1743,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1743,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@PR_STRECOVERY','attack',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@PR_STRECOVERY','chase',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_WIDEFREEZE','chase',664,5,10000,1000,10000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_WIDEFREEZE','attack',664,5,10000,1000,10000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_WINDATTACK','chase',187,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_WINDATTACK','attack',187,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@CR_SHIELDCHARGE','attack',250,5,2000,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_HALLUCINATION','chase',207,1,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1607,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1607,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn','0',1515,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@WZ_STORMGUST','attack',89,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@WZ_STORMGUST','chase',89,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@WZ_STORMGUST','chase',89,10,10000,500,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_DECAGI','chase',30,48,2000,0,300000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_EMOTION','attack',197,1,2000,0,5000,'yes','self','always',NULL,17,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AM_DEMONSTRATION','attack',229,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'17',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AM_DEMONSTRATION','chase',229,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'17',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@WZ_FIREPILLAR','idle',80,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_SUMMONSLAVE','attack',196,3,10000,2000,60000,'no','self','slavele',NULL,1743,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1743,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@PR_STRECOVERY','attack',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@PR_STRECOVERY','chase',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_WIDEFREEZE','chase',664,5,10000,1000,10000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_WIDEFREEZE','attack',664,5,10000,1000,10000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_WINDATTACK','chase',187,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_WINDATTACK','attack',187,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@CR_SHIELDCHARGE','attack',250,5,2000,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_HALLUCINATION','chase',207,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1607,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1607,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn',NULL,1515,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@WZ_STORMGUST','attack',89,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@WZ_STORMGUST','chase',89,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@WZ_STORMGUST','chase',89,10,10000,500,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_DECAGI','chase',30,48,2000,0,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WIDEFREEZE','chase',664,5,10000,1000,20000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WIDEFREEZE','attack',664,5,10000,1000,20000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WIDEFREEZE','chase',664,5,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WIDEFREEZE','attack',664,5,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@WZ_STORMGUST','chase',89,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@WZ_STORMGUST','attack',89,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@WZ_STORMGUST','chase',89,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@WZ_STORMGUST','attack',89,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1606,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1606,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',0,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@NPC_POISON','attack',176,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1257,'Injustice@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1257,'Injustice@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1258,'Goblin Archer@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',16,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1258,'Goblin Archer@NPC_POISON','attack',176,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1258,'Goblin Archer@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1259,'Gryphon@KN_PIERCE','attack',56,10,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1259,'Gryphon@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1259,'Gryphon@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'1',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'1',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@CR_REFLECTSHIELD','attack',252,2,500,0,300000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1261,'Wild Rose@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1261,'Wild Rose@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1261,'Wild Rose@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@MG_FIREBALL','chase',17,20,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@SM_MAGNUM','attack',7,20,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@HT_SHOCKWAVE','idle',118,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@MG_LIGHTNINGBOLT','attack',20,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@MG_LIGHTNINGBOLT','chase',20,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_RANGEATTACK','chase',160,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1257,'Injustice@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1257,'Injustice@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1258,'Goblin Archer@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,16,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1258,'Goblin Archer@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1258,'Goblin Archer@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1259,'Gryphon@KN_PIERCE','attack',56,10,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1259,'Gryphon@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1259,'Gryphon@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@CR_REFLECTSHIELD','attack',252,2,500,0,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1261,'Wild Rose@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1261,'Wild Rose@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1261,'Wild Rose@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@MG_FIREBALL','chase',17,20,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@SM_MAGNUM','attack',7,20,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@HT_SHOCKWAVE','idle',118,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@MG_LIGHTNINGBOLT','attack',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@MG_LIGHTNINGBOLT','chase',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_RANGEATTACK','chase',160,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@AL_HEAL','attack',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@AL_HEAL','idle',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@AL_HEAL','idle',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@AL_HEAL','chase',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@AL_HEAL','chase',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'4',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'4',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1267,'Carat@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@NPC_CHANGEFIRE','attack',164,1,10000,2000,600000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@CR_SHIELDCHARGE','attack',250,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@CR_SHIELDCHARGE','attack',250,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@WZ_METEOR','attack',83,5,2000,1500,5000,'no','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@WZ_METEOR','chase',83,5,2000,1500,5000,'no','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@NPC_WEAPONBRAKER','attack',343,5,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always','0',9,0x91,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@WZ_FIREPILLAR','idle',80,5,500,0,5000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@SA_DISPELL','attack',289,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always','0',9,0x91,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1271,'Alligator@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1271,'Alligator@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x91,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@NPC_WEAPONBRAKER','attack',343,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@WZ_FIREPILLAR','idle',80,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@SA_DISPELL','attack',289,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1271,'Alligator@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1271,'Alligator@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@MG_FIREWALL','chase',18,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_HELLJUDGEMENT','chase',662,5,10000,800,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_HELLJUDGEMENT','attack',662,5,10000,800,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_DARKBLESSING','attack',203,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_HELMBRAKE','attack',345,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@MG_FIREWALL','chase',18,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_HELLJUDGEMENT','chase',662,5,10000,800,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_HELLJUDGEMENT','attack',662,5,10000,800,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_DARKBLESSING','attack',203,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_HELMBRAKE','attack',345,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_SUMMONSLAVE','attack',196,3,10000,700,10000,'no','self','slavele','3',1605,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@NPC_SUMMONSLAVE','idle',196,3,10000,700,10000,'no','self','slavele','3',1605,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@WZ_METEOR','attack',83,11,5000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@WZ_METEOR','attack',83,11,5000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@WZ_METEOR','chase',83,11,5000,500,2000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@WZ_METEOR','chase',83,11,5000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1273,'Orc Lady@AL_INCAGI','chase',29,1,500,700,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1273,'Orc Lady@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',3,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1273,'Orc Lady@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1274,'Megalith@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1274,'Megalith@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@WZ_METEOR','chase',83,11,5000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1273,'Orc Lady@AL_INCAGI','chase',29,1,500,700,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1273,'Orc Lady@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1273,'Orc Lady@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1274,'Megalith@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1274,'Megalith@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@AL_HEAL','idle',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@CR_SHIELDCHARGE','attack',250,3,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@SA_DISPELL','chase',289,5,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele','0',1744,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@CR_SHIELDCHARGE','attack',250,3,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@SA_DISPELL','chase',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele',NULL,1744,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1277,'Greatest General@NPC_BLINDATTACK','idle',177,3,10000,1500,5000,'no','randomtarget','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1277,'Greatest General@NPC_BLINDATTACK','idle',177,3,10000,1500,5000,'no','randomtarget','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1277,'Greatest General@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1277,'Greatest General@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1277,'Greatest General@WZ_EARTHSPIKE','idle',90,3,5000,1500,5000,'no','randomtarget','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1277,'Greatest General@WZ_EARTHSPIKE','idle',90,3,5000,1500,5000,'no','randomtarget','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactite Golem@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactite Golem@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactite Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactite Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always','0',9,0x91,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactite Golem@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactite Golem@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1279,'Tri-Joint@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',27,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1279,'Tri Joint@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,27,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_LIGHTNINGBOLT','chase',20,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_SAFETYWALL','attack',12,5,2000,1000,20000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'20',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@SA_DISPELL','attack',289,5,0,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'20',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1282,'Kobold Archer@AC_DOUBLE','attack',46,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1282,'Kobold Archer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',20,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1282,'Kobold Archer@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_LIGHTNINGBOLT','chase',20,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_SAFETYWALL','attack',12,5,2000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'20',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@SA_DISPELL','attack',289,5,0,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'20',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1282,'Kobold Archer@AC_DOUBLE','attack',46,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1282,'Kobold Archer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1282,'Kobold Archer@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_SUMMONSLAVE','idle',196,4,10000,2000,60000,'no','self','slavele','0',1253,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_SHIELDBRAKE','attack',346,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_SUMMONSLAVE','idle',196,4,10000,2000,60000,'no','self','slavele',NULL,1253,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_SHIELDBRAKE','attack',346,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1285,'Guardian Archer@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1285,'Guardian Archer@AC_DOUBLE','attack',46,1,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1287,'Guardian Soldier@NPC_STUNATTACK','attack',179,5,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1287,'Guardian Soldier@SM_BASH','attack',5,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1285,'Archer Guardian@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1285,'Archer Guardian@AC_DOUBLE','attack',46,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1287,'Soldier Guardian@NPC_STUNATTACK','attack',179,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1287,'Soldier Guardian@SM_BASH','attack',5,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@KN_BRANDISHSPEAR','attack',57,20,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0xA1,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x37B5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1194,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@KN_BRANDISHSPEAR','attack',57,20,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,161,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,14261,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1194,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1028,1016,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@AL_DECAGI','chase',30,9,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1028,1016,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@AL_DECAGI','chase',30,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@NPC_POISON','attack',176,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',18,0x3795,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_SUMMONSLAVE','attack',196,2,10000,2000,60000,'no','self','slavele','0',1109,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1109,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKTHUNDER','attack',341,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKTHUNDER','chase',341,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,18,14229,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_SUMMONSLAVE','attack',196,2,10000,2000,60000,'no','self','slavele',NULL,1109,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1109,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKTHUNDER','attack',341,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKTHUNDER','chase',341,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1018,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1018,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3795,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1139,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14229,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1139,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@MG_LIGHTNINGBOLT','attack',20,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@MG_LIGHTNINGBOLT','chase',20,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@SA_DISPELL','attack',289,5,0,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0xA1,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x37B5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1320,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@MG_LIGHTNINGBOLT','attack',20,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@MG_LIGHTNINGBOLT','chase',20,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@SA_DISPELL','attack',289,5,0,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,161,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14261,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1320,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@BS_ADRENALINE','attack',111,10,500,1500,300000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@BS_ADRENALINE','chase',111,10,500,1500,300000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@CR_SHIELDCHARGE','attack',250,3,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@BS_ADRENALINE','attack',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@BS_ADRENALINE','chase',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@CR_SHIELDCHARGE','attack',250,3,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','2',1133,1134,1135,1282,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','2',1133,1134,1135,1282,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1297,'Ancient Mummy@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1297,'Ancient Mummy@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1297,'Ancient Mummy@NPC_DARKBREATH','attack',202,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1297,'Ancient Mummy@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1297,'Ancient Mummy@NPC_DARKBREATH','attack',202,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1036,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1036,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@CR_SHIELDCHARGE','attack',250,3,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@CR_SHIELDCHARGE','attack',250,3,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','2',1122,1123,1124,1125,1126,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','2',1122,1123,1124,1125,1126,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1300,'Caterpillar@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1300,'Caterpillar@NPC_POISON','attack',176,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1300,'Caterpillar@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1300,'Caterpillar@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1300,'Caterpillar@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1300,'Caterpillar@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@MC_MAMMONITE','attack',42,9,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@AM_ACIDTERROR','chase',230,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1110,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@MC_MAMMONITE','attack',42,9,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@AM_ACIDTERROR','chase',230,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1110,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@WZ_METEOR','attack',83,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@WZ_METEOR','chase',83,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@WZ_METEOR','attack',83,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@WZ_METEOR','chase',83,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3795,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14229,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_POISON','attack',176,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3795,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1100,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14229,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1100,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_POISON','attack',176,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1099,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1099,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1243,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1243,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1307,'Cat\'o\'Nine Tails@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1307,'Cat\'o\'Nine Tails@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1307,'Cat\'o\'Nine Tails@MC_MAMMONITE','attack',42,9,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1307,'Cat\'o\'Nine Tails@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1307,'Cat\'o\'Nine Tails@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1180,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@MC_MAMMONITE','attack',42,9,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1180,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1308,'Panzer Goblin@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1308,'Panzer Goblin@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1308,'Panzer Goblin@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1308,'Panzer Goblin@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1308,'Panzer Goblin@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@MG_SIGHT','chase',10,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_BLINDATTACK','chase',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@WZ_SIGHTRASHER','attack',81,7,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1129,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@RG_STRIPWEAPON','attack',215,5,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@MG_SIGHT','chase',10,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_BLINDATTACK','chase',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@WZ_SIGHTRASHER','attack',81,7,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1129,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@RG_STRIPWEAPON','attack',215,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1149,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1149,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_STUNATTACK','attack',179,5,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_SUMMONSLAVE','idle',196,4,10000,2000,60000,'no','self','slavele','0',1166,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_STUNATTACK','attack',179,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_SUMMONSLAVE','idle',196,4,10000,2000,60000,'no','self','slavele',NULL,1166,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@RG_STRIPSHIELD','attack',216,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@RG_STRIPSHIELD','attack',216,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@AS_SONICBLOW','attack',136,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@BS_MAXIMIZE','attack',114,5,500,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@BS_MAXIMIZE','chase',114,5,500,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@AS_SONICBLOW','attack',136,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@BS_MAXIMIZE','attack',114,5,500,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@BS_MAXIMIZE','chase',114,5,500,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@WZ_WATERBALL','chase',86,10,10000,500,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_GROUNDATTACK','attack',185,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_WEAPONBRAKER','attack',343,10,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_STUNATTACK','attack',179,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_GROUNDATTACK','attack',185,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_WEAPONBRAKER','attack',343,10,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_STUNATTACK','attack',179,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1364,1594,1600,1601,1602,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1364,1594,1600,1601,1602,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@WZ_WATERBALL','attack',86,5,2000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@TF_SPRINKLESAND','attack',149,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@AM_POTIONPITCHER','attack',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@AM_POTIONPITCHER','attack',231,4,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@AM_POTIONPITCHER','idle',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@AM_POTIONPITCHER','idle',231,4,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@AM_POTIONPITCHER','chase',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@AM_POTIONPITCHER','chase',231,4,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x91,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Perimeter@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@WZ_WATERBALL','attack',86,5,2000,500,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@TF_SPRINKLESAND','attack',149,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','attack',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','attack',231,4,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','idle',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','idle',231,4,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','chase',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','chase',231,4,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','attack',197,1,2000,0,600000,'yes','self','myhpltmaxrate','20',23,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@TF_BACKSLIDING','attack',150,1,10000,500,600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_SUMMONSLAVE','chase',196,3,10000,0,600000,'yes','self','myhpltmaxrate','10',1364,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x91,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1317,'Seal@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1317,'Seal@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1317,'Seal@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',1,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1317,'Seal@NPC_WATERATTACK','attack',184,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@MG_FIREBALL','chase',17,9,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@WZ_FIREPILLAR','idle',80,3,500,0,5000,'no','around2','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',20,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1317,'Fur Seal@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1317,'Fur Seal@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1317,'Fur Seal@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1317,'Fur Seal@NPC_WATERATTACK','attack',184,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@MG_FIREBALL','chase',17,9,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@WZ_FIREPILLAR','idle',80,3,500,0,5000,'no','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@MG_LIGHTNINGBOLT','attack',20,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@MG_LIGHTNINGBOLT','chase',20,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0xA1,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x37B5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1321,'Dragon Tail@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1321,'Dragon Tail@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1321,'Dragon Tail@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x83,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@SM_BASH','attack',5,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@KN_BRANDISHSPEAR','attack',57,5,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@NPC_DARKTHUNDER','attack',341,4,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@MG_LIGHTNINGBOLT','attack',20,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@MG_LIGHTNINGBOLT','chase',20,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,161,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14261,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1321,'Dragon Tail@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1321,'Dragon Tail@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1321,'Dragon Tail@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,131,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@SM_BASH','attack',5,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@KN_BRANDISHSPEAR','attack',57,5,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@NPC_DARKTHUNDER','attack',341,4,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@NPC_SELFDESTRUCTION','attack',173,1,1000,2000,5000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1367,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@WZ_FIREPILLAR','idle',80,3,500,0,5000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1367,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@WZ_FIREPILLAR','idle',80,3,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@MG_FIREBALL','chase',17,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@WZ_SIGHTRASHER','attack',81,5,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@MG_FIREBALL','chase',17,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@WZ_SIGHTRASHER','attack',81,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1368,'Geographer@AL_HEAL','attack',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1368,'Geographer@AL_HEAL','idle',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1368,'Geographer@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always','0',9,0x1089,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_DARKSTRIKE','attack',340,7,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_DARKSTRIKE','chase',340,7,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','angry',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','follow',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','angry',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','follow',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','angry',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','follow',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@BS_ADRENALINE','attack',111,10,500,1500,300000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@BS_ADRENALINE','chase',111,10,500,1500,300000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x1089,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1368,'Geographer@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,4233,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_DARKSTRIKE','attack',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_DARKSTRIKE','chase',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','angry',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','follow',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','angry',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','follow',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','angry',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','follow',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@BS_ADRENALINE','attack',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@BS_ADRENALINE','chase',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,4233,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@AL_DECAGI','chase',30,48,2000,0,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@AL_DECAGI','chase',30,48,2000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@KN_BRANDISHSPEAR','attack',57,20,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CHANGEUNDEAD','attack',348,1,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@KN_BRANDISHSPEAR','attack',57,20,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CHANGEUNDEAD','attack',348,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_GRANDDARKNESS','attack',339,10,1000,700,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_STUNATTACK','attack',179,5,2000,0,0,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_STUNATTACK','attack',179,5,2000,0,0,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_DARKSTRIKE','chase',340,10,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_DARKSTRIKE','attack',340,9,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_DARKSTRIKE','chase',340,9,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_MENTALBREAKER','attack',159,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'14',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_MENTALBREAKER','chase',159,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'14',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1375,'The Paper@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_DARKSTRIKE','attack',340,9,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_DARKSTRIKE','chase',340,9,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_MENTALBREAKER','attack',159,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_MENTALBREAKER','chase',159,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1375,'The Paper@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1375,'The Paper@NPC_DEFENDER','attack',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1375,'The Paper@NPC_DEFENDER','chase',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1375,'The Paper@NPC_COMBOATTACK','angry',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1375,'The Paper@NPC_COMBOATTACK','angry',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1375,'The Paper@NPC_DEFENDER','angry',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1375,'The Paper@NPC_DEFENDER','follow',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_SILENCEATTACK','angry',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_SILENCEATTACK','follow',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_WINDATTACK','angry',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_FIREBOLT','attack',19,7,10000,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_FROSTDIVER','chase',15,9,10000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_LIGHTNINGBOLT','chase',20,7,10000,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_STONECURSE','attack',16,10,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@SA_DISPELL','attack',289,1,0,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_FIREBOLT','idle',19,7,10000,1500,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_FROSTDIVER','idle',15,9,10000,500,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_LIGHTNINGBOLT','idle',20,7,10000,1500,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_STONECURSE','idle',16,10,10000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_BLINDATTACK','chase',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_PETRIFYATTACK','chase',180,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_BLINDATTACK','angry',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_BLINDATTACK','follow',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_PETRIFYATTACK','angry',180,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_PETRIFYATTACK','follow',180,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_DARKSTRIKE','attack',340,7,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_MENTALBREAKER','attack',159,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_DARKSTRIKE','angry',340,7,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_MENTALBREAKER','angry',159,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','idle',135,1,100,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','follow',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_COMBOATTACK','angry',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_SILENCEATTACK','angry',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_SILENCEATTACK','follow',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1376,'Harpy@NPC_WINDATTACK','angry',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_FIREBOLT','attack',19,7,10000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_FROSTDIVER','chase',15,9,10000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_LIGHTNINGBOLT','chase',20,7,10000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_STONECURSE','attack',16,10,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@SA_DISPELL','attack',289,1,0,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_FIREBOLT','idle',19,7,10000,1500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_FROSTDIVER','idle',15,9,10000,500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_LIGHTNINGBOLT','idle',20,7,10000,1500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1377,'Elder@MG_STONECURSE','idle',16,10,10000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_BLINDATTACK','chase',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_PETRIFYATTACK','chase',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_BLINDATTACK','angry',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_BLINDATTACK','follow',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_PETRIFYATTACK','angry',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1378,'Demon Pungus@NPC_PETRIFYATTACK','follow',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_DARKSTRIKE','attack',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_MENTALBREAKER','attack',159,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_DARKSTRIKE','angry',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1379,'Nightmare Terror@NPC_MENTALBREAKER','angry',159,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','idle',135,1,100,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@AS_CLOAKING','follow',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_COMBOATTACK','angry',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@KN_SPEARSTAB','angry',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@KN_SPEARSTAB','angry',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@SM_ENDURE','follow',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@WZ_METEOR','attack',83,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@WZ_METEOR','chase',83,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@MO_BODYRELOCATION','follow',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@WZ_METEOR','angry',83,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@WZ_METEOR','follow',83,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@AM_DEMONSTRATION','attack',229,1,100,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@AM_DEMONSTRATION','angry',229,1,100,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@SM_MAGNUM','angry',7,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@MG_FIREBALL','chase',17,9,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_PIERCINGATT','attack',158,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@MG_FIREWALL','attack',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_FIREATTACK','chase',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','idle',135,1,100,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@WZ_METEOR','attack',83,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@WZ_METEOR','chase',83,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@MO_BODYRELOCATION','follow',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@WZ_METEOR','angry',83,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1382,'Diabolic@WZ_METEOR','follow',83,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@AM_DEMONSTRATION','attack',229,1,100,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@AM_DEMONSTRATION','angry',229,1,100,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@SM_MAGNUM','angry',7,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@MG_FIREBALL','chase',17,9,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_PIERCINGATT','attack',158,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@MG_FIREWALL','attack',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_FIREATTACK','chase',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','idle',135,1,100,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_DEFENDER','attack',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_DEFENDER','chase',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','follow',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_DEFENDER','angry',205,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_DEFENDER','follow',205,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_SLEEPATTACK','angry',182,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@TF_SPRINKLESAND','angry',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@AS_CLOAKING','follow',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_DEFENDER','angry',205,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_DEFENDER','follow',205,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@NPC_SLEEPATTACK','angry',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1386,'Sleeper@TF_SPRINKLESAND','angry',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_POISON','attack',52,10,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_POISON','attack',52,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_HIDING','angry',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_POISON','angry',52,10,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','angry',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_POISON','angry',52,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','angry',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','follow',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@CR_GRANDCROSS','attack',254,1,2000,0,0,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_HEAL','attack',28,11,10000,0,1000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_HEAL','attack',28,11,10000,0,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_HEAL','chase',28,11,10000,0,1000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_HEAL','chase',28,11,10000,0,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@PR_SANCTUARY','attack',70,10,10000,500,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@PR_SANCTUARY','chase',70,10,10000,500,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_BARRIER','attack',204,1,500,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_HOLYATTACK','attack',189,5,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_HOLYATTACK','chase',189,5,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_SUMMONSLAVE','attack',196,7,10000,700,60000,'no','self','slavele','3',1443,1246,1742,1743,1744,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_SUMMONSLAVE','idle',196,7,10000,700,60000,'no','self','slavele','3',1443,1246,1742,1743,1744,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@RG_INTIMIDATE','attack',219,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AL_DECAGI','chase',30,48,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@CR_GRANDCROSS','attack',254,1,2000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_HEAL','attack',28,11,10000,0,1000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_HEAL','attack',28,11,10000,0,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_HEAL','chase',28,11,10000,0,1000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_HEAL','chase',28,11,10000,0,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@PR_SANCTUARY','attack',70,10,10000,500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@PR_SANCTUARY','chase',70,10,10000,500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_BARRIER','attack',204,1,500,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_HOLYATTACK','attack',189,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_HOLYATTACK','chase',189,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_SUMMONSLAVE','attack',196,7,10000,700,60000,'no','self','slavele','3',1443,1246,1742,1743,1744,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_SUMMONSLAVE','idle',196,7,10000,700,60000,'no','self','slavele','3',1443,1246,1742,1743,1744,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@RG_INTIMIDATE','attack',219,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AL_DECAGI','chase',30,48,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_HELLJUDGEMENT','chase',662,10,10000,500,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_HELLJUDGEMENT','attack',662,10,10000,500,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_BLOODDRAIN','attack',199,1,3000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_ENERGYDRAIN','chase',200,1,3000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@MO_BODYRELOCATION','chase',264,1,2000,200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_CHANGEUNDEAD','attack',348,1,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_INVISIBLE','attack',353,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_INVISIBLE','idle',353,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_INVISIBLE','chase',353,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_SILENCEATTACK','attack',178,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_SILENCEATTACK','chase',178,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_BLOODDRAIN','attack',199,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_ENERGYDRAIN','chase',200,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@MO_BODYRELOCATION','chase',264,1,2000,200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_CHANGEUNDEAD','attack',348,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_INVISIBLE','attack',353,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_INVISIBLE','idle',353,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_INVISIBLE','chase',353,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_SILENCEATTACK','attack',178,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_SILENCEATTACK','chase',178,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_SUMMONSLAVE','attack',196,16,10000,700,5000,'no','self','slavele','5',1419,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_SUMMONSLAVE','idle',196,16,10000,700,5000,'no','self','slavele','5',1419,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@NPC_ENERGYDRAIN','chase',200,1,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@NPC_DARKSTRIKE','attack',340,5,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@NPC_DARKSTRIKE','attack',340,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@AM_POTIONPITCHER','idle',231,4,500,500,5000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',1,0x108B,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'1',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1392,'Rotar Zairo@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,4235,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1392,'Rotar Zairo@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1392,'Rotar Zairo@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1393,'G Mummy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1393,'G Mummy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@AL_TELEPORT','idle',26,1,2000,0,0,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'20',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@KN_BRANDISHSPEAR','attack',57,20,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@KN_TWOHANDQUICKEN','attack',60,20,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@NPC_BARRIER','attack',204,1,2000,3000,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@NPC_GUIDEDATTACK','attack',172,5,2000,0,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@NPC_SUMMONSLAVE','attack',196,10,10000,2000,20000,'no','self','slavele','3',1026,1170,1029,1044,1749,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@NPC_SUMMONSLAVE','idle',196,10,10000,2000,20000,'no','self','slavele','3',1026,1170,1029,1044,1749,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@WZ_METEOR','chase',83,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@WZ_METEOR','attack',83,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@WZ_STORMGUST','chase',89,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@WZ_STORMGUST','attack',89,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@WZ_VERMILION','chase',85,20,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1399,'Event Baphomet@WZ_VERMILION','attack',85,20,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'31',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'31',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@WZ_WATERBALL','chase',86,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always','0',28,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1393,'Mummy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1393,'Mummy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@AL_TELEPORT','idle',26,1,2000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'20',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@KN_BRANDISHSPEAR','attack',57,20,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@KN_TWOHANDQUICKEN','attack',60,20,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@NPC_BARRIER','attack',204,1,2000,3000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@NPC_GUIDEDATTACK','attack',172,5,2000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@NPC_SUMMONSLAVE','attack',196,10,10000,2000,20000,'no','self','slavele','3',1026,1170,1029,1044,1749,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@NPC_SUMMONSLAVE','idle',196,10,10000,2000,20000,'no','self','slavele','3',1026,1170,1029,1044,1749,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@WZ_METEOR','chase',83,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@WZ_METEOR','attack',83,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@WZ_STORMGUST','chase',89,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@WZ_STORMGUST','attack',89,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@WZ_VERMILION','chase',85,20,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@WZ_VERMILION','attack',85,20,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'31',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'31',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@WZ_WATERBALL','chase',86,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,28,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@AS_CLOAKING','idle',135,1,500,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@HT_CLAYMORETRAP','idle',123,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@AS_CLOAKING','idle',135,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@HT_CLAYMORETRAP','idle',123,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@NPC_REBIRTH','dead',208,2,5000,0,0,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@SM_BASH','attack',5,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@NPC_REBIRTH','dead',208,2,5000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@TF_BACKSLIDING','attack',150,1,10000,500,3600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1403,'Antique Firelock@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_STUNATTACK','chase',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@SM_PROVOKE','attack',6,10,2000,600,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@SM_PROVOKE','chase',6,10,2000,600,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','attack',90,1,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','attack',90,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','attack',90,3,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_FIREATTACK','angry',186,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_STUNATTACK','follow',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@SM_PROVOKE','angry',6,10,2000,600,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@SM_PROVOKE','follow',6,10,2000,600,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','angry',90,1,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','angry',90,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','angry',90,3,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',20,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_WATERATTACK','attack',184,3,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'16',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_WATERATTACK','angry',184,3,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@WZ_WATERBALL','follow',86,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'16',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@KN_PIERCE','attack',56,10,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@NPC_DARKSTRIKE','chase',340,5,2000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1409,'Rice Cake Boy@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1403,'Antique Firelock@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_STUNATTACK','chase',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@SM_PROVOKE','attack',6,10,2000,600,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@SM_PROVOKE','chase',6,10,2000,600,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','attack',90,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','attack',90,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','attack',90,3,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_FIREATTACK','angry',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_STUNATTACK','follow',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@SM_PROVOKE','angry',6,10,2000,600,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@SM_PROVOKE','follow',6,10,2000,600,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','angry',90,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','angry',90,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@WZ_EARTHSPIKE','angry',90,3,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_WATERATTACK','attack',184,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'16',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@NPC_WATERATTACK','angry',184,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1406,'Kapha@WZ_WATERBALL','follow',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'16',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@KN_PIERCE','attack',56,10,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@NPC_DARKSTRIKE','chase',340,5,2000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1409,'Rice Cake Boy@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@AM_POTIONPITCHER','attack',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@AM_POTIONPITCHER','idle',231,3,10000,500,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@AM_POTIONPITCHER','idle',231,3,10000,500,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@AM_POTIONPITCHER','chase',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@NPC_GUIDEDATTACK','chase',172,2,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@MG_LIGHTNINGBOLT','attack',20,5,2000,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@MG_LIGHTNINGBOLT','chase',20,5,2000,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@NPC_GUIDEDATTACK','chase',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@MG_LIGHTNINGBOLT','attack',20,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@MG_LIGHTNINGBOLT','chase',20,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1413,'Wild Ginseng@NPC_BARRIER','attack',204,1,2000,3000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1413,'Wild Ginseng@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1415,'Baby Leopard@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1415,'Baby Leopard@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1415,'Baby Leopard@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1413,'Wild Ginseng@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1415,'Baby Leopard@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1415,'Baby Leopard@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1415,'Baby Leopard@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','attack',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','attack',28,3,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','idle',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','idle',28,3,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','chase',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','chase',28,3,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@NPC_STOP','attack',342,1,500,0,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@SA_DISPELL','attack',289,5,0,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1417,'Zipper Bear@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1417,'Zipper Bear@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@NPC_STOP','attack',342,1,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@SA_DISPELL','attack',289,5,0,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1417,'Zipper Bear@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1417,'Zipper Bear@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@MG_FROSTDIVER','attack',15,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@MG_FROSTDIVER','chase',15,10,2000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_SHIELDBRAKE','attack',346,10,2000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_DARKBREATH','attack',202,5,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_STOP','attack',342,1,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@MG_FROSTDIVER','attack',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@MG_FROSTDIVER','chase',15,10,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_SHIELDBRAKE','attack',346,10,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_DARKBREATH','attack',202,5,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_STOP','attack',342,1,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','2',1531,1531,1564,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','2',1531,1531,1564,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@SM_MAGNUM','attack',7,20,2000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@MG_FROSTDIVER','chase',15,10,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1419,'Farmiliar@NPC_BLINDATTACK','angry',177,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1419,'Farmiliar@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1419,'Farmiliar@NPC_BLINDATTACK','attack',177,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1419,'Farmiliar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1420,'Skeleton Archer@AC_DOUBLE','angry',46,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1420,'Skeleton Archer@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1420,'Skeleton Archer@AC_DOUBLE','attack',46,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1420,'Skeleton Archer@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1421,'Isis@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1421,'Isis@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1421,'Isis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1421,'Isis@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1423,'Ghoul@NPC_POISON','angry',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1423,'Ghoul@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1424,'Sidewinder@KN_PIERCE','angry',56,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1424,'Sidewinder@NPC_POISON','angry',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1424,'Sidewinder@NPC_POISONATTACK','angry',188,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1424,'Sidewinder@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1424,'Sidewinder@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1424,'Sidewinder@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@NPC_WATERATTACK','angry',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@PR_LEXDIVINA','follow',76,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@PR_LEXDIVINA','angry',76,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@PR_LEXDIVINA','chase',76,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1426,'Marc@NPC_STUNATTACK','angry',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1426,'Marc@NPC_WATERATTACK','angry',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1426,'Marc@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1426,'Marc@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_MENTALBREAKER','angry',159,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_TELEKINESISATTACK','angry',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_MENTALBREAKER','attack',159,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1428,'Poison Spore@NPC_POISON','angry',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1428,'Poison Spore@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1428,'Poison Spore@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1428,'Poison Spore@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@AS_VENOMDUST','angry',140,1,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@NPC_POISON','angry',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@NPC_POISONATTACK','angry',188,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1430,'Argos@NPC_POISON','angry',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1430,'Argos@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1430,'Argos@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1430,'Argos@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_DARKBREATH','angry',202,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_DARKNESSATTACK','angry',190,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_HALLUCINATION','follow',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_HALLUCINATION','angry',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1432,'Desert Wolf@NPC_FIREATTACK','angry',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1432,'Desert Wolf@TF_SPRINKLESAND','angry',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1432,'Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1432,'Desert Wolf@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_BLINDATTACK','follow',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1419,'Familiar@NPC_BLINDATTACK','angry',177,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1419,'Familiar@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1419,'Familiar@NPC_BLINDATTACK','attack',177,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1419,'Familiar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1420,'Archer Skeleton@AC_DOUBLE','angry',46,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1420,'Archer Skeleton@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1420,'Archer Skeleton@AC_DOUBLE','attack',46,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1420,'Archer Skeleton@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1421,'Isis@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1421,'Isis@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1421,'Isis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1421,'Isis@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1422,'Hunter Fly@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1423,'Ghoul@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1423,'Ghoul@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1424,'Side Winder@KN_PIERCE','angry',56,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1424,'Side Winder@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1424,'Side Winder@NPC_POISONATTACK','angry',188,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1424,'Side Winder@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1424,'Side Winder@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1424,'Side Winder@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@NPC_WATERATTACK','angry',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@PR_LEXDIVINA','follow',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@PR_LEXDIVINA','angry',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@PR_LEXDIVINA','chase',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1425,'Obeaune@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1426,'Marc@NPC_STUNATTACK','angry',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1426,'Marc@NPC_WATERATTACK','angry',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1426,'Marc@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1426,'Marc@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_MENTALBREAKER','angry',159,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_TELEKINESISATTACK','angry',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_MENTALBREAKER','attack',159,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1427,'Nightmare@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1428,'Poison Spore@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1428,'Poison Spore@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1428,'Poison Spore@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1428,'Poison Spore@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@AS_VENOMDUST','angry',140,1,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@NPC_POISONATTACK','angry',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1429,'Argiope@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1430,'Argos@NPC_POISON','angry',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1430,'Argos@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1430,'Argos@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1430,'Argos@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_DARKBREATH','angry',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_DARKNESSATTACK','angry',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_HALLUCINATION','follow',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_HALLUCINATION','angry',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1431,'Baphomet Jr.@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1432,'Desert Wolf@NPC_FIREATTACK','angry',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1432,'Desert Wolf@TF_SPRINKLESAND','angry',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1432,'Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1432,'Desert Wolf@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_BLINDATTACK','follow',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_ENERGYDRAIN','follow',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_ENERGYDRAIN','angry',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKTHUNDER','follow',341,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKTHUNDER','angry',341,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKTHUNDER','follow',341,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKTHUNDER','angry',341,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKTHUNDER','chase',341,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKTHUNDER','attack',341,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_BLINDATTACK','angry',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_BLINDATTACK','follow',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_CURSEATTACK','follow',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_ENERGYDRAIN','follow',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_ENERGYDRAIN','angry',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_PETRIFYATTACK','follow',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_PETRIFYATTACK','angry',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@WZ_HEAVENDRIVE','follow',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@WZ_HEAVENDRIVE','angry',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_BLINDATTACK','attack',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_CURSEATTACK','follow',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_FIREBALL','follow',17,5,500,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_FROSTDIVER','follow',15,10,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_SOULSTRIKE','follow',13,9,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_ENERGYDRAIN','follow',200,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_WINDATTACK','follow',187,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@WZ_HEAVENDRIVE','follow',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_DARKTHUNDER','follow',341,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@WZ_QUAGMIRE','follow',92,5,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_FIREBALL','chase',17,5,500,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_FROSTDIVER','chase',15,10,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_SOULSTRIKE','chase',13,9,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_ATTRICHANGE','idle',161,1,500,2000,300000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_ENERGYDRAIN','chase',200,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_WINDATTACK','chase',187,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_DARKTHUNDER','chase',341,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@AS_GRIMTOOTH','follow',137,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKTHUNDER','chase',341,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1433,'Deviruchi@NPC_DARKTHUNDER','attack',341,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1434,'Drainliar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_BLINDATTACK','angry',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_BLINDATTACK','follow',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_CURSEATTACK','follow',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_ENERGYDRAIN','follow',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_ENERGYDRAIN','angry',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_PETRIFYATTACK','follow',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_PETRIFYATTACK','angry',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@WZ_HEAVENDRIVE','follow',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@WZ_HEAVENDRIVE','angry',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_BLINDATTACK','attack',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1435,'Evil Druid@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_CURSEATTACK','follow',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1436,'Jakk@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_FIREBALL','follow',17,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_FROSTDIVER','follow',15,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_SOULSTRIKE','follow',13,9,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_ENERGYDRAIN','follow',200,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_WINDATTACK','follow',187,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@WZ_HEAVENDRIVE','follow',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_DARKTHUNDER','follow',341,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@WZ_QUAGMIRE','follow',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_FIREBALL','chase',17,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_FROSTDIVER','chase',15,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@MG_SOULSTRIKE','chase',13,9,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_ATTRICHANGE','idle',161,1,500,2000,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_ENERGYDRAIN','chase',200,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_WINDATTACK','chase',187,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@NPC_DARKTHUNDER','chase',341,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1437,'Joker@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@AS_GRIMTOOTH','follow',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_GUIDEDATTACK','angry',172,1,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_SMOKING','idle',195,1,500,0,36000000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1440,'Stem Worm@NPC_GUIDEDATTACK','angry',172,1,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1440,'Stem Worm@NPC_WINDATTACK','angry',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1440,'Stem Worm@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1440,'Stem Worm@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@KN_SPEARSTAB','angry',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1438,'Khalitzburg@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_GUIDEDATTACK','angry',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1439,'High Orc@NPC_SMOKING','idle',195,1,500,0,36000000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1440,'Stem Worm@NPC_GUIDEDATTACK','angry',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1440,'Stem Worm@NPC_WINDATTACK','angry',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1440,'Stem Worm@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1440,'Stem Worm@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1441,'Penomena@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@KN_SPEARSTAB','angry',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@SM_ENDURE','follow',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1442,'Sasquatch@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1443,'Cruiser@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1443,'Cruiser@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1443,'Cruiser@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1443,'Cruiser@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@AL_HEAL','angry',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@AL_HEAL','follow',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@AL_HEAL','angry',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@AL_HEAL','follow',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@MG_FIREWALL','follow',18,10,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@MG_FIREWALL','angry',18,10,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_FIREATTACK','angry',186,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_GUIDEDATTACK','angry',172,5,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','follow',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','angry',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@MG_FIREWALL','follow',18,10,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@MG_FIREWALL','angry',18,10,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_FIREATTACK','angry',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_GUIDEDATTACK','angry',172,5,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','follow',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','angry',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@AL_HEAL','attack',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@AL_HEAL','chase',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@AL_HEAL','attack',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@AL_HEAL','chase',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@MG_FIREWALL','chase',18,10,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@MG_FIREWALL','attack',18,10,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_GUIDEDATTACK','attack',172,5,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','chase',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','attack',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_COMBOATTACK','angry',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1446,'Injustice@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1446,'Injustice@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1446,'Injustice@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1446,'Injustice@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@KN_PIERCE','angry',56,10,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@KN_PIERCE','attack',56,10,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLINDATTACK','angry',177,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLINDATTACK','follow',177,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_CURSEATTACK','follow',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','angry',180,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','follow',180,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLINDATTACK','attack',177,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLINDATTACK','chase',177,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','attack',180,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','chase',180,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@MG_FIREBALL','follow',17,20,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@NPC_FIREATTACK','angry',186,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@SM_MAGNUM','angry',7,20,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@MG_FIREBALL','chase',17,20,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@SM_MAGNUM','attack',7,20,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','follow',20,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','angry',20,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@NPC_MAGICALATTACK','angry',192,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@WZ_JUPITEL','follow',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@WZ_JUPITEL','angry',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@HT_SHOCKWAVE','idle',118,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','chase',20,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','attack',20,5,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@KN_PIERCE','angry',56,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@NPC_RANGEATTACK','follow',160,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@NPC_WATERATTACK','angry',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@NPC_RANGEATTACK','chase',160,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1452,'Orc Lady@AL_INCAGI','follow',29,1,500,700,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1452,'Orc Lady@NPC_GROUNDATTACK','angry',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1452,'Orc Lady@AL_INCAGI','chase',29,1,500,700,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1452,'Orc Lady@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1453,'Raydric Archer@AC_CHARGEARROW','angry',148,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1453,'Raydric Archer@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1453,'Raydric Archer@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1453,'Raydric Archer@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1454,'Tri Joint@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1454,'Tri Joint@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1455,'Kobold Archer@AC_DOUBLE','angry',46,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1455,'Kobold Archer@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1455,'Kobold Archer@AC_DOUBLE','attack',46,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1455,'Kobold Archer@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@MG_FIREWALL','chase',18,10,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@MG_FIREWALL','attack',18,10,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_GUIDEDATTACK','attack',172,5,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','chase',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','attack',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_COMBOATTACK','angry',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1446,'Injustice@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1446,'Injustice@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1446,'Injustice@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1446,'Injustice@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@KN_PIERCE','angry',56,10,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@KN_PIERCE','attack',56,10,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1447,'Gryphon@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLINDATTACK','angry',177,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLINDATTACK','follow',177,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_CURSEATTACK','follow',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','angry',180,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','follow',180,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLINDATTACK','attack',177,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLINDATTACK','chase',177,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','attack',180,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','chase',180,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@MG_FIREBALL','follow',17,20,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@NPC_FIREATTACK','angry',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@SM_MAGNUM','angry',7,20,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@MG_FIREBALL','chase',17,20,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@SM_MAGNUM','attack',7,20,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','follow',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','angry',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@NPC_MAGICALATTACK','angry',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@WZ_JUPITEL','follow',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@WZ_JUPITEL','angry',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@HT_SHOCKWAVE','idle',118,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','chase',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','attack',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@KN_PIERCE','angry',56,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@NPC_RANGEATTACK','follow',160,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@NPC_WATERATTACK','angry',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@NPC_RANGEATTACK','chase',160,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1451,'Merman@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1452,'Orc Lady@AL_INCAGI','follow',29,1,500,700,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1452,'Orc Lady@NPC_GROUNDATTACK','angry',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1452,'Orc Lady@AL_INCAGI','chase',29,1,500,700,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1452,'Orc Lady@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1453,'Raydric Archer@AC_CHARGEARROW','angry',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1453,'Raydric Archer@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1453,'Raydric Archer@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1453,'Raydric Archer@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1454,'Tri Joint@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1454,'Tri Joint@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1455,'Kobold Archer@AC_DOUBLE','angry',46,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1455,'Kobold Archer@NPC_FIREATTACK','angry',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1455,'Kobold Archer@AC_DOUBLE','attack',46,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1455,'Kobold Archer@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@WZ_HEAVENDRIVE','follow',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@WZ_HEAVENDRIVE','angry',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@WZ_HEAVENDRIVE','follow',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@WZ_HEAVENDRIVE','angry',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1457,'Mantis@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1457,'Mantis@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1457,'Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1457,'Mantis@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREBOLT','follow',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREBOLT','angry',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREWALL','follow',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_BLINDATTACK','follow',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_FIREATTACK','angry',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_MAGICALATTACK','angry',192,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@MG_FIREWALL','follow',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@NPC_TELEKINESISATTACK','angry',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@HT_FREEZINGTRAP','idle',121,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1460,'Matyr@AS_SONICBLOW','angry',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1460,'Matyr@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1460,'Matyr@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1460,'Matyr@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@BS_HAMMERFALL','angry',110,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@WZ_HEAVENDRIVE','angry',91,3,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1462,'Orc Skeleton@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1462,'Orc Skeleton@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1463,'Orc Zombie@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1463,'Orc Zombie@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@SM_BASH','angry',5,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@SM_BASH','attack',5,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1465,'Petite@NPC_GROUNDATTACK','angry',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1465,'Petite@NPC_TELEKINESISATTACK','follow',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1465,'Petite@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1465,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1466,'Petite@NPC_TELEKINESISATTACK','follow',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1466,'Petite@NPC_WINDATTACK','angry',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1466,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1466,'Petite@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@SM_MAGNUM','angry',7,20,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@SM_MAGNUM','attack',7,20,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1469,'Skeleton Worker@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1469,'Skeleton Worker@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1470,'Zerom@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1470,'Zerom@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1456,'Chimera@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1457,'Mantis@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1457,'Mantis@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1457,'Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1457,'Mantis@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREBOLT','follow',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREBOLT','angry',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREWALL','follow',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_BLINDATTACK','follow',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_FIREATTACK','angry',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_MAGICALATTACK','angry',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1458,'Marduk@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@MG_FIREWALL','follow',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@NPC_TELEKINESISATTACK','angry',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@HT_FREEZINGTRAP','idle',121,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1459,'Marionette@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1460,'Matyr@AS_SONICBLOW','angry',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1460,'Matyr@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1460,'Matyr@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1460,'Matyr@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@BS_HAMMERFALL','angry',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@WZ_HEAVENDRIVE','angry',91,3,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1461,'Minorous@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1462,'Orc Skeleton@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1462,'Orc Skeleton@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1463,'Orc Zombie@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1463,'Orc Zombie@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@SM_BASH','angry',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1464,'Pasana@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1465,'Petite@NPC_GROUNDATTACK','angry',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1465,'Petite@NPC_TELEKINESISATTACK','follow',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1465,'Petite@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1465,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1466,'Petite@NPC_TELEKINESISATTACK','follow',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1466,'Petite@NPC_WINDATTACK','angry',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1466,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1466,'Petite@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@SM_MAGNUM','angry',7,20,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@SM_MAGNUM','attack',7,20,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1469,'Skeleton Worker@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1469,'Skeleton Worker@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1470,'Zerom@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1470,'Zerom@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1471,'Nine Tail@NPC_ATTRICHANGE','angry',161,1,500,2000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1471,'Nine Tail@NPC_RANDOMATTACK','angry',183,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1471,'Nine Tail@NPC_RANDOMATTACK','angry',183,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1471,'Nine Tail@NPC_ATTRICHANGE','attack',161,1,500,2000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1471,'Nine Tail@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1472,'Bon Gun@KN_SPEARSTAB','angry',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1472,'Bon Gun@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1472,'Bon Gun@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1472,'Bon Gun@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1471,'Nine Tail@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1472,'Bongun@KN_SPEARSTAB','angry',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1472,'Bongun@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1472,'Bongun@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1472,'Bongun@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1473,'Orc Archer@AC_SHOWER','angry',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1473,'Orc Archer@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1473,'Orc Archer@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1473,'Orc Archer@AC_SHOWER','attack',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1473,'Orc Archer@HT_ANKLESNARE','idle',117,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1473,'Orc Archer@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1474,'Mimic@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1474,'Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_CURSEATTACK','follow',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_ENERGYDRAIN','angry',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_DARKBREATH','angry',202,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1477,'Arclouse@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1477,'Arclouse@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_PIERCINGATT','angry',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1479,'Skeleton Prisoner@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1479,'Skeleton Prisoner@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1479,'Skeleton Prisoner@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1479,'Skeleton Prisoner@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1480,'Zombie Prisoner@NPC_POISON','angry',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1480,'Zombie Prisoner@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_PETRIFYATTACK','angry',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_GUIDEDATTACK','angry',172,3,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_LICK','angry',206,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@SM_PROVOKE','follow',6,10,500,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@NPC_POISON','angry',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@SM_PROVOKE','follow',6,5,500,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@SM_PROVOKE','chase',6,5,500,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_POISON','angry',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_WINDATTACK','angry',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_POISON','attack',176,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_GUIDEDATTACK','angry',172,1,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_PIERCINGATT','angry',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@KN_AUTOCOUNTER','angry',61,5,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@KN_SPEARBOOMERANG','follow',59,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','angry',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','follow',184,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@SM_BASH','angry',5,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','chase',184,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@SM_BASH','attack',5,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@KN_SPEARSTAB','angry',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@NPC_GROUNDATTACK','angry',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1473,'Orc Archer@HT_ANKLESNARE','idle',117,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1473,'Orc Archer@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1474,'Mimic@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1474,'Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_CURSEATTACK','follow',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_ENERGYDRAIN','angry',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1475,'Wraith@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_DARKBREATH','angry',202,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1477,'Arclouse@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1477,'Arclouse@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_PIERCINGATT','angry',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1479,'Skeleton Prisoner@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1479,'Skeleton Prisoner@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1479,'Skeleton Prisoner@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1479,'Skeleton Prisoner@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1480,'Zombie Prisoner@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1480,'Zombie Prisoner@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_PETRIFYATTACK','angry',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_GUIDEDATTACK','angry',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_LICK','angry',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@SM_PROVOKE','follow',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@NPC_POISON','angry',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@SM_PROVOKE','follow',6,5,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@SM_PROVOKE','chase',6,5,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_POISON','angry',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_WINDATTACK','angry',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1484,'Phendark@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_GUIDEDATTACK','angry',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_PIERCINGATT','angry',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@KN_AUTOCOUNTER','angry',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@KN_SPEARBOOMERANG','follow',59,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','angry',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','follow',184,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@SM_BASH','angry',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','chase',184,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@KN_SPEARSTAB','angry',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@NPC_GROUNDATTACK','angry',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@TF_HIDING','angry',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','follow',92,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','angry',92,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','follow',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','angry',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@KN_AUTOCOUNTER','angry',61,5,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@KN_AUTOCOUNTER','angry',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_WINDATTACK','angry',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_WINDATTACK','angry',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','follow',111,1,500,1500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','angry',111,1,500,1500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@MC_MAMMONITE','angry',42,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','chase',111,1,500,1500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','attack',111,1,500,1500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','follow',111,1,500,1500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','angry',111,1,500,1500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@MC_MAMMONITE','angry',42,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','chase',111,1,500,1500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','attack',111,1,500,1500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@AL_TELEPORT','idle',26,1,5000,1000,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@KN_BRANDISHSPEAR','attack',57,20,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@KN_BRANDISHSPEAR','attack',57,20,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@KN_TWOHANDQUICKEN','attack',60,20,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@ASC_BREAKER','idle',379,10,10000,500,5000,'no','target','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@ASC_BREAKER','chase',379,10,5000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@ASC_BREAKER','attack',379,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_HELMBRAKE','chase',345,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@ASC_BREAKER','chase',379,10,5000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@ASC_BREAKER','attack',379,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_HELMBRAKE','chase',345,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','2',1560,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','2',1560,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@RG_INTIMIDATE','attack',219,10,2000,0,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@RG_INTIMIDATE','attack',219,10,2000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@AL_TELEPORT','chase',26,1,10000,0,0,'yes','self','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@AL_HEAL','idle',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@AL_HEAL','attack',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1494,'Beetle King@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1494,'Beetle King@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1494,'Beetle King@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1494,'Beetle King@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1494,'Beetle King@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1495,'Stone Shooter@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1495,'Stone Shooter@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1497,'Wooden Golem@AL_HEAL','idle',28,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1495,'Stone Shooter@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1495,'Stone Shooter@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1497,'Wooden Golem@AL_HEAL','idle',28,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1497,'Wooden Golem@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1497,'Wooden Golem@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1498,'Wootan Shooter@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1498,'Wootan Shooter@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1497,'Wooden Golem@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1498,'Wootan Shooter@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1498,'Wootan Shooter@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1499,'Wootan Fighter@KN_TWOHANDQUICKEN','attack',60,9,2000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1499,'Wootan Fighter@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_POISON','chase',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@AL_HEAL','idle',28,11,10000,0,2000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'4',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@AL_HEAL','walk',28,11,10000,0,2000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'4',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@BS_HAMMERFALL','chase',110,11,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@BS_HAMMERFALL','attack',110,11,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@MG_FIREWALL','attack',18,10,10000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@AS_SONICBLOW','attack',136,10,10000,0,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@SM_MAGNUM','attack',7,20,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@SM_MAGNUM','attack',7,20,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_VERMILION','chase',85,20,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_VERMILION','attack',85,20,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_METEOR','chase',83,11,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_METEOR','attack',83,11,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_STORMGUST','chase',89,10,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_STORMGUST','attack',89,10,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@NPC_DARKBLESSING','attack',203,1,1000,2000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@NPC_SUMMONSLAVE','idle',196,16,10000,2000,10000,'no','self','slavele','3',1491,1431,1433,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@NPC_SUMMONSLAVE','attack',196,16,10000,2000,10000,'no','self','slavele','3',1491,1431,1433,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@RG_STRIPARMOR','attack',217,5,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@RG_STRIPHELM','attack',218,5,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@RG_STRIPSHIELD','attack',216,5,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@RG_STRIPWEAPON','attack',215,5,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1503,'Gibbet@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1503,'Gibbet@NPC_CURSEATTACK','attack',181,3,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1503,'Gibbet@NPC_UNDEADATTACK','attack',347,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1504,'Dullahan@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1504,'Dullahan@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1499,'Wootan Fighter@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_POISON','chase',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@AL_HEAL','idle',28,11,10000,0,2000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@AL_HEAL','walk',28,11,10000,0,2000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@BS_HAMMERFALL','chase',110,11,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@BS_HAMMERFALL','attack',110,11,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@MG_FIREWALL','attack',18,10,10000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@AS_SONICBLOW','attack',136,10,10000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@SM_MAGNUM','attack',7,20,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@SM_MAGNUM','attack',7,20,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_VERMILION','chase',85,20,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_VERMILION','attack',85,20,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_METEOR','chase',83,11,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_METEOR','attack',83,11,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_STORMGUST','chase',89,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_STORMGUST','attack',89,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@NPC_DARKBLESSING','attack',203,1,1000,2000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@NPC_SUMMONSLAVE','idle',196,16,10000,2000,10000,'no','self','slavele','3',1491,1431,1433,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@NPC_SUMMONSLAVE','attack',196,16,10000,2000,10000,'no','self','slavele','3',1491,1431,1433,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@RG_STRIPARMOR','attack',217,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@RG_STRIPHELM','attack',218,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@RG_STRIPSHIELD','attack',216,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@RG_STRIPWEAPON','attack',215,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1503,'Gibbet@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1503,'Gibbet@NPC_CURSEATTACK','attack',181,3,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1503,'Gibbet@NPC_UNDEADATTACK','attack',347,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1504,'Dullahan@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1504,'Dullahan@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_DARKSTRIKE','attack',340,5,500,700,5000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_DARKSTRIKE','chase',340,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',3,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@PR_LEXDIVINA','chase',76,10,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@PR_LEXDIVINA','attack',76,10,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1506,'Disguise@NPC_COMBOATTACK','attack',171,1,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_DARKSTRIKE','chase',340,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@PR_LEXDIVINA','chase',76,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@PR_LEXDIVINA','attack',76,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1506,'Disguise@NPC_COMBOATTACK','attack',171,1,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1506,'Disguise@NPC_METAMORPHOSIS','attack',193,2,500,0,60000,'no','self','myhpltmaxrate','10',1509,1508,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1506,'Disguise@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1507,'Bloody Murderer@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1507,'Bloody Murderer@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1508,'Quve@MG_STONECURSE','attack',16,10,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1508,'Quve@NPC_MENTALBREAKER','attack',159,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1506,'Disguise@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1507,'Bloody Murderer@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1507,'Bloody Murderer@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1508,'Quve@MG_STONECURSE','attack',16,10,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1508,'Quve@NPC_MENTALBREAKER','attack',159,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1508,'Quve@NPC_METAMORPHOSIS','attack',193,1,1000,0,60000,'no','self','myhpltmaxrate','30',1509,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@NPC_METAMORPHOSIS','attack',193,1,1000,0,60000,'no','self','myhpltmaxrate','30',1508,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@PR_LEXAETERNA','chase',78,1,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@PR_LEXAETERNA','attack',78,1,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@AL_DECAGI','attack',30,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','longrangeattacked','0',1474,1477,1438,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','casttargeted','0',1474,1477,1438,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','longrangeattacked','0',1474,1477,1438,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','casttargeted','0',1474,1477,1438,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@PR_LEXAETERNA','chase',78,1,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@PR_LEXAETERNA','attack',78,1,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@AL_DECAGI','attack',30,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','longrangeattacked',NULL,1474,1477,1438,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','casttargeted',NULL,1474,1477,1438,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','longrangeattacked',NULL,1474,1477,1438,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','casttargeted',NULL,1474,1477,1438,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','18',1474,1477,1438,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','89',1474,1477,1438,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','21',1474,1477,1438,NULL,NULL,'9',NULL);
@@ -2435,1190 +2460,1190 @@ REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,11,10000,
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,11,10000,0,0,'yes','randomtarget','skillused','83',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,11,10000,0,0,'yes','randomtarget','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,11,10000,0,0,'yes','randomtarget','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','attack',83,11,5000,0,3000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_FIREPILLAR','idle',80,11,10000,0,2000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_FIREPILLAR','idle',80,11,10000,0,2000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_FIREPILLAR','attack',80,11,5000,0,2000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_DARKBLESSING','attack',203,1,5000,0,2000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,11,10000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','attack',83,11,5000,0,3000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_FIREPILLAR','idle',80,11,10000,0,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_FIREPILLAR','idle',80,11,10000,0,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_FIREPILLAR','attack',80,11,5000,0,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_DARKBLESSING','attack',203,1,5000,0,2000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,11,10000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1512,'Hyegun@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1512,'Hyegun@AS_SONICBLOW','attack',136,5,500,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1512,'Hyegun@NPC_CRITICALSLASH','attack',170,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@NPC_DARKTHUNDER','chase',341,3,500,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@NPC_DARKTHUNDER','attack',341,3,500,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1512,'Hyegun@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1512,'Hyegun@AS_SONICBLOW','attack',136,5,500,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1512,'Hyegun@NPC_CRITICALSLASH','attack',170,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@NPC_DARKTHUNDER','chase',341,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@NPC_DARKTHUNDER','attack',341,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@AM_POTIONPITCHER','idle',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@AM_POTIONPITCHER','attack',231,4,10000,500,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@AM_POTIONPITCHER','idle',231,4,10000,500,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_AGIUP','loot',350,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_EMOTION','idle',197,1,10000,0,3000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_EMOTION','attack',197,1,10000,0,3000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_EMOTION','chase',197,1,10000,0,3000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1515,'Garm Baby@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1515,'Garm Baby@NPC_LICK','attack',206,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1516,'Increase Soil@NPC_METAMORPHOSIS','attack',193,2,50,5000,5000,'no','self','always','0',1516,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1517,'Li Me Mang Ryang@NPC_RANGEATTACK','chase',160,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'24',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1517,'Li Me Mang Ryang@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@HP_ASSUMPTIO','idle',361,5,10000,500,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@HP_ASSUMPTIO','chase',361,5,10000,500,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@HP_ASSUMPTIO','attack',361,5,10000,500,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_WIDESLEEP','chase',668,5,10000,700,25000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@AM_POTIONPITCHER','attack',231,4,10000,500,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@AM_POTIONPITCHER','idle',231,4,10000,500,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_AGIUP','loot',350,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_EMOTION','idle',197,1,10000,0,3000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_EMOTION','attack',197,1,10000,0,3000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_EMOTION','chase',197,1,10000,0,3000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1515,'Garm Baby@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1515,'Garm Baby@NPC_LICK','attack',206,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1516,'Increase Soil@NPC_METAMORPHOSIS','attack',193,2,50,5000,5000,'no','self','always',NULL,1516,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1517,'Li Me Mang Ryang@NPC_RANGEATTACK','chase',160,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1517,'Li Me Mang Ryang@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@HP_ASSUMPTIO','idle',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@HP_ASSUMPTIO','chase',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@HP_ASSUMPTIO','attack',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_WIDESLEEP','chase',668,5,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_WIDESLEEP','attack',668,5,10000,700,25000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_SUMMONSLAVE','idle',196,1,10000,0,5000,'yes','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_SUMMONSLAVE','attack',196,1,10000,0,5000,'yes','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_SUMMONSLAVE','chase',196,1,10000,0,5000,'yes','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@CR_SHIELDCHARGE','attack',250,5,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@RG_INTIMIDATE','attack',219,1,1000,1000,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@PR_LEXDIVINA','chase',76,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@TF_POISON','attack',52,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1520,'Boiled Rice@CR_AUTOGUARD','idle',249,10,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@CR_SHIELDCHARGE','attack',250,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@RG_INTIMIDATE','attack',219,1,1000,1000,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@PR_LEXDIVINA','chase',76,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@TF_POISON','attack',52,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1520,'Boiled Rice@CR_AUTOGUARD','idle',249,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1520,'Boiled Rice@NPC_SUICIDE','attack',175,1,10000,4000,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1555,'Parasite@NPC_REVENGE','idle',333,1,10000,0,0,'yes','target','masterattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1575,'Flora@NPC_REVENGE','idle',333,1,10000,0,0,'yes','target','masterattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1579,'Hydra@NPC_REVENGE','idle',333,1,10000,0,0,'yes','target','masterattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@NPC_SUMMONSLAVE','attack',196,7,10000,2000,10000,'no','self','slavele','3',1595,1595,1595,1433,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@NPC_SUMMONSLAVE','idle',196,7,10000,2000,10000,'no','self','slavele','3',1595,1595,1595,1433,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@NPC_DARKSTRIKE','chase',340,5,3000,700,0,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@NPC_DARKSTRIKE','attack',340,5,3000,700,0,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@NPC_DARKNESSATTACK','attack',190,2,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@AL_DECAGI','chase',30,1,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@NPC_DARKSTRIKE','chase',340,5,3000,700,0,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@NPC_DARKSTRIKE','attack',340,5,3000,700,0,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@NPC_DARKNESSATTACK','attack',190,2,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1582,'Deviling@AL_DECAGI','chase',30,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','4',1793,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','4',1793,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@AL_TELEPORT','chase',26,1,10000,0,0,'yes','self','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_MENTALBREAKER','attack',159,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_MENTALBREAKER','chase',159,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_COMBOATTACK','attack',171,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_COMBOATTACK','chase',171,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_STUNATTACK','chase',179,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_GUIDEDATTACK','attack',172,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_GUIDEDATTACK','chase',172,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1584,'Tamruan@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1584,'Tamruan@NPC_SILENCEATTACK','attack',178,5,2000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1584,'Tamruan@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_MENTALBREAKER','attack',159,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_MENTALBREAKER','chase',159,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_COMBOATTACK','attack',171,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_COMBOATTACK','chase',171,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_STUNATTACK','chase',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_GUIDEDATTACK','attack',172,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_GUIDEDATTACK','chase',172,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1583,'Tao Gunka@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1584,'Tamruan@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1584,'Tamruan@NPC_SILENCEATTACK','attack',178,5,2000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1584,'Tamruan@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1586,'Leaf Cat@AL_HEAL','attack',28,1,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1586,'Leaf Cat@AL_HEAL','attack',28,1,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1586,'Leaf Cat@AL_HEAL','chase',28,1,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1586,'Leaf Cat@AL_HEAL','chase',28,1,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1587,'Kraben@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1587,'Kraben@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1587,'Kraben@NPC_STUNATTACK','attack',179,1,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1587,'Kraben@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1587,'Kraben@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1587,'Kraben@NPC_STUNATTACK','attack',179,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1589,'Mandragora@NPC_REVENGE','idle',333,1,10000,0,0,'yes','target','masterattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1590,'Geographer@AL_HEAL','idle',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1590,'Geographer@NPC_REVENGE','idle',333,1,10000,0,0,'yes','target','masterattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1613,'Metaling@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1613,'Metaling@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1613,'Metaling@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1613,'Metaling@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1613,'Metaling@CR_AUTOGUARD','chase',249,5,500,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1613,'Metaling@RG_STRIPWEAPON','attack',215,3,500,0,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1613,'Metaling@MC_MAMMONITE','attack',42,5,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@CR_REFLECTSHIELD','attack',252,2,1000,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@NPC_RANDOMATTACK','attack',183,2,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1613,'Metaling@RG_STRIPWEAPON','attack',215,3,500,0,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1613,'Metaling@MC_MAMMONITE','attack',42,5,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@CR_REFLECTSHIELD','attack',252,2,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@NPC_RANDOMATTACK','attack',183,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@NPC_BARRIER','attack',204,1,500,3000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@NPC_SPLASHATTACK','attack',174,1,500,0,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@TF_HIDING','attack',51,1,500,500,50000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@TF_HIDING','idle',51,1,500,500,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@CR_SHIELDCHARGE','attack',250,2,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@TF_HIDING','attack',51,1,500,500,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1614,'Mineral@TF_HIDING','idle',51,1,500,500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@CR_SHIELDCHARGE','attack',250,2,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@NPC_BARRIER','attack',204,1,500,3000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@TF_HIDING','attack',51,1,500,500,50000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@TF_HIDING','idle',51,1,500,500,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@TF_SPRINKLESAND','attack',149,1,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@TF_SPRINKLESAND','chase',149,1,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@NPC_COMBOATTACK','attack',171,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@TF_HIDING','attack',51,1,500,500,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1615,'Obsidian@TF_HIDING','idle',51,1,500,500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@TF_SPRINKLESAND','attack',149,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@TF_SPRINKLESAND','chase',149,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@NPC_COMBOATTACK','attack',171,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@NPC_POWERUP','attack',349,2,3000,500,10000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@HT_CLAYMORETRAP','idle',123,5,500,0,300000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@TF_THROWSTONE','chase',152,1,1000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@NPC_RANDOMATTACK','attack',183,3,500,200,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@HT_CLAYMORETRAP','idle',123,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@TF_THROWSTONE','chase',152,1,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@NPC_RANDOMATTACK','attack',183,3,500,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@NPC_SPLASHATTACK','attack',174,1,1000,500,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_PETRIFYATTACK','attack',180,2,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_DARKBREATH','attack',202,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'14',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_POISONATTACK','attack',188,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_PETRIFYATTACK','attack',180,2,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_DARKBREATH','attack',202,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_POISONATTACK','attack',188,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@AL_TELEPORT','attack',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_SUMMONSLAVE','attack',196,3,10000,700,30000,'no','self','slavele','0',1625,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_SUMMONSLAVE','idle',196,3,10000,700,30000,'no','self','slavele','0',1625,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_SUMMONSLAVE','attack',196,3,10000,700,30000,'no','self','slavele',NULL,1625,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_SUMMONSLAVE','idle',196,3,10000,700,30000,'no','self','slavele',NULL,1625,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1619,'Porcellio@AL_PNEUMA','attack',25,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1619,'Porcellio@NPC_GROUNDATTACK','attack',185,2,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1619,'Porcellio@NPC_GROUNDATTACK','attack',185,2,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1619,'Porcellio@NPC_KEEPING','attack',201,1,2000,1000,5000,'no','self','myhpltmaxrate','25',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1620,'Noxious@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (1620,'Noxious@NPC_SELFDESTRUCTION','chase',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (1620,'Noxious@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','skillused','173',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1620,'Noxious@NPC_TELEKINESISATTACK','attack',191,3,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1620,'Noxious@NPC_MENTALBREAKER','attack',159,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'14',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1620,'Noxious@NPC_TELEKINESISATTACK','attack',191,3,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1620,'Noxious@NPC_MENTALBREAKER','attack',159,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
REPLACE INTO `mob_skill_db` VALUES (1620,'Noxious@NPC_MENTALBREAKER','chase',159,2,500,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
REPLACE INTO `mob_skill_db` VALUES (1621,'Venomous@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (1621,'Venomous@NPC_SELFDESTRUCTION','chase',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (1621,'Venomous@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','skillused','173',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1621,'Venomous@NPC_POISON','attack',176,3,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1621,'Venomous@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1621,'Venomous@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1621,'Venomous@NPC_POISON','attack',176,3,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1621,'Venomous@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1621,'Venomous@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_SELFDESTRUCTION','attack',173,1,1000,2000,10000,'no','self','attackpcge','3',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_SELFDESTRUCTION','chase',173,1,1000,2000,10000,'no','self','attackpcge','3',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_CURSEATTACK','attack',181,4,500,800,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_CURSEATTACK','chase',181,4,500,800,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@SA_DISPELL','attack',289,1,50,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always','0',7,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always','0',23,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_AGIUP','chase',350,5,2000,0,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_POWERUP','attack',349,5,2000,0,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_CURSEATTACK','attack',181,4,500,800,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_CURSEATTACK','chase',181,4,500,800,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@SA_DISPELL','attack',289,1,50,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,23,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_AGIUP','chase',350,5,2000,0,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_POWERUP','attack',349,5,2000,0,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_EARTHQUAKE','chase',653,5,10000,2000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_EARTHQUAKE','attack',653,5,10000,2000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_SUMMONSLAVE','attack',196,5,10000,2000,10000,'no','self','slavele','3',1624,1624,1621,1620,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_SUMMONSLAVE','idle',196,5,10000,2000,10000,'no','self','slavele','3',1624,1624,1621,1620,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1617,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_WEAPONBRAKER','attack',343,10,1000,0,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1617,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_WEAPONBRAKER','attack',343,10,1000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@AL_TELEPORT','idle',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@AL_TELEPORT','walk',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CRITICALSLASH','attack',170,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CRITICALSLASH','attack',170,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@NPC_RANDOMATTACK','attack',183,3,500,200,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@NPC_RANDOMATTACK','attack',183,3,500,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@NPC_SPLASHATTACK','attack',174,1,1000,500,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1625,'Porcellio@AL_PNEUMA','attack',25,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1625,'Porcellio@NPC_GROUNDATTACK','attack',185,2,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1625,'Porcellio@NPC_GROUNDATTACK','attack',185,2,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1625,'Porcellio@NPC_KEEPING','attack',201,1,2000,1000,5000,'no','self','myhpltmaxrate','25',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@NPC_DARKCROSS','attack',338,10,5000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@NPC_CHANGEUNDEAD','attack',348,5,1000,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@MO_BODYRELOCATION','chase',264,1,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@NPC_DARKBREATH','chase',202,5,500,800,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@NPC_GRANDDARKNESS','attack',339,5,2000,2000,30000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@NPC_GRANDDARKNESS','attack',339,5,500,2000,30000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@NPC_DARKSTRIKE','chase',340,10,2000,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1626,'Dark Priest@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_BLOODDRAIN','chase',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_COMBOATTACK','chase',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_WINDATTACK','chase',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@TF_HIDING','idle',51,1,500,500,25000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@NPC_DARKCROSS','attack',338,10,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@NPC_CHANGEUNDEAD','attack',348,5,1000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@MO_BODYRELOCATION','chase',264,1,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@NPC_DARKBREATH','chase',202,5,500,800,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@NPC_GRANDDARKNESS','attack',339,5,2000,2000,30000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@NPC_GRANDDARKNESS','attack',339,5,500,2000,30000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@NPC_DARKSTRIKE','chase',340,10,2000,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1626,'Hellion Revenant@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_BLOODDRAIN','chase',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_COMBOATTACK','chase',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_WINDATTACK','chase',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@TF_HIDING','idle',51,1,500,500,25000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_GROUNDATTACK','chase',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_COMBOATTACK','chase',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',1,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@NPC_WINDATTACK','chase',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@HP_ASSUMPTIO','idle',361,5,10000,500,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@HP_ASSUMPTIO','chase',361,5,10000,500,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@HP_ASSUMPTIO','attack',361,5,10000,500,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_GROUNDATTACK','chase',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_COMBOATTACK','chase',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@NPC_WINDATTACK','chase',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@HP_ASSUMPTIO','idle',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@HP_ASSUMPTIO','chase',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@HP_ASSUMPTIO','attack',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_SUMMONSLAVE','idle',196,3,10000,0,5000,'no','self','slavele','1',1519,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_SUMMONSLAVE','attack',196,3,10000,0,5000,'no','self','slavele','1',1519,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_SUMMONSLAVE','chase',196,3,10000,0,5000,'no','self','slavele','1',1519,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@CR_SHIELDCHARGE','attack',250,5,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@RG_INTIMIDATE','attack',219,1,1000,1000,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@PR_LEXDIVINA','chase',76,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@TF_POISON','attack',52,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1632,'Gremlin@RG_STRIPARMOR','attack',217,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1632,'Gremlin@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@MG_NAPALMBEAT','chase',11,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_MENTALBREAKER','attack',159,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_MENTALBREAKER','chase',159,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@LK_SPIRALPIERCE','chase',397,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@LK_SPIRALPIERCE','attack',397,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@KN_SPEARBOOMERANG','chase',59,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@SM_MAGNUM','attack',7,9,1000,0,0,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@NPC_FIREATTACK','attack',186,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_GRIMTOOTH','chase',137,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@ASC_BREAKER','chase',379,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@ASC_METEORASSAULT','attack',406,10,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_SONICBLOW','attack',136,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_VENOMDUST','idle',140,1,2000,0,50000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_VENOMDUST','attack',140,1,2000,0,50000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@MC_MAMMONITE','attack',42,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@BS_HAMMERFALL','chase',110,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@BS_HAMMERFALL','attack',110,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_FIREATTACK','attack',186,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','attack',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','attack',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','idle',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','idle',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','chase',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','chase',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_AGIUP','idle',350,5,10000,0,35000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_SKIDTRAP','idle',115,5,2000,0,60000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_SKIDTRAP','attack',115,5,500,0,5000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_FLASHER','idle',120,5,2000,0,60000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_FLASHER','attack',120,5,500,0,5000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_FREEZINGTRAP','idle',121,5,2000,0,60000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_FREEZINGTRAP','attack',121,5,500,0,5000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_SIGHT','idle',10,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FROSTDIVER','idle',15,10,10000,1000,10000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_JUPITEL','idle',84,28,10000,1000,10000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','idle',17,20,10000,500,10000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FROSTDIVER','chase',15,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_JUPITEL','chase',84,28,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','chase',17,20,10000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FROSTDIVER','chase',15,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_JUPITEL','attack',84,28,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_JUPITEL','chase',84,28,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_THUNDERSTORM','attack',21,15,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_THUNDERSTORM','chase',21,15,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_COLDBOLT','attack',14,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_COLDBOLT','chase',14,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','attack',17,20,3000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','chase',17,20,3000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_SIGHTRASHER','attack',81,20,3000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_QUAGMIRE','chase',92,5,3000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBOLT','chase',19,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBOLT','attack',19,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREWALL','chase',18,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREWALL','attack',18,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_LIGHTNINGBOLT','chase',20,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_LIGHTNINGBOLT','attack',20,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_FROSTNOVA','chase',88,10,3000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_FROSTNOVA','attack',88,10,3000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_EARTHSPIKE','chase',90,5,3000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_EARTHSPIKE','attack',90,5,3000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_HEAVENDRIVE','chase',91,5,3000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_HEAVENDRIVE','attack',91,5,3000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@CR_SHIELDCHARGE','attack',250,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@RG_INTIMIDATE','attack',219,1,1000,1000,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@PR_LEXDIVINA','chase',76,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@TF_POISON','attack',52,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1632,'Gremlin@RG_STRIPARMOR','attack',217,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1632,'Gremlin@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@MG_NAPALMBEAT','chase',11,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_MENTALBREAKER','attack',159,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_MENTALBREAKER','chase',159,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@LK_SPIRALPIERCE','chase',397,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@LK_SPIRALPIERCE','attack',397,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@KN_SPEARBOOMERANG','chase',59,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@SM_MAGNUM','attack',7,9,1000,0,0,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@NPC_FIREATTACK','attack',186,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_GRIMTOOTH','chase',137,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@ASC_BREAKER','chase',379,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@ASC_METEORASSAULT','attack',406,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_SONICBLOW','attack',136,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_VENOMDUST','idle',140,1,2000,0,50000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_VENOMDUST','attack',140,1,2000,0,50000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@MC_MAMMONITE','attack',42,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@BS_HAMMERFALL','chase',110,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@BS_HAMMERFALL','attack',110,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_FIREATTACK','attack',186,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','attack',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','attack',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','idle',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','idle',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','chase',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','chase',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_AGIUP','idle',350,5,10000,0,35000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_SKIDTRAP','idle',115,5,2000,0,60000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_SKIDTRAP','attack',115,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_FLASHER','idle',120,5,2000,0,60000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_FLASHER','attack',120,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_FREEZINGTRAP','idle',121,5,2000,0,60000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_FREEZINGTRAP','attack',121,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_SIGHT','idle',10,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FROSTDIVER','idle',15,10,10000,1000,10000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_JUPITEL','idle',84,28,10000,1000,10000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBALL','idle',17,20,10000,500,10000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FROSTDIVER','chase',15,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_JUPITEL','chase',84,28,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBALL','chase',17,20,10000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FROSTDIVER','chase',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_JUPITEL','attack',84,28,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_JUPITEL','chase',84,28,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_THUNDERSTORM','attack',21,15,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_THUNDERSTORM','chase',21,15,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_COLDBOLT','attack',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_COLDBOLT','chase',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBALL','attack',17,20,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBALL','chase',17,20,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_SIGHTRASHER','attack',81,20,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_QUAGMIRE','chase',92,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBOLT','chase',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBOLT','attack',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREWALL','chase',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREWALL','attack',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_LIGHTNINGBOLT','chase',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_LIGHTNINGBOLT','attack',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_FROSTNOVA','chase',88,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_FROSTNOVA','attack',88,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_EARTHSPIKE','chase',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_EARTHSPIKE','attack',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_HEAVENDRIVE','chase',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_HEAVENDRIVE','attack',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@WZ_STORMGUST','idle',89,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@WZ_STORMGUST','walk',89,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@LK_SPIRALPIERCE','chase',397,5,2000,0,5000,'yes','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@LK_SPIRALPIERCE','attack',397,5,2000,0,5000,'yes','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@KN_SPEARBOOMERANG','chase',59,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@KN_TWOHANDQUICKEN','attack',60,20,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@KN_TWOHANDQUICKEN','attack',60,20,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@SM_BASH','attack',5,10,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@SM_MAGNUM','attack',7,20,1000,0,0,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@SM_ENDURE','chase',8,10,2000,0,30000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_FIREATTACK','attack',186,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@NPC_FIREATTACK','attack',186,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_GRIMTOOTH','chase',137,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@ASC_BREAKER','chase',379,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@ASC_METEORASSAULT','attack',406,10,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_INVISIBLE','idle',353,1,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_INVISIBLE','attack',353,1,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_GUIDEDATTACK','attack',172,10,2000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@ASC_BREAKER','chase',379,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@ASC_METEORASSAULT','attack',406,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_INVISIBLE','idle',353,1,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_INVISIBLE','attack',353,1,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_GUIDEDATTACK','attack',172,10,2000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_SONICBLOW','attack',136,10,3000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_POISONATTACK','attack',188,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@MC_MAMMONITE','attack',42,20,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@MC_MAMMONITE','attack',42,20,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@BS_HAMMERFALL','attack',110,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Howard@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','attack',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','attack',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','idle',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','idle',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','chase',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','chase',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_LANDMINE','idle',116,5,2000,0,60000,'yes','around3','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_LANDMINE','attack',116,5,500,0,5000,'yes','around3','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_ANKLESNARE','idle',117,5,2000,0,60000,'yes','around3','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_ANKLESNARE','attack',117,5,500,0,5000,'yes','around3','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_BLASTMINE','idle',122,5,2000,0,60000,'yes','around3','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_BLASTMINE','attack',122,5,500,0,5000,'yes','around3','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_WINDATTACK','attack',187,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_STORMGUST','idle',89,10,10000,1000,10000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_VERMILION','idle',85,20,10000,1000,10000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','idle',83,11,10000,1000,10000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@HW_GANBANTEIN','attack',483,5,10000,500,7000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_STORMGUST','chase',89,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_VERMILION','chase',85,20,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','chase',83,11,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_STORMGUST','chase',89,10,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_VERMILION','chase',85,20,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_STORMGUST','attack',89,10,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_VERMILION','attack',85,20,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_FIREPILLAR','idle',80,11,5000,200,2000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_FIREPILLAR','attack',80,11,2000,200,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','chase',83,11,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','attack',83,11,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_WATERBALL','chase',86,5,5000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_WATERBALL','attack',86,5,5000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_POISONATTACK','attack',188,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@MC_MAMMONITE','attack',42,20,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@MC_MAMMONITE','attack',42,20,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@BS_HAMMERFALL','attack',110,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','attack',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','attack',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','idle',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','idle',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','chase',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','chase',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_LANDMINE','idle',116,5,2000,0,60000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_LANDMINE','attack',116,5,500,0,5000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_ANKLESNARE','idle',117,5,2000,0,60000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_ANKLESNARE','attack',117,5,500,0,5000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_BLASTMINE','idle',122,5,2000,0,60000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_BLASTMINE','attack',122,5,500,0,5000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_WINDATTACK','attack',187,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_STORMGUST','idle',89,10,10000,1000,10000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_VERMILION','idle',85,20,10000,1000,10000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','idle',83,11,10000,1000,10000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@HW_GANBANTEIN','attack',483,5,10000,500,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_STORMGUST','chase',89,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_VERMILION','chase',85,20,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','chase',83,11,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_STORMGUST','chase',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_VERMILION','chase',85,20,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_STORMGUST','attack',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_VERMILION','attack',85,20,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_FIREPILLAR','idle',80,11,5000,200,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_FIREPILLAR','attack',80,11,2000,200,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','chase',83,11,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','attack',83,11,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_WATERBALL','chase',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_WATERBALL','attack',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1641,1642,1643,1644,1645,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1641,1642,1643,1644,1645,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1641,1642,1643,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@KN_SPEARBOOMERANG','chase',59,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@LK_SPIRALPIERCE','chase',397,5,2000,0,5000,'yes','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@LK_SPIRALPIERCE','attack',397,5,2000,0,5000,'yes','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@KN_TWOHANDQUICKEN','attack',60,20,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@KN_TWOHANDQUICKEN','attack',60,20,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@SM_BASH','attack',5,10,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@SM_MAGNUM','attack',7,20,1000,0,0,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@SM_ENDURE','chase',8,10,2000,0,30000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_FIREATTACK','attack',186,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_FIREATTACK','attack',186,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_CHANGEFIRE','attack',164,1,10000,500,60000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_CHANGEHOLY','attack',167,1,10000,500,60000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,60000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1642,1643,1644,1645,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1642,1643,1644,1645,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1642,1643,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_GRIMTOOTH','chase',137,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_INVISIBLE','idle',353,1,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_INVISIBLE','attack',353,1,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_GUIDEDATTACK','attack',172,10,2000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_INVISIBLE','idle',353,1,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_INVISIBLE','attack',353,1,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_GUIDEDATTACK','attack',172,10,2000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_SONICBLOW','attack',136,10,3000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@ASC_BREAKER','chase',379,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@ASC_METEORASSAULT','attack',406,10,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_POISONATTACK','attack',188,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@ASC_BREAKER','chase',379,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@ASC_METEORASSAULT','attack',406,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_POISONATTACK','attack',188,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_CHANGEWIND','attack',165,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1643,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1643,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1643,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@MC_MAMMONITE','attack',42,20,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@MC_MAMMONITE','attack',42,20,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@BS_HAMMERFALL','attack',110,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@ST_FULLSTRIP','attack',476,5,1500,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_CHANGEGROUND','attack',163,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Howard@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','attack',28,11,10000,0,1000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','attack',28,11,10000,0,1000,'yes','friend','friendhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','attack',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','attack',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','idle',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','idle',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','chase',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','chase',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1643,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_CLAYMORETRAP','idle',123,5,2000,0,10000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_CLAYMORETRAP','attack',123,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_SANDMAN','idle',119,5,2000,0,10000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_SANDMAN','attack',119,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_SHOCKWAVE','idle',118,5,2000,0,10000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_SHOCKWAVE','attack',118,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_WINDATTACK','attack',187,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_SUMMONSLAVE','attack',196,5,10000,700,30000,'no','self','slavele','3',1640,1641,1642,1643,1644,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_SUMMONSLAVE','idle',196,5,10000,700,30000,'no','self','slavele','3',1640,1641,1642,1643,1644,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1643,1644,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_STORMGUST','idle',89,10,10000,1000,10000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_VERMILION','idle',85,20,10000,1000,10000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_METEOR','idle',83,11,10000,1000,10000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_STORMGUST','chase',89,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_VERMILION','chase',85,20,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_METEOR','chase',83,11,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_STORMGUST','chase',89,10,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_VERMILION','chase',85,20,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_STORMGUST','attack',89,10,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_VERMILION','attack',85,20,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_FIREPILLAR','idle',80,11,5000,200,2000,'yes','around3','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_FIREPILLAR','attack',80,11,2000,200,0,'yes','around3','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_METEOR','chase',83,11,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_METEOR','attack',83,11,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_WATERBALL','chase',86,5,5000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_WATERBALL','attack',86,5,5000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_ATTRICHANGE','attack',161,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@SM_BASH','attack',5,9,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@SM_BASH','attack',5,9,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@SM_MAGNUM','attack',7,9,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@SM_PROVOKE','chase',6,9,500,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@TF_POISON','attack',52,9,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@TF_POISON','attack',52,9,10000,1000,1000,'no','target','skillused','52',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_POISONATTACK','attack',188,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',8,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@MC_MAMMONITE','attack',42,9,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@MC_MAMMONITE','attack',42,9,10000,800,1000,'no','target','skillused','42',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_STUNATTACK','attack',179,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_PNEUMA','idle',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'22',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','attack',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','idle',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','idle',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','chase',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','chase',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@NPC_HOLYATTACK','attack',189,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@NPC_SILENCEATTACK','attack',178,4,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_DECAGI','attack',30,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_DECAGI','chase',30,1,2000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AC_DOUBLE','attack',46,1,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AC_DOUBLE','attack',46,1,10000,1000,1000,'no','target','skillused','46',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AC_DOUBLE','chase',46,1,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AC_SHOWER','attack',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_WINDATTACK','attack',187,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SOULSTRIKE','idle',13,9,5000,0,1000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_LIGHTNINGBOLT','idle',20,9,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SOULSTRIKE','attack',13,5,3000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SOULSTRIKE','attack',13,3,2000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_BASH','attack',5,10,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_BASH','attack',5,10,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_MAGNUM','attack',7,20,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_PROVOKE','attack',6,10,500,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@KN_TWOHANDQUICKEN','attack',60,20,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@LK_SPIRALPIERCE','attack',397,2,2500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CHANGEWATER','attack',162,1,10000,500,10000,'no','self','skillused','89',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CHANGEWIND','attack',165,1,10000,500,10000,'no','self','skillused','84',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1659,1660,1661,1662,1663,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1659,1660,1661,1662,1663,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@TF_POISON','attack',52,9,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@TF_POISON','attack',52,9,10000,1000,1000,'no','target','skillused','52',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_POISONATTACK','attack',188,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',8,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@MC_MAMMONITE','attack',42,9,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@MC_MAMMONITE','attack',42,9,10000,800,1000,'no','target','skillused','42',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_GROUNDATTACK','attack',185,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','attack',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','attack',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','idle',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','idle',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','chase',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','chase',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@NPC_HOLYATTACK','attack',189,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@NPC_SILENCEATTACK','attack',178,4,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_DECAGI','attack',30,48,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_DECAGI','chase',30,48,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@AC_DOUBLE','attack',46,10,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@AC_DOUBLE','attack',46,10,10000,1000,1000,'no','target','skillused','46',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@AC_DOUBLE','chase',46,10,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@AC_SHOWER','attack',47,10,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_WINDATTACK','attack',187,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1664,'Photon Cannon@NPC_WINDATTACK','attack',187,5,1000,1000,10000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1664,'Photon Cannon@NPC_WINDATTACK','attack',187,3,2000,500,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1664,'Photon Cannon@NPC_WINDATTACK','attack',187,1,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1665,'Photon Cannon@NPC_FIREATTACK','attack',186,5,1000,1000,10000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1665,'Photon Cannon@NPC_FIREATTACK','attack',186,3,2000,500,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1665,'Photon Cannon@NPC_FIREATTACK','attack',186,1,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1666,'Photon Cannon@NPC_WATERATTACK','attack',184,5,1000,1000,10000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1666,'Photon Cannon@NPC_WATERATTACK','attack',184,3,2000,500,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1666,'Photon Cannon@NPC_WATERATTACK','attack',184,1,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1667,'Photon Cannon@NPC_GROUNDATTACK','attack',185,5,1000,1000,10000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1667,'Photon Cannon@NPC_GROUNDATTACK','attack',185,3,2000,500,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1667,'Photon Cannon@NPC_GROUNDATTACK','attack',185,1,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1668,'Archdam@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1668,'Archdam@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1668,'Archdam@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1643,1644,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1643,1644,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1643,1644,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@MC_MAMMONITE','attack',42,20,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@MC_MAMMONITE','attack',42,20,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@BS_HAMMERFALL','attack',110,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@ST_FULLSTRIP','attack',476,5,1500,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CHANGEGROUND','attack',163,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','attack',28,11,10000,0,1000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','attack',28,11,10000,0,1000,'yes','friend','friendhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1644,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1644,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1644,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','attack',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','attack',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','idle',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','idle',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','chase',28,11,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','chase',28,11,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1643,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_CLAYMORETRAP','idle',123,5,2000,0,10000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_CLAYMORETRAP','attack',123,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_SANDMAN','idle',119,5,2000,0,10000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_SANDMAN','attack',119,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_SHOCKWAVE','idle',118,5,2000,0,10000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_SHOCKWAVE','attack',118,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_WINDATTACK','attack',187,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_SUMMONSLAVE','attack',196,5,10000,700,30000,'no','self','slavele','3',1640,1641,1642,1643,1644,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_SUMMONSLAVE','idle',196,5,10000,700,30000,'no','self','slavele','3',1640,1641,1642,1643,1644,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1643,1644,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_STORMGUST','idle',89,10,10000,1000,10000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_VERMILION','idle',85,20,10000,1000,10000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_METEOR','idle',83,11,10000,1000,10000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_STORMGUST','chase',89,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_VERMILION','chase',85,20,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_METEOR','chase',83,11,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_STORMGUST','chase',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_VERMILION','chase',85,20,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_STORMGUST','attack',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_VERMILION','attack',85,20,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_FIREPILLAR','idle',80,11,5000,200,2000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_FIREPILLAR','attack',80,11,2000,200,0,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_METEOR','chase',83,11,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_METEOR','attack',83,11,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_WATERBALL','chase',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_WATERBALL','attack',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_ATTRICHANGE','attack',161,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@SM_BASH','attack',5,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@SM_BASH','attack',5,9,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@SM_MAGNUM','attack',7,9,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@SM_PROVOKE','chase',6,9,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@TF_POISON','attack',52,9,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@TF_POISON','attack',52,9,10000,1000,1000,'no','target','skillused','52',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_POISONATTACK','attack',188,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,8,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@MC_MAMMONITE','attack',42,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@MC_MAMMONITE','attack',42,9,10000,800,1000,'no','target','skillused','42',NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_STUNATTACK','attack',179,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_PNEUMA','idle',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'22',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','attack',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','idle',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','idle',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','chase',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','chase',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@NPC_HOLYATTACK','attack',189,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@NPC_SILENCEATTACK','attack',178,4,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_DECAGI','attack',30,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_DECAGI','chase',30,1,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AC_DOUBLE','attack',46,1,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AC_DOUBLE','attack',46,1,10000,1000,1000,'no','target','skillused','46',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AC_DOUBLE','chase',46,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AC_SHOWER','attack',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_WINDATTACK','attack',187,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SOULSTRIKE','idle',13,9,5000,0,1000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_LIGHTNINGBOLT','idle',20,9,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SOULSTRIKE','attack',13,5,3000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SOULSTRIKE','attack',13,3,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_BASH','attack',5,10,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_BASH','attack',5,10,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_MAGNUM','attack',7,20,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_PROVOKE','attack',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@KN_TWOHANDQUICKEN','attack',60,20,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@LK_SPIRALPIERCE','attack',397,2,2500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CHANGEWATER','attack',162,1,10000,500,10000,'no','self','skillused','89',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CHANGEWIND','attack',165,1,10000,500,10000,'no','self','skillused','84',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1659,1660,1661,1662,1663,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1659,1660,1661,1662,1663,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@TF_POISON','attack',52,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@TF_POISON','attack',52,9,10000,1000,1000,'no','target','skillused','52',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_POISONATTACK','attack',188,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,8,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@MC_MAMMONITE','attack',42,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@MC_MAMMONITE','attack',42,9,10000,800,1000,'no','target','skillused','42',NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_GROUNDATTACK','attack',185,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','attack',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','attack',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','idle',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','idle',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','chase',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','chase',28,11,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@NPC_HOLYATTACK','attack',189,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@NPC_SILENCEATTACK','attack',178,4,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_DECAGI','attack',30,48,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_DECAGI','chase',30,48,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@AC_DOUBLE','attack',46,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@AC_DOUBLE','attack',46,10,10000,1000,1000,'no','target','skillused','46',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@AC_DOUBLE','chase',46,10,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@AC_SHOWER','attack',47,10,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_WINDATTACK','attack',187,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1664,'Photon Cannon@NPC_WINDATTACK','attack',187,5,1000,1000,10000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1664,'Photon Cannon@NPC_WINDATTACK','attack',187,3,2000,500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1664,'Photon Cannon@NPC_WINDATTACK','attack',187,1,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1665,'Photon Cannon@NPC_FIREATTACK','attack',186,5,1000,1000,10000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1665,'Photon Cannon@NPC_FIREATTACK','attack',186,3,2000,500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1665,'Photon Cannon@NPC_FIREATTACK','attack',186,1,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1666,'Photon Cannon@NPC_WATERATTACK','attack',184,5,1000,1000,10000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1666,'Photon Cannon@NPC_WATERATTACK','attack',184,3,2000,500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1666,'Photon Cannon@NPC_WATERATTACK','attack',184,1,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1667,'Photon Cannon@NPC_GROUNDATTACK','attack',185,5,1000,1000,10000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1667,'Photon Cannon@NPC_GROUNDATTACK','attack',185,3,2000,500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1667,'Photon Cannon@NPC_GROUNDATTACK','attack',185,1,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1668,'Archdam@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1668,'Archdam@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1668,'Archdam@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1668,'Archdam@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1668,'Archdam@NPC_RANDOMATTACK','attack',183,5,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1669,'Dimik@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1668,'Archdam@NPC_RANDOMATTACK','attack',183,5,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1669,'Dimik@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1669,'Dimik@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1669,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1669,'Dimik@NPC_COMBOATTACK','attack',171,4,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1669,'Dimik@NPC_COMBOATTACK','chase',171,4,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1669,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1669,'Dimik@NPC_COMBOATTACK','attack',171,4,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1669,'Dimik@NPC_COMBOATTACK','chase',171,4,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@NPC_COMBOATTACK','attack',171,4,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@NPC_COMBOATTACK','chase',171,4,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@NPC_WINDATTACK','attack',187,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@NPC_COMBOATTACK','attack',171,4,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@NPC_COMBOATTACK','chase',171,4,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1670,'Dimik@NPC_WINDATTACK','attack',187,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@NPC_COMBOATTACK','attack',171,6,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@NPC_COMBOATTACK','chase',171,6,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@NPC_WATERATTACK','attack',184,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@NPC_RANDOMATTACK','attack',183,2,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@NPC_COMBOATTACK','attack',171,6,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@NPC_COMBOATTACK','chase',171,6,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1671,'Dimik@NPC_WATERATTACK','attack',184,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@NPC_RANDOMATTACK','attack',183,2,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@NPC_COMBOATTACK','attack',171,4,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@NPC_COMBOATTACK','chase',171,4,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@NPC_COMBOATTACK','attack',171,4,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@NPC_COMBOATTACK','chase',171,4,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1672,'Dimik@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@NPC_COMBOATTACK','attack',171,4,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@NPC_COMBOATTACK','chase',171,4,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1674,'Monemus@NPC_FIREATTACK','attack',186,10,500,1000,30000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1674,'Monemus@NPC_FIREATTACK','attack',186,3,1000,0,10000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1674,'Monemus@NPC_FIREATTACK','attack',186,1,10000,0,0,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always','0',7,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',0,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@NPC_COMBOATTACK','attack',171,4,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@NPC_COMBOATTACK','chase',171,4,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1674,'Monemus@NPC_FIREATTACK','attack',186,10,500,1000,30000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1674,'Monemus@NPC_FIREATTACK','attack',186,3,1000,0,10000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1674,'Monemus@NPC_FIREATTACK','attack',186,1,10000,0,0,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always','0',7,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',0,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_WINDATTACK','attack',187,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always','0',7,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',0,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_WINDATTACK','attack',187,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always','0',7,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',0,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_WATERATTACK','attack',184,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always','0',7,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',0,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1680,'Hill Wind@NPC_WINDATTACK','chase',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1680,'Hill Wind@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_WATERATTACK','attack',184,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1680,'Hill Wind@NPC_WINDATTACK','chase',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1680,'Hill Wind@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1680,'Hill Wind@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1680,'Hill Wind@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1680,'Hill Wind@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',30,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',31,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@KN_PIERCE','attack',56,5,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_PIERCINGATT','attack',158,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1680,'Hill Wind@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1680,'Hill Wind@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,31,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@KN_PIERCE','attack',56,5,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_PIERCINGATT','attack',158,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_COMBOATTACK','chase',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1682,'Remover@SM_BASH','attack',5,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1682,'Remover@NPC_UNDEADATTACK','attack',347,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_COMBOATTACK','chase',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1682,'Removal@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1682,'Removal@NPC_UNDEADATTACK','attack',347,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_SUMMONSLAVE','attack',196,3,10000,2000,5000,'no','self','slavele','15',1365,1669,1675,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn','0',1365,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn',NULL,1365,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_POWERUP','attack',349,5,5000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_CRITICALSLASH','attack',170,1,5000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@WZ_METEOR','attack',83,11,500,10000,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_EMOTION','idle',197,1,1000,0,0,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@SM_BASH','attack',5,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_EMOTION','idle',197,1,10000,0,5000,'no','self','slavele','0',28,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_EMOTION','attack',197,1,10000,0,5000,'no','self','slavele','0',28,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','idle',196,2,10000,0,6000000,'yes','self','slavele','0',1023,1273,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','attack',196,2,10000,0,6000000,'yes','self','slavele','0',1023,1273,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','chase',196,2,10000,0,6000000,'yes','self','slavele','0',1023,1273,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@AM_POTIONPITCHER','idle',231,4,2000,0,0,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@AM_POTIONPITCHER','attack',231,4,2000,0,0,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@AL_TELEPORT','attack',26,1,1000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_EXPULSION','attack',674,1,1000,1000,10000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_COMBOATTACK','attack',171,1,1000,0,5000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_STUNATTACK','attack',179,5,500,0,5000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_DEFENDER','attack',205,1,500,0,30000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_SUMMONSLAVE','attack',196,5,10000,2000,5000,'no','self','slavele','2',1691,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_SUMMONSLAVE','idle',196,5,10000,2000,5000,'no','self','slavele','2',1691,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tany@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_POWERUP','attack',349,5,5000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_CRITICALSLASH','attack',170,1,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@WZ_METEOR','attack',83,11,500,10000,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_EMOTION','idle',197,1,1000,0,0,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_EMOTION','idle',197,1,10000,0,5000,'no','self','slavele',NULL,28,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_EMOTION','attack',197,1,10000,0,5000,'no','self','slavele',NULL,28,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','idle',196,2,10000,0,6000000,'yes','self','slavele',NULL,1023,1273,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','attack',196,2,10000,0,6000000,'yes','self','slavele',NULL,1023,1273,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','chase',196,2,10000,0,6000000,'yes','self','slavele',NULL,1023,1273,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@AM_POTIONPITCHER','idle',231,4,2000,0,0,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@AM_POTIONPITCHER','attack',231,4,2000,0,0,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@AL_TELEPORT','attack',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_EXPULSION','attack',674,1,1000,1000,10000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_COMBOATTACK','attack',171,1,1000,0,5000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_STUNATTACK','attack',179,5,500,0,5000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_DEFENDER','attack',205,1,500,0,30000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_SUMMONSLAVE','attack',196,5,10000,2000,5000,'no','self','slavele','2',1691,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_SUMMONSLAVE','idle',196,5,10000,2000,5000,'no','self','slavele','2',1691,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_SUMMONSLAVE','idle',196,4,10000,0,5000,'yes','self','slavele','2',1690,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_SUMMONSLAVE','attack',196,4,10000,0,5000,'yes','self','slavele','2',1690,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_SUMMONSLAVE','chase',196,4,10000,0,5000,'yes','self','slavele','2',1690,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0xC3,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@SM_BASH','attack',5,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1691,'Kraben@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1691,'Kraben@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1691,'Kraben@NPC_STUNATTACK','attack',179,1,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,195,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@SM_BASH','attack',5,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1691,'Kraben@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1691,'Kraben@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1691,'Kraben@NPC_STUNATTACK','attack',179,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1692,'Breeze@NPC_DEFENDER','attack',205,1,1000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1692,'Breeze@NPC_DEFENDER','chase',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1692,'Breeze@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1692,'Breeze@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1692,'Breeze@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@NPC_STUNATTACK','chase',179,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@NPC_STUNATTACK','attack',179,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@MG_SOULSTRIKE','chase',13,9,3000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@MG_SOULSTRIKE','attack',13,9,3000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@MG_NAPALMBEAT','attack',11,7,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1692,'Breeze@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1692,'Breeze@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1692,'Breeze@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@NPC_STUNATTACK','chase',179,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@NPC_STUNATTACK','attack',179,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@MG_SOULSTRIKE','chase',13,9,3000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@MG_SOULSTRIKE','attack',13,9,3000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@MG_NAPALMBEAT','attack',11,7,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@MG_NAPALMBEAT','attack',11,7,4000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@NPC_SLEEPATTACK','chase',182,5,1000,300,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@NPC_SLEEPATTACK','attack',182,5,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@MG_FIREBOLT','chase',19,7,3000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@MG_FIREBOLT','attack',19,7,3000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1693,'Plasma@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@NPC_SLEEPATTACK','chase',182,5,1000,300,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@NPC_SLEEPATTACK','attack',182,5,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@MG_FIREBOLT','chase',19,7,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@MG_FIREBOLT','attack',19,7,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@MG_FIREBALL','chase',17,5,3000,500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@MG_FIREBALL','attack',17,7,2000,500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@NPC_FIREATTACK','attack',186,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@MG_STONECURSE','chase',16,8,2000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@MG_STONECURSE','attack',16,8,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@WZ_EARTHSPIKE','chase',90,5,3000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@WZ_EARTHSPIKE','attack',90,5,3000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@NPC_GROUNDATTACK','attack',185,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_DARKSTRIKE','chase',340,9,3000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_DARKSTRIKE','attack',340,9,3000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1694,'Plasma@NPC_FIREATTACK','attack',186,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@MG_STONECURSE','chase',16,8,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@MG_STONECURSE','attack',16,8,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@WZ_EARTHSPIKE','chase',90,5,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@WZ_EARTHSPIKE','attack',90,5,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1695,'Plasma@NPC_GROUNDATTACK','attack',185,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_DARKSTRIKE','chase',340,9,3000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_DARKSTRIKE','attack',340,9,3000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1696,'Plasma@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_FROSTDIVER','chase',15,9,2000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_FROSTDIVER','attack',15,9,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_COLDBOLT','chase',14,6,3000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_COLDBOLT','attack',14,6,3000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@WZ_WATERBALL','attack',86,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@NPC_WATERATTACK','attack',184,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_FROSTDIVER','chase',15,9,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_FROSTDIVER','attack',15,9,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_COLDBOLT','chase',14,6,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_COLDBOLT','attack',14,6,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@WZ_WATERBALL','attack',86,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@NPC_WATERATTACK','attack',184,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_SPLASHATTACK','attack',174,1,1000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1699,'Ancient Mimic@CR_AUTOGUARD','chase',249,3,1000,0,250000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1699,'Ancient Mimic@CR_AUTOGUARD','attack',249,3,500,0,250000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1699,'Ancient Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1699,'Ancient Mimic@CR_AUTOGUARD','attack',249,3,500,0,250000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1699,'Ancient Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@RG_INTIMIDATE','attack',219,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@WZ_JUPITEL','attack',84,4,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@WZ_JUPITEL','chase',84,4,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@RG_INTIMIDATE','attack',219,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@WZ_JUPITEL','attack',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@WZ_JUPITEL','chase',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKNESSATTACK','chase',190,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKTHUNDER','chase',341,4,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKTHUNDER','attack',341,4,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKNESSATTACK','chase',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKTHUNDER','chase',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKTHUNDER','attack',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_GRANDDARKNESS','attack',339,1,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@CR_GRANDCROSS','attack',254,1,1000,1500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXDIVINA','chase',76,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXDIVINA','attack',76,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@MG_NAPALMBEAT','attack',11,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@MG_NAPALMBEAT','chase',11,5,1000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXDIVINA','chase',76,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXDIVINA','attack',76,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@MG_NAPALMBEAT','attack',11,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@MG_NAPALMBEAT','chase',11,5,1000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_CHANGEDARKNESS','attack',168,1,1000,0,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,50000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_CHANGEDARKNESS','attack',168,1,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,10000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_TELEKINESISATTACK','attack',191,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_TELEKINESISATTACK','attack',191,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_FIREATTACK','attack',186,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_FIREATTACK','attack',186,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@WZ_SIGHTRASHER','attack',81,20,1000,0,10000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@SM_PROVOKE','attack',6,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@SM_PROVOKE','chase',6,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@SM_PROVOKE','attack',6,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@SM_PROVOKE','chase',6,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@AS_SONICBLOW','attack',136,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_INVISIBLE','attack',353,1,500,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_INVISIBLE','idle',353,1,500,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@AS_SONICBLOW','attack',136,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_INVISIBLE','attack',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_INVISIBLE','idle',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_MAGICALATTACK','attack',192,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_MENTALBREAKER','attack',159,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_MENTALBREAKER','chase',159,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_DARKTHUNDER','attack',341,9,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_DARKTHUNDER','chase',341,9,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_DECAGI','attack',30,48,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_MAGICALATTACK','attack',192,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_MENTALBREAKER','attack',159,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_MENTALBREAKER','chase',159,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_DARKTHUNDER','attack',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_DARKTHUNDER','chase',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_DECAGI','attack',30,48,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','attack',28,8,1000,0,5000,'yes','friend','friendhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','attack',28,8,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','idle',28,8,1000,0,5000,'yes','friend','friendhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','idle',28,8,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','chase',28,8,1000,0,5000,'yes','friend','friendhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','chase',28,8,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_SUMMONSLAVE','attack',196,6,10000,700,30000,'no','self','slavele','0',1711,1710,1709,1712,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_SUMMONSLAVE','idle',196,6,10000,700,30000,'no','self','slavele','0',1711,1710,1709,1712,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_SUMMONSLAVE','attack',196,6,10000,700,30000,'no','self','slavele',NULL,1711,1710,1709,1712,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_SUMMONSLAVE','idle',196,6,10000,700,30000,'no','self','slavele',NULL,1711,1710,1709,1712,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_EXPULSION','attack',674,1,1000,1000,10000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@KN_TWOHANDQUICKEN','attack',60,20,3000,0,300000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@BS_HAMMERFALL','attack',110,11,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@BS_HAMMERFALL','chase',110,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@BS_HAMMERFALL','attack',110,11,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_CHANGEHOLY','attack',167,1,5000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_STORMGUST','chase',89,10,2000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_VERMILION','chase',85,20,2000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_STORMGUST','attack',89,10,2000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_VERMILION','attack',85,20,2000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_METEOR','chase',83,11,2000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_METEOR','attack',83,11,2000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@MG_SOULSTRIKE','chase',13,10,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@MG_SOULSTRIKE','attack',13,10,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_STORMGUST','chase',89,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_VERMILION','chase',85,20,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_STORMGUST','attack',89,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_VERMILION','attack',85,20,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_METEOR','chase',83,11,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_METEOR','attack',83,11,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@MG_SOULSTRIKE','chase',13,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@MG_SOULSTRIKE','attack',13,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@AL_TELEPORT','walk',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@AL_TELEPORT','attack',26,1,500,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@AL_TELEPORT','attack',26,1,500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_CHANGEDARKNESS','attack',168,1,1000,0,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,50000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_CHANGEDARKNESS','attack',168,1,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,10000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_TELEKINESISATTACK','attack',191,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_TELEKINESISATTACK','attack',191,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_FIREATTACK','attack',186,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_FIREATTACK','attack',186,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@WZ_SIGHTRASHER','attack',81,20,1000,0,10000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@SM_PROVOKE','attack',6,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@SM_PROVOKE','attack',6,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@AS_SONICBLOW','attack',136,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_INVISIBLE','attack',353,1,500,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_INVISIBLE','idle',353,1,500,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@AS_SONICBLOW','attack',136,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_INVISIBLE','attack',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_INVISIBLE','idle',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_MAGICALATTACK','attack',192,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_MENTALBREAKER','attack',159,2,500,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_MENTALBREAKER','chase',159,2,500,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_DARKTHUNDER','attack',341,9,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_DARKTHUNDER','chase',341,9,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_DECAGI','attack',30,48,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_MAGICALATTACK','attack',192,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_MENTALBREAKER','attack',159,2,500,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_MENTALBREAKER','chase',159,2,500,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_DARKTHUNDER','attack',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_DARKTHUNDER','chase',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_DECAGI','attack',30,48,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','attack',28,11,1000,0,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','attack',28,11,1000,0,5000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','idle',28,9,1000,0,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','idle',28,9,1000,0,5000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','chase',28,9,1000,0,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','chase',28,9,1000,0,5000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@NPC_FIREATTACK','attack',186,6,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@NPC_STUNATTACK','attack',179,5,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@MG_FIREBALL','idle',17,9,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@MG_FIREBALL','chase',17,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'44',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@NPC_FIREATTACK','attack',186,6,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@NPC_STUNATTACK','attack',179,5,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@MG_FIREBALL','idle',17,9,2000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@MG_FIREBALL','chase',17,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'44',NULL);
REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@SM_MAGNUM','attack',7,9,2000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@WZ_FIREPILLAR','idle',80,3,100,0,30000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@WZ_FIREPILLAR','idle',80,3,100,0,30000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@KN_BRANDISHSPEAR','attack',57,20,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',36,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@KN_BRANDISHSPEAR','attack',57,20,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,36,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@SM_BASH','attack',5,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@NPC_PIERCINGATT','attack',158,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'37',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@NPC_WINDATTACK','attack',187,6,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@MG_LIGHTNINGBOLT','idle',20,8,2000,1000,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@MG_LIGHTNINGBOLT','chase',20,8,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@MG_LIGHTNINGBOLT','attack',20,8,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@MG_THUNDERSTORM','attack',21,9,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@SM_BASH','attack',5,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@NPC_PIERCINGATT','attack',158,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'37',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@NPC_WINDATTACK','attack',187,6,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@MG_LIGHTNINGBOLT','idle',20,8,2000,1000,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@MG_LIGHTNINGBOLT','chase',20,8,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@MG_LIGHTNINGBOLT','attack',20,8,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@MG_THUNDERSTORM','attack',21,9,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@MG_THUNDERSTORM','attack',21,9,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1716,'Acidus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@KN_BRANDISHSPEAR','attack',57,20,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'44',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@NPC_GROUNDATTACK','attack',185,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@NPC_PIERCINGATT','attack',158,5,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@KN_BRANDISHSPEAR','attack',57,20,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'44',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@NPC_GROUNDATTACK','attack',185,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@NPC_PIERCINGATT','attack',158,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1717,'Ferus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@SM_BASH','attack',5,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@SM_BASH','attack',5,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_SUMMONSLAVE','attack',196,1,10000,2000,5000,'no','self','slavele','0',1756,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_SUMMONSLAVE','idle',196,1,10000,2000,5000,'no','self','slavele','0',1756,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_SUMMONSLAVE','chase',196,1,10000,2000,5000,'no','self','slavele','0',1756,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_SUMMONSLAVE','attack',196,1,10000,2000,5000,'no','self','slavele',NULL,1756,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_SUMMONSLAVE','idle',196,1,10000,2000,5000,'no','self','slavele',NULL,1756,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_SUMMONSLAVE','chase',196,1,10000,2000,5000,'no','self','slavele',NULL,1756,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_FIREBREATH','attack',654,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_DARKBREATH','attack',202,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_FIREBREATH','attack',654,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_DARKBREATH','attack',202,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_METEOR','attack',83,11,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_METEOR','chase',83,11,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@MG_FIREBALL','chase',17,20,5000,500,1000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@SM_PROVOKE','attack',6,10,10000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_METEOR','attack',83,11,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_METEOR','chase',83,11,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@MG_FIREBALL','chase',17,20,5000,500,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@SM_PROVOKE','attack',6,10,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@SM_MAGNUM','attack',7,20,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
@@ -3627,489 +3652,489 @@ REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AL_TELEPORT','idle',26,1,10000,0
REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AL_HEAL','chase',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_POWERUP','attack',349,3,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@WZ_METEOR','attack',83,11,2000,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@WZ_METEOR','attack',83,11,2000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_SUMMONSLAVE','attack',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_SUMMONSLAVE','idle',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_SUMMONSLAVE','chase',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1721,'Dragon Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',1715,1718,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_MAGNUM','chase',7,5,2500,0,3000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_MAGNUM','attack',7,5,2500,0,3000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@MG_SAFETYWALL','idle',12,10,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_MAGNUM','chase',7,5,2500,0,3000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_MAGNUM','attack',7,5,2500,0,3000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@MG_SAFETYWALL','idle',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@MG_SAFETYWALL','attack',12,10,4000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_ENDURE','chase',8,10,5000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_ENDURE','attack',8,10,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@PR_LEXDIVINA','attack',76,5,1000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_ENDURE','chase',8,10,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@SM_ENDURE','attack',8,10,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@PR_LEXDIVINA','attack',76,5,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@PR_LEXDIVINA','attack',76,5,1000,0,30000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@KN_BRANDISHSPEAR','chase',57,6,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@KN_BRANDISHSPEAR','attack',57,6,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@KN_BRANDISHSPEAR','chase',57,6,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@KN_BRANDISHSPEAR','attack',57,6,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@AL_PNEUMA','attack',25,1,10000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@AL_TELEPORT','walk',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@NPC_SUMMONSLAVE','attack',196,6,10000,700,30000,'no','self','slavele','0',1739,1740,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@NPC_SUMMONSLAVE','idle',196,6,10000,700,30000,'no','self','slavele','0',1739,1740,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@HW_GANBANTEIN','attack',483,5,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@SM_MAGNUM','chase',7,20,1000,0,3000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@SM_MAGNUM','attack',7,20,1000,0,3000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@NPC_WIDESILENCE','chase',663,5,10000,500,25000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@NPC_WIDESILENCE','attack',663,5,10000,500,25000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@NPC_DARKBLESSING','attack',203,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@MG_SAFETYWALL','attack',12,10,4000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@SM_ENDURE','chase',8,10,5000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@SM_ENDURE','attack',8,10,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@NPC_POWERUP','attack',349,4,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@NPC_POWERUP','attack',349,4,3000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@PR_LEXDIVINA','attack',76,5,1000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@PR_LEXDIVINA','attack',76,5,1000,0,30000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@KN_BRANDISHSPEAR','chase',57,20,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@KN_BRANDISHSPEAR','attack',57,20,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@AL_TELEPORT','walk',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@AL_PNEUMA','attack',25,1,10000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel-D-01@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1735,'Alicel@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1735,'Alicel@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1735,'Alicel@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1735,'Alicel@NPC_GUIDEDATTACK','attack',172,1,1000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_SUMMONSLAVE','attack',196,6,10000,700,30000,'no','self','slavele',NULL,1739,1740,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_SUMMONSLAVE','idle',196,6,10000,700,30000,'no','self','slavele',NULL,1739,1740,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@HW_GANBANTEIN','attack',483,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@SM_MAGNUM','chase',7,20,1000,0,3000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@SM_MAGNUM','attack',7,20,1000,0,3000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_WIDESILENCE','chase',663,5,10000,500,25000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_WIDESILENCE','attack',663,5,10000,500,25000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_DARKBLESSING','attack',203,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@MG_SAFETYWALL','attack',12,10,4000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@SM_ENDURE','chase',8,10,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@SM_ENDURE','attack',8,10,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_POWERUP','attack',349,4,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_POWERUP','attack',349,4,3000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@PR_LEXDIVINA','attack',76,5,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@PR_LEXDIVINA','attack',76,5,1000,0,30000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@KN_BRANDISHSPEAR','chase',57,20,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@KN_BRANDISHSPEAR','attack',57,20,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@AL_TELEPORT','walk',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@AL_PNEUMA','attack',25,1,10000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1735,'Alicel@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1735,'Alicel@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1735,'Alicel@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1735,'Alicel@NPC_GUIDEDATTACK','attack',172,1,1000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1735,'Alicel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@KN_SPEARSTAB','attack',58,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@KN_SPEARSTAB','attack',58,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@CR_AUTOGUARD','attack',249,5,1000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@CR_AUTOGUARD','attack',249,5,1000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@NPC_REBIRTH','dead',208,3,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@SM_BASH','attack',5,10,2000,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'52',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@NPC_EMOTION','walk',197,1,500,0,30000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@NPC_EMOTION','idle',197,1,500,0,30000,'yes','self','always','0',54,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1736,'Aliot@NPC_REBIRTH','dead',208,3,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@SM_BASH','attack',5,10,2000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'52',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@NPC_EMOTION','walk',197,1,500,0,30000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@NPC_EMOTION','idle',197,1,500,0,30000,'yes','self','always',NULL,54,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@AL_HEAL','idle',28,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@AL_HEAL','walk',28,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@AL_HEAL','chase',28,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1737,'Aliza@AL_HEAL','attack',28,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1738,'Constant@NPC_SELFDESTRUCTION','attack',173,1,10000,1000,0,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1738,'Constant@NPC_SELFDESTRUCTION','chase',173,1,2000,1000,0,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1739,'Alicel@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1739,'Alicel@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1739,'Alicel@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1739,'Alicel@NPC_GUIDEDATTACK','attack',172,1,1000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@KN_SPEARSTAB','attack',58,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1738,'Constant@NPC_SELFDESTRUCTION','attack',173,1,10000,1000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1738,'Constant@NPC_SELFDESTRUCTION','chase',173,1,2000,1000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1739,'Alicel@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1739,'Alicel@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1739,'Alicel@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1739,'Alicel@NPC_GUIDEDATTACK','attack',172,1,1000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@KN_SPEARSTAB','attack',58,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@CR_AUTOGUARD','attack',249,5,1000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@CR_AUTOGUARD','attack',249,5,1000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@NPC_REBIRTH','dead',208,3,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@NPC_HOLYATTACK','attack',189,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@PR_LEXAETERNA','attack',78,1,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@PR_LEXAETERNA','chase',78,1,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1742,'Carat@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1742,'Carat@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1742,'Carat@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1742,'Carat@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1740,'Aliot@NPC_REBIRTH','dead',208,3,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@NPC_HOLYATTACK','attack',189,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@PR_LEXAETERNA','attack',78,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1741,'Christmas Cookie@PR_LEXAETERNA','chase',78,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1742,'Carat@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1742,'Carat@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1742,'Carat@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1742,'Carat@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',3,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1744,'Wild Rose@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1744,'Wild Rose@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1744,'Wild Rose@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1745,'Constant@NPC_SELFDESTRUCTION','attack',173,1,10000,0,0,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1745,'Constant@NPC_SELFDESTRUCTION','chase',173,1,2000,0,0,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1743,'Myst Case@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1744,'Wild Rose@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1744,'Wild Rose@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1744,'Wild Rose@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1745,'Constant@NPC_SELFDESTRUCTION','attack',173,1,10000,0,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1745,'Constant@NPC_SELFDESTRUCTION','chase',173,1,2000,0,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','attack',196,3,10000,2000,5000,'no','self','slavele','1',1891,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','idle',196,3,10000,2000,5000,'no','self','slavele','1',1891,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','chase',196,3,10000,2000,5000,'no','self','slavele','1',1891,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn','0',1765,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn',NULL,1765,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_POWERUP','chase',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_AGIUP','chase',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@HP_ASSUMPTIO','chase',361,5,10000,0,100000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@HP_ASSUMPTIO','attack',361,5,10000,0,100000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@HW_GANBANTEIN','attack',483,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@HW_GANBANTEIN','attack',483,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@KN_TWOHANDQUICKEN','attack',60,20,10000,0,90000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@CR_HOLYCROSS','attack',253,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@KN_BRANDISHSPEAR','attack',57,20,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@CR_HOLYCROSS','attack',253,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@KN_BRANDISHSPEAR','attack',57,20,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@MG_THUNDERSTORM','attack',21,15,10000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_EARTHQUAKE','chase',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_EARTHQUAKE','attack',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@WZ_VERMILION','attack',85,20,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@WZ_VERMILION','chase',85,20,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@TF_HIDING','idle',51,1,2000,0,180000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@MG_SOULSTRIKE','chase',13,5,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','randomtarget','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_CURSEATTACK','attack',181,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'no','self','slavele','0',1762,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@RG_STRIPARMOR','attack',217,3,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_POISON','attack',176,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_CHANGEUNDEAD','attack',348,2,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@MG_FIREWALL','chase',18,5,2000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'no','self','slavele','0',1761,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@WZ_VERMILION','attack',85,20,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@WZ_VERMILION','chase',85,20,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@TF_HIDING','idle',51,1,2000,0,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@MG_SOULSTRIKE','chase',13,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','randomtarget','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_CURSEATTACK','attack',181,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'no','self','slavele',NULL,1762,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@RG_STRIPARMOR','attack',217,3,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_POISON','attack',176,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_CHANGEUNDEAD','attack',348,2,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@MG_FIREWALL','chase',18,5,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'no','self','slavele',NULL,1761,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_HEAL','attack',28,9,5000,500,5000,'no','friend','friendhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_HEAL','attack',28,9,5000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_HEAL','idle',28,9,5000,500,5000,'no','friend','friendhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_HEAL','idle',28,9,5000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@MG_THUNDERSTORM','attack',21,7,1000,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@MG_THUNDERSTORM','chase',21,7,1000,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_DECAGI','attack',30,48,500,0,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_DECAGI','chase',30,48,500,0,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_PETRIFYATTACK','attack',180,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_PETRIFYATTACK','chase',180,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@RG_STRIPARMOR','attack',217,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@RG_STRIPARMOR','chase',217,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@MG_SAFETYWALL','attack',12,10,1000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_HOLYATTACK','attack',189,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_HOLYATTACK','chase',189,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@MG_THUNDERSTORM','attack',21,7,1000,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@MG_THUNDERSTORM','chase',21,7,1000,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_DECAGI','attack',30,48,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_DECAGI','chase',30,48,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_PETRIFYATTACK','attack',180,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_PETRIFYATTACK','chase',180,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@RG_STRIPARMOR','attack',217,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@RG_STRIPARMOR','chase',217,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@MG_SAFETYWALL','attack',12,10,1000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_HOLYATTACK','attack',189,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_HOLYATTACK','chase',189,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_SUMMONSLAVE','any',196,2,10000,700,60000,'no','self','onspawn','0',1763,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_SUMMONSLAVE','any',196,2,10000,700,60000,'no','self','onspawn',NULL,1763,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@AL_HEAL','attack',28,9,5000,500,5000,'no','friend','friendhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@AL_HEAL','attack',28,9,5000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@AL_HEAL','idle',28,9,5000,500,5000,'no','friend','friendhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@AL_HEAL','idle',28,9,5000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@CR_HOLYCROSS','attack',253,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@MG_SOULSTRIKE','chase',13,7,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@MG_SOULSTRIKE','attack',13,7,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@MG_SAFETYWALL','attack',12,10,1000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_HOLYATTACK','attack',189,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_HOLYATTACK','chase',189,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@CR_HOLYCROSS','attack',253,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@MG_SOULSTRIKE','chase',13,7,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@MG_SOULSTRIKE','attack',13,7,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@MG_SAFETYWALL','attack',12,10,1000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_HOLYATTACK','attack',189,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_HOLYATTACK','chase',189,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_SUMMONSLAVE','any',196,2,10000,700,60000,'no','self','onspawn','0',1764,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_SUMMONSLAVE','any',196,2,10000,700,60000,'no','self','onspawn',NULL,1764,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AL_HEAL','chase',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_POWERUP','attack',349,3,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@WZ_METEOR','attack',83,10,2000,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@WZ_METEOR','attack',83,10,2000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_SUMMONSLAVE','attack',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_SUMMONSLAVE','idle',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_SUMMONSLAVE','chase',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@TF_HIDING','idle',51,1,2000,0,180000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@MG_SOULSTRIKE','chase',13,5,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','randomtarget','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@NPC_CURSEATTACK','attack',181,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@RG_STRIPARMOR','attack',217,3,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@NPC_POISON','attack',176,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@NPC_CHANGEUNDEAD','attack',348,2,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@MG_FIREWALL','chase',18,5,2000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@MG_THUNDERSTORM','attack',21,4,500,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@MG_THUNDERSTORM','chase',21,4,500,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@AL_DECAGI','attack',30,5,500,0,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@AL_DECAGI','chase',30,5,500,0,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@NPC_PETRIFYATTACK','attack',180,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@MG_SAFETYWALL','attack',12,5,500,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@NPC_HOLYATTACK','attack',189,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@NPC_HOLYATTACK','chase',189,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@TF_HIDING','idle',51,1,2000,0,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@MG_SOULSTRIKE','chase',13,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','randomtarget','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@NPC_CURSEATTACK','attack',181,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@RG_STRIPARMOR','attack',217,3,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@NPC_POISON','attack',176,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@NPC_CHANGEUNDEAD','attack',348,2,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1762,'Frus@MG_FIREWALL','chase',18,5,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@MG_THUNDERSTORM','attack',21,4,500,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@MG_THUNDERSTORM','chase',21,4,500,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@AL_DECAGI','attack',30,5,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@AL_DECAGI','chase',30,5,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@NPC_PETRIFYATTACK','attack',180,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@MG_SAFETYWALL','attack',12,5,500,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@NPC_HOLYATTACK','attack',189,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@NPC_HOLYATTACK','chase',189,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1763,'Skeggiold@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@CR_HOLYCROSS','attack',253,2,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@MG_SOULSTRIKE','chase',13,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@MG_SOULSTRIKE','attack',13,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@MG_SAFETYWALL','attack',12,5,1000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@NPC_HOLYATTACK','attack',189,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@NPC_HOLYATTACK','chase',189,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@CR_HOLYCROSS','attack',253,2,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@MG_SOULSTRIKE','chase',13,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@MG_SOULSTRIKE','attack',13,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@MG_SAFETYWALL','attack',12,5,1000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@NPC_HOLYATTACK','attack',189,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@NPC_HOLYATTACK','chase',189,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1764,'Skeggiold@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@AL_HEAL','idle',28,10,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@AL_HEAL','attack',28,11,10000,500,10000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@KN_BRANDISHSPEAR','attack',57,20,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@NPC_ARMORBRAKE','attack',344,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@WZ_JUPITEL','attack',84,28,100,2000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@KN_BRANDISHSPEAR','attack',57,20,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@NPC_ARMORBRAKE','attack',344,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1765,'Valkyrie@WZ_JUPITEL','attack',84,28,100,2000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@NPC_HOLYATTACK','attack',189,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@NPC_HOLYATTACK','chase',189,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@NPC_HOLYATTACK','attack',189,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@NPC_HOLYATTACK','chase',189,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','3',1031,1062,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','3',1031,1062,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@AL_DECAGI','chase',30,1,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@NPC_DARKNESSATTACK','attack',190,2,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@NPC_DARKSTRIKE','attack',340,5,3000,700,0,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@NPC_DARKSTRIKE','chase',340,5,3000,700,0,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1766,'Angeling@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@AL_DECAGI','chase',30,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@NPC_DARKNESSATTACK','attack',190,2,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@NPC_DARKSTRIKE','attack',340,5,3000,700,0,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@NPC_DARKSTRIKE','chase',340,5,3000,700,0,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@NPC_SUMMONSLAVE','attack',196,7,10000,2000,10000,'no','self','slavele','3',1595,1595,1595,1433,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1767,'Deviling@NPC_SUMMONSLAVE','idle',196,7,10000,2000,10000,'no','self','slavele','3',1595,1595,1595,1433,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_FIREATTACK','attack',186,10,1000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_TELEKINESISATTACK','attack',191,10,1000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@WZ_FIREPILLAR','idle',80,11,1000,0,5000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@AM_DEMONSTRATION','attack',229,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@AM_DEMONSTRATION','chase',229,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@KN_PIERCE','attack',56,10,1000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_FIREATTACK','attack',186,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_TELEKINESISATTACK','attack',191,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@WZ_FIREPILLAR','idle',80,11,1000,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@AM_DEMONSTRATION','attack',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@AM_DEMONSTRATION','chase',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@KN_PIERCE','attack',56,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_POWERUP','attack',349,5,10000,700,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_POWERUP','attack',349,5,2000,700,50000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_POWERUP','attack',349,5,2000,700,50000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_FIREBREATH','chase',654,10,2000,500,10000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@SM_MAGNUM','attack',7,20,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@WZ_SIGHTRASHER','attack',81,20,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@MG_FIREBALL','attack',17,20,1000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@MG_FIREBALL','chase',17,20,10000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@WZ_SIGHTRASHER','attack',81,20,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@MG_FIREBALL','attack',17,20,1000,500,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@MG_FIREBALL','chase',17,20,10000,500,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_SUMMONSLAVE','attack',196,4,10000,700,30000,'no','self','slavele','3',1786,1787,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_SUMMONSLAVE','idle',196,4,10000,700,30000,'no','self','slavele','3',1786,1787,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_SIGHT','idle',10,1,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_SIGHT','idle',10,1,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_SOULSTRIKE','chase',13,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_SOULSTRIKE','attack',13,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_THUNDERSTORM','attack',21,9,2000,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_THUNDERSTORM','chase',21,9,2000,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@NPC_HOLYATTACK','attack',189,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_SAFETYWALL','attack',12,10,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@PR_LEXDIVINA','attack',76,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@PR_LEXDIVINA','chase',76,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@PR_LEXDIVINA','attack',76,1,5000,0,5000,'yes','target','casttargeted','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@PR_LEXDIVINA','chase',76,1,5000,0,5000,'yes','target','casttargeted','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_SOULSTRIKE','chase',13,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_SOULSTRIKE','attack',13,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_THUNDERSTORM','attack',21,9,2000,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_THUNDERSTORM','chase',21,9,2000,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@NPC_HOLYATTACK','attack',189,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@MG_SAFETYWALL','attack',12,10,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@PR_LEXDIVINA','attack',76,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@PR_LEXDIVINA','chase',76,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@PR_LEXDIVINA','attack',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@PR_LEXDIVINA','chase',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@AL_HEAL','attack',28,9,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@AL_HEAL','attack',28,9,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@AL_HEAL','idle',28,9,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@AL_HEAL','idle',28,9,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@AL_HEAL','chase',28,9,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1769,'Agav@AL_HEAL','chase',28,9,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@CR_HOLYCROSS','attack',253,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@SM_BASH','attack',5,7,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@NPC_SLEEPATTACK','attack',182,4,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@AS_SONICBLOW','attack',136,5,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@NPC_HOLYATTACK','attack',189,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@BS_MAXIMIZE','attack',114,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@BS_MAXIMIZE','chase',114,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@BS_MAXIMIZE','attack',114,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@BS_MAXIMIZE','chase',114,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@MG_THUNDERSTORM','attack',21,5,500,1200,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@MG_THUNDERSTORM','chase',21,5,500,1200,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@NPC_HOLYATTACK','attack',189,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@PR_LEXDIVINA','attack',76,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@PR_LEXDIVINA','chase',76,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@PR_LEXDIVINA','attack',76,1,5000,0,5000,'yes','target','casttargeted','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@PR_LEXDIVINA','chase',76,1,5000,0,5000,'yes','target','casttargeted','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@CR_HOLYCROSS','attack',253,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@SM_BASH','attack',5,7,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@NPC_SLEEPATTACK','attack',182,4,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@AS_SONICBLOW','attack',136,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@NPC_HOLYATTACK','attack',189,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@BS_MAXIMIZE','attack',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@BS_MAXIMIZE','chase',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1770,'Echio@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@BS_MAXIMIZE','attack',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1771,'Vanberk@BS_MAXIMIZE','chase',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@MG_THUNDERSTORM','attack',21,5,500,1200,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@MG_THUNDERSTORM','chase',21,5,500,1200,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@NPC_HOLYATTACK','attack',189,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@PR_LEXDIVINA','attack',76,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@PR_LEXDIVINA','chase',76,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@PR_LEXDIVINA','attack',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@PR_LEXDIVINA','chase',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@AL_HEAL','attack',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@AL_HEAL','attack',28,5,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@AL_HEAL','idle',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@AL_HEAL','idle',28,5,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@AL_HEAL','chase',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1772,'Isilla@AL_HEAL','chase',28,5,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@AS_SONICBLOW','attack',136,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_DARKNESSATTACK','attack',190,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',52,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@RG_STRIPARMOR','attack',217,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'52',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@WZ_JUPITEL','chase',84,4,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@NPC_MENTALBREAKER','attack',159,3,200,800,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@NPC_MENTALBREAKER','chase',159,3,200,800,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@NPC_PETRIFYATTACK','attack',180,3,200,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@NPC_PETRIFYATTACK','chase',180,3,200,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@SA_DISPELL','attack',289,1,200,0,100000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@NPC_WATERATTACK','attack',184,4,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@NPC_CRITICALSLASH','attack',170,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@SM_BASH','attack',5,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@AS_SONICBLOW','attack',136,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_DARKNESSATTACK','attack',190,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,52,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1773,'Hodremlin@RG_STRIPARMOR','attack',217,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'52',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@WZ_JUPITEL','chase',84,4,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@NPC_MENTALBREAKER','attack',159,3,200,800,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@NPC_MENTALBREAKER','chase',159,3,200,800,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@NPC_PETRIFYATTACK','attack',180,3,200,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@NPC_PETRIFYATTACK','chase',180,3,200,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1774,'Seeker@SA_DISPELL','attack',289,1,200,0,100000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@NPC_WATERATTACK','attack',184,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@NPC_WATERATTACK','attack',184,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@NPC_CRITICALSLASH','attack',170,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1775,'Snowier@SM_ENDURE','chase',8,3,5000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',45,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,45,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','myhpltmaxrate','1',28,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','myhpltmaxrate','1',28,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_SILENCEATTACK','attack',178,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_SILENCEATTACK','chase',178,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_WATERATTACK','attack',184,2,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1777,'Ice Titan@MG_FROSTDIVER','chase',15,7,10000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1777,'Ice Titan@MG_FROSTDIVER','attack',15,5,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1777,'Ice Titan@NPC_COMBOATTACK','attack',171,1,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1777,'Ice Titan@NPC_WATERATTACK','attack',184,3,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@CR_AUTOGUARD','attack',249,3,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@MG_COLDBOLT','chase',14,3,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@MG_COLDBOLT','attack',14,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@NPC_GUIDEDATTACK','attack',172,2,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@NPC_WATERATTACK','attack',184,2,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_WATERATTACK','attack',184,10,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_RANDOMATTACK','attack',183,8,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_SILENCEATTACK','attack',178,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_SILENCEATTACK','chase',178,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@NPC_WATERATTACK','attack',184,2,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1776,'Siroma@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1777,'Ice Titan@MG_FROSTDIVER','chase',15,7,10000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1777,'Ice Titan@MG_FROSTDIVER','attack',15,5,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1777,'Ice Titan@NPC_COMBOATTACK','attack',171,1,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1777,'Ice Titan@NPC_WATERATTACK','attack',184,3,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@CR_AUTOGUARD','attack',249,3,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@MG_COLDBOLT','chase',14,3,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@MG_COLDBOLT','attack',14,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@NPC_GUIDEDATTACK','attack',172,2,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1778,'Gazeti@NPC_WATERATTACK','attack',184,2,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_WATERATTACK','attack',184,10,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_RANDOMATTACK','attack',183,8,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_SUMMONSLAVE','attack',196,4,10000,700,30000,'no','self','slavele','3',1788,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_SUMMONSLAVE','idle',196,4,10000,700,30000,'no','self','slavele','3',1788,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_WIDEFREEZE','chase',664,5,10000,0,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_WIDEFREEZE','attack',664,5,10000,0,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@SA_DISPELL','attack',289,5,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@SA_DISPELL','chase',289,5,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@MG_FROSTDIVER','idle',15,10,5000,1000,7000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@MG_FROSTDIVER','chase',15,10,5000,1000,7000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_STORMGUST','chase',89,10,5000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_STORMGUST','attack',89,10,5000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_WATERBALL','chase',86,10,5000,0,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_WATERBALL','attack',86,10,5000,0,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_FROSTNOVA','chase',88,10,5000,0,20000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_FROSTNOVA','attack',88,10,5000,0,20000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@SA_DISPELL','attack',289,5,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@SA_DISPELL','chase',289,5,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@MG_FROSTDIVER','idle',15,10,5000,1000,7000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@MG_FROSTDIVER','chase',15,10,5000,1000,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_STORMGUST','chase',89,10,5000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_STORMGUST','attack',89,10,5000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_WATERBALL','chase',86,10,5000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_WATERBALL','attack',86,10,5000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_FROSTNOVA','chase',88,10,5000,0,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@WZ_FROSTNOVA','attack',88,10,5000,0,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_POWERUP','attack',349,5,10000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@NPC_AGIUP','attack',350,5,10000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1779,'Ktullanux@AL_HEAL','idle',28,11,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@NPC_BLOODDRAIN','attack',199,1,1000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@NPC_GROUNDATTACK','attack',185,1,1000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@NPC_BLOODDRAIN','attack',199,1,1000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@NPC_GROUNDATTACK','attack',185,1,1000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@AL_HEAL','attack',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@AL_HEAL','idle',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@NPC_PETRIFYATTACK','attack',180,5,500,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_BLOODDRAIN','attack',199,1,1000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@KN_PIERCE','attack',56,5,500,700,5000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_GROUNDATTACK','attack',185,1,1000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@RG_CLOSECONFINE','attack',1005,1,1000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_COMBOATTACK','attack',171,4,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x31B5,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1780,'Muscipular@NPC_PETRIFYATTACK','attack',180,5,500,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_BLOODDRAIN','attack',199,1,1000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@KN_PIERCE','attack',56,5,500,700,5000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_GROUNDATTACK','attack',185,1,1000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@RG_CLOSECONFINE','attack',1005,1,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_COMBOATTACK','attack',171,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12725,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_SUMMONSLAVE','attack',196,3,10000,1000,30000,'no','self','slavele','3',1794,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_SUMMONSLAVE','idle',196,3,10000,1000,30000,'no','self','slavele','3',1794,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1784,'Stapo@NPC_KEEPING','attack',201,1,1000,1000,5000,'no','self','myhpltmaxrate','25',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1784,'Stapo@SM_BASH','attack',5,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_SUMMONSLAVE','attack',196,3,10000,700,30000,'no','self','slavele','0',1791,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_SUMMONSLAVE','idle',196,3,10000,700,30000,'no','self','slavele','0',1791,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1784,'Stapo@SM_BASH','attack',5,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_SUMMONSLAVE','attack',196,3,10000,700,30000,'no','self','slavele',NULL,1791,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_SUMMONSLAVE','idle',196,3,10000,700,30000,'no','self','slavele',NULL,1791,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_DEFENDER','idle',205,1,10000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@KN_TWOHANDQUICKEN','attack',60,20,2000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_BLEEDING','attack',660,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_DARKNESSATTACK','attack',190,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_BLEEDING','attack',660,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_DARKNESSATTACK','attack',190,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@SM_MAGNUM','attack',7,20,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_POWERUP','attack',349,2,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_POWERUP','attack',349,2,2000,0,50000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_POWERUP','attack',349,2,2000,0,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_SIGHT','idle',10,1,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_SIGHT','idle',10,1,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_SOULSTRIKE','chase',13,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_SOULSTRIKE','attack',13,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_THUNDERSTORM','attack',21,9,2000,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_THUNDERSTORM','chase',21,9,2000,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@NPC_HOLYATTACK','attack',189,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_SAFETYWALL','attack',12,10,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@PR_LEXDIVINA','attack',76,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@PR_LEXDIVINA','chase',76,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@PR_LEXDIVINA','attack',76,1,5000,0,5000,'yes','target','casttargeted','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@PR_LEXDIVINA','chase',76,1,5000,0,5000,'yes','target','casttargeted','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_SOULSTRIKE','chase',13,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_SOULSTRIKE','attack',13,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_THUNDERSTORM','attack',21,9,2000,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_THUNDERSTORM','chase',21,9,2000,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@NPC_HOLYATTACK','attack',189,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@MG_SAFETYWALL','attack',12,10,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@AL_DECAGI','chase',30,48,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@PR_LEXDIVINA','attack',76,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@PR_LEXDIVINA','chase',76,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@PR_LEXDIVINA','attack',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@PR_LEXDIVINA','chase',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@AL_HEAL','attack',28,9,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@AL_HEAL','attack',28,9,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@AL_HEAL','idle',28,9,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@AL_HEAL','idle',28,9,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@AL_HEAL','chase',28,9,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@AL_HEAL','chase',28,9,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@CR_HOLYCROSS','attack',253,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@SM_BASH','attack',5,7,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@NPC_SLEEPATTACK','attack',182,4,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@AS_SONICBLOW','attack',136,5,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@NPC_HOLYATTACK','attack',189,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@BS_MAXIMIZE','attack',114,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@BS_MAXIMIZE','chase',114,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1788,'Ice Titan@MG_FROSTDIVER','chase',15,7,10000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1788,'Ice Titan@MG_FROSTDIVER','attack',15,5,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1788,'Ice Titan@NPC_COMBOATTACK','attack',171,1,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1788,'Ice Titan@NPC_WATERATTACK','attack',184,3,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x31B5,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@CR_HOLYCROSS','attack',253,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@SM_BASH','attack',5,7,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@NPC_SLEEPATTACK','attack',182,4,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@AS_SONICBLOW','attack',136,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@NPC_HOLYATTACK','attack',189,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@BS_MAXIMIZE','attack',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@BS_MAXIMIZE','chase',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1787,'Echio@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1788,'Ice Titan@MG_FROSTDIVER','chase',15,7,10000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1788,'Ice Titan@MG_FROSTDIVER','attack',15,5,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1788,'Ice Titan@NPC_COMBOATTACK','attack',171,1,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1788,'Ice Titan@NPC_WATERATTACK','attack',184,3,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12725,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_COMBOATTACK','attack',171,4,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',22,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_COMBOATTACK','attack',171,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1795,'Bloody Knight@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1795,'Bloody Knight@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1795,'Bloody Knight@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4132,166 +4157,166 @@ REPLACE INTO `mob_skill_db` VALUES (1795,'Bloody Knight@WZ_METEOR','chase',83,11
REPLACE INTO `mob_skill_db` VALUES (1795,'Bloody Knight@WZ_STORMGUST','attack',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1795,'Bloody Knight@WZ_VERMILION','attack',85,20,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1795,'Bloody Knight@WZ_METEOR','attack',83,11,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@MG_THUNDERSTORM','attack',21,5,500,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@MG_THUNDERSTORM','chase',21,5,500,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@NPC_HOLYATTACK','attack',189,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@PR_LEXDIVINA','attack',76,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@PR_LEXDIVINA','chase',76,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@PR_LEXDIVINA','attack',76,1,5000,0,5000,'yes','target','casttargeted','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@PR_LEXDIVINA','chase',76,1,5000,0,5000,'yes','target','casttargeted','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@MG_THUNDERSTORM','attack',21,5,500,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@MG_THUNDERSTORM','chase',21,5,500,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@NPC_HOLYATTACK','attack',189,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@PR_LEXDIVINA','attack',76,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@PR_LEXDIVINA','chase',76,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@PR_LEXDIVINA','attack',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@PR_LEXDIVINA','chase',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@AL_HEAL','attack',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@AL_HEAL','attack',28,5,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@AL_HEAL','idle',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@AL_HEAL','idle',28,5,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@AL_HEAL','chase',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@AL_HEAL','chase',28,5,3000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@BS_MAXIMIZE','attack',114,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@BS_MAXIMIZE','chase',114,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1812,'Delightful Lude@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1812,'Delightful Lude@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1812,'Delightful Lude@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1812,'Delightful Lude@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1812,'Delightful Lude@NPC_METAMORPHOSIS','attack',193,1,1000,0,60000,'no','self','myhpltmaxrate','30',1814,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1812,'Delightful Lude@PR_LEXAETERNA','chase',78,1,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1812,'Delightful Lude@PR_LEXAETERNA','attack',78,1,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@AL_HEAL','attack',28,11,2000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_DARKTHUNDER','chase',341,5,8000,700,1000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_GRANDDARKNESS','attack',339,10,2000,900,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_DARKCROSS','attack',338,10,2000,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@WZ_VERMILION','attack',85,10,2500,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_COMBOATTACK','attack',171,6,2500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'24',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@AS_VENOMDUST','attack',140,10,3500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_LICK','attack',206,5,4000,0,2000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@KN_TWOHANDQUICKEN','attack',60,20,5000,0,120000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_POWERUP','attack',349,5,10000,0,25000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@BS_MAXIMIZE','attack',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@BS_MAXIMIZE','chase',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1812,'Lude@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1812,'Lude@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1812,'Lude@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1812,'Lude@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1812,'Lude@NPC_METAMORPHOSIS','attack',193,1,1000,0,60000,'no','self','myhpltmaxrate','30',1814,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1812,'Lude@PR_LEXAETERNA','chase',78,1,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1812,'Lude@PR_LEXAETERNA','attack',78,1,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@AL_HEAL','attack',28,11,2000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_DARKTHUNDER','chase',341,5,8000,700,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_GRANDDARKNESS','attack',339,10,2000,900,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_DARKCROSS','attack',338,10,2000,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@WZ_VERMILION','attack',85,10,2500,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_COMBOATTACK','attack',171,6,2500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@AS_VENOMDUST','attack',140,10,3500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_LICK','attack',206,5,4000,0,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@KN_TWOHANDQUICKEN','attack',60,20,5000,0,120000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_POWERUP','attack',349,5,10000,0,25000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_HEAL','attack',28,9,10000,0,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_HEAL','chase',28,9,10000,0,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREBOLT','chase',19,10,3000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREBOLT','attack',19,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREBOLT','chase',19,10,3000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREBOLT','attack',19,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREBOLT','chase',19,10,4000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_WATERBALL','attack',86,5,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_WATERBALL','chase',86,5,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_METEOR','attack',83,5,2000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_METEOR','chase',83,5,2000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MC_MAMMONITE','attack',42,20,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREWALL','attack',18,10,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREWALL','chase',18,10,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@SA_DISPELL','attack',289,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@SA_DISPELL','chase',289,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_WATERBALL','attack',86,5,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_WATERBALL','chase',86,5,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_METEOR','attack',83,5,2000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_METEOR','chase',83,5,2000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MC_MAMMONITE','attack',42,20,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREWALL','attack',18,10,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREWALL','chase',18,10,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@SA_DISPELL','attack',289,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@SA_DISPELL','chase',289,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_DARKBREATH','attack',202,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_DARKBREATH','attack',202,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_POWERUP','attack',349,5,10000,0,25000,'yes','self','myhpltmaxrate','12',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@KN_TWOHANDQUICKEN','attack',60,20,10000,0,300000,'yes','self','myhpltmaxrate','12',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@BS_HAMMERFALL','attack',110,11,10000,0,5000,'yes','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@BS_HAMMERFALL','chase',110,11,5000,0,5000,'yes','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@CR_GRANDCROSS','attack',254,10,5000,100,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_STORMGUST','attack',89,10,2000,1000,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@MG_FIREBALL','chase',17,20,5000,500,1000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_METEOR','attack',83,11,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_METEOR','chase',83,11,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@CR_GRANDCROSS','attack',254,10,5000,100,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_STORMGUST','attack',89,10,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@MG_FIREBALL','chase',17,20,5000,500,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_METEOR','attack',83,11,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_METEOR','chase',83,11,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@BS_MAXIMIZE','chase',114,5,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@SM_MAGNUM','attack',7,20,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@AL_HEAL','chase',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',30,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_DARKTHUNDER','attack',341,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_DARKTHUNDER','chase',341,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',20,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1824,'Garm Baby@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1824,'Garm Baby@NPC_LICK','attack',206,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',18,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_MENTALBREAKER','attack',159,2,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_DARKTHUNDER','attack',341,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_DARKTHUNDER','chase',341,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1824,'Garm Baby@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1824,'Garm Baby@NPC_LICK','attack',206,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,18,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_MENTALBREAKER','attack',159,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@CR_REFLECTSHIELD','idle',252,10,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@KN_SPEARBOOMERANG','chase',59,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@CR_REFLECTSHIELD','idle',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@KN_SPEARBOOMERANG','chase',59,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@KN_TWOHANDQUICKEN','attack',60,20,10000,0,120000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@CR_SHIELDCHARGE','attack',250,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@NPC_STUNATTACK','attack',179,5,1500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@NPC_COMBOATTACK','attack',171,5,1500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@CR_SHIELDCHARGE','attack',250,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@NPC_STUNATTACK','attack',179,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@NPC_COMBOATTACK','attack',171,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@NPC_WIDEBLEEDING','attack',665,4,10000,0,15000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_DOUBLE','idle',46,10,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_SHOWER','idle',47,5,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_CHARGEARROW','idle',148,1,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_DOUBLE','attack',46,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_SHOWER','attack',47,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_STUNATTACK','attack',179,5,1500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_COMBOATTACK','attack',171,5,1500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_BLEEDING','attack',660,5,1500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_DOUBLE','idle',46,10,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_SHOWER','idle',47,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_CHARGEARROW','idle',148,1,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_DOUBLE','attack',46,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_SHOWER','attack',47,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_STUNATTACK','attack',179,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_COMBOATTACK','attack',171,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_BLEEDING','attack',660,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_WIDEBLEEDING','attack',665,4,10000,0,15000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@MG_FIREBALL','idle',17,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@MG_FIREBALL','chase',17,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@CR_REFLECTSHIELD','idle',252,3,1000,0,200000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@NPC_FIREATTACK','attack',186,5,2000,1000,200000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@NPC_BLEEDING','attack',660,3,500,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@MG_FIREBALL','idle',17,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@MG_FIREBALL','chase',17,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@CR_REFLECTSHIELD','idle',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@NPC_FIREATTACK','attack',186,5,2000,1000,200000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@NPC_BLEEDING','attack',660,3,500,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@SM_MAGNUM','attack',7,7,1000,0,10000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@KN_TWOHANDQUICKEN','attack',60,20,2000,0,300000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@NPC_WIDEBLEEDING','attack',665,2,10000,500,100000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4301,236 +4326,236 @@ REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_POWERUP','attack',349,5,1000
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_SUMMONSLAVE','attack',196,2,10000,1000,30000,'no','self','slavele','1',1834,1835,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_SUMMONSLAVE','idle',196,2,10000,1000,30000,'no','self','slavele','1',1834,1835,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_SUMMONSLAVE','chase',196,2,10000,1000,30000,'no','self','slavele','1',1834,1835,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@ST_FULLSTRIP','attack',476,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@AS_SONICBLOW','attack',136,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@ST_FULLSTRIP','attack',476,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@AS_SONICBLOW','attack',136,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_FIREBREATH','chase',654,10,2000,500,5000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_FIREBREATH','attack',654,10,2000,500,5000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@SA_LANDPROTECTOR','attack',288,3,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@SA_LANDPROTECTOR','attack',288,3,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@WZ_METEOR','attack',83,11,2000,500,5000,'no','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@KN_TWOHANDQUICKEN','attack',60,9,10000,0,100000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_EARTHQUAKE','chase',653,5,10000,500,20000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_EARTHQUAKE','attack',653,5,10000,500,20000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_PULSESTRIKE','attack',661,5,10000,0,15000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_DRAGONFEAR','attack',659,5,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_DRAGONFEAR','chase',659,5,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@WZ_METEOR','idle',83,9,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_DRAGONFEAR','attack',659,5,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@NPC_DRAGONFEAR','chase',659,5,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1832,'Ifrit@WZ_METEOR','idle',83,9,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@CR_REFLECTSHIELD','idle',252,1,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@CR_REFLECTSHIELD','chase',252,1,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@CR_REFLECTSHIELD','attack',252,1,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_FIREPILLAR','idle',80,5,10000,500,30000,'no','around2','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@NPC_FIREBREATH','chase',654,10,2000,1500,15000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@NPC_FIREBREATH','attack',654,10,2000,1500,15000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','idle',17,20,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','chase',17,20,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','attack',17,20,5000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_SIGHTRASHER','attack',81,20,1000,0,20000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@LK_SPIRALPIERCE','attack',397,1,1500,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_METEOR','chase',83,1,5000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_METEOR','attack',83,1,5000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@CR_REFLECTSHIELD','idle',252,1,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@CR_REFLECTSHIELD','chase',252,1,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@CR_REFLECTSHIELD','attack',252,1,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_FIREPILLAR','idle',80,5,10000,500,30000,'no','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@NPC_FIREBREATH','chase',654,10,2000,1500,15000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@NPC_FIREBREATH','attack',654,10,2000,1500,15000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','idle',17,20,10000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','chase',17,20,10000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','attack',17,20,5000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_SIGHTRASHER','attack',81,20,1000,0,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@LK_SPIRALPIERCE','attack',397,1,1500,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_METEOR','chase',83,1,5000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_METEOR','attack',83,1,5000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@HW_GANBANTEIN','attack',483,5,5000,500,5000,'no','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@MG_FIREBALL','idle',17,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@MG_FIREBALL','chase',17,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@NPC_FIREATTACK','attack',186,5,2000,1000,200000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@NPC_BLEEDING','attack',660,3,500,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@MG_FIREBALL','idle',17,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@MG_FIREBALL','chase',17,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@NPC_FIREATTACK','attack',186,5,2000,1000,200000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@NPC_BLEEDING','attack',660,3,500,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@SM_MAGNUM','attack',7,7,1000,0,10000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@KN_TWOHANDQUICKEN','attack',60,20,2000,0,300000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1834,'Salamander@NPC_WIDEBLEEDING','attack',665,2,10000,500,100000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@CR_REFLECTSHIELD','idle',252,1,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@CR_REFLECTSHIELD','chase',252,1,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@CR_REFLECTSHIELD','attack',252,1,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@WZ_FIREPILLAR','idle',80,5,10000,500,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@NPC_FIREBREATH','chase',654,10,2000,3000,200000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@NPC_FIREBREATH','attack',654,10,2000,3000,200000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@MG_FIREBALL','idle',17,10,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@MG_FIREBALL','chase',17,10,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@MG_FIREBALL','attack',17,10,5000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@WZ_SIGHTRASHER','attack',81,10,1000,0,20000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@LK_SPIRALPIERCE','attack',397,1,1500,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@WZ_METEOR','chase',83,1,5000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@WZ_METEOR','attack',83,1,5000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@NPC_FIREATTACK','attack',186,2,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@MG_FIREBOLT','attack',19,2,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@SM_BASH','attack',5,4,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@MG_FIREBALL','chase',17,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@KN_BRANDISHSPEAR','attack',57,8,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREWALL','chase',18,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREWALL','attack',18,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREBOLT','attack',19,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREBALL','attack',17,10,3000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREBALL','chase',17,10,3000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@NPC_FIREATTACK','attack',186,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@WZ_SIGHTRASHER','attack',81,20,3000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@RG_STRIPARMOR','attack',217,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@HT_LANDMINE','idle',116,2,4000,1000,18000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@NPC_GROUNDATTACK','attack',185,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@TF_SPRINKLESAND','attack',149,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@TF_THROWSTONE','chase',152,1,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@TF_THROWSTONE','attack',152,1,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_SUMMONSLAVE','idle',196,2,10000,1000,60000,'no','self','slavele','1',1829,1830,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_SUMMONSLAVE','chase',196,2,10000,1000,60000,'no','self','slavele','1',1829,1830,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_SUMMONSLAVE','attack',196,2,10000,1000,60000,'no','self','slavele','1',1829,1830,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@SM_BASH','attack',5,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@CR_REFLECTSHIELD','idle',252,1,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@CR_REFLECTSHIELD','chase',252,1,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@CR_REFLECTSHIELD','attack',252,1,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@WZ_FIREPILLAR','idle',80,5,10000,500,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@NPC_FIREBREATH','chase',654,10,2000,3000,200000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@NPC_FIREBREATH','attack',654,10,2000,3000,200000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@MG_FIREBALL','idle',17,10,10000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@MG_FIREBALL','chase',17,10,10000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@MG_FIREBALL','attack',17,10,5000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@WZ_SIGHTRASHER','attack',81,10,1000,0,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@LK_SPIRALPIERCE','attack',397,1,1500,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@WZ_METEOR','chase',83,1,5000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1835,'Kasa@WZ_METEOR','attack',83,1,5000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@NPC_FIREATTACK','attack',186,2,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@MG_FIREBOLT','attack',19,2,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@SM_BASH','attack',5,4,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@MG_FIREBALL','chase',17,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1836,'Magmaring@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@KN_BRANDISHSPEAR','attack',57,8,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREWALL','chase',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREWALL','attack',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREBOLT','attack',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREBALL','attack',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREBALL','chase',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@NPC_FIREATTACK','attack',186,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@WZ_SIGHTRASHER','attack',81,20,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@RG_STRIPARMOR','attack',217,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@HT_LANDMINE','idle',116,2,4000,1000,18000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@NPC_GROUNDATTACK','attack',185,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@TF_SPRINKLESAND','attack',149,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@TF_THROWSTONE','chase',152,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@TF_THROWSTONE','attack',152,1,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_SUMMONSLAVE','idle',196,2,10000,1000,60000000,'no','self','slavele','1',1829,1830,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_SUMMONSLAVE','chase',196,2,10000,1000,60000000,'no','self','slavele','1',1829,1830,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_SUMMONSLAVE','attack',196,2,10000,1000,60000000,'no','self','slavele','1',1829,1830,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AS_GRIMTOOTH','idle',137,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AS_GRIMTOOTH','idle',137,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AS_GRIMTOOTH','chase',137,5,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@ASC_BREAKER','chase',379,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@ASC_METEORASSAULT','attack',406,2,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AS_SONICBLOW','attack',136,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@AL_INCAGI','chase',29,1,500,700,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@ASC_BREAKER','chase',379,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@ASC_METEORASSAULT','attack',406,2,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AS_SONICBLOW','attack',136,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@AL_INCAGI','chase',29,1,500,700,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@ST_FULLSTRIP','attack',476,5,100,1500,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@ST_FULLSTRIP','attack',476,5,100,1500,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@KN_TWOHANDQUICKEN','attack',60,5,500,0,30000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@WZ_EARTHSPIKE','attack',90,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@WZ_HEAVENDRIVE','attack',91,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@WZ_QUAGMIRE','attack',92,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@WZ_QUAGMIRE','chase',92,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@NPC_PULSESTRIKE','attack',661,1,500,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1864,'Zombie Slaughter@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1864,'Zombie Slaughter@NPC_POISON','attack',176,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1864,'Zombie Slaughter@AS_SONICBLOW','attack',136,5,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1864,'Zombie Slaughter@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@AC_DOUBLE','attack',46,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@NPC_MAGICALATTACK','attack',192,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@AC_SHOWER','attack',47,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@AL_HEAL','idle',28,1,10000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@AS_SONICBLOW','attack',136,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@WZ_EARTHSPIKE','attack',90,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@WZ_HEAVENDRIVE','attack',91,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@WZ_QUAGMIRE','attack',92,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@WZ_QUAGMIRE','chase',92,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@NPC_PULSESTRIKE','attack',661,1,500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1864,'Zombie Slaughter@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1864,'Zombie Slaughter@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1864,'Zombie Slaughter@AS_SONICBLOW','attack',136,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1864,'Zombie Slaughter@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@AC_DOUBLE','attack',46,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@NPC_MAGICALATTACK','attack',192,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@AC_SHOWER','attack',47,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@AL_HEAL','idle',28,1,10000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@AS_SONICBLOW','attack',136,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@NPC_RUN','attack',354,1,10000,0,0,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@NPC_RUN','chase',354,1,10000,0,0,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always','0',7,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',NULL,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always','0',7,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',NULL,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1869,'Flame Skull@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1869,'Flame Skull@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1869,'Flame Skull@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1869,'Flame Skull@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1869,'Flame Skull@MG_FIREBALL','chase',17,5,1500,500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1869,'Flame Skull@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1869,'Flame Skull@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_STONESKIN','idle',675,3,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_STONESKIN','chase',675,3,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_STONESKIN','attack',675,3,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@CR_REFLECTSHIELD','idle',252,10,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@CR_REFLECTSHIELD','chase',252,10,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','idle',196,2,10000,0,300000,'yes','self','slavele','0',1864,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','chase',196,2,10000,0,300000,'yes','self','slavele','0',1864,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','attack',196,2,10000,0,300000,'yes','self','slavele','0',1864,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CALLSLAVE','attack',352,1,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CALLSLAVE','idle',352,1,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@MG_FIREBALL','chase',17,5,2000,300,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@MG_THUNDERSTORM','attack',21,5,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@MG_THUNDERSTORM','chase',21,5,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_QUAGMIRE','attack',92,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_QUAGMIRE','chase',92,5,500,200,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_WIDECURSE','chase',677,1,500,300,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_WIDECURSE','attack',677,1,500,800,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SLOWCAST','chase',672,1,2000,300,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SLOWCAST','attack',672,1,2000,800,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_DARKSTRIKE','chase',340,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_DARKSTRIKE','attack',340,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CHANGEUNDEAD','attack',348,1,500,500,6000000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_DARKNESSBREATH','attack',658,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_STONESKIN','idle',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_STONESKIN','chase',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_STONESKIN','attack',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@CR_REFLECTSHIELD','idle',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@CR_REFLECTSHIELD','chase',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','idle',196,2,10000,0,300000,'yes','self','slavele',NULL,1864,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','chase',196,2,10000,0,300000,'yes','self','slavele',NULL,1864,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','attack',196,2,10000,0,300000,'yes','self','slavele',NULL,1864,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CALLSLAVE','attack',352,1,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CALLSLAVE','idle',352,1,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@MG_FIREBALL','chase',17,5,2000,300,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@MG_THUNDERSTORM','attack',21,5,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@MG_THUNDERSTORM','chase',21,5,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_QUAGMIRE','attack',92,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_QUAGMIRE','chase',92,5,500,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_WIDECURSE','chase',677,1,500,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_WIDECURSE','attack',677,1,500,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SLOWCAST','chase',672,1,2000,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SLOWCAST','attack',672,1,2000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_DARKSTRIKE','chase',340,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_DARKSTRIKE','attack',340,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_CHANGEUNDEAD','attack',348,1,500,500,6000000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_DARKNESSBREATH','attack',658,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_DRAGONFEAR','attack',659,2,500,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_METEOR','chase',83,3,3000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_METEOR','chase',83,3,1000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_METEOR','chase',83,3,1000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SUMMONSLAVE','attack',196,4,10000,700,10000,'no','self','slavele','3',1868,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SUMMONSLAVE','idle',196,4,10000,700,10000,'no','self','slavele','3',1868,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_WIDECURSE','attack',677,5,2000,800,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKSTRIKE','attack',340,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKCROSS','attack',338,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@CR_HOLYCROSS','attack',253,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_GRANDDARKNESS','chase',339,10,500,1300,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_GRANDDARKNESS','attack',339,10,500,1300,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@CR_GRANDCROSS','chase',254,10,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@CR_GRANDCROSS','attack',254,10,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_VAMPIRE_GIFT','attack',679,2,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SLOWCAST','chase',672,5,2000,300,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SLOWCAST','attack',672,5,2000,800,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_WIDECURSE','attack',677,5,2000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKSTRIKE','attack',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKCROSS','attack',338,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@CR_HOLYCROSS','attack',253,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_GRANDDARKNESS','chase',339,10,500,1300,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_GRANDDARKNESS','attack',339,10,500,1300,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@CR_GRANDCROSS','chase',254,10,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@CR_GRANDCROSS','attack',254,10,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_VAMPIRE_GIFT','attack',679,2,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SLOWCAST','chase',672,5,2000,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SLOWCAST','attack',672,5,2000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_EVILLAND','attack',670,10,10000,1000,600000,'no','target','myhpltmaxrate','44',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_EVILLAND','attack',670,7,500,500,5000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_MAGICMIRROR','attack',671,1,10000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_HELLJUDGEMENT','chase',662,4,10000,800,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_HELLJUDGEMENT','attack',662,4,10000,800,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_WIDESILENCE','chase',663,5,5000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_WIDESILENCE','attack',663,5,5000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_MAGICMIRROR','attack',671,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_HELLJUDGEMENT','chase',662,4,10000,800,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_HELLJUDGEMENT','attack',662,4,10000,800,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_WIDESILENCE','chase',663,5,5000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_WIDESILENCE','attack',663,5,5000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKNESSATTACK','attack',190,10,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKNESSBREATH','attack',658,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_CRITICALWOUND','attack',673,5,10,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_WINDATTACK','attack',187,4,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_MENTALBREAKER','attack',159,1,200,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKNESSATTACK','attack',190,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKNESSBREATH','attack',658,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_CRITICALWOUND','attack',673,5,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_WINDATTACK','attack',187,4,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_MENTALBREAKER','attack',159,1,200,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@AL_HEAL','idle',28,9,10000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_CALLSLAVE','chase',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_CALLSLAVE','chase',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_SUMMONSLAVE','attack',196,10,10000,0,10000,'yes','self','slavele','5',1872,1872,1011,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_SUMMONSLAVE','chase',196,10,10000,0,10000,'yes','self','slavele','5',1872,1872,1011,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_SUMMONSLAVE','idle',196,10,10000,0,10000,'yes','self','slavele','5',1872,1872,1011,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_METAMORPHOSIS','chase',193,1,10000,5000,5000,'no','self','myhpltmaxrate','50',1874,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_METAMORPHOSIS','attack',193,1,10000,5000,5000,'no','self','myhpltmaxrate','50',1874,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@LK_SPIRALPIERCE','attack',397,5,2000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_PULSESTRIKE','attack',661,5,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_WIDESLEEP','attack',668,5,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_WIDESILENCE','attack',663,5,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_HELLJUDGEMENT','attack',662,5,10000,700,15000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_HELLJUDGEMENT','chase',662,5,10000,700,15000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_EXPULSION','attack',674,1,100,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@LK_SPIRALPIERCE','attack',397,5,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_PULSESTRIKE','attack',661,5,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_WIDESLEEP','attack',668,5,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_WIDESILENCE','attack',663,5,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_HELLJUDGEMENT','attack',662,5,10000,700,15000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_HELLJUDGEMENT','chase',662,5,10000,700,15000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_EXPULSION','attack',674,1,100,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_VAMPIRE_GIFT','attack',679,10,10000,1000,10000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1873,'Beelzebub@NPC_AGIUP','chase',350,5,10000,0,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4539,116 +4564,116 @@ REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@AL_TELEPORT','chase',26,1,50
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_RUN','attack',354,1,10000,0,0,'yes','self','myhpltmaxrate','1',NULL,NULL,NULL,NULL,NULL,'26',NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_RUN','chase',354,1,10000,0,0,'yes','self','myhpltmaxrate','1',NULL,NULL,NULL,NULL,NULL,'26',NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@AL_HEAL','idle',28,9,10000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_CALLSLAVE','chase',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_CALLSLAVE','chase',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_SUMMONSLAVE','attack',196,10,10000,0,10000,'yes','self','slavele','5',1872,1872,1011,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_SUMMONSLAVE','chase',196,10,10000,0,10000,'yes','self','slavele','5',1872,1872,1011,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_SUMMONSLAVE','idle',196,10,10000,0,10000,'yes','self','slavele','5',1872,1872,1011,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_STONESKIN','chase',675,4,10000,1000,30000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_STONESKIN','attack',675,4,10000,1000,30000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_EVILLAND','attack',670,10,10000,0,15000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@SA_LANDPROTECTOR','attack',288,5,10000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_SHIELDBRAKE','attack',346,10,2000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_MAGICMIRROR','attack',671,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_EXPULSION','attack',674,1,50,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@SA_LANDPROTECTOR','attack',288,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_SHIELDBRAKE','attack',346,10,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_MAGICMIRROR','attack',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_EXPULSION','attack',674,1,50,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_WIDESTONE','attack',666,5,10000,500,15000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_WIDESTONE','chase',666,5,10000,500,15000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@LK_SPIRALPIERCE','attack',397,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_PULSESTRIKE','attack',661,5,10000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_HELLJUDGEMENT','chase',662,2,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_HELLJUDGEMENT','attack',662,2,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_ACIDBREATH','attack',657,1,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_ACIDBREATH','chase',657,1,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@LK_SPIRALPIERCE','attack',397,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_PULSESTRIKE','attack',661,5,10000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_HELLJUDGEMENT','chase',662,2,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_HELLJUDGEMENT','attack',662,2,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_ACIDBREATH','attack',657,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_ACIDBREATH','chase',657,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_VAMPIRE_GIFT','attack',679,1,1000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_WIDESOULDRAIN','attack',680,7,1000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'42',NULL);
REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1881,'Les@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1881,'Les@NPC_COMBOATTACK','attack',171,2,3000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1881,'Les@NPC_BLEEDING','attack',660,3,2000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1881,'Les@NPC_POISON','attack',176,2,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1881,'Les@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1881,'Les@NPC_COMBOATTACK','attack',171,2,3000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1881,'Les@NPC_BLEEDING','attack',660,3,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1881,'Les@NPC_POISON','attack',176,2,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@WZ_WATERBALL','chase',86,1,5000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@NPC_COMBOATTACK','attack',171,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@WZ_WATERBALL','attack',86,2,2000,3000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_MAGICALATTACK','chase',192,1,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_POISON','attack',176,2,2000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@WZ_WATERBALL','attack',86,3,2000,3000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_CURSEATTACK','attack',181,2,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@WZ_WATERBALL','chase',86,1,5000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@NPC_COMBOATTACK','attack',171,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@WZ_WATERBALL','attack',86,2,2000,3000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_MAGICALATTACK','chase',192,1,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_POISON','attack',176,2,2000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@WZ_WATERBALL','attack',86,3,2000,3000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_CURSEATTACK','attack',181,2,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@AL_HEAL','idle',28,5,10000,2000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@WZ_EARTHSPIKE','chase',90,2,5000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@NPC_GROUNDATTACK','attack',185,2,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@NPC_SILENCEATTACK','attack',178,2,2000,2000,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@WZ_EARTHSPIKE','chase',90,2,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@NPC_GROUNDATTACK','attack',185,2,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@NPC_SILENCEATTACK','attack',178,2,2000,2000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SUMMONSLAVE','attack',196,5,10000,1000,30000,'no','self','slavele','1',1886,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SUMMONSLAVE','chase',196,5,5000,1000,30000,'no','self','slavele','0',1886,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SUMMONSLAVE','idle',196,5,10000,1000,30000,'no','self','slavele','0',1886,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_QUAGMIRE','chase',92,5,5000,200,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_CALLSLAVE','chase',352,1,5000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SUMMONSLAVE','chase',196,5,5000,1000,30000,'no','self','slavele',NULL,1886,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SUMMONSLAVE','idle',196,5,10000,1000,30000,'no','self','slavele',NULL,1886,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_QUAGMIRE','chase',92,5,5000,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_CALLSLAVE','chase',352,1,5000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_METEOR','attack',83,11,5000,1500,5000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@MG_FIREBALL','chase',17,9,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@MG_FIREBALL','attack',17,20,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@MG_FIREBALL','chase',17,9,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@MG_FIREBALL','attack',17,20,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_AGIUP','attack',350,5,3000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@KN_TWOHANDQUICKEN','attack',60,20,5000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_POWERUP','attack',349,5,6000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_HEAVENDRIVE','chase',91,5,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@SM_MAGNUM','attack',7,20,5000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SILENCEATTACK','attack',178,5,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_MENTALBREAKER','chase',159,5,500,800,25000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_HEAVENDRIVE','attack',91,5,5000,500,25000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SILENCEATTACK','chase',178,5,5000,700,25000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_QUAGMIRE','attack',92,5,5000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_HEAVENDRIVE','chase',91,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@SM_MAGNUM','attack',7,20,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SILENCEATTACK','attack',178,5,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_MENTALBREAKER','chase',159,5,500,800,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_HEAVENDRIVE','attack',91,5,5000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SILENCEATTACK','chase',178,5,5000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_QUAGMIRE','attack',92,5,5000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@AL_HEAL','idle',28,9,10000,1000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@WZ_EARTHSPIKE','chase',90,4,5000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@NPC_GROUNDATTACK','attack',185,4,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@NPC_SILENCEATTACK','attack',178,4,2000,2000,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',20,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1888,'Garm Baby@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1888,'Garm Baby@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1889,'Marozka\'s Guard@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1889,'Marozka\'s Guard@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@WZ_EARTHSPIKE','chase',90,4,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@NPC_GROUNDATTACK','attack',185,4,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@NPC_SILENCEATTACK','attack',178,4,2000,2000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1888,'Garm Baby@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1888,'Garm Baby@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1889,'Marozka\'s Guard@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1889,'Marozka\'s Guard@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1889,'Marozka\'s Guard@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@WZ_QUAGMIRE','chase',92,1,5000,200,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@MG_FIREBALL','chase',17,9,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@MG_FIREBALL','attack',17,20,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@WZ_HEAVENDRIVE','chase',91,5,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@SM_MAGNUM','attack',7,9,5000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@NPC_SILENCEATTACK','attack',178,5,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@WZ_HEAVENDRIVE','attack',91,5,5000,500,25000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@NPC_SILENCEATTACK','chase',178,5,5000,700,25000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@WZ_QUAGMIRE','attack',92,1,5000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@WZ_QUAGMIRE','chase',92,1,5000,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@MG_FIREBALL','chase',17,9,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@MG_FIREBALL','attack',17,20,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@WZ_HEAVENDRIVE','chase',91,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@SM_MAGNUM','attack',7,9,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@NPC_SILENCEATTACK','attack',178,5,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@WZ_HEAVENDRIVE','attack',91,5,5000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@NPC_SILENCEATTACK','chase',178,5,5000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'The Immortal Koshei@WZ_QUAGMIRE','attack',92,1,5000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@AL_HEAL','idle',28,11,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@AL_HEAL','attack',28,11,10000,500,10000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@KN_BRANDISHSPEAR','attack',57,20,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@NPC_ARMORBRAKE','attack',344,10,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@WZ_JUPITEL','attack',84,28,100,2000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@KN_BRANDISHSPEAR','attack',57,20,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@NPC_ARMORBRAKE','attack',344,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@WZ_JUPITEL','attack',84,28,100,2000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_STORMGUST','chase',89,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_STORMGUST','attack',89,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_WATERBALL','attack',86,10,10000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_WATERBALL','chase',86,10,10000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1904,'Bomb Poring@NPC_SELFDESTRUCTION','any',173,1,10000,3000,0,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_STORMGUST','chase',89,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_STORMGUST','attack',89,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_WATERBALL','attack',86,10,10000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_WATERBALL','chase',86,10,10000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1904,'Bomb Poring@NPC_SELFDESTRUCTION','any',173,1,10000,3000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_DRAGONFEAR','chase',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_DRAGONFEAR','attack',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','chase',682,10,10000,0,600000,'no','self','myhpinrate','6',10,NULL,NULL,NULL,NULL,NULL,'16');
@@ -4689,16 +4714,16 @@ REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_TELEPORT','idle',26,1,
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'1');
+REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','attack',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','chase',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
-REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn','0',1922,1923,1924,1925,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn',NULL,1922,1923,1924,1925,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@SA_LANDPROTECTOR','attack',288,1,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@SA_LANDPROTECTOR','attack',288,1,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_DRAGONFEAR','chase',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_DRAGONFEAR','attack',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','chase',682,10,10000,0,600000,'no','self','myhpinrate','6',10,NULL,NULL,NULL,NULL,NULL,'16');
@@ -4739,46 +4764,46 @@ REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_TELEPORT','idle',26,
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'1');
+REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','attack',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','chase',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
-REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn','0',1922,1923,1924,1925,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn',NULL,1922,1923,1924,1925,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@SA_LANDPROTECTOR','attack',288,1,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@SA_LANDPROTECTOR','attack',288,1,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_GRANDDARKNESS','attack',339,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@SA_DISPELL','chase',289,5,100,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@SA_DISPELL','attack',289,5,100,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_WIDECURSE','chase',677,5,5000,800,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_WIDECURSE','attack',677,5,5000,800,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@SA_DISPELL','chase',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@SA_DISPELL','attack',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_WIDECURSE','chase',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@NPC_WIDECURSE','attack',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@NPC_BLOODDRAIN','attack',199,1,3000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@NPC_WIDEBLEEDING','chase',665,1,10000,500,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@NPC_WIDEBLEEDING','attack',665,1,10000,500,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@SM_MAGNUM','attack',7,20,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@NPC_BLOODDRAIN','attack',199,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@NPC_WIDEBLEEDING','chase',665,1,10000,500,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@NPC_WIDEBLEEDING','attack',665,1,10000,500,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@SM_MAGNUM','attack',7,20,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1919,'Incarnation of Morroc@NPC_EARTHQUAKE','attack',653,1,5000,5000,100000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_CRITICALWOUND','attack',673,3,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_CRITICALWOUND','idle',673,3,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_CRITICALWOUND','chase',673,3,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_ENERGYDRAIN','chase',200,1,3000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_CRITICALWOUND','attack',673,3,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_CRITICALWOUND','idle',673,3,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_CRITICALWOUND','chase',673,3,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_ENERGYDRAIN','chase',200,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1920,'Incarnation of Morroc@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1921,'Incarnation of Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4792,45 +4817,45 @@ REPLACE INTO `mob_skill_db` VALUES (1921,'Incarnation of Morroc@AL_HEAL','attack
REPLACE INTO `mob_skill_db` VALUES (1921,'Incarnation of Morroc@HP_ASSUMPTIO','idle',361,5,5000,1000,5000,'no','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1921,'Incarnation of Morroc@HP_ASSUMPTIO','chase',361,5,5000,1000,10000,'no','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1921,'Incarnation of Morroc@HP_ASSUMPTIO','attack',361,5,5000,1000,10000,'no','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@KN_TWOHANDQUICKEN','chase',60,20,10000,800,60000,'no','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@KN_TWOHANDQUICKEN','attack',60,20,10000,800,60000,'no','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_GRANDDARKNESS','attack',339,5,500,2000,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EXPULSION','attack',674,1,100,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@SA_DISPELL','chase',289,5,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_VERMILION','chase',85,5,5000,700,25000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_VERMILION','attack',85,5,2000,700,25000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_JUPITEL','chase',84,5,5000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_JUPITEL','attack',84,5,3000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_SUMMONSLAVE','chase',196,7,10000,1000,10000,'no','self','slavele','0',1937,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_SUMMONSLAVE','attack',196,7,10000,1000,10000,'no','self','slavele','0',1937,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_BLOODDRAIN','attack',199,1,3000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_WIDEBLEEDING','chase',665,2,10000,500,100000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_WIDEBLEEDING','attack',665,2,10000,500,100000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_GRANDDARKNESS','attack',339,5,500,2000,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EXPULSION','attack',674,1,100,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@SA_DISPELL','chase',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_VERMILION','chase',85,5,5000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_VERMILION','attack',85,5,2000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_JUPITEL','chase',84,5,5000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_JUPITEL','attack',84,5,3000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_SUMMONSLAVE','chase',196,7,10000,1000,10000,'no','self','slavele',NULL,1937,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_SUMMONSLAVE','attack',196,7,10000,1000,10000,'no','self','slavele',NULL,1937,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_BLOODDRAIN','attack',199,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_WIDEBLEEDING','chase',665,2,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_WIDEBLEEDING','attack',665,2,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EARTHQUAKE','attack',653,1,2000,700,100000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@SM_MAGNUM','attack',7,20,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_CRITICALWOUND','attack',673,4,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_CRITICALWOUND','idle',673,4,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_CRITICALWOUND','chase',673,4,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_ENERGYDRAIN','chase',200,1,3000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_WIDESILENCE','chase',663,2,10000,1000,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_WIDESILENCE','attack',663,2,10000,1000,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always','0',9,0x38A5,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@SM_MAGNUM','attack',7,20,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_CRITICALWOUND','attack',673,4,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_CRITICALWOUND','idle',673,4,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_CRITICALWOUND','chase',673,4,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_ENERGYDRAIN','chase',200,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_WIDESILENCE','chase',663,2,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_WIDESILENCE','attack',663,2,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,14501,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@HP_ASSUMPTIO','idle',361,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@HP_ASSUMPTIO','chase',361,5,5000,1000,10000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@HP_ASSUMPTIO','attack',361,5,5000,1000,10000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4838,40 +4863,40 @@ REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@AL_HEAL','idle',
REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@AL_HEAL','chase',28,11,10000,300,0,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@AL_HEAL','attack',28,11,10000,300,0,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@AL_HEAL','idle',28,11,10000,300,0,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'28',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_TALK','chase',682,1,10000,0,6000000,'yes','target','myhpltmaxrate','2',NULL,NULL,NULL,NULL,NULL,NULL,'25');
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_TALK','attack',682,1,10000,0,6000000,'yes','target','myhpltmaxrate','2',NULL,NULL,NULL,NULL,NULL,NULL,'25');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_TALK','chase',682,1,10000,0,6000000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'19');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_TALK','chase',682,1,10000,0,6000000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_ALLHEAL','idle',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_ALLHEAL','walk',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@MO_BODYRELOCATION','chase',264,1,2000,200,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKSTRIKE','chase',340,10,2000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@MO_BODYRELOCATION','chase',264,1,2000,200,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKSTRIKE','chase',340,10,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@AS_SONICBLOW','attack',136,5,500,0,20000,'no','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'20');
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKNESSBREATH','attack',658,3,2000,800,5000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_EVILLAND','chase',670,10,10000,1000,50000,'no','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,'24');
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_EVILLAND','attack',670,10,10000,1000,50000,'no','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,'24');
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_HELLJUDGEMENT','chase',662,3,10000,800,15000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'24');
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_HELLJUDGEMENT','attack',662,3,10000,800,15000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'22');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','2',1431,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','2',1431,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_INVINCIBLE','idle',685,1,10000,1000,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'19');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_INVINCIBLE','chase',685,1,10000,1000,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'19');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_INVINCIBLE','attack',685,1,10000,1000,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'19');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_PULSESTRIKE','chase',661,5,10000,2500,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'20');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_PULSESTRIKE','attack',661,5,10000,2500,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'21');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@KN_BRANDISHSPEAR','chase',57,20,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@KN_BRANDISHSPEAR','attack',57,20,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKBREATH','chase',202,1,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKBREATH','attack',202,1,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@WZ_VERMILION','attack',85,10,2000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_INVINCIBLE','idle',685,1,10000,1000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_INVINCIBLE','chase',685,1,10000,1000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_INVINCIBLE','attack',685,1,10000,1000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_PULSESTRIKE','chase',661,5,10000,2500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'20');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_PULSESTRIKE','attack',661,5,10000,2500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'21');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@KN_BRANDISHSPEAR','chase',57,20,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@KN_BRANDISHSPEAR','attack',57,20,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKBREATH','chase',202,1,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKBREATH','attack',202,1,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@WZ_VERMILION','attack',85,10,2000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@WZ_VERMILION','chase',85,20,5000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@WZ_VERMILION','chase',85,20,2000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@WZ_VERMILION','chase',85,20,2000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_ALLHEAL','idle',687,1,10000,30000,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,'23');
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@WZ_METEOR','idle',83,11,10000,300,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_WIDECURSE','chase',677,5,10000,700,35000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4890,55 +4915,55 @@ REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@MG_FROSTDIVER','chase',15,10,
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@MG_FROSTDIVER','attack',15,10,3000,1000,20000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@WZ_JUPITEL','chase',84,28,5000,1000,20000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@WZ_JUPITEL','attack',84,28,5000,1000,20000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CRITICALWOUND','attack',673,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CRITICALWOUND','chase',673,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CRITICALWOUND','attack',673,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CRITICALWOUND','chase',673,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_SUMMONSLAVE','attack',196,3,10000,2000,60000000,'no','self','myhpltmaxrate','70',1947,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@NPC_SUMMONSLAVE','chase',196,3,10000,2000,60000000,'no','self','myhpltmaxrate','70',1947,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@WZ_METEOR','idle',83,11,10000,300,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_SUMMONSLAVE','attack',196,5,10000,2000,5000,'no','self','slavele','1',1933,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_SUMMONSLAVE','idle',196,5,10000,2000,5000,'no','self','slavele','1',1933,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_SUMMONSLAVE','chase',196,5,10000,2000,5000,'no','self','slavele','1',1933,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_AGIUP','attack',350,5,10000,0,100000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_AGIUP','chase',350,5,10000,0,100000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@KN_TWOHANDQUICKEN','chase',60,20,10000,0,90000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@KN_TWOHANDQUICKEN','attack',60,20,10000,0,90000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@LK_SPIRALPIERCE','attack',397,1,2000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@CR_HOLYCROSS','attack',253,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@KN_BRANDISHSPEAR','attack',57,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@LK_SPIRALPIERCE','attack',397,1,2000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@CR_HOLYCROSS','attack',253,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@KN_BRANDISHSPEAR','attack',57,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@MG_THUNDERSTORM','attack',21,10,10000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@WZ_VERMILION','attack',85,20,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@WZ_VERMILION','chase',85,20,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@WZ_VERMILION','attack',85,20,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1931,'Wish Maiden@WZ_VERMILION','chase',85,20,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1932,'Garden Keeper@NPC_RUN','chase',354,1,10000,0,0,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'26',NULL);
REPLACE INTO `mob_skill_db` VALUES (1932,'Garden Keeper@NPC_RUN','attack',354,1,10000,0,0,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@WZ_JUPITEL','attack',84,4,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@WZ_JUPITEL','chase',84,4,1000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@WZ_JUPITEL','attack',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@WZ_JUPITEL','chase',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_DARKBREATH','chase',202,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_DARKCROSS','attack',338,5,2000,1500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@CR_REFLECTSHIELD','attack',252,3,10000,0,400000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@CR_REFLECTSHIELD','chase',252,3,10000,0,400000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1937,'Constant@NPC_SELFDESTRUCTION','attack',173,1,10000,1000,0,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1937,'Constant@NPC_SELFDESTRUCTION','chase',173,1,2000,1000,0,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_DARKBREATH','chase',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@NPC_DARKCROSS','attack',338,5,2000,1500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@CR_REFLECTSHIELD','attack',252,3,10000,0,400000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1933,'Garden Watcher@CR_REFLECTSHIELD','chase',252,3,10000,0,400000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1937,'Constant@NPC_SELFDESTRUCTION','attack',173,1,10000,1000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1937,'Constant@NPC_SELFDESTRUCTION','chase',173,1,2000,1000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_WIDECURSE','chase',677,5,10000,700,35000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_WIDECURSE','attack',677,5,10000,700,35000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@MG_THUNDERSTORM','attack',21,9,2000,1500,10000,'no','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4956,44 +4981,44 @@ REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@MG_FROSTDIVER','attack',15,10
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@WZ_JUPITEL','chase',84,28,5000,1000,20000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@WZ_JUPITEL','attack',84,28,5000,1000,20000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_DARKBLESSING','attack',203,1,300,0,2000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_CRITICALWOUND','attack',673,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_CRITICALWOUND','chase',673,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_CRITICALWOUND','attack',673,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_CRITICALWOUND','chase',673,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@AL_HEAL','chase',28,11,10000,500,5000,'no','friend','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@AL_HEAL','attack',28,11,10000,500,5000,'no','friend','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@HP_ASSUMPTIO','idle',361,5,5000,1000,5000,'no','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@HP_ASSUMPTIO','chase',361,5,5000,1000,10000,'no','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@HP_ASSUMPTIO','attack',361,5,5000,1000,10000,'no','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_WIDESILENCE','chase',663,5,3000,1000,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_WIDESILENCE','attack',663,5,3000,1000,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@KN_BRANDISHSPEAR','attack',57,3,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_AGIUP','attack',350,5,10000,0,25000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_WIDESILENCE','chase',663,5,3000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1947,'Piamette@NPC_WIDESILENCE','attack',663,5,3000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@KN_BRANDISHSPEAR','attack',57,3,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_AGIUP','attack',350,5,10000,0,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@KN_TWOHANDQUICKEN','attack',60,20,10000,0,120000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_HELLJUDGEMENT','chase',662,3,10000,1000,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_HELLJUDGEMENT','attack',662,3,10000,1000,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_HELLJUDGEMENT','chase',662,3,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_HELLJUDGEMENT','attack',662,3,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_WIDEFREEZE','attack',664,5,10000,0,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_DARKSTRIKE','chase',340,10,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_HALLUCINATION','chase',207,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_SHIELDBRAKE','attack',346,10,200,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_WATERATTACK','chase',184,1,5000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_WATERATTACK','attack',184,1,5000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_FIREATTACK','chase',186,1,5000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_FIREATTACK','attack',186,1,5000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_STUNATTACK','chase',179,5,2000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_STUNATTACK','attack',179,2,2000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@ASC_BREAKER','chase',379,3,5000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@ASC_BREAKER','attack',379,3,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_METEOR','attack',83,11,2000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_METEOR','chase',83,11,2000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_STORMGUST','attack',89,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_STORMGUST','chase',89,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_WIDESILENCE','chase',663,5,3000,1000,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_WIDESILENCE','attack',663,5,3000,1000,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_STORMGUST','chase',89,10,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_DARKSTRIKE','chase',340,10,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_HALLUCINATION','chase',207,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_SHIELDBRAKE','attack',346,10,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_WATERATTACK','chase',184,1,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_WATERATTACK','attack',184,1,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_FIREATTACK','chase',186,1,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_FIREATTACK','attack',186,1,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_STUNATTACK','chase',179,5,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_STUNATTACK','attack',179,2,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@ASC_BREAKER','chase',379,3,5000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@ASC_BREAKER','attack',379,3,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_METEOR','attack',83,11,2000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_METEOR','chase',83,11,2000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_STORMGUST','attack',89,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_STORMGUST','chase',89,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_WIDESILENCE','chase',663,5,3000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_WIDESILENCE','attack',663,5,3000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@WZ_STORMGUST','chase',89,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_SUMMONSLAVE','attack',196,4,10000,700,10000,'no','self','slavele','3',1605,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_SUMMONSLAVE','idle',196,4,10000,700,10000,'no','self','slavele','3',1605,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn','0',1605,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn',NULL,1605,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_ALLHEAL','idle',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1956,'Naght Sieger@NPC_ALLHEAL','walk',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_ALLHEAL','idle',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5001,274 +5026,274 @@ REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_ALLHEAL','walk',
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@ASC_BREAKER','attack',379,5,500,1000,20000,'no','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_PULSESTRIKE','attack',661,5,10000,2500,30000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_EVILLAND','attack',670,4,10000,800,50000,'no','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_DARKSTRIKE','attack',340,10,2000,0,1000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_DARKNESSATTACK','attack',190,3,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@AC_SHOWER','attack',47,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','attack',83,11,2000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_WIDECURSE','attack',677,5,5000,300,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_DARKSTRIKE','attack',340,10,2000,0,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_DARKNESSATTACK','attack',190,3,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@AC_SHOWER','attack',47,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','attack',83,11,2000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_WIDECURSE','attack',677,5,5000,300,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','idle',83,11,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','idle',83,11,10000,0,0,'yes','target','skillused','89',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','idle',83,11,10000,0,0,'yes','target','skillused','21',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','idle',83,11,10000,0,0,'yes','target','skillused','28',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','idle',83,11,10000,0,0,'yes','target','skillused','79',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','idle',83,11,10000,0,0,'yes','target','skillused','83',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','idle',83,11,10000,0,0,'yes','target','casttargeted','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@WZ_METEOR','idle',83,11,10000,0,0,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1957,'Entweihen Crothen@NPC_ALLHEAL','idle',687,1,10000,30000,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1958,'Thorny Skeleton@SN_SHARPSHOOTING','attack',382,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1958,'Thorny Skeleton@AC_SHOWER','attack',47,3,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1958,'Thorny Skeleton@NPC_DEFENDER','idle',205,5,10000,0,180000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1958,'Thorny Skeleton@NPC_DEFENDER','attack',205,5,10000,0,180000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1958,'Thorny Skeleton@SN_SHARPSHOOTING','attack',382,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1958,'Thorny Skeleton@AC_SHOWER','attack',47,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1958,'Thorny Skeleton@NPC_DEFENDER','idle',205,5,10000,0,180000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1958,'Thorny Skeleton@NPC_DEFENDER','attack',205,5,10000,0,180000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1959,'Thorn of Recovery@AL_HEAL','idle',28,11,10000,300,4000,'no','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1959,'Thorn of Recovery@AL_HEAL','attack',28,11,10000,300,2000,'no','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1959,'Thorn of Recovery@AL_HEAL','idle',28,11,10000,300,4000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1959,'Thorn of Recovery@NPC_DEFENDER','idle',205,5,10000,0,180000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1959,'Thorn of Recovery@NPC_DEFENDER','attack',205,5,10000,0,180000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_FROSTDIVER','attack',15,9,10000,500,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_FIREBOLT','attack',19,7,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_COLDBOLT','attack',14,7,10000,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@WZ_HEAVENDRIVE','attack',91,3,3000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@NPC_DARKTHUNDER','attack',341,5,500,1500,15000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@WZ_STORMGUST','attack',89,5,500,1500,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@NPC_DEFENDER','idle',205,5,10000,0,180000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@NPC_DEFENDER','attack',205,5,10000,0,180000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@NPC_SLOWCAST','chase',672,5,10000,500,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@NPC_SLOWCAST','attack',672,5,10000,500,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@SA_DISPELL','chase',289,5,500,2000,40000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@SA_DISPELL','attack',289,5,500,2000,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@NPC_DEFENDER','idle',205,5,10000,0,180000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@NPC_DEFENDER','attack',205,5,10000,0,180000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1959,'Thorn of Recovery@NPC_DEFENDER','idle',205,5,10000,0,180000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1959,'Thorn of Recovery@NPC_DEFENDER','attack',205,5,10000,0,180000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_FROSTDIVER','attack',15,9,10000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_FIREBOLT','attack',19,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_COLDBOLT','attack',14,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@WZ_HEAVENDRIVE','attack',91,3,3000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@NPC_DARKTHUNDER','attack',341,5,500,1500,15000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@WZ_STORMGUST','attack',89,5,500,1500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@NPC_DEFENDER','idle',205,5,10000,0,180000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1960,'Thorn of Magic@NPC_DEFENDER','attack',205,5,10000,0,180000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@NPC_SLOWCAST','chase',672,5,10000,500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@NPC_SLOWCAST','attack',672,5,10000,500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@SA_DISPELL','chase',289,5,500,2000,40000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@SA_DISPELL','attack',289,5,500,2000,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@NPC_DEFENDER','idle',205,5,10000,0,180000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1961,'Thorn of Purification@NPC_DEFENDER','attack',205,5,10000,0,180000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always','0',7,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',NULL,0x3795,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn','0',1868,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,14229,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn',NULL,1868,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'52',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@WZ_JUPITEL','chase',84,4,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_MENTALBREAKER','attack',159,3,200,800,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_MENTALBREAKER','chase',159,3,200,800,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_PETRIFYATTACK','attack',180,3,200,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_PETRIFYATTACK','chase',180,3,200,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'52',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@WZ_JUPITEL','chase',84,4,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_MENTALBREAKER','attack',159,3,200,800,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_MENTALBREAKER','chase',159,3,200,800,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_PETRIFYATTACK','attack',180,3,200,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_PETRIFYATTACK','chase',180,3,200,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@SA_DISPELL','attack',289,1,100,1000,100000,'yes','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn','0',1774,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1975,'Beholder Master@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn',NULL,1774,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@CR_REFLECTSHIELD','attack',252,2,1000,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@NPC_RANDOMATTACK','attack',183,2,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@CR_REFLECTSHIELD','attack',252,2,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@NPC_RANDOMATTACK','attack',183,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@NPC_BARRIER','attack',204,1,500,3000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@NPC_SPLASHATTACK','attack',174,1,500,0,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@TF_HIDING','attack',51,1,500,500,50000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@TF_HIDING','idle',51,1,500,500,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@TF_HIDING','attack',51,1,500,500,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1976,'Cobalt Mineral@TF_HIDING','idle',51,1,500,500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@CR_AUTOGUARD','chase',249,5,500,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@RG_STRIPWEAPON','attack',215,3,500,0,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@RG_STRIPARMOR','attack',217,3,500,0,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@MC_MAMMONITE','attack',42,5,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@RG_STRIPWEAPON','attack',215,3,500,0,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@RG_STRIPARMOR','attack',217,3,500,0,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@MC_MAMMONITE','attack',42,5,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@KN_BRANDISHSPEAR','attack',57,5,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_DARKTHUNDER','attack',341,4,1000,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@KN_BRANDISHSPEAR','attack',57,5,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_DARKTHUNDER','attack',341,4,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_SELFDESTRUCTION','attack',173,1,1000,2000,5000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn','0',1365,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn',NULL,1365,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_RANDOMATTACK','attack',183,5,1000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn','0',1668,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@SM_BASH','attack',5,10,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@SM_BASH','chase',5,10,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',0,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@SM_MAGNUM','attack',7,7,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_RANDOMATTACK','attack',183,5,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn',NULL,1668,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@SM_BASH','attack',5,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@SM_BASH','chase',5,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@SM_MAGNUM','attack',7,7,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@CR_AUTOGUARD','chase',249,5,500,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_PULSESTRIKE','chase',661,2,2000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_PULSESTRIKE','attack',661,2,500,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_PULSESTRIKE','chase',661,2,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_PULSESTRIKE','attack',661,2,500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Sniper@NPC_EMOTION','attack',197,1,100,0,60000,'yes','self','myhpltmaxrate','60',6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Sniper@AC_SHOWER','attack',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Sniper@AC_DOUBLE','attack',46,1,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1983,'Depraved Orc Spirit@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1983,'Depraved Orc Spirit@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1983,'Depraved Orc Spirit@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1984,'Shaman Cargalache@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1984,'Shaman Cargalache@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',3,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1984,'Shaman Cargalache@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1985,'Dandelion@NPC_CHANGEUNDEAD','attack',348,1,3000,500,600000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1985,'Dandelion@NPC_CHANGEUNDEAD','chase',348,1,3000,500,600000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1985,'Dandelion@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Sniper@AC_DOUBLE','attack',46,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1983,'Depraved Orc Spirit@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1983,'Depraved Orc Spirit@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1983,'Depraved Orc Spirit@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1984,'Shaman Cargalache@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1984,'Shaman Cargalache@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1984,'Shaman Cargalache@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1985,'Dandelion Member@NPC_CHANGEUNDEAD','attack',348,1,3000,500,600000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1985,'Dandelion Member@NPC_CHANGEUNDEAD','chase',348,1,3000,500,600000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1985,'Dandelion Member@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_STUNATTACK','attack',179,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@HW_GANBANTEIN','attack',483,1,2000,0,7000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_STUNATTACK','attack',179,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@HW_GANBANTEIN','attack',483,1,2000,0,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','around1','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@HW_GANBANTEIN','attack',483,1,3000,0,7000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3195,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1989,'Hillsrion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1989,'Hillsrion@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1989,'Hillsrion@SM_PROVOKE','chase',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1989,'Hillsrion@SM_PROVOKE','attack',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1989,'Hillsrion@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1989,'Hillsrion@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1989,'Hillsrion@NPC_CRITICALSLASH','chase',170,1,500,300,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1989,'Hillsrion@NPC_CRITICALSLASH','attack',170,1,500,800,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1989,'Hillsrion@NPC_COMBOATTACK','attack',171,3,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','around1','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@HW_GANBANTEIN','attack',483,1,3000,0,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12693,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1988,'Nepenthes@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1989,'Hillslion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1989,'Hillslion@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1989,'Hillslion@SM_PROVOKE','chase',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1989,'Hillslion@SM_PROVOKE','attack',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1989,'Hillslion@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1989,'Hillslion@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1989,'Hillslion@NPC_CRITICALSLASH','chase',170,1,500,300,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1989,'Hillslion@NPC_CRITICALSLASH','attack',170,1,500,800,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1989,'Hillslion@NPC_COMBOATTACK','attack',171,3,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_STONESKIN','idle',675,3,10000,0,30000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_STONESKIN','chase',675,3,10000,0,30000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_STONESKIN','attack',675,3,10000,0,30000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','idle',196,3,10000,0,30000,'yes','self','slavele','0',1997,1997,1997,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','chase',196,3,10000,0,30000,'yes','self','slavele','0',1997,1997,1997,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','attack',196,3,10000,0,30000,'yes','self','slavele','0',1997,1997,1997,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','always','0',7,0x36B5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EMOTION','attack',197,1,1000,0,5000,'yes','self','always','0',19,0xA1,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@WZ_WATERBALL','attack',86,10,2000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@LK_SPIRALPIERCE','attack',397,1,500,3000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','idle',196,3,10000,0,30000,'yes','self','slavele',NULL,1997,1997,1997,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','chase',196,3,10000,0,30000,'yes','self','slavele',NULL,1997,1997,1997,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','attack',196,3,10000,0,30000,'yes','self','slavele',NULL,1997,1997,1997,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','always',NULL,7,14005,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EMOTION','attack',197,1,1000,0,5000,'yes','self','always',NULL,19,161,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@WZ_WATERBALL','attack',86,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@LK_SPIRALPIERCE','attack',397,1,500,3000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@KN_TWOHANDQUICKEN','attack',60,10,10000,0,120000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_WIDESTUN','chase',678,1,500,300,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_WIDESTUN','attack',678,1,500,800,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_WIDESTUN','chase',678,1,500,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_WIDESTUN','attack',678,1,500,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@SM_PROVOKE','chase',6,10,500,600,120000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@SM_PROVOKE','attack',6,10,500,600,120000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@WZ_EARTHSPIKE','attack',90,3,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@WZ_EARTHSPIKE','attack',90,3,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_DRAGONFEAR','attack',659,2,500,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EARTHQUAKE','chase',653,2,10000,2000,30000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EARTHQUAKE','attack',653,2,10000,2000,30000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@HW_GANBANTEIN','attack',483,1,3000,0,7000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@HW_GANBANTEIN','attack',483,1,3000,0,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_ALLHEAL','idle',687,1,10000,30000,30000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@SM_PROVOKE','chase',6,10,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@SM_PROVOKE','attack',6,10,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','always','0',7,0x36B5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_EMOTION','attack',197,1,1000,0,10000,'yes','self','always','0',19,0x38A5,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@MO_BODYRELOCATION','chase',264,1,2000,200,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_WIDESLEEP','chase',668,1,500,300,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_WIDESLEEP','attack',668,1,500,800,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_WIDEBLEEDING','attack',665,1,10000,500,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_WIDEBLEEDING','chase',665,1,10000,500,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@WZ_EARTHSPIKE','attack',90,3,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_CRITICALSLASH','chase',170,1,500,300,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_CRITICALSLASH','attack',170,1,500,800,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_COMBOATTACK','attack',171,3,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@HW_GANBANTEIN','attack',483,1,3000,0,7000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_DRAGONFEAR','attack',659,2,500,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_GROUNDATTACK','attack',185,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@PF_SPIDERWEB','attack',405,1,3000,0,10000,'yes','target','always','0',NULL,0x38A5,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrilion@NPC_ALLHEAL','idle',687,1,10000,30000,30000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@SM_PROVOKE','chase',6,10,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@SM_PROVOKE','attack',6,10,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','always',NULL,7,14005,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_EMOTION','attack',197,1,1000,0,10000,'yes','self','always',NULL,19,14501,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@MO_BODYRELOCATION','chase',264,1,2000,200,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_WIDESLEEP','chase',668,1,500,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_WIDESLEEP','attack',668,1,500,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_WIDEBLEEDING','attack',665,1,10000,500,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_WIDEBLEEDING','chase',665,1,10000,500,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@WZ_EARTHSPIKE','attack',90,3,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_CRITICALSLASH','chase',170,1,500,300,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_CRITICALSLASH','attack',170,1,500,800,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_COMBOATTACK','attack',171,3,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@HW_GANBANTEIN','attack',483,1,3000,0,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_DRAGONFEAR','attack',659,2,500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_GROUNDATTACK','attack',185,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@PF_SPIDERWEB','attack',405,1,3000,0,10000,'yes','target','always',NULL,NULL,14501,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_ALLHEAL','idle',687,1,10000,30000,30000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@CR_REFLECTSHIELD','idle',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@CR_REFLECTSHIELD','idle',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@SM_PROVOKE','chase',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@SM_PROVOKE','attack',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_CRITICALSLASH','chase',170,1,500,300,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_CRITICALSLASH','attack',170,1,500,800,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_COMBOATTACK','attack',171,3,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_PULSESTRIKE','attack',661,3,1000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_CRITICALSLASH','chase',170,1,500,300,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_CRITICALSLASH','attack',170,1,500,800,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_COMBOATTACK','attack',171,3,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_PULSESTRIKE','attack',661,3,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_ALLHEAL','idle',687,1,10000,1500,5000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_ALLHEAL','chase',687,1,10000,1500,5000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1992,'Cornus@NPC_ALLHEAL','attack',687,1,10000,1500,5000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@KN_PIERCE','attack',56,10,1000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@KN_PIERCE','attack',56,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@SM_PROVOKE','chase',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@SM_PROVOKE','attack',6,3,2000,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@WZ_WATERBALL','attack',86,9,1000,0,20000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1993,'Naga@WZ_WATERBALL','attack',86,9,1000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_POISONATTACK','attack',188,2,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_PULSESTRIKE','attack',661,2,1000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_POISONATTACK','attack',188,2,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_PULSESTRIKE','attack',661,2,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@NPC_STUNATTACK','attack',179,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@HW_GANBANTEIN','attack',483,1,2000,0,7000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1998,'Hillsrion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1998,'Hillsrion@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1998,'Hillsrion@SM_PROVOKE','chase',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1998,'Hillsrion@SM_PROVOKE','attack',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1998,'Hillsrion@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1998,'Hillsrion@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1998,'Hillsrion@NPC_CRITICALSLASH','chase',170,1,500,300,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1998,'Hillsrion@NPC_CRITICALSLASH','attack',170,1,500,800,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1998,'Hillsrion@NPC_COMBOATTACK','attack',171,3,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1999,'Centipede Larva@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','around1','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1999,'Centipede Larva@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1999,'Centipede Larva@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1999,'Centipede Larva@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@NPC_STUNATTACK','attack',179,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1997,'Tatacho@HW_GANBANTEIN','attack',483,1,2000,0,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1998,'Hillslion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1998,'Hillslion@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1998,'Hillslion@SM_PROVOKE','chase',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1998,'Hillslion@SM_PROVOKE','attack',6,3,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1998,'Hillslion@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1998,'Hillslion@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1998,'Hillslion@NPC_CRITICALSLASH','chase',170,1,500,300,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1998,'Hillslion@NPC_CRITICALSLASH','attack',170,1,500,800,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1998,'Hillslion@NPC_COMBOATTACK','attack',171,3,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1999,'Centipede Larva@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','around1','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1999,'Centipede Larva@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1999,'Centipede Larva@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1999,'Centipede Larva@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@AL_HEAL','idle',28,9,10000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_CALLSLAVE','chase',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_CALLSLAVE','chase',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_SUMMONSLAVE','attack',196,1,10000,0,10000,'yes','self','slavele','5',2010,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_SUMMONSLAVE','chase',196,1,10000,0,10000,'yes','self','slavele','5',2010,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_SUMMONSLAVE','idle',196,6,10000,0,10000,'yes','self','slavele','5',2010,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_METAMORPHOSIS','chase',193,6,10000,5000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_METAMORPHOSIS','attack',193,6,10000,5000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@LK_SPIRALPIERCE','attack',397,5,2000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_PULSESTRIKE','attack',661,5,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_WIDESLEEP','attack',668,5,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_WIDESILENCE','attack',663,5,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_HELLJUDGEMENT','attack',662,5,10000,700,15000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_HELLJUDGEMENT','chase',662,5,10000,700,15000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_EXPULSION','attack',674,1,100,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@LK_SPIRALPIERCE','attack',397,5,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_PULSESTRIKE','attack',661,5,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_WIDESLEEP','attack',668,5,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_WIDESILENCE','attack',663,5,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_HELLJUDGEMENT','attack',662,5,10000,700,15000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_HELLJUDGEMENT','chase',662,5,10000,700,15000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_EXPULSION','attack',674,1,100,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_VAMPIRE_GIFT','attack',679,10,10000,1000,10000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2008,'Woomawang@NPC_AGIUP','chase',350,5,10000,0,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5277,128 +5302,122 @@ REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@AL_TELEPORT','chase',26,1,50
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_RUN','attack',354,10,10000,0,0,'yes','self','myhpltmaxrate','1',NULL,NULL,NULL,NULL,NULL,'26',NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_RUN','chase',354,10,10000,0,0,'yes','self','myhpltmaxrate','1',NULL,NULL,NULL,NULL,NULL,'26',NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@AL_HEAL','idle',28,9,10000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_CALLSLAVE','chase',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_CALLSLAVE','chase',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_SUMMONSLAVE','attack',196,6,10000,0,10000,'yes','self','slavele','5',2010,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_SUMMONSLAVE','chase',196,6,10000,0,10000,'yes','self','slavele','5',2010,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_SUMMONSLAVE','idle',196,6,10000,0,10000,'yes','self','slavele','5',2010,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_STONESKIN','chase',675,4,10000,1000,30000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_STONESKIN','attack',675,4,10000,1000,30000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_EVILLAND','attack',670,10,10000,0,15000,'yes','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@SA_LANDPROTECTOR','attack',288,5,10000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_SHIELDBRAKE','attack',346,10,2000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_MAGICMIRROR','attack',671,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_EXPULSION','attack',674,1,50,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@SA_LANDPROTECTOR','attack',288,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_SHIELDBRAKE','attack',346,10,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_MAGICMIRROR','attack',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_EXPULSION','attack',674,1,50,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_WIDESTONE','attack',666,5,10000,500,15000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_WIDESTONE','chase',666,5,10000,500,15000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@LK_SPIRALPIERCE','attack',397,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_PULSESTRIKE','attack',661,5,10000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_HELLJUDGEMENT','chase',662,2,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_HELLJUDGEMENT','attack',662,2,2000,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_ACIDBREATH','attack',657,1,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_ACIDBREATH','chase',657,1,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@LK_SPIRALPIERCE','attack',397,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_PULSESTRIKE','attack',661,5,10000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_HELLJUDGEMENT','chase',662,2,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_HELLJUDGEMENT','attack',662,2,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_ACIDBREATH','attack',657,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_ACIDBREATH','chase',657,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_VAMPIRE_GIFT','attack',679,1,1000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'47',NULL);
REPLACE INTO `mob_skill_db` VALUES (2009,'Woomawang@NPC_WIDESOULDRAIN','attack',680,7,1000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'42',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2010,'Majoruros@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2010,'Majoruros@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2010,'Majoruros@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2010,'Majoruros@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2010,'Majoruros@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2010,'Majoruros@NPC_SUMMONSLAVE','idle',196,1,10000,2000,60000,'no','self','slavele','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2010,'Majoruros@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2010,'Majoruros@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'44',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@TF_THROWSTONE','chase',152,1,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_GROUNDATTACK','attack',185,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_PIERCINGATT','attack',158,5,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_FIREBREATH','attack',654,3,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2014,'Draco Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2014,'Draco Egg@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2010,'Ox@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2010,'Ox@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2010,'Ox@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2010,'Ox@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2010,'Ox@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2010,'Ox@NPC_SUMMONSLAVE','idle',196,1,10000,2000,60000,'no','self','slavele',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2010,'Ox@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2010,'Ox@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'44',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@TF_THROWSTONE','chase',152,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_GROUNDATTACK','attack',185,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_PIERCINGATT','attack',158,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2013,'Draco@NPC_FIREBREATH','attack',654,3,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2014,'Draco Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2014,'Draco Egg@NPC_METAMORPHOSIS','idle',193,1,10,2000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_BLOODDRAIN','attack',199,1,5000,500,5000,'yes','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@MG_FROSTDIVER','chase',15,9,10000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@WZ_WATERBALL','attack',86,4,2000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@MG_COLDBOLT','attack',14,3,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@NPC_SLOWCAST','attack',672,2,1000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@MG_FROSTDIVER','chase',15,9,10000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@WZ_WATERBALL','attack',86,4,2000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@MG_COLDBOLT','attack',14,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@NPC_SLOWCAST','attack',672,2,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2016,'Aqua Elemental@WZ_FROSTNOVA','attack',88,10,10000,1500,20000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@TF_THROWSTONE','chase',152,1,5000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@MO_BODYRELOCATION','chase',264,1,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_DARKSTRIKE','chase',340,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_DARKSTRIKE','attack',340,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@TF_THROWSTONE','chase',152,1,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@MO_BODYRELOCATION','chase',264,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_DARKSTRIKE','chase',340,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_DARKSTRIKE','attack',340,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_ARMORBRAKE','attack',344,3,2000,0,5000,'yes','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@WZ_EARTHSPIKE','attack',90,5,3000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'24',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@ASC_METEORASSAULT','attack',406,2,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_DARKSTRIKE','chase',340,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_DARKSTRIKE','attack',340,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@PF_SPIDERWEB','chase',405,1,3000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@WZ_EARTHSPIKE','attack',90,5,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2017,'Rata@ASC_METEORASSAULT','attack',406,2,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_DARKSTRIKE','chase',340,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_DARKSTRIKE','attack',340,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@PF_SPIDERWEB','chase',405,1,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@KN_TWOHANDQUICKEN','attack',60,5,500,0,300000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@MG_THUNDERSTORM','attack',21,5,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@MG_THUNDERSTORM','attack',21,5,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@MG_THUNDERSTORM','chase',21,5,1000,1500,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@AL_HEAL','attack',28,5,5000,500,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@AL_HEAL','idle',28,5,10000,500,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@AL_HEAL','chase',28,5,10000,500,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2019,'Ancient Tree@AL_HEAL','idle',28,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2018,'Duneyrr@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2019,'Ancient Tree@AL_HEAL','idle',28,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2019,'Ancient Tree@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2019,'Ancient Tree@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2019,'Ancient Tree@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always','0',6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@NPC_STUNATTACK','attack',179,5,500,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@NPC_CRITICALSLASH','attack',170,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@PR_LEXDIVINA','chase',76,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@MG_COLDBOLT','attack',14,3,3000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@NPC_WATERATTACK','attack',184,1,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@WZ_WATERBALL','attack',86,3,2000,100,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_ALLHEAL','idle',687,1,3000,10000,10000,'no','self','rudeattacked','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_ALLHEAL','walk',687,1,3000,10000,10000,'no','self','rudeattacked','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2019,'Ancient Tree@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2019,'Ancient Tree@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@NPC_STUNATTACK','attack',179,5,500,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@NPC_CRITICALSLASH','attack',170,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2020,'Rhyncho@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@PR_LEXDIVINA','chase',76,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@MG_COLDBOLT','attack',14,3,3000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@NPC_WATERATTACK','attack',184,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@WZ_WATERBALL','attack',86,3,2000,100,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_ALLHEAL','idle',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_ALLHEAL','walk',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2027,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2027,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','onspawn','0',2027,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_MAGICMIRROR','idle',671,3,10000,0,120000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_MAGICMIRROR','chase',671,3,10000,0,120000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_MAGICMIRROR','attack',671,3,10000,0,120000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','onspawn',NULL,2027,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_MAGICMIRROR','idle',671,3,10000,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_MAGICMIRROR','chase',671,3,10000,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_MAGICMIRROR','attack',671,3,10000,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_STONESKIN','chase',675,3,10000,2500,300000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,'34');
REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_STONESKIN','attack',675,3,10000,2500,300000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,'34');
REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_POWERUP','attack',349,5,6000,0,60000,'yes','self','myhpltmaxrate','15',NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -5424,119 +5443,125 @@ REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_FIREBREATH','at
REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDESLEEP','chase',668,5,10000,3000,20000,'no','self','myhpltmaxrate','95',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDESLEEP','attack',668,5,30000,1000,20000,'no','self','myhpltmaxrate','95',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','myhpltmaxrate','95',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@MG_FIREBALL','chase',17,5,10000,0,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@WZ_METEOR','attack',83,10,2000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_PULSESTRIKE','attack',661,5,2000,10000,40000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'31');
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@MG_FIREBALL','chase',17,5,10000,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@WZ_METEOR','attack',83,10,2000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_PULSESTRIKE','attack',661,5,2000,10000,40000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'31');
REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_ALLHEAL','idle',687,1,10000,120000,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'20',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_DARKSTRIKE','chase',340,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_DARKNESSBREATH','attack',658,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2026,'Dandelion@NPC_BLINDATTACK','attack',177,2,1000,0,6000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'29');
-REPLACE INTO `mob_skill_db` VALUES (2026,'Dandelion@NPC_POISON','attack',176,3,1000,500,60000,'no','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2026,'Dandelion@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'27');
-REPLACE INTO `mob_skill_db` VALUES (2026,'Dandelion@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'28');
-REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_DARKSTRIKE','chase',340,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_DARKNESSBREATH','attack',658,1,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@MG_FIREBALL','idle',17,5,10000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@MG_FIREBALL','chase',17,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@CR_REFLECTSHIELD','idle',252,3,1000,0,200000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_FIREATTACK','attack',186,5,2000,1000,200000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_BLEEDING','attack',660,3,500,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_DARKSTRIKE','chase',340,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_DARKNESSBREATH','attack',658,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Membe@NPC_BLINDATTACK','attack',177,2,1000,0,6000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'29');
+REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Membe@NPC_POISON','attack',176,3,1000,500,60000,'no','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Membe@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'27');
+REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Membe@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'28');
+REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_DARKSTRIKE','chase',340,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_DARKNESSBREATH','attack',658,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2042,'Silver Sniper@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2042,'Silver Sniper@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2042,'Silver Sniper@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy@MG_FIREBOLT','attack',19,10,10000,800,3500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy@MG_FIREBOLT','chase',19,10,10000,800,3500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy@MG_COLDBOLT','attack',14,10,10000,800,3500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy@MG_COLDBOLT','chase',14,10,10000,800,3500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy@WZ_EARTHSPIKE','attack',90,10,10000,800,3500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy@WZ_EARTHSPIKE','chase',90,10,10000,800,3500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy@MG_LIGHTNINGBOLT','attack',20,10,10000,800,3500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy@MG_LIGHTNINGBOLT','chase',20,10,10000,800,3500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@MG_FIREBALL','idle',17,5,10000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@MG_FIREBALL','chase',17,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@CR_REFLECTSHIELD','idle',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_FIREATTACK','attack',186,5,2000,1000,200000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_BLEEDING','attack',660,3,500,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@SM_MAGNUM','attack',7,7,1000,0,10000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@KN_TWOHANDQUICKEN','attack',60,20,2000,0,300000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_WIDEBLEEDING','attack',665,2,10000,500,100000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_SUMMONSLAVE','attack',196,5,10000,1000,30000,'no','self','slavele','1',2082,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_SUMMONSLAVE','idle',196,5,10000,1000,30000,'no','self','slavele','1',2082,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_SUMMONSLAVE','chase',196,5,10000,1000,30000,'no','self','slavele','1',2082,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@NPC_WATERATTACK','attack',184,3,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@PR_LEXDIVINA','chase',76,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',3,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@WZ_WATERBALL','attack',86,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@SM_BASH','attack',5,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@MG_FROSTDIVER','chase',15,10,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_WATERATTACK','attack',184,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_CRITICALWOUND','attack',673,1,50,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_BLEEDING','attack',660,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@MG_COLDBOLT','attack',14,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@MG_COLDBOLT','chase',14,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@WZ_WATERBALL','attack',86,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_CURSEATTACK','attack',181,1,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@MG_FIREBOLT','attack',19,5,2000,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@MG_FIREBOLT','chase',19,5,2000,1500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_BLEEDING','attack',660,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@SM_BASH','attack',5,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@AS_SONICBLOW','attack',136,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always','0',2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always','0',19,0x81,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',7,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_STOP','attack',342,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@MG_STONECURSE','idle',16,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@MG_STONECURSE','attack',16,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@AL_INCAGI','chase',29,1,500,700,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_WATERATTACK','attack',184,2,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_CRITICALWOUND','attack',673,1,50,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_BLEEDING','attack',660,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@MG_COLDBOLT','attack',14,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@MG_COLDBOLT','chase',14,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@WZ_WATERBALL','attack',86,3,500,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2042,'Silver Sniper@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2042,'Silver Sniper@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2042,'Silver Sniper@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy Fire@MG_FIREBOLT','attack',19,10,10000,800,3500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy Fire@MG_FIREBOLT','chase',19,10,10000,800,3500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy Fire@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy Fire@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2043,'Magic Decoy Fire@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy Water@MG_COLDBOLT','attack',14,10,10000,800,3500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy Water@MG_COLDBOLT','chase',14,10,10000,800,3500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy Water@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy Water@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2044,'Magic Decoy Water@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy Earth@WZ_EARTHSPIKE','attack',90,10,10000,800,3500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy Earth@WZ_EARTHSPIKE','chase',90,10,10000,800,3500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy Earth@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy Earth@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2045,'Magic Decoy Earth@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy Wind@MG_LIGHTNINGBOLT','attack',20,10,10000,800,3500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy Wind@MG_LIGHTNINGBOLT','chase',20,10,10000,800,3500,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy Wind@AL_HEAL','chase',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy Wind@AL_HEAL','idle',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2046,'Magic Decoy Wind@AL_HEAL','attack',28,10,10000,0,1000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@NPC_WATERATTACK','attack',184,3,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@PR_LEXDIVINA','chase',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@WZ_WATERBALL','attack',86,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2069,'Iara@MG_FROSTDIVER','chase',15,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_WATERATTACK','attack',184,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_CRITICALWOUND','attack',673,1,50,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_BLEEDING','attack',660,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@MG_COLDBOLT','attack',14,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@MG_COLDBOLT','chase',14,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@WZ_WATERBALL','attack',86,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2070,'Piranha@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_CURSEATTACK','attack',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@MG_FIREBOLT','attack',19,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@MG_FIREBOLT','chase',19,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_BLEEDING','attack',660,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2071,'Headless Mule@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@AS_SONICBLOW','attack',136,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@MG_STONECURSE','idle',16,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@MG_STONECURSE','attack',16,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2074,'Curupira@AL_INCAGI','chase',29,1,500,700,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_WATERATTACK','attack',184,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_CRITICALWOUND','attack',673,1,50,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_BLEEDING','attack',660,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@MG_COLDBOLT','attack',14,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@MG_COLDBOLT','chase',14,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@WZ_WATERBALL','attack',86,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
diff --git a/sql-files/mob_skill_db2.sql b/sql-files/mob_skill_db2.sql
index c3e48d47b..e55be9d6d 100644
--- a/sql-files/mob_skill_db2.sql
+++ b/sql-files/mob_skill_db2.sql
@@ -1,9 +1,34 @@
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2019 Hercules Dev Team
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+-- NOTE: This file was auto-generated and should never be manually edited,
+-- as it will get overwritten. If you need to modify this file,
+-- please consider modifying the corresponding .conf file inside
+-- the db folder, and then re-run the db2sql plugin.
+
+-- GENERATED FILE DO NOT EDIT --
+
--
-- Table structure for table `mob_skill_db2`
--
DROP TABLE IF EXISTS `mob_skill_db2`;
-CREATE TABLE IF NOT EXISTS `mob_skill_db2` (
+CREATE TABLE `mob_skill_db2` (
`MOB_ID` SMALLINT(6) NOT NULL,
`INFO` TEXT NOT NULL,
`STATE` TEXT NOT NULL,
@@ -16,11 +41,12 @@ CREATE TABLE IF NOT EXISTS `mob_skill_db2` (
`TARGET` TEXT NOT NULL,
`CONDITION` TEXT NOT NULL,
`CONDITION_VALUE` TEXT,
- `VAL1` MEDIUMINT(9) DEFAULT NULL,
- `VAL2` MEDIUMINT(9) DEFAULT NULL,
- `VAL3` MEDIUMINT(9) DEFAULT NULL,
- `VAL4` MEDIUMINT(9) DEFAULT NULL,
- `VAL5` MEDIUMINT(9) DEFAULT NULL,
+ `VAL1` INT(11) DEFAULT NULL,
+ `VAL2` INT(11) DEFAULT NULL,
+ `VAL3` INT(11) DEFAULT NULL,
+ `VAL4` INT(11) DEFAULT NULL,
+ `VAL5` INT(11) DEFAULT NULL,
`EMOTION` TEXT,
`CHAT` TEXT
) ENGINE=MyISAM;
+
diff --git a/sql-files/mob_skill_db_re.sql b/sql-files/mob_skill_db_re.sql
index 9d60c4e2b..b44ee4979 100644
--- a/sql-files/mob_skill_db_re.sql
+++ b/sql-files/mob_skill_db_re.sql
@@ -1,9 +1,34 @@
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2019 Hercules Dev Team
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+-- NOTE: This file was auto-generated and should never be manually edited,
+-- as it will get overwritten. If you need to modify this file,
+-- please consider modifying the corresponding .conf file inside
+-- the db folder, and then re-run the db2sql plugin.
+
+-- GENERATED FILE DO NOT EDIT --
+
--
-- Table structure for table `mob_skill_db`
--
DROP TABLE IF EXISTS `mob_skill_db`;
-CREATE TABLE IF NOT EXISTS `mob_skill_db` (
+CREATE TABLE `mob_skill_db` (
`MOB_ID` SMALLINT(6) NOT NULL,
`INFO` TEXT NOT NULL,
`STATE` TEXT NOT NULL,
@@ -16,11 +41,11 @@ CREATE TABLE IF NOT EXISTS `mob_skill_db` (
`TARGET` TEXT NOT NULL,
`CONDITION` TEXT NOT NULL,
`CONDITION_VALUE` TEXT,
- `VAL1` MEDIUMINT(9) DEFAULT NULL,
- `VAL2` MEDIUMINT(9) DEFAULT NULL,
- `VAL3` MEDIUMINT(9) DEFAULT NULL,
- `VAL4` MEDIUMINT(9) DEFAULT NULL,
- `VAL5` MEDIUMINT(9) DEFAULT NULL,
+ `VAL1` INT(11) DEFAULT NULL,
+ `VAL2` INT(11) DEFAULT NULL,
+ `VAL3` INT(11) DEFAULT NULL,
+ `VAL4` INT(11) DEFAULT NULL,
+ `VAL5` INT(11) DEFAULT NULL,
`EMOTION` TEXT,
`CHAT` TEXT
) ENGINE=MyISAM;
@@ -67,21 +92,21 @@ REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@NPC_EMOTION','chase',197,1,2
REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1019,'Peco Peco@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1020,'Mandragora@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always',NULL,27,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1023,'Orc Warrior@NPC_SMOKING','idle',195,1,500,0,36000000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1024,'Wormtail@NPC_GROUNDATTACK','attack',185,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1025,'Boa@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1025,'Boa@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1025,'Snake@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1025,'Snake@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_STUNATTACK','angry',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1026,'Munak@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1028,'Soldier Skeleton@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -92,8 +117,8 @@ REPLACE INTO `mob_skill_db` VALUES (1028,'Soldier Skeleton@NPC_UNDEADATTACK','an
REPLACE INTO `mob_skill_db` VALUES (1028,'Soldier Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1029,'Isis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1030,'Anacondaq@NPC_POISON','attack',176,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1030,'Anacondaq@NPC_POISONATTACK','attack',188,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1031,'Poporing@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -104,8 +129,8 @@ REPLACE INTO `mob_skill_db` VALUES (1032,'Verit@NPC_POISON','attack',176,3,500,8
REPLACE INTO `mob_skill_db` VALUES (1032,'Verit@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1033,'Elder Willow@NPC_FIREATTACK','attack',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1034,'Thara Frog@NPC_LICK','attack',206,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1034,'Thara Frog@NPC_WATERATTACK','attack',184,3,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -114,9 +139,9 @@ REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_BLOODDRAIN','angry',199
REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_WINDATTACK','angry',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1035,'Hunter Fly@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1036,'Ghoul@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -142,7 +167,7 @@ REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_DARKTHUNDER','chase',341,10
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_DARKTHUNDER','chase',341,10,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_POISONATTACK','attack',188,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_POWERUP','attack',349,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_SUMMONSLAVE','idle',196,7,10000,0,0,'no','self','onspawn','0',1029,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_SUMMONSLAVE','idle',196,7,10000,0,0,'no','self','onspawn',NULL,1029,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1522,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1522,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1038,'Osiris@SM_BASH','attack',5,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -167,7 +192,7 @@ REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_HELLJUDGEMENT','chase',66
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1431,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1431,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn','0',1101,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,1101,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@WZ_VERMILION','attack',85,10,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@WZ_VERMILION','chase',85,10,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1039,'Baphomet@WZ_VERMILION','chase',85,10,5000,500,2000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -178,21 +203,21 @@ REPLACE INTO `mob_skill_db` VALUES (1040,'Golem@NPC_EMOTION','idle',197,1,2000,0
REPLACE INTO `mob_skill_db` VALUES (1040,'Golem@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1041,'Mummy@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1042,'Steel Chonchon@NPC_SILENCEATTACK','attack',178,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1042,'Steel Chonchon@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1044,'Obeaune@PR_LEXDIVINA','chase',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_STUNATTACK','angry',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1045,'Marc@NPC_WATERATTACK','angry',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -232,14 +257,14 @@ REPLACE INTO `mob_skill_db` VALUES (1051,'Thief Bug@NPC_AGIUP','idle',350,1,0,0,
REPLACE INTO `mob_skill_db` VALUES (1051,'Thief Bug@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1052,'Rocker@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1052,'Rocker@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1053,'Female Thief Bug@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1053,'Female Thief Bug@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1054,'Male Thief Bug@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1054,'Male Thief Bug@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1053,'Thief Bug Female@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1053,'Thief Bug Female@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1054,'Thief Bug Male@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1054,'Thief Bug Male@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1055,'Muka@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1055,'Muka@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1055,'Muka@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1056,'Smokie@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
@@ -273,7 +298,7 @@ REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SILENCEATTACK','attack',1
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SILENCEATTACK','chase',178,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SILENCEATTACK','chase',178,5,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_STOP','attack',342,1,2000,0,15000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn','0',1156,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,1156,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1604,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1604,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
@@ -282,7 +307,7 @@ REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@WZ_JUPITEL','attack',84,10,20
REPLACE INTO `mob_skill_db` VALUES (1059,'Mistress@WZ_JUPITEL','chase',84,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1060,'Bigfoot@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1061,'Nightmare@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -322,7 +347,7 @@ REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','angry',86,3,5
REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','follow',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1069,'Swordfish@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1070,'Kukre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1070,'Kukre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1070,'Kukre@NPC_WATERATTACK','attack',184,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1071,'Pirate Skeleton@NPC_BLEEDING','attack',660,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1071,'Pirate Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -339,14 +364,14 @@ REPLACE INTO `mob_skill_db` VALUES (1073,'Crab@NPC_WATERATTACK','attack',184,3,2
REPLACE INTO `mob_skill_db` VALUES (1074,'Shellfish@NPC_WATERATTACK','attack',184,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1076,'Skeleton@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1076,'Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1077,'Poison Spore@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -359,7 +384,7 @@ REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@MG_FIREBALL','chase',
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_SUMMONSLAVE','attack',196,10,10000,700,10000,'no','self','slavele','5',1608,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_SUMMONSLAVE','idle',196,10,10000,700,10000,'no','self','slavele','5',1608,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn','0',1054,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn',NULL,1054,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@SM_MAGNUM','attack',7,10,2000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1086,'Golden Thief Bug@TF_HIDING','attack',51,1,1000,0,5000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1087,'Orc Hero@AL_DECAGI','chase',30,10,2000,0,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -389,20 +414,20 @@ REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SILENCEATTACK','attack',178,
REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','3',1052,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','3',1052,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn','0',1052,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1088,'Vocal@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn',NULL,1052,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','3',1012,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@NPC_SUMMONSLAVE','idle',196,6,10000,0,0,'no','self','onspawn','0',1012,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@NPC_SUMMONSLAVE','idle',196,6,10000,0,0,'no','self','onspawn',NULL,1012,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1089,'Toad@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn','0',1002,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn',NULL,1002,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1090,'Mastering@NPC_WATERATTACK','attack',184,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'yes','self','slavele','0',1011,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'yes','self','slavele','0',1011,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn','0',1011,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'yes','self','slavele',NULL,1011,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'yes','self','slavele',NULL,1011,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn',NULL,1011,NULL,NULL,NULL,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1091,'Dragon Fly@NPC_WINDATTACK','attack',187,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -410,11 +435,11 @@ REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_EMOTION','chase',197
REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_SUMMONSLAVE','attack',196,5,10000,2000,60000,'no','self','slavele','3',1013,NULL,NULL,NULL,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'no','self','slavele','3',1013,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1013,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1092,'Vagabond Wolf@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1013,NULL,NULL,NULL,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@NPC_SUMMONSLAVE','idle',196,5,10000,2000,60000,'yes','self','slavele','3',1063,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn','0',1063,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1093,'Eclipse@NPC_SUMMONSLAVE','idle',196,8,10000,0,0,'no','self','onspawn',NULL,1063,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1094,'Ambernite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1094,'Ambernite@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1094,'Ambernite@NPC_WATERATTACK','attack',184,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -429,7 +454,7 @@ REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@MG_SAFETYWALL','attack',12,5,
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_HOLYATTACK','attack',189,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_HOLYATTACK','chase',189,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn','0',1031,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn',NULL,1031,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1096,'Angeling@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1097,'Ant Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -448,8 +473,8 @@ REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_CURSEATTACK','chase',181,1,
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_DARKBREATH','attack',202,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -457,8 +482,8 @@ REPLACE INTO `mob_skill_db` VALUES (1098,'Anubis@WZ_JUPITEL','chase',84,3,500,15
REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_POISON','attack',176,3,1500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1099,'Argiope@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@PF_SPIDERWEB','idle',405,1,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1100,'Argos@PF_SPIDERWEB','attack',405,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -470,8 +495,8 @@ REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_DARKNESSATTACK','atta
REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1101,'Baphomet Jr.@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
@@ -480,19 +505,19 @@ REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_STOP','attack',342,1,500,5
REPLACE INTO `mob_skill_db` VALUES (1102,'Bathory@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1103,'Caramel@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1103,'Caramel@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1104,'Coco@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1105,'Deniro@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1105,'Deniro@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@NPC_FIREATTACK','attack',186,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1106,'Desert Wolf@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1107,'Baby Desert Wolf@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1107,'Baby Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0091,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1107,'Desert Wolf Baby@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1107,'Desert Wolf Baby@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@NPC_WATERATTACK','attack',184,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@WZ_WATERBALL','attack',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1108,'Deviace@WZ_WATERBALL','chase',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -525,7 +550,7 @@ REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_GUIDEDATTACK','attack',172,5
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_GUIDEDATTACK','chase',172,5,500,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'yes','self','slavele','3',1566,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'yes','self','slavele','3',1566,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn','0',1192,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,1192,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_WATERATTACK','attack',184,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_WATERATTACK','chase',184,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1112,'Drake@NPC_WATERATTACK','chase',184,5,2000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -552,7 +577,7 @@ REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_CALLSLAVE','idle',352,1,1000
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_SUMMONSLAVE','attack',196,8,10000,700,10000,'yes','self','slavele','3',1603,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_SUMMONSLAVE','idle',196,8,10000,700,10000,'yes','self','slavele','3',1603,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1060,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1060,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1115,'Eddga@SM_MAGNUM','attack',7,10,3000,0,2000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1116,'Eggyra@CR_AUTOGUARD','attack',249,2,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -592,30 +617,30 @@ REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_EMOTION','walk',197,1,20
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_INVISIBLE','attack',353,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_INVISIBLE','idle',353,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_INVISIBLE','chase',353,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1186,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1186,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1120,'Ghostring@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@HT_SANDMAN','idle',119,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,8,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1121,'Giearth@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,18,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1122,'Goblin@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1123,'Goblin@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1124,'Goblin@NPC_POISONATTACK','attack',188,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1125,'Goblin@NPC_GROUNDATTACK','attack',185,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,28,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1126,'Goblin@NPC_WATERATTACK','attack',184,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1127,'Hode@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -631,18 +656,18 @@ REPLACE INTO `mob_skill_db` VALUES (1129,'Horong@NPC_HALLUCINATION','chase',207,
REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1130,'Jakk@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@MG_FIREBALL','chase',17,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'10',NULL);
REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@MG_FROSTDIVER','chase',15,9,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'10',NULL);
REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@MG_SOULSTRIKE','chase',13,9,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_ATTRICHANGE','idle',161,1,500,2000,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'10',NULL);
REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_DARKTHUNDER','chase',341,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION','idle',197,1,100,0,60000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION','idle',197,1,100,0,60000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION','attack',197,1,10000,0,60000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,20,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,22,0x0083,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,20,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,22,131,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_ENERGYDRAIN','chase',200,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@NPC_WINDATTACK','chase',187,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1131,'Joker@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
@@ -653,16 +678,16 @@ REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@BS_MAXIMIZE','attack',114,
REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1132,'Khalitzburg@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1133,'Kobold@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1134,'Kobold@NPC_POISONATTACK','attack',188,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1135,'Kobold@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@HT_FLASHER','idle',120,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -670,8 +695,8 @@ REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@NPC_EMOTION','idle',197,1,200
REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1138,'Magnolia@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1139,'Mantis@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1140,'Marduk@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
@@ -693,7 +718,7 @@ REPLACE INTO `mob_skill_db` VALUES (1143,'Marionette@MG_FIREWALL','chase',18,5,5
REPLACE INTO `mob_skill_db` VALUES (1143,'Marionette@NPC_FIREATTACK','attack',186,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1143,'Marionette@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_BLINDATTACK','attack',177,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0091,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1144,'Marse@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1145,'Martin@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -701,8 +726,8 @@ REPLACE INTO `mob_skill_db` VALUES (1145,'Martin@TF_HIDING','attack',51,1,2000,5
REPLACE INTO `mob_skill_db` VALUES (1145,'Martin@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1146,'Matyr@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_HEAL','attack',28,10,10000,0,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_HEAL','chase',28,10,10000,0,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@AL_HEAL','attack',28,10,10000,0,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
@@ -720,7 +745,7 @@ REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_GUIDEDATTACK','attack',172,5,
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_POWERUP','attack',349,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1477,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1477,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn','0',1194,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn',NULL,1194,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@WZ_HEAVENDRIVE','attack',91,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -728,14 +753,14 @@ REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@WZ_HEAVENDRIVE','chase',91,5,2000
REPLACE INTO `mob_skill_db` VALUES (1147,'Maya@WZ_HEAVENDRIVE','chase',91,5,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@MG_STONECURSE','attack',16,10,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_BLEEDING','attack',660,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1148,'Medusa@NPC_PETRIFYATTACK','chase',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1149,'Minorous@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@AL_HEAL','attack',28,10,10000,0,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'21',NULL);
@@ -761,7 +786,7 @@ REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_GUIDEDATTACK','at
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1471,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1471,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn','0',1180,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn',NULL,1180,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1150,'Moonlight Flower@SA_DISPELL','attack',289,5,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -787,18 +812,18 @@ REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@AL_TELEPORT','idle',26,1,10000,
REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_BLEEDING','attack',660,2,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1154,'Pasana@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1155,'Petite@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@AL_INCAGI','chase',29,5,2000,700,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1156,'Petite@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -823,7 +848,7 @@ REPLACE INTO `mob_skill_db` VALUES (1157,'Pharaoh@NPC_SUMMONSLAVE','idle',196,6,
REPLACE INTO `mob_skill_db` VALUES (1158,'Phen@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1158,'Phen@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -836,7 +861,7 @@ REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_PETRIFYATTACK','chase',18
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_POWERUP','attack',349,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1558,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1558,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn','0',1127,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_SUMMONSLAVE','idle',196,10,10000,0,0,'no','self','onspawn',NULL,1127,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_WIDESTONE','attack',666,5,10000,500,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@NPC_WIDESTONE','chase',666,5,10000,500,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1159,'Phreeoni@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,'19',NULL);
@@ -849,7 +874,7 @@ REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@BS_MAXIMIZE','chase',114,5,500
REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1163,'Raydric@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1164,'Requiem@NPC_DARKNESSATTACK','attack',190,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1164,'Requiem@NPC_EMOTION','walk',197,1,200,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -887,9 +912,9 @@ REPLACE INTO `mob_skill_db` VALUES (1176,'Vitata@NPC_GROUNDATTACK','attack',185,
REPLACE INTO `mob_skill_db` VALUES (1177,'Zenorc@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1177,'Zenorc@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1177,'Zenorc@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1178,'Zerom@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -897,14 +922,14 @@ REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@AS_CLOAKING','attack',135,1,20
REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,28,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,28,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1179,'Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_ATTRICHANGE','attack',161,1,500,2000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_BLEEDING','attack',660,3,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1180,'Nine Tail@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1188,'Bongun@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -934,7 +959,7 @@ REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_POWERUP','attack',349,5,1
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1473,NULL,NULL,NULL,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1473,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1189,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1189,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@PR_LEXDIVINA','chase',76,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@PR_LEXDIVINA','chase',76,10,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1190,'Orc Lord@SM_PROVOKE','chase',6,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
@@ -949,13 +974,13 @@ REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_CURSEATTACK','chase',181,3,
REPLACE INTO `mob_skill_db` VALUES (1192,'Wraith@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1193,'Alarm@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouze@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouze@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouze@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouze@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1194,'Arclouse@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1195,'Rideword@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1195,'Rideword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1195,'Rideword@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
@@ -971,17 +996,17 @@ REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_DARKBREATH','chase',20
REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_DARKCROSS','attack',338,3,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1198,'Dark Priest@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (1199,'Punk@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zealotus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zealotus@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zealotus@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zealotus@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zealotus@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zealotus@NPC_STOP','attack',342,1,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1200,'Zealotus@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1257,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_STOP','attack',342,1,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1200,'Zherlthsh@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1257,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1201,'Rybio@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
REPLACE INTO `mob_skill_db` VALUES (1201,'Rybio@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
REPLACE INTO `mob_skill_db` VALUES (1201,'Rybio@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
@@ -995,13 +1020,13 @@ REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@CR_AUTOGUARD','chase',249,
REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1203,'Mysteltainn@NPC_SHIELDBRAKE','attack',346,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Ogretooth@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Ogretooth@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Ogretooth@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Ogretooth@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Ogretooth@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Ogretooth@NPC_HELMBRAKE','attack',345,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1204,'Ogretooth@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@NPC_HELMBRAKE','attack',345,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1204,'Tirfing@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@BS_MAXIMIZE','attack',114,5,500,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@BS_MAXIMIZE','chase',114,5,500,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1011,24 +1036,24 @@ REPLACE INTO `mob_skill_db` VALUES (1205,'Executioner@NPC_DARKNESSATTACK','attac
REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_WATERATTACK','attack',184,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@SM_BASH','attack',5,7,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@AM_POTIONPITCHER','idle',231,4,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1206,'Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@AM_POTIONPITCHER','idle',231,4,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'10',NULL);
REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1207,'Sting@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@NPC_BLEEDING','attack',660,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1208,'Wanderer@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@NPC_BLEEDING','attack',660,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1208,'Wander Man@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1209,'Cramp@NPC_POISON','attack',176,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1209,'Cramp@NPC_POISONATTACK','attack',188,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1036,19 +1061,19 @@ REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_KEEPING','attack',201,1,2
REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1211,'Brilight@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@CR_SHIELDCHARGE','attack',250,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1213,'High Orc@NPC_SMOKING','idle',195,1,500,0,36000000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@AM_POTIONPITCHER','idle',231,1,500,1500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@HT_SKIDTRAP','idle',115,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_FIREATTACK','attack',186,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_SUMMONSLAVE','attack',196,3,10000,2000,60000,'yes','self','slavele','0',1057,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'yes','self','slavele','0',1057,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_SUMMONSLAVE','attack',196,3,10000,2000,60000,'yes','self','slavele',NULL,1057,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'yes','self','slavele',NULL,1057,NULL,NULL,NULL,NULL,'27',NULL);
REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@SM_PROVOKE','chase',6,10,500,600,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1214,'Choco@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1215,'Stem Worm@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1056,20 +1081,20 @@ REPLACE INTO `mob_skill_db` VALUES (1215,'Stem Worm@NPC_WINDATTACK','attack',187
REPLACE INTO `mob_skill_db` VALUES (1216,'Penomena@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1216,'Penomena@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1216,'Penomena@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Abysmal Knight@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Abysmal Knight@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Abysmal Knight@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Abysmal Knight@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Abysmal Knight@KN_BRANDISHSPEAR','attack',57,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Abysmal Knight@NPC_ARMORBRAKE','attack',344,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Abysmal Knight@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1219,'Abysmal Knight@NPC_SUMMONSLAVE','idle',196,2,10000,2000,600000,'no','self','slavele','0',1132,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@KN_BRANDISHSPEAR','attack',57,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@NPC_ARMORBRAKE','attack',344,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1219,'Knight of Abyss@NPC_SUMMONSLAVE','idle',196,2,10000,2000,600000,'no','self','slavele',NULL,1132,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1242,'Marin@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1242,'Marin@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1242,'Marin@NPC_WATERATTACK','attack',184,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@NPC_WATERATTACK','angry',184,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1243,'Sasquatch@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -1107,61 +1132,61 @@ REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AL_TELEPORT','idle',26,1,10000,
REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AM_DEMONSTRATION','attack',229,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'17',NULL);
REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@AM_DEMONSTRATION','chase',229,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'17',NULL);
REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_EMOTION','attack',197,1,2000,0,5000,'yes','self','always',NULL,17,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_SUMMONSLAVE','attack',196,3,10000,2000,60000,'yes','self','slavele','0',1743,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'yes','self','slavele','0',1743,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@PR_STRECOVERY','attack',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@PR_STRECOVERY','chase',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_SUMMONSLAVE','attack',196,3,10000,2000,60000,'yes','self','slavele',NULL,1743,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'yes','self','slavele',NULL,1743,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@PR_STRECOVERY','attack',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@PR_STRECOVERY','chase',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1250,'Chepet@WZ_FIREPILLAR','idle',80,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@CR_SHIELDCHARGE','attack',250,5,2000,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_HALLUCINATION','chase',207,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1607,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1607,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_WIDEFREEZE','attack',664,5,10000,1000,10000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_WIDEFREEZE','chase',664,5,10000,1000,10000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_WINDATTACK','attack',187,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@NPC_WINDATTACK','chase',187,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@WZ_STORMGUST','attack',89,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@WZ_STORMGUST','chase',89,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1251,'Stormy Knight@WZ_STORMGUST','chase',89,10,10000,500,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@AL_DECAGI','chase',30,10,2000,0,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1606,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1606,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_WIDEFREEZE','attack',664,5,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@NPC_WIDEFREEZE','chase',664,5,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@WZ_STORMGUST','attack',89,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1252,'Hatii@WZ_STORMGUST','chase',89,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@CR_SHIELDCHARGE','attack',250,5,2000,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_HALLUCINATION','chase',207,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',1607,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',1607,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_WIDEFREEZE','attack',664,5,10000,1000,10000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_WIDEFREEZE','chase',664,5,10000,1000,10000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_WINDATTACK','attack',187,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@NPC_WINDATTACK','chase',187,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@WZ_STORMGUST','attack',89,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@WZ_STORMGUST','chase',89,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1251,'Knight of Windstorm@WZ_STORMGUST','chase',89,10,10000,500,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_DECAGI','chase',30,10,2000,0,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1606,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1606,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WIDEFREEZE','attack',664,5,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@NPC_WIDEFREEZE','chase',664,5,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@WZ_STORMGUST','attack',89,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1252,'Garm@WZ_STORMGUST','chase',89,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1253,'Gargoyle@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1254,'Raggler@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1255,'Nereid@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1255,'Nereid@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1255,'Nereid@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,0,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1255,'Nereid@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1255,'Neraid@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1256,'Pest@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1189,10 +1214,10 @@ REPLACE INTO `mob_skill_db` VALUES (1260,'Dark Frame@NPC_PETRIFYATTACK','chase',
REPLACE INTO `mob_skill_db` VALUES (1261,'Wild Rose@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1261,'Wild Rose@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1261,'Wild Rose@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragonoid@MG_FIREBALL','chase',17,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragonoid@NPC_BLEEDING','attack',660,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragonoid@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragonoid@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@MG_FIREBALL','chase',17,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@NPC_BLEEDING','attack',660,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1262,'Mutant Dragon@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@HT_SHOCKWAVE','idle',118,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@MG_LIGHTNINGBOLT','attack',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@MG_LIGHTNINGBOLT','chase',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -1202,8 +1227,8 @@ REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@NPC_UNDEADATTACK','attack',
REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1263,'Wind Ghost@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_RANGEATTACK','chase',160,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1264,'Merman@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1265,'Cookie@AL_HEAL','attack',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'0',NULL);
@@ -1233,22 +1258,22 @@ REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@NPC_WEAPONBRAKER','attac
REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@WZ_METEOR','attack',83,7,2000,1500,5000,'no','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1268,'Bloody Knight@WZ_METEOR','chase',83,7,2000,1500,5000,'no','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_CURSEATTACK','attack',181,4,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0091,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_GROUNDATTACK','attack',185,4,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1269,'Clock@NPC_STUNATTACK','attack',179,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@SA_DISPELL','attack',289,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1270,'Tower Keeper@WZ_FIREPILLAR','idle',80,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@SA_DISPELL','attack',289,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1270,'Clock Tower Manager@WZ_FIREPILLAR','idle',80,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1271,'Alligator@NPC_WATERATTACK','attack',184,4,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1271,'Alligator@NPC_CRITICALSLASH','attack',170,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1271,'Alligator@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0091,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1271,'Alligator@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1272,'Dark Lord@MG_FIREWALL','chase',18,10,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1277,7 +1302,7 @@ REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@CR_SHIELDCHARGE','attack',250,3,
REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@SA_DISPELL','chase',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele','0',1744,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1275,'Alice@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele',NULL,1744,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@AC_DOUBLE','attack',46,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1276,'Raydric Archer@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1291,15 +1316,15 @@ REPLACE INTO `mob_skill_db` VALUES (1277,'Greatest General@WZ_EARTHSPIKE','idle'
REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0091,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1278,'Stalactic Golem@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1279,'Tri Joint@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1280,'Goblin Steamrider@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,27,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1280,'Goblin Steamrider@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1280,'Goblin Steamrider@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1280,'Goblin Steamrider@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,27,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1280,'Steam Goblin@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1281,'Sage Worm@MG_LIGHTNINGBOLT','chase',20,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -1315,7 +1340,7 @@ REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@CR_AUTOGUARD','chase',249,5,20
REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_FIREATTACK','attack',186,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_SHIELDBRAKE','attack',346,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_SUMMONSLAVE','idle',196,4,10000,2000,60000,'yes','self','slavele','0',1253,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@NPC_SUMMONSLAVE','idle',196,4,10000,2000,60000,'yes','self','slavele',NULL,1253,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1283,'Chimera@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1285,'Archer Guardian@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1325,16 +1350,16 @@ REPLACE INTO `mob_skill_db` VALUES (1287,'Soldier Guardian@SM_BASH','attack',5,1
REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@KN_BRANDISHSPEAR','attack',57,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1194,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1194,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1289,'Maya Purple@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1028,1016,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1028,1016,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1290,'Skeleton General@NPC_UNDEADATTACK','attack',347,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@AL_DECAGI','chase',30,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1291,'Wraith Dead@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1348,10 +1373,10 @@ REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKBREATH','attack',20
REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKTHUNDER','attack',341,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_DARKTHUNDER','chase',341,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,18,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_SUMMONSLAVE','attack',196,2,10000,2000,60000,'no','self','slavele','0',1109,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1109,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,18,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_SUMMONSLAVE','attack',196,2,10000,2000,60000,'no','self','slavele',NULL,1109,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1109,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1292,'Mini Demon@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1359,22 +1384,22 @@ REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@AL_TELEPORT','idle',26,1,5
REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_CURSEATTACK','attack',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'yes','self','slavele','0',1018,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'yes','self','slavele',NULL,1018,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1293,'Creamy Fear@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_GROUNDATTACK','attack',185,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1139,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1294,'Killer Mantis@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1139,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@MG_LIGHTNINGBOLT','attack',20,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@MG_LIGHTNINGBOLT','chase',20,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1320,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1320,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1295,'Owl Baron@SA_DISPELL','attack',289,5,0,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1296,'Kobold Leader@BS_ADRENALINE','attack',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -1388,7 +1413,7 @@ REPLACE INTO `mob_skill_db` VALUES (1297,'Ancient Mummy@NPC_DARKBREATH','attack'
REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1036,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1036,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1298,'Zombie Master@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1299,'Goblin Leader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1405,44 +1430,44 @@ REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@MC_MAMMONITE','attack',42,9,500
REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@AM_ACIDTERROR','chase',230,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_DARKNESSATTACK','attack',190,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1110,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1301,'Am Mut@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1110,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@WZ_METEOR','attack',83,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1302,'Dark Illusion@WZ_METEOR','chase',83,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1303,'Giant Hornet@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1100,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1304,'Giant Spider@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1100,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@AS_VENOMDUST','attack',140,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1099,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1099,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1305,'Ancient Worm@NPC_CRITICALSLASH','attack',170,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1243,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1243,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@MC_MAMMONITE','attack',42,9,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1180,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1180,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1308,'Panzer Goblin@AC_DOUBLE','attack',46,5,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1308,'Panzer Goblin@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (1308,'Panzer Goblin@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1453,23 +1478,23 @@ REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_BLINDATTACK','attack',177
REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_BLINDATTACK','chase',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_FIREATTACK','attack',186,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1129,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1129,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@RG_STRIPWEAPON','attack',215,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1309,'Gajomart@WZ_SIGHTRASHER','attack',81,7,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1149,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1149,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1310,'Majoruros@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_STUNATTACK','attack',179,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_SUMMONSLAVE','idle',196,4,10000,2000,60000,'no','self','slavele','0',1166,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@NPC_SUMMONSLAVE','idle',196,4,10000,2000,60000,'no','self','slavele',NULL,1166,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@RG_STRIPSHIELD','attack',216,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1311,'Gullinbursti@SM_ENDURE','chase',8,3,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1492,7 +1517,7 @@ REPLACE INTO `mob_skill_db` VALUES (1312,'Turtle General@WZ_WATERBALL','chase',8
REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1313,'Mobster@TF_SPRINKLESAND','attack',149,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','attack',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
@@ -1501,7 +1526,7 @@ REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','chase',231
REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','attack',231,4,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','idle',231,4,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@AM_POTIONPITCHER','chase',231,4,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0091,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1314,'Permeter@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1512,54 +1537,54 @@ REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@AL_TELEPORT','idle',26,1,100
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','attack',197,1,2000,0,600000,'yes','self','myhpltmaxrate','20',23,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_COMBOATTACK','attack',171,1,1500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@TF_BACKSLIDING','attack',150,1,10000,500,600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1315,'Assaulter@NPC_SUMMONSLAVE','chase',196,3,10000,0,600000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0091,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1316,'Solider@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1317,'Seal@NPC_COMBOATTACK','attack',171,2,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1317,'Seal@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1317,'Seal@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1317,'Seal@NPC_WATERATTACK','attack',184,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1317,'Fur Seal@NPC_COMBOATTACK','attack',171,2,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1317,'Fur Seal@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1317,'Fur Seal@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1317,'Fur Seal@NPC_WATERATTACK','attack',184,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@MG_FIREBALL','chase',17,9,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1318,'Heater@WZ_FIREPILLAR','idle',80,3,500,0,5000,'no','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1319,'Freezer@NPC_WATERATTACK','attack',184,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@MG_LIGHTNINGBOLT','attack',20,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@MG_LIGHTNINGBOLT','chase',20,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@PR_LEXDIVINA','attack',76,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1320,'Owl Duke@PR_LEXDIVINA','chase',76,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1321,'Dragon Tail@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1321,'Dragon Tail@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1321,'Dragon Tail@NPC_WINDATTACK','attack',187,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0083,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,131,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@SM_BASH','attack',5,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1322,'Spring Rabbit@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@NPC_WATERATTACK','attack',184,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1323,'Sea Otter@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -1571,7 +1596,7 @@ REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@NPC_DARKTHUNDER','attack',3
REPLACE INTO `mob_skill_db` VALUES (1365,'Apocalypse@NPC_SELFDESTRUCTION','attack',173,1,1000,2000,5000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1367,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1367,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1366,'Lava Golem@WZ_FIREPILLAR','idle',80,3,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1367,'Blazer@MG_FIREBALL','chase',17,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1582,9 +1607,9 @@ REPLACE INTO `mob_skill_db` VALUES (1368,'Geographer@AL_HEAL','attack',28,9,1000
REPLACE INTO `mob_skill_db` VALUES (1368,'Geographer@AL_HEAL','idle',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1368,'Geographer@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1369,'Grand Peco@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@NPC_BLEEDING','attack',660,2,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
@@ -1593,45 +1618,45 @@ REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@NPC_BLOODDRAIN','attack',199,
REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1370,'Succubus@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_CURSEATTACK','angry',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_CURSEATTACK','attack',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_CURSEATTACK','follow',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_CURSEATTACK','chase',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_DARKSTRIKE','attack',340,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_DARKSTRIKE','chase',340,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_HALLUCINATION','angry',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_HALLUCINATION','follow',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_SILENCEATTACK','angry',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_SILENCEATTACK','follow',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1371,'False Angel@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','angry',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','attack',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','follow',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_CURSEATTACK','chase',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_DARKSTRIKE','attack',340,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_DARKSTRIKE','chase',340,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','angry',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','follow',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','angry',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','follow',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1371,'Fake Angel@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@BS_ADRENALINE','attack',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@BS_ADRENALINE','chase',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x1089,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,4233,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1372,'Goat@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@AL_DECAGI','chase',30,10,2000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@KN_BRANDISHSPEAR','attack',57,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_CHANGEUNDEAD','attack',348,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_DARKSTRIKE','chase',340,10,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_GRANDDARKNESS','attack',339,10,1000,700,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_STUNATTACK','attack',179,5,2000,0,0,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of the Dead@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@AL_DECAGI','chase',30,10,2000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@KN_BRANDISHSPEAR','attack',57,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CHANGEUNDEAD','attack',348,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_DARKSTRIKE','chase',340,10,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_GRANDDARKNESS','attack',339,10,1000,700,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_STUNATTACK','attack',179,5,2000,0,0,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1373,'Lord of Death@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1374,'Incubus@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1694,9 +1719,9 @@ REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_GROUNDATTACK','angry',185,
REPLACE INTO `mob_skill_db` VALUES (1380,'Driller@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@KN_SPEARSTAB','angry',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1381,'Grizzly@SM_ENDURE','follow',8,3,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -1716,15 +1741,15 @@ REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@NPC_FIREATTACK','attack',186
REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@SM_MAGNUM','angry',7,5,500,500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1383,'Explosion@SM_MAGNUM','attack',7,5,500,500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@MG_FIREBALL','chase',17,9,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_FIREATTACK','attack',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_FIREATTACK','attack',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1384,'Deleter@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@MG_FIREWALL','attack',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_FIREATTACK','attack',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@NPC_FIREATTACK','chase',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1385,'Deleter@SM_MAGNUM','attack',7,9,500,500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1746,29 +1771,29 @@ REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','angry',249,2,500,0,
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','follow',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_FIREATTACK','attack',186,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@NPC_GROUNDATTACK','angry',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_HIDING','angry',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_POISON','angry',52,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1387,'Gig@TF_POISON','attack',52,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_HEAL','attack',28,10,10000,0,1000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_HEAL','chase',28,10,10000,0,1000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_HEAL','attack',28,10,10000,0,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_HEAL','chase',28,10,10000,0,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@CR_GRANDCROSS','attack',254,1,2000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_BARRIER','attack',204,1,500,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_HOLYATTACK','attack',189,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@NPC_HOLYATTACK','chase',189,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@PR_SANCTUARY','attack',70,10,10000,500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@PR_SANCTUARY','chase',70,10,10000,500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1388,'Arc Angeling@RG_INTIMIDATE','attack',219,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_HEAL','attack',28,10,10000,0,1000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_HEAL','chase',28,10,10000,0,1000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_HEAL','attack',28,10,10000,0,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_HEAL','chase',28,10,10000,0,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@CR_GRANDCROSS','attack',254,1,2000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_BARRIER','attack',204,1,500,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_HOLYATTACK','attack',189,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@NPC_HOLYATTACK','chase',189,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@PR_SANCTUARY','attack',70,10,10000,500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@PR_SANCTUARY','chase',70,10,10000,500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1388,'Archangeling@RG_INTIMIDATE','attack',219,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AL_DECAGI','chase',30,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1389,'Dracula@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -1797,8 +1822,8 @@ REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@NPC_DARKBREATH','attack',202,2,5
REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@NPC_DARKSTRIKE','attack',340,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1390,'Violy@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@AM_POTIONPITCHER','idle',231,4,500,500,5000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,0x108B,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,4235,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1391,'Galapago@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
@@ -1822,7 +1847,7 @@ REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@WZ_STORMGUST','chase',89,10,2
REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@WZ_VERMILION','attack',85,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1399,'Baphomet@WZ_VERMILION','chase',85,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,28,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,28,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'31',NULL);
REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'31',NULL);
REPLACE INTO `mob_skill_db` VALUES (1400,'Karakasa@WZ_WATERBALL','chase',86,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -1834,20 +1859,20 @@ REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@MO_BODYRELOCATION','chase',264
REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@NPC_REBIRTH','dead',208,2,5000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1401,'Shinobi@TF_BACKSLIDING','attack',150,1,10000,500,3600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1402,'Poisonous Toad@NPC_COMBOATTACK','attack',171,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1402,'Poisonous Toad@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1402,'Poisonous Toad@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1402,'Poisonous Toad@NPC_POISONATTACK','attack',188,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1403,'Firelock Soldier@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1403,'Firelock Soldier@AC_DOUBLE','attack',46,4,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1403,'Firelock Soldier@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Doll@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Doll@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Doll@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Doll@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Doll@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Doll@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Doll@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_COMBOATTACK','attack',171,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1402,'Poison Toad@NPC_POISONATTACK','attack',188,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1403,'Antique Firelock@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1403,'Antique Firelock@AC_DOUBLE','attack',46,4,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1403,'Antique Firelock@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1404,'Miyabi Ningyo@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_FIREATTACK','angry',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1405,'Tengu@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -1874,30 +1899,30 @@ REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@KN_PIERCE','attack',5
REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@NPC_DARKSTRIKE','chase',340,5,2000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (1408,'Bloody Butterfly@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1409,'Dumpling Child@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1410,'Enchanted Peach Tree@AM_POTIONPITCHER','idle',231,3,10000,500,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1410,'Enchanted Peach Tree@AM_POTIONPITCHER','attack',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1410,'Enchanted Peach Tree@AM_POTIONPITCHER','chase',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1410,'Enchanted Peach Tree@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1410,'Enchanted Peach Tree@NPC_GUIDEDATTACK','chase',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@MG_LIGHTNINGBOLT','attack',20,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@MG_LIGHTNINGBOLT','chase',20,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1412,'Taoist Hermit@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1413,'Hermit Plant@NPC_BARRIER','attack',204,1,2000,3000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1413,'Hermit Plant@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1409,'Rice Cake Boy@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@AM_POTIONPITCHER','idle',231,3,10000,500,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@AM_POTIONPITCHER','attack',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@AM_POTIONPITCHER','chase',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1410,'Live Peach Tree@NPC_GUIDEDATTACK','chase',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@MG_LIGHTNINGBOLT','attack',20,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@MG_LIGHTNINGBOLT','chase',20,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1412,'Evil Cloud Hermit@NPC_BLINDATTACK','chase',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1413,'Wild Ginseng@NPC_BARRIER','attack',204,1,2000,3000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1413,'Wild Ginseng@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (1415,'Baby Leopard@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1415,'Baby Leopard@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1415,'Baby Leopard@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Evil Nymph@AL_HEAL','attack',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Evil Nymph@AL_HEAL','idle',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Evil Nymph@AL_HEAL','chase',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Evil Nymph@AL_HEAL','attack',28,3,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Evil Nymph@AL_HEAL','idle',28,3,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Evil Nymph@AL_HEAL','chase',28,3,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Evil Nymph@NPC_STOP','attack',342,1,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1416,'Evil Nymph@SA_DISPELL','attack',289,5,0,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','attack',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','idle',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','chase',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','attack',28,3,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','idle',28,3,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@AL_HEAL','chase',28,3,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@NPC_STOP','attack',342,1,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1416,'Wicked Nymph@SA_DISPELL','attack',289,5,0,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1417,'Zipper Bear@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1417,'Zipper Bear@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1418,'Evil Snake Lord@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2103,10 +2128,10 @@ REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_FIREATTACK','angry',186,5,5
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_GUIDEDATTACK','angry',172,5,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@NPC_GUIDEDATTACK','attack',172,5,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','angry',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','attack',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','follow',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','chase',72,1,2000,700,5000,'yes','friend','friendstatuson','anybad',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','angry',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','attack',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','follow',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1444,'Chepet@PR_STRECOVERY','chase',72,1,2000,700,5000,'yes','friend','friendstatuson','-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_COMBOATTACK','angry',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1445,'Raggler@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2137,12 +2162,12 @@ REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','angry',
REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','attack',180,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','follow',180,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1448,'Dark Frame@NPC_PETRIFYATTACK','chase',180,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragonoid@MG_FIREBALL','follow',17,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragonoid@MG_FIREBALL','chase',17,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragonoid@NPC_FIREATTACK','angry',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragonoid@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragonoid@SM_MAGNUM','angry',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragonoid@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@MG_FIREBALL','follow',17,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@MG_FIREBALL','chase',17,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@NPC_FIREATTACK','angry',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@SM_MAGNUM','angry',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1449,'Mutant Dragon@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@HT_SHOCKWAVE','idle',118,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','angry',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1450,'Wind Ghost@MG_LIGHTNINGBOLT','attack',20,5,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2241,10 +2266,10 @@ REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@NPC_DARKNESSATTACK','angry',19
REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@SM_MAGNUM','angry',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1467,'Raydric@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1468,'Requiem@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1468,'Requiem@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1468,'Requiem@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1468,'Requiem@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_STUNATTACK','angry',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1468,'Requim@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1469,'Skeleton Worker@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1469,'Skeleton Worker@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1470,'Zerom@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2278,8 +2303,8 @@ REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_DARKBREATH','angry',202,2,50
REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_DARKBREATH','attack',202,2,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1476,'Alarm@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1477,'Arclouze@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1477,'Arclouze@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1477,'Arclouse@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1477,'Arclouse@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLINDATTACK','angry',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1478,'Rideword@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2296,14 +2321,14 @@ REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_PETRIFYATTACK','angry',180,3,
REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_WINDATTACK','angry',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1481,'Punk@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zealotus@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zealotus@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zealotus@NPC_GUIDEDATTACK','angry',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zealotus@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zealotus@NPC_LICK','angry',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zealotus@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zealotus@SM_PROVOKE','follow',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1482,'Zealotus@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_GUIDEDATTACK','angry',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_LICK','angry',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@NPC_LICK','attack',206,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@SM_PROVOKE','follow',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1482,'Zherlthsh@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1483,'Rybio@NPC_POISON','angry',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2324,16 +2349,16 @@ REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_DARKNESSATTACK','angry
REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_GUIDEDATTACK','angry',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1485,'Mysteltainn@NPC_GUIDEDATTACK','attack',172,1,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@NPC_PIERCINGATT','angry',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1486,'Ogretooth@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@AS_SONICBLOW','angry',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_DARKNESSATTACK','angry',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_PIERCINGATT','angry',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1486,'Tirfing@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','angry',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1487,'Executioner@BS_MAXIMIZE','follow',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2350,7 +2375,7 @@ REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','follow',184,
REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@NPC_WATERATTACK','chase',184,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@SM_BASH','angry',5,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1488,'Anolian@SM_BASH','attack',5,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@KN_SPEARSTAB','angry',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@NPC_GROUNDATTACK','angry',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2361,12 +2386,12 @@ REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','angry',92,5,500,70
REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','follow',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1489,'Sting@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wanderer@KN_AUTOCOUNTER','angry',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wanderer@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wanderer@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wanderer@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wanderer@NPC_WINDATTACK','angry',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1490,'Wanderer@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@KN_AUTOCOUNTER','angry',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_WINDATTACK','angry',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1490,'Wander Man@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','angry',111,1,500,1500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','attack',111,1,500,1500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@BS_ADRENALINE','follow',111,1,500,1500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2375,32 +2400,32 @@ REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@MC_MAMMONITE','angry',42,5,500,
REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@NPC_DARKNESSATTACK','angry',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1491,'Dokebi@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@AL_TELEPORT','idle',26,1,5000,1000,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@AL_TELEPORT','chase',26,1,10000,0,0,'yes','self','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@ASC_BREAKER','attack',379,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@ASC_BREAKER','chase',379,10,5000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@ASC_BREAKER','idle',379,10,10000,500,5000,'no','target','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@KN_BRANDISHSPEAR','attack',57,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@KN_TWOHANDQUICKEN','attack',60,10,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_HELMBRAKE','chase',345,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_POISON','attack',176,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_POISONATTACK','attack',188,7,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','2',1560,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','2',1560,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1492,'Samurai Specter@RG_INTIMIDATE','attack',219,10,2000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@AL_TELEPORT','idle',26,1,5000,1000,5000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@AL_TELEPORT','chase',26,1,10000,0,0,'yes','self','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@ASC_BREAKER','attack',379,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@ASC_BREAKER','chase',379,10,5000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@ASC_BREAKER','idle',379,10,10000,500,5000,'no','target','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@KN_BRANDISHSPEAR','attack',57,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@KN_TWOHANDQUICKEN','attack',60,10,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_HELMBRAKE','chase',345,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_POISON','attack',176,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_POISONATTACK','attack',188,7,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','2',1560,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','2',1560,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1492,'Incantation Samurai@RG_INTIMIDATE','attack',219,10,2000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@AL_HEAL','attack',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@AL_HEAL','idle',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1493,'Dryad@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2426,28 +2451,28 @@ REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_PETRIFYATTACK','attack',1
REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1500,'Parasite@NPC_POISON','chase',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@AL_HEAL','idle',28,10,10000,0,2000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@AL_HEAL','walk',28,10,10000,0,2000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@AS_SONICBLOW','attack',136,10,10000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@BS_HAMMERFALL','attack',110,10,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@BS_HAMMERFALL','chase',110,10,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@MG_FIREWALL','attack',18,10,10000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@NPC_DARKBLESSING','attack',203,1,1000,2000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@NPC_SUMMONSLAVE','attack',196,16,10000,2000,10000,'no','self','slavele','3',1491,1431,1433,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@NPC_SUMMONSLAVE','idle',196,16,10000,2000,10000,'no','self','slavele','3',1491,1431,1433,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@RG_STRIPARMOR','attack',217,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@RG_STRIPHELM','attack',218,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@RG_STRIPSHIELD','attack',216,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@RG_STRIPWEAPON','attack',215,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@SM_MAGNUM','attack',7,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@SM_MAGNUM','attack',7,10,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_METEOR','attack',83,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_METEOR','chase',83,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_STORMGUST','attack',89,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_STORMGUST','chase',89,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_VERMILION','attack',85,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1502,'Bring it on!@WZ_VERMILION','chase',85,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@AL_HEAL','idle',28,10,10000,0,2000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@AL_HEAL','walk',28,10,10000,0,2000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@AS_SONICBLOW','attack',136,10,10000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@BS_HAMMERFALL','attack',110,10,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@BS_HAMMERFALL','chase',110,10,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@MG_FIREWALL','attack',18,10,10000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@NPC_DARKBLESSING','attack',203,1,1000,2000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@NPC_SUMMONSLAVE','attack',196,16,10000,2000,10000,'no','self','slavele','3',1491,1431,1433,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@NPC_SUMMONSLAVE','idle',196,16,10000,2000,10000,'no','self','slavele','3',1491,1431,1433,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@RG_STRIPARMOR','attack',217,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@RG_STRIPHELM','attack',218,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@RG_STRIPSHIELD','attack',216,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@RG_STRIPWEAPON','attack',215,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@SM_MAGNUM','attack',7,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@SM_MAGNUM','attack',7,10,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_METEOR','attack',83,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_METEOR','chase',83,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_STORMGUST','attack',89,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_STORMGUST','chase',89,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_VERMILION','attack',85,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1502,'Pori Pori@WZ_VERMILION','chase',85,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1503,'Gibbet@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1503,'Gibbet@NPC_CURSEATTACK','attack',181,3,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1503,'Gibbet@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -2458,7 +2483,7 @@ REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@AL_TELEPORT','walk',26,1,500
REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_DARKSTRIKE','chase',340,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_DARKSTRIKE','attack',340,5,500,700,5000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele','0',0,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@PR_LEXDIVINA','attack',76,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@PR_LEXDIVINA','chase',76,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1505,'Loli Ruri@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
@@ -2478,10 +2503,10 @@ REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@AL_HEAL','chase',28,9,10000,500,5
REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@NPC_METAMORPHOSIS','attack',193,1,1000,0,60000,'no','self','myhpltmaxrate','30',1508,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@PR_LEXAETERNA','attack',78,1,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1509,'Lude@PR_LEXAETERNA','chase',78,1,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1510,'Heirozoist@AL_DECAGI','attack',30,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1510,'Heirozoist@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1510,'Heirozoist@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1510,'Heirozoist@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@AL_DECAGI','attack',30,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1510,'Hylozoist@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2491,10 +2516,10 @@ REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','idle',199,1,2
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_DARKBLESSING','attack',203,1,5000,0,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','longrangeattacked','0',1474,1477,1438,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','casttargeted','0',1474,1477,1438,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','longrangeattacked','0',1474,1477,1438,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','casttargeted','0',1474,1477,1438,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','longrangeattacked',NULL,1474,1477,1438,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','casttargeted',NULL,1474,1477,1438,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','longrangeattacked',NULL,1474,1477,1438,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','casttargeted',NULL,1474,1477,1438,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','18',1474,1477,1438,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','89',1474,1477,1438,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','21',1474,1477,1438,NULL,NULL,'9',NULL);
@@ -2514,44 +2539,44 @@ REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,10,10000,
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','79',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','83',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1511,'Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','89',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1512,'Yao Jun@AS_SONICBLOW','attack',136,5,500,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1512,'Yao Jun@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1512,'Yao Jun@NPC_CRITICALSLASH','attack',170,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1513,'Mao Guai@AM_POTIONPITCHER','attack',231,4,10000,500,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1513,'Mao Guai@AM_POTIONPITCHER','idle',231,4,10000,500,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1513,'Mao Guai@AM_POTIONPITCHER','idle',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1513,'Mao Guai@NPC_DARKTHUNDER','attack',341,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1513,'Mao Guai@NPC_DARKTHUNDER','chase',341,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Zhu Po Long@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Zhu Po Long@NPC_AGIUP','loot',350,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Zhu Po Long@NPC_EMOTION','attack',197,1,10000,0,3000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Zhu Po Long@NPC_EMOTION','idle',197,1,10000,0,3000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1514,'Zhu Po Long@NPC_EMOTION','chase',197,1,10000,0,3000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1515,'Hatii Baby@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1515,'Hatii Baby@NPC_LICK','attack',206,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1516,'Mi Gao@NPC_METAMORPHOSIS','attack',193,1,50,5000,5000,'no','self','always',NULL,1516,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1517,'Jing Guai@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1517,'Jing Guai@NPC_RANGEATTACK','chase',160,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@HP_ASSUMPTIO','attack',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@HP_ASSUMPTIO','idle',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@HP_ASSUMPTIO','chase',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@NPC_SUMMONSLAVE','attack',196,1,10000,0,5000,'yes','self','slavele','1',0,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@NPC_SUMMONSLAVE','idle',196,1,10000,0,5000,'yes','self','slavele','1',0,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@NPC_SUMMONSLAVE','chase',196,1,10000,0,5000,'yes','self','slavele','1',0,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@NPC_WIDESLEEP','chase',668,5,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@NPC_WIDESLEEP','attack',668,5,10000,700,25000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1518,'White Lady@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1519,'Green Maiden@CR_SHIELDCHARGE','attack',250,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1519,'Green Maiden@PR_LEXDIVINA','chase',76,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1519,'Green Maiden@RG_INTIMIDATE','attack',219,1,1000,1000,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1519,'Green Maiden@TF_POISON','attack',52,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1520,'Dumpling@CR_AUTOGUARD','idle',249,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1520,'Dumpling@NPC_SUICIDE','attack',175,1,10000,4000,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1512,'Hyegun@AS_SONICBLOW','attack',136,5,500,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1512,'Hyegun@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1512,'Hyegun@NPC_CRITICALSLASH','attack',170,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@AM_POTIONPITCHER','attack',231,4,10000,500,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@AM_POTIONPITCHER','idle',231,4,10000,500,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@AM_POTIONPITCHER','idle',231,4,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@NPC_DARKTHUNDER','attack',341,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1513,'Civil Servant@NPC_DARKTHUNDER','chase',341,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_AGIUP','loot',350,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_EMOTION','attack',197,1,10000,0,3000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_EMOTION','idle',197,1,10000,0,3000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1514,'Dancing Dragon@NPC_EMOTION','chase',197,1,10000,0,3000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1515,'Garm Baby@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1515,'Garm Baby@NPC_LICK','attack',206,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1516,'Increase Soil@NPC_METAMORPHOSIS','attack',193,1,50,5000,5000,'no','self','always',NULL,1516,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1517,'Li Me Mang Ryang@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1517,'Li Me Mang Ryang@NPC_RANGEATTACK','chase',160,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@HP_ASSUMPTIO','attack',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@HP_ASSUMPTIO','idle',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@HP_ASSUMPTIO','chase',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_SUMMONSLAVE','attack',196,1,10000,0,5000,'yes','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_SUMMONSLAVE','idle',196,1,10000,0,5000,'yes','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_SUMMONSLAVE','chase',196,1,10000,0,5000,'yes','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_WIDESLEEP','chase',668,5,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@NPC_WIDESLEEP','attack',668,5,10000,700,25000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1518,'Bacsojin@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@CR_SHIELDCHARGE','attack',250,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@PR_LEXDIVINA','chase',76,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@RG_INTIMIDATE','attack',219,1,1000,1000,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1519,'Chung E@TF_POISON','attack',52,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1520,'Boiled Rice@CR_AUTOGUARD','idle',249,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1520,'Boiled Rice@NPC_SUICIDE','attack',175,1,10000,4000,0,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1555,'Parasite@NPC_REVENGE','idle',333,1,10000,0,0,'yes','self','masterattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1575,'Flora@NPC_REVENGE','idle',333,1,10000,0,0,'yes','self','masterattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1579,'Hydra@NPC_REVENGE','idle',333,1,10000,0,0,'yes','self','masterattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2613,18 +2638,18 @@ REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@NPC_COMBOATTACK','attack',171,3
REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@NPC_POWERUP','attack',349,2,3000,500,10000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@TF_SPRINKLESAND','attack',149,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1616,'Pitman@TF_SPRINKLESAND','chase',149,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1617,'Old Stove@NPC_RANDOMATTACK','attack',183,3,500,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1617,'Old Stove@NPC_SPLASHATTACK','attack',174,1,1000,500,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1617,'Old Stove@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1617,'Old Stove@TF_THROWSTONE','chase',152,1,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@NPC_RANDOMATTACK','attack',183,3,500,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@NPC_SPLASHATTACK','attack',174,1,1000,500,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1617,'Waste Stove@TF_THROWSTONE','chase',152,1,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@AL_TELEPORT','attack',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_DARKBREATH','attack',202,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_PETRIFYATTACK','attack',180,2,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_POISONATTACK','attack',188,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_SUMMONSLAVE','attack',196,3,10000,700,30000,'no','self','slavele','0',1625,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_SUMMONSLAVE','idle',196,3,10000,700,30000,'no','self','slavele','0',1625,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_SUMMONSLAVE','attack',196,3,10000,700,30000,'no','self','slavele',NULL,1625,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1618,'Ungoliant@NPC_SUMMONSLAVE','idle',196,3,10000,700,30000,'no','self','slavele',NULL,1625,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1619,'Porcellio@AL_PNEUMA','attack',25,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1619,'Porcellio@NPC_GROUNDATTACK','attack',185,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1619,'Porcellio@NPC_KEEPING','attack',201,1,2000,1000,5000,'no','self','myhpltmaxrate','25',NULL,NULL,NULL,NULL,NULL,'9',NULL);
@@ -2648,27 +2673,27 @@ REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_EMOTION_ON','attack',47
REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_SELFDESTRUCTION','attack',173,1,1000,2000,10000,'no','self','attackpcge','3',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@NPC_SELFDESTRUCTION','chase',173,1,1000,2000,10000,'no','self','attackpcge','3',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (1622,'Teddy Bear@SA_DISPELL','attack',289,1,50,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@AL_TELEPORT','idle',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@AL_TELEPORT','walk',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_AGIUP','chase',350,5,2000,0,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_CRITICALSLASH','attack',170,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_CRITICALWOUND','attack',673,4,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_EARTHQUAKE','attack',653,5,10000,2000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_EARTHQUAKE','chase',653,5,10000,2000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_POWERUP','attack',349,5,2000,0,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_SUMMONSLAVE','attack',196,5,10000,2000,10000,'no','self','slavele','3',1624,1624,1621,1620,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_SUMMONSLAVE','idle',196,5,10000,2000,10000,'no','self','slavele','3',1624,1624,1621,1620,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1617,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1623,'RSX-0806@NPC_WEAPONBRAKER','attack',343,10,1000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1624,'Old Stove@NPC_RANDOMATTACK','attack',183,3,500,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1624,'Old Stove@NPC_SPLASHATTACK','attack',174,1,1000,500,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1624,'Old Stove@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1624,'Old Stove@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@AL_TELEPORT','idle',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@AL_TELEPORT','walk',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_AGIUP','chase',350,5,2000,0,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CRITICALSLASH','attack',170,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_CRITICALWOUND','attack',673,4,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_EARTHQUAKE','attack',653,5,10000,2000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_EARTHQUAKE','chase',653,5,10000,2000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_POWERUP','attack',349,5,2000,0,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_SUMMONSLAVE','attack',196,5,10000,2000,10000,'no','self','slavele','3',1624,1624,1621,1620,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_SUMMONSLAVE','idle',196,5,10000,2000,10000,'no','self','slavele','3',1624,1624,1621,1620,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1617,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1623,'RSX 0806@NPC_WEAPONBRAKER','attack',343,10,1000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@NPC_RANDOMATTACK','attack',183,3,500,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@NPC_SPLASHATTACK','attack',174,1,1000,500,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1624,'Waste Stove@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1625,'Porcellio@AL_PNEUMA','attack',25,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1625,'Porcellio@NPC_GROUNDATTACK','attack',185,2,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1625,'Porcellio@NPC_KEEPING','attack',201,1,2000,1000,5000,'no','self','myhpltmaxrate','25',NULL,NULL,NULL,NULL,NULL,'9',NULL);
@@ -2688,36 +2713,36 @@ REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_COMBOATTACK','attack',17
REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_COMBOATTACK','chase',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1627,'Anopheles@NPC_WINDATTACK','chase',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Holden@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Holden@NPC_COMBOATTACK','chase',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Holden@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Holden@NPC_GROUNDATTACK','chase',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Holden@TF_HIDING','idle',51,1,500,500,25000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Holden@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1628,'Holden@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_COMBOATTACK','chase',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@NPC_GROUNDATTACK','chase',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@TF_HIDING','idle',51,1,500,500,25000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1628,'Mole@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@KN_SPEARBOOMERANG','chase',59,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1629,'Hill Wind@NPC_WINDATTACK','chase',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@HP_ASSUMPTIO','attack',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@HP_ASSUMPTIO','idle',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@HP_ASSUMPTIO','chase',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@NPC_SUMMONSLAVE','attack',196,3,10000,0,5000,'yes','self','slavele','1',1519,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@NPC_SUMMONSLAVE','idle',196,3,10000,0,5000,'yes','self','slavele','1',1519,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@NPC_SUMMONSLAVE','chase',196,3,10000,0,5000,'yes','self','slavele','1',1519,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1630,'White Lady@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1631,'Green Maiden@CR_SHIELDCHARGE','attack',250,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1631,'Green Maiden@NPC_STUNATTACK','attack',179,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1631,'Green Maiden@PR_LEXDIVINA','chase',76,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1631,'Green Maiden@RG_INTIMIDATE','attack',219,1,1000,1000,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1631,'Green Maiden@TF_POISON','attack',52,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@HP_ASSUMPTIO','attack',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@HP_ASSUMPTIO','idle',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@HP_ASSUMPTIO','chase',361,5,10000,500,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_SUMMONSLAVE','attack',196,3,10000,0,5000,'yes','self','slavele','1',1519,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_SUMMONSLAVE','idle',196,3,10000,0,5000,'yes','self','slavele','1',1519,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@NPC_SUMMONSLAVE','chase',196,3,10000,0,5000,'yes','self','slavele','1',1519,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1630,'Bacsojin@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@CR_SHIELDCHARGE','attack',250,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@NPC_STUNATTACK','attack',179,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@PR_LEXDIVINA','chase',76,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@RG_INTIMIDATE','attack',219,1,1000,1000,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1631,'Chung E@TF_POISON','attack',52,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1632,'Gremlin@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1632,'Gremlin@RG_STRIPARMOR','attack',217,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@MG_NAPALMBEAT','chase',11,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -2726,136 +2751,136 @@ REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_MENTALBREAKER','chase',15
REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1633,'Beholder@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@KN_SPEARBOOMERANG','chase',59,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@LK_SPIRALPIERCE','attack',397,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@LK_SPIRALPIERCE','chase',397,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@NPC_FIREATTACK','attack',186,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@SM_MAGNUM','attack',7,9,1000,0,0,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren Windsor@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_GRIMTOOTH','chase',137,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_SONICBLOW','attack',136,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_VENOMDUST','attack',140,1,2000,0,50000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@AS_VENOMDUST','idle',140,1,2000,0,50000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@ASC_BREAKER','chase',379,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@ASC_METEORASSAULT','attack',406,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@NPC_AGIUP','attack',350,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes Guile@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@BS_HAMMERFALL','attack',110,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@BS_HAMMERFALL','chase',110,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@MC_MAMMONITE','attack',42,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_FIREATTACK','attack',186,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1636,'Howard Alt-Eisen@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','attack',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','idle',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','chase',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','attack',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','idle',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_HEAL','chase',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1637,'Margaretha Sorin@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_FLASHER','attack',120,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_FLASHER','idle',120,5,2000,0,60000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_FREEZINGTRAP','attack',121,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_FREEZINGTRAP','idle',121,5,2000,0,60000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_SKIDTRAP','attack',115,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@HT_SKIDTRAP','idle',115,5,2000,0,60000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_AGIUP','attack',350,1,2000,0,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_AGIUP','idle',350,1,10000,0,35000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_POWERUP','attack',349,1,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1638,'Cecil Damon@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_COLDBOLT','attack',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_COLDBOLT','chase',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','attack',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','idle',17,10,10000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','chase',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','chase',17,10,10000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBOLT','attack',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBOLT','chase',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREWALL','attack',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREWALL','chase',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FROSTDIVER','idle',15,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FROSTDIVER','chase',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FROSTDIVER','chase',15,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_LIGHTNINGBOLT','attack',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_LIGHTNINGBOLT','chase',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_SIGHT','idle',10,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_THUNDERSTORM','attack',21,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_THUNDERSTORM','chase',21,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_EARTHSPIKE','attack',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_EARTHSPIKE','chase',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_FROSTNOVA','attack',88,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_FROSTNOVA','chase',88,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_HEAVENDRIVE','attack',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_HEAVENDRIVE','chase',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_JUPITEL','attack',84,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_JUPITEL','idle',84,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_JUPITEL','chase',84,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_JUPITEL','chase',84,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_QUAGMIRE','chase',92,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_SIGHTRASHER','attack',81,10,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@KN_SPEARBOOMERANG','chase',59,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@LK_SPIRALPIERCE','attack',397,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@LK_SPIRALPIERCE','chase',397,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@NPC_FIREATTACK','attack',186,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@SM_MAGNUM','attack',7,9,1000,0,0,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1634,'Seyren@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_GRIMTOOTH','chase',137,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_SONICBLOW','attack',136,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_VENOMDUST','attack',140,1,2000,0,50000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@AS_VENOMDUST','idle',140,1,2000,0,50000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@ASC_BREAKER','chase',379,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@ASC_METEORASSAULT','attack',406,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@NPC_AGIUP','attack',350,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1635,'Eremes@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@BS_HAMMERFALL','attack',110,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@BS_HAMMERFALL','chase',110,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@MC_MAMMONITE','attack',42,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_FIREATTACK','attack',186,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1636,'Harword@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','attack',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','idle',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','chase',28,9,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','attack',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','idle',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_HEAL','chase',28,9,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1637,'Magaleta@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_FLASHER','attack',120,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_FLASHER','idle',120,5,2000,0,60000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_FREEZINGTRAP','attack',121,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_FREEZINGTRAP','idle',121,5,2000,0,60000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_SKIDTRAP','attack',115,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@HT_SKIDTRAP','idle',115,5,2000,0,60000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_AGIUP','attack',350,1,2000,0,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_AGIUP','idle',350,1,10000,0,35000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_POWERUP','attack',349,1,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1638,'Shecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_COLDBOLT','attack',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_COLDBOLT','chase',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBALL','attack',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBALL','idle',17,10,10000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBALL','chase',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBALL','chase',17,10,10000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBOLT','attack',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREBOLT','chase',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREWALL','attack',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FIREWALL','chase',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FROSTDIVER','idle',15,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FROSTDIVER','chase',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_FROSTDIVER','chase',15,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_LIGHTNINGBOLT','attack',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_LIGHTNINGBOLT','chase',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_SIGHT','idle',10,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_THUNDERSTORM','attack',21,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@MG_THUNDERSTORM','chase',21,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_EARTHSPIKE','attack',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_EARTHSPIKE','chase',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_FROSTNOVA','attack',88,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_FROSTNOVA','chase',88,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_HEAVENDRIVE','attack',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_HEAVENDRIVE','chase',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_JUPITEL','attack',84,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_JUPITEL','idle',84,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_JUPITEL','chase',84,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_JUPITEL','chase',84,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_QUAGMIRE','chase',92,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1639,'Katrinn@WZ_SIGHTRASHER','attack',81,10,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@KN_SPEARBOOMERANG','chase',59,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1640,'Lord Knight Seyren@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
@@ -2891,89 +2916,89 @@ REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_POISONATTACK
REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1641,'Assassin Cross Eremes@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@BS_HAMMERFALL','attack',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@MC_MAMMONITE','attack',42,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@MC_MAMMONITE','attack',42,10,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1642,'MasterSmith Howard@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','attack',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','idle',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','chase',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','attack',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','idle',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_HEAL','chase',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Margaretha@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_ANKLESNARE','idle',117,5,2000,0,60000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_ANKLESNARE','attack',117,5,500,0,5000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_BLASTMINE','idle',122,5,2000,0,60000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_BLASTMINE','attack',122,5,500,0,5000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_LANDMINE','idle',116,5,2000,0,60000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@HT_LANDMINE','attack',116,5,500,0,5000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@NPC_WINDATTACK','attack',187,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Cecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_FIREPILLAR','idle',80,10,5000,200,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_FIREPILLAR','attack',80,10,2000,200,0,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','idle',83,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','chase',83,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','attack',83,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_METEOR','chase',83,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_STORMGUST','idle',89,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_STORMGUST','chase',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_STORMGUST','attack',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_STORMGUST','chase',89,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_VERMILION','idle',85,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_VERMILION','chase',85,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_VERMILION','attack',85,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_VERMILION','chase',85,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_WATERBALL','chase',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Kathryne@WZ_WATERBALL','attack',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@BS_HAMMERFALL','attack',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@MC_MAMMONITE','attack',42,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@MC_MAMMONITE','attack',42,10,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1642,'Whitesmith Harword@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','attack',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','idle',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','chase',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','attack',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','idle',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_HEAL','chase',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1643,'High Priest Magaleta@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_ANKLESNARE','idle',117,5,2000,0,60000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_ANKLESNARE','attack',117,5,500,0,5000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_BLASTMINE','idle',122,5,2000,0,60000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_BLASTMINE','attack',122,5,500,0,5000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_LANDMINE','idle',116,5,2000,0,60000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@HT_LANDMINE','attack',116,5,500,0,5000,'yes','around3','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@NPC_WINDATTACK','attack',187,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1644,'Sniper Shecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_FIREPILLAR','idle',80,10,5000,200,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_FIREPILLAR','attack',80,10,2000,200,0,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','idle',83,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','chase',83,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','attack',83,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_METEOR','chase',83,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_STORMGUST','idle',89,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_STORMGUST','chase',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_STORMGUST','attack',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_STORMGUST','chase',89,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_VERMILION','idle',85,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_VERMILION','chase',85,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_VERMILION','attack',85,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_VERMILION','chase',85,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_WATERBALL','chase',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1645,'High Wizard Katrinn@WZ_WATERBALL','attack',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1646,'Lord Knight Seyren@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -3028,257 +3053,257 @@ REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_SUMMONMONSTE
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1642,1643,1644,1645,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1642,1643,1644,1645,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1647,'Assassin Cross Eremes@TF_POISON','attack',52,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@BS_HAMMERFALL','attack',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@MC_MAMMONITE','attack',42,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@MC_MAMMONITE','attack',42,10,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_CHANGEGROUND','attack',163,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1643,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1643,1644,1645,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1643,1644,1645,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1648,'MasterSmith Howard@ST_FULLSTRIP','attack',476,5,1500,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','attack',28,10,10000,0,1000,'yes','friend','friendhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','attack',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','idle',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','chase',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','attack',28,10,10000,0,1000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','attack',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','idle',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_HEAL','chase',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1644,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1644,1645,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1644,1645,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Margaretha@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_CLAYMORETRAP','attack',123,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_CLAYMORETRAP','idle',123,5,2000,0,10000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_SANDMAN','attack',119,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_SANDMAN','idle',119,5,2000,0,10000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_SHOCKWAVE','attack',118,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@HT_SHOCKWAVE','idle',118,5,2000,0,10000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1643,1645,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1645,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1645,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@NPC_WINDATTACK','attack',187,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Cecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_ATTRICHANGE','attack',161,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1643,1644,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1644,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1644,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_FIREPILLAR','attack',80,10,2000,200,0,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_FIREPILLAR','idle',80,10,5000,200,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_METEOR','attack',83,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_METEOR','idle',83,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_METEOR','chase',83,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_METEOR','chase',83,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_STORMGUST','attack',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_STORMGUST','idle',89,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_STORMGUST','chase',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_STORMGUST','chase',89,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_VERMILION','attack',85,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_VERMILION','idle',85,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_VERMILION','chase',85,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_VERMILION','chase',85,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_WATERBALL','attack',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Kathryne@WZ_WATERBALL','chase',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_BLEEDING','attack',660,3,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@SM_BASH','attack',5,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@SM_BASH','attack',5,9,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@SM_MAGNUM','attack',7,9,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1652,'Egnigem Cenia@SM_PROVOKE','chase',6,9,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@NPC_POISONATTACK','attack',188,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@TF_POISON','attack',52,9,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@TF_POISON','attack',52,9,10000,1000,1000,'no','target','skillused','52',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1653,'Wickebine Tres@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@MC_MAMMONITE','attack',42,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@MC_MAMMONITE','attack',42,9,10000,800,1000,'no','target','skillused','42',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,8,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1654,'Armeyer Dinze@NPC_STUNATTACK','attack',179,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_BLESSING','idle',34,10,10000,500,5000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_DECAGI','attack',30,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_DECAGI','chase',30,1,2000,1000,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','attack',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','idle',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','chase',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','idle',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_HEAL','chase',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_PNEUMA','idle',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'22',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@NPC_HOLYATTACK','attack',189,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1655,'Errende Ebecee@NPC_SILENCEATTACK','attack',178,4,1000,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AC_DOUBLE','attack',46,1,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AC_DOUBLE','chase',46,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AC_DOUBLE','attack',46,1,10000,1000,1000,'no','target','skillused','46',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AC_SHOWER','attack',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1656,'Kavach Icarus@NPC_WINDATTACK','attack',187,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_LIGHTNINGBOLT','idle',20,9,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SOULSTRIKE','attack',13,5,3000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SOULSTRIKE','attack',13,3,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_SOULSTRIKE','idle',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1657,'Laurell Weinder@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@KN_TWOHANDQUICKEN','attack',60,10,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@LK_SPIRALPIERCE','attack',397,2,2500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_BLEEDING','attack',660,2,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'15',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CHANGEWATER','attack',162,1,10000,500,10000,'no','self','skillused','89',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CHANGEWIND','attack',165,1,10000,500,10000,'no','self','skillused','84',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1659,1660,1661,1662,1663,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1659,1660,1661,1662,1663,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_BASH','attack',5,10,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_BASH','attack',5,10,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_MAGNUM','attack',7,10,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_PROVOKE','attack',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1658,'Egnigem Cenia@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@NPC_POISONATTACK','attack',188,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@TF_POISON','attack',52,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@TF_POISON','attack',52,9,10000,1000,1000,'no','target','skillused','52',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1659,'Wickebine Tres@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@MC_MAMMONITE','attack',42,9,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@MC_MAMMONITE','attack',42,9,10000,800,1000,'yes','target','skillused','42',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,8,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_GROUNDATTACK','attack',185,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1660,'Armeyer Dinze@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_BLESSING','idle',34,10,10000,500,5000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_DECAGI','attack',30,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_DECAGI','chase',30,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','attack',28,10,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','idle',28,10,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','chase',28,10,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','attack',28,10,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','idle',28,10,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@AL_HEAL','chase',28,10,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@NPC_HOLYATTACK','attack',189,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1661,'Errende Ebecee@NPC_SILENCEATTACK','attack',178,4,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@AC_DOUBLE','attack',46,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@AC_DOUBLE','chase',46,10,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@AC_DOUBLE','attack',46,10,10000,1000,1000,'no','target','skillused','46',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@AC_SHOWER','attack',47,10,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1662,'Kavach Icarus@NPC_WINDATTACK','attack',187,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1663,'Laurell Weinder@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@BS_HAMMERFALL','attack',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@MC_MAMMONITE','attack',42,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@MC_MAMMONITE','attack',42,10,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CHANGEGROUND','attack',163,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1643,1644,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1643,1644,1645,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1643,1644,1645,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1648,'Whitesmith Harword@ST_FULLSTRIP','attack',476,5,1500,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','attack',28,10,10000,0,1000,'yes','friend','friendhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','attack',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','idle',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','chase',28,10,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','attack',28,10,10000,0,1000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','attack',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','idle',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_HEAL','chase',28,10,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@HP_ASSUMPTIO','idle',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@HP_ASSUMPTIO','chase',361,5,10000,1000,10000,'no','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1644,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1644,1645,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1644,1645,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXAETERNA','chase',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','attack',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','chase',76,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','attack',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','idle',76,10,10000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1649,'High Priest Magaleta@PR_LEXDIVINA','chase',76,10,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AC_CHARGEARROW','attack',148,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AC_DOUBLE','attack',46,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AC_SHOWER','attack',47,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_CLAYMORETRAP','attack',123,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_CLAYMORETRAP','idle',123,5,2000,0,10000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_SANDMAN','attack',119,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_SANDMAN','idle',119,5,2000,0,10000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_SHOCKWAVE','attack',118,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@HT_SHOCKWAVE','idle',118,5,2000,0,10000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1643,1645,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1645,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1645,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@NPC_WINDATTACK','attack',187,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1650,'Sniper Shecil@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@HW_GANBANTEIN','attack',483,1,10000,500,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@HW_NAPALMVULCAN','chase',400,5,2000,1000,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@MG_SIGHT','idle',10,1,10000,0,5000,'yes','self','skillused','137',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_ATTRICHANGE','attack',161,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1642,1643,1644,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1644,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1640,1641,1642,1643,1644,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_FIREPILLAR','attack',80,10,2000,200,0,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_FIREPILLAR','idle',80,10,5000,200,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_METEOR','attack',83,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_METEOR','idle',83,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_METEOR','chase',83,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_METEOR','chase',83,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_STORMGUST','attack',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_STORMGUST','idle',89,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_STORMGUST','chase',89,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_STORMGUST','chase',89,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_VERMILION','attack',85,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_VERMILION','idle',85,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_VERMILION','chase',85,10,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_VERMILION','chase',85,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_WATERBALL','attack',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1651,'High Wizard Katrinn@WZ_WATERBALL','chase',86,5,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_BLEEDING','attack',660,3,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@SM_BASH','attack',5,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@SM_BASH','attack',5,9,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@SM_MAGNUM','attack',7,9,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1652,'Ygnizem@SM_PROVOKE','chase',6,9,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@NPC_POISONATTACK','attack',188,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@TF_POISON','attack',52,9,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@TF_POISON','attack',52,9,10000,1000,1000,'no','target','skillused','52',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1653,'Whikebain@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@MC_MAMMONITE','attack',42,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@MC_MAMMONITE','attack',42,9,10000,800,1000,'no','target','skillused','42',NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,8,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1654,'Armaia@NPC_STUNATTACK','attack',179,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_BLESSING','idle',34,10,10000,500,5000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_DECAGI','attack',30,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_DECAGI','chase',30,1,2000,1000,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','attack',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','idle',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','chase',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','idle',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_HEAL','chase',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_PNEUMA','idle',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'22',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@NPC_HOLYATTACK','attack',189,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1655,'Erend@NPC_SILENCEATTACK','attack',178,4,1000,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AC_DOUBLE','attack',46,1,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AC_DOUBLE','chase',46,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AC_DOUBLE','attack',46,1,10000,1000,1000,'no','target','skillused','46',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AC_SHOWER','attack',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1656,'Kavac@NPC_WINDATTACK','attack',187,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_LIGHTNINGBOLT','idle',20,9,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SOULSTRIKE','attack',13,5,3000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SOULSTRIKE','attack',13,3,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_SOULSTRIKE','idle',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1657,'Rawrel@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@KN_TWOHANDQUICKEN','attack',60,10,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@LK_SPIRALPIERCE','attack',397,2,2500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_BLEEDING','attack',660,2,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'15',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CHANGEWATER','attack',162,1,10000,500,10000,'no','self','skillused','89',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CHANGEWIND','attack',165,1,10000,500,10000,'no','self','skillused','84',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_SHIELDBRAKE','attack',346,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',1659,1660,1661,1662,1663,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',1659,1660,1661,1662,1663,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_BASH','attack',5,10,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_BASH','attack',5,10,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_MAGNUM','attack',7,10,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_PROVOKE','attack',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1658,'Ygnizem@SM_PROVOKE','chase',6,10,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@NPC_POISONATTACK','attack',188,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@TF_POISON','attack',52,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@TF_POISON','attack',52,9,10000,1000,1000,'no','target','skillused','52',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1659,'Whikebain@TF_THROWSTONE','chase',152,1,4000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@MC_MAMMONITE','attack',42,9,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@MC_MAMMONITE','attack',42,9,10000,800,1000,'yes','target','skillused','42',NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,8,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_GROUNDATTACK','attack',185,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1660,'Armaia@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_BLESSING','idle',34,10,10000,500,5000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_DECAGI','attack',30,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_DECAGI','chase',30,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','attack',28,10,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','idle',28,10,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','chase',28,10,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','attack',28,10,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','idle',28,10,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@AL_HEAL','chase',28,10,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@NPC_HOLYATTACK','attack',189,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1661,'Erend@NPC_SILENCEATTACK','attack',178,4,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@AC_DOUBLE','attack',46,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@AC_DOUBLE','chase',46,10,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@AC_DOUBLE','attack',46,10,10000,1000,1000,'no','target','skillused','46',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@AC_SHOWER','attack',47,10,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1662,'Kavac@NPC_WINDATTACK','attack',187,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1663,'Rawrel@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1664,'Photon Cannon@NPC_WINDATTACK','attack',187,5,1000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1664,'Photon Cannon@NPC_WINDATTACK','attack',187,3,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1664,'Photon Cannon@NPC_WINDATTACK','attack',187,1,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -3330,35 +3355,35 @@ REPLACE INTO `mob_skill_db` VALUES (1673,'Dimik@NPC_FIREATTACK','attack',186,3,5
REPLACE INTO `mob_skill_db` VALUES (1674,'Monemus@NPC_FIREATTACK','attack',186,10,500,1000,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1674,'Monemus@NPC_FIREATTACK','attack',186,3,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1674,'Monemus@NPC_FIREATTACK','attack',186,1,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1675,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1676,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1677,'Venatu@NPC_WINDATTACK','attack',187,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_RANDOMATTACK','attack',183,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1678,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1679,'Venatu@NPC_WATERATTACK','attack',184,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -3375,8 +3400,8 @@ REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_COMBOATTACK','chase',17
REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,31,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1681,'Gemini-S58@NPC_PIERCINGATT','attack',158,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1682,'Remover@NPC_UNDEADATTACK','attack',347,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1682,'Remover@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1682,'Removal@NPC_UNDEADATTACK','attack',347,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1682,'Removal@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@KN_SPEARSTAB','attack',58,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1684,'Archdam@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -3390,13 +3415,13 @@ REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_CRITICALSLASH','attack',170
REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_EMOTION','idle',197,1,1000,0,0,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_POWERUP','attack',349,5,5000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_SUMMONSLAVE','attack',196,3,10000,2000,5000,'no','self','slavele','15',1365,1669,1675,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn','0',1365,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@NPC_SUMMONSLAVE','idle',196,2,10000,0,0,'no','self','onspawn',NULL,1365,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1685,'Vesper@WZ_METEOR','attack',83,10,500,10000,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_EMOTION','attack',197,1,10000,0,5000,'no','self','slavele','0',28,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_EMOTION','idle',197,1,10000,0,5000,'no','self','slavele','0',28,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','attack',196,2,10000,0,6000000,'yes','self','slavele','0',1023,1273,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','idle',196,2,10000,0,6000000,'yes','self','slavele','0',1023,1273,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','chase',196,2,10000,0,6000000,'yes','self','slavele','0',1023,1273,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_EMOTION','attack',197,1,10000,0,5000,'no','self','slavele',NULL,28,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_EMOTION','idle',197,1,10000,0,5000,'no','self','slavele',NULL,28,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','attack',196,2,10000,0,6000000,'yes','self','slavele',NULL,1023,1273,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','idle',196,2,10000,0,6000000,'yes','self','slavele',NULL,1023,1273,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@NPC_SUMMONSLAVE','chase',196,2,10000,0,6000000,'yes','self','slavele',NULL,1023,1273,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1686,'Orc Baby@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@AL_HEAL','attack',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
@@ -3418,17 +3443,17 @@ REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_POWERUP','attack',349,5
REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_STUNATTACK','attack',179,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_SUMMONSLAVE','attack',196,5,10000,2000,5000,'no','self','slavele','2',1691,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1688,'Lady Tanee@NPC_SUMMONSLAVE','idle',196,5,10000,2000,5000,'no','self','slavele','2',1691,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'White Lady@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'White Lady@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'White Lady@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'White Lady@NPC_SUMMONSLAVE','attack',196,4,10000,0,5000,'yes','self','slavele','2',1690,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'White Lady@NPC_SUMMONSLAVE','idle',196,4,10000,0,5000,'yes','self','slavele','2',1690,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'White Lady@NPC_SUMMONSLAVE','chase',196,4,10000,0,5000,'yes','self','slavele','2',1690,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'White Lady@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'White Lady@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1689,'White Lady@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1690,'Lunar Rabbit@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0083,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1690,'Lunar Rabbit@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_SUMMONSLAVE','attack',196,4,10000,0,5000,'yes','self','slavele','2',1690,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_SUMMONSLAVE','idle',196,4,10000,0,5000,'yes','self','slavele','2',1690,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@NPC_SUMMONSLAVE','chase',196,4,10000,0,5000,'yes','self','slavele','2',1690,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1689,'Bacsojin@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,131,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1690,'Spring Rabbit@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1691,'Kraben@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1691,'Kraben@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1691,'Kraben@NPC_STUNATTACK','attack',179,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -3470,154 +3495,154 @@ REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_FROSTDIVER','attack',15,9,20
REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@MG_FROSTDIVER','chase',15,9,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@NPC_WATERATTACK','attack',184,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1697,'Plasma@WZ_WATERBALL','attack',86,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1698,'Death Word@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1698,'Death Word@NPC_CURSEATTACK','attack',181,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1698,'Death Word@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1698,'Death Word@NPC_SPLASHATTACK','attack',174,1,1000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_CURSEATTACK','attack',181,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1698,'Deathword@NPC_SPLASHATTACK','attack',174,1,1000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1699,'Ancient Mimic@CR_AUTOGUARD','attack',249,3,500,0,250000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1699,'Ancient Mimic@CR_AUTOGUARD','chase',249,3,1000,0,250000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1699,'Ancient Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@RG_INTIMIDATE','attack',219,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@WZ_JUPITEL','attack',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1700,'Dame of Sentinel@WZ_JUPITEL','chase',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Mistress of Shelter@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Mistress of Shelter@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Mistress of Shelter@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Mistress of Shelter@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Mistress of Shelter@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Mistress of Shelter@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Mistress of Shelter@NPC_DARKNESSATTACK','chase',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Mistress of Shelter@NPC_DARKTHUNDER','attack',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1701,'Mistress of Shelter@NPC_DARKTHUNDER','chase',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Baroness of Retribution@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Baroness of Retribution@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Baroness of Retribution@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Baroness of Retribution@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Baroness of Retribution@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1702,'Baroness of Retribution@NPC_GRANDDARKNESS','attack',339,1,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@CR_GRANDCROSS','attack',254,1,1000,1500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@MG_NAPALMBEAT','attack',11,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@MG_NAPALMBEAT','chase',11,5,1000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@PR_LEXDIVINA','attack',76,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1703,'Lady Solace@PR_LEXDIVINA','chase',76,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Odium of Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Odium of Thanatos@NPC_CHANGEDARKNESS','attack',168,1,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Odium of Thanatos@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Odium of Thanatos@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Odium of Thanatos@NPC_POWERUP','attack',349,5,2000,0,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Odium of Thanatos@NPC_POWERUP','attack',349,5,2000,0,10000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Odium of Thanatos@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1704,'Odium of Thanatos@NPC_TELEKINESISATTACK','attack',191,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@NPC_BLEEDING','attack',660,3,1000,0,60000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@NPC_FIREATTACK','attack',186,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@SM_PROVOKE','attack',6,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@SM_PROVOKE','chase',6,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1705,'Despero of Thanatos@WZ_SIGHTRASHER','attack',81,10,1000,0,10000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Maero of Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Maero of Thanatos@AS_SONICBLOW','attack',136,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Maero of Thanatos@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Maero of Thanatos@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Maero of Thanatos@NPC_INVISIBLE','attack',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Maero of Thanatos@NPC_INVISIBLE','idle',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1706,'Maero of Thanatos@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@AL_DECAGI','attack',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@AL_HEAL','attack',28,8,1000,0,5000,'yes','friend','friendhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@AL_HEAL','idle',28,8,1000,0,5000,'yes','friend','friendhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@AL_HEAL','chase',28,8,1000,0,5000,'yes','friend','friendhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@AL_HEAL','attack',28,8,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@AL_HEAL','idle',28,8,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@AL_HEAL','chase',28,8,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@NPC_DARKTHUNDER','attack',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@NPC_DARKTHUNDER','chase',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@NPC_MAGICALATTACK','attack',192,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@NPC_MENTALBREAKER','attack',159,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1707,'Dolor of Thanatos@NPC_MENTALBREAKER','chase',159,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@AL_TELEPORT','attack',26,1,500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@AL_TELEPORT','walk',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@BS_HAMMERFALL','attack',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@KN_TWOHANDQUICKEN','attack',60,10,3000,0,300000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@MG_SOULSTRIKE','attack',13,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@MG_SOULSTRIKE','chase',13,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@NPC_BLEEDING','attack',660,5,2000,0,60000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@NPC_CHANGEHOLY','attack',167,1,5000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@NPC_EXPULSION','attack',674,1,1000,1000,10000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@NPC_SUMMONSLAVE','attack',196,6,10000,700,30000,'no','self','slavele','0',1711,1710,1709,1712,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@NPC_SUMMONSLAVE','idle',196,6,10000,700,30000,'no','self','slavele','0',1711,1710,1709,1712,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@WZ_METEOR','attack',83,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@WZ_METEOR','chase',83,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@WZ_STORMGUST','attack',89,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@WZ_STORMGUST','chase',89,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@WZ_VERMILION','attack',85,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1708,'Memory of Thanatos@WZ_VERMILION','chase',85,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Odium of Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Odium of Thanatos@NPC_CHANGEDARKNESS','attack',168,1,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Odium of Thanatos@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Odium of Thanatos@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Odium of Thanatos@NPC_POWERUP','attack',349,5,2000,0,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Odium of Thanatos@NPC_POWERUP','attack',349,5,2000,0,10000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Odium of Thanatos@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1709,'Odium of Thanatos@NPC_TELEKINESISATTACK','attack',191,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@NPC_FIREATTACK','attack',186,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@SM_PROVOKE','attack',6,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1710,'Despero of Thanatos@WZ_SIGHTRASHER','attack',81,10,1000,0,10000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Maero of Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Maero of Thanatos@AS_SONICBLOW','attack',136,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Maero of Thanatos@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Maero of Thanatos@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Maero of Thanatos@NPC_INVISIBLE','attack',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Maero of Thanatos@NPC_INVISIBLE','idle',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1711,'Maero of Thanatos@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@AL_DECAGI','attack',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@AL_HEAL','attack',28,10,1000,0,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@AL_HEAL','idle',28,9,1000,0,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@AL_HEAL','chase',28,9,1000,0,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@AL_HEAL','attack',28,10,1000,0,5000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@AL_HEAL','idle',28,9,1000,0,5000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@AL_HEAL','chase',28,9,1000,0,5000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@NPC_DARKTHUNDER','attack',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@NPC_DARKTHUNDER','chase',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@NPC_MAGICALATTACK','attack',192,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@NPC_MENTALBREAKER','attack',159,2,500,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1712,'Dolor of Thanatos@NPC_MENTALBREAKER','chase',159,2,500,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@RG_INTIMIDATE','attack',219,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@WZ_JUPITEL','attack',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1700,'Observation@WZ_JUPITEL','chase',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKNESSATTACK','chase',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKTHUNDER','attack',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1701,'Shelter@NPC_DARKTHUNDER','chase',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1702,'Retribution@NPC_GRANDDARKNESS','attack',339,1,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@CR_GRANDCROSS','attack',254,1,1000,1500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@MG_NAPALMBEAT','attack',11,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@MG_NAPALMBEAT','chase',11,5,1000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXDIVINA','attack',76,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1703,'Solace@PR_LEXDIVINA','chase',76,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_CHANGEDARKNESS','attack',168,1,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,10000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1704,'Thanatos Odium@NPC_TELEKINESISATTACK','attack',191,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_BLEEDING','attack',660,3,1000,0,60000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_FIREATTACK','attack',186,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@SM_PROVOKE','attack',6,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@SM_PROVOKE','chase',6,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@WZ_SIGHTRASHER','attack',81,10,1000,0,10000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@AS_SONICBLOW','attack',136,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_INVISIBLE','attack',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_INVISIBLE','idle',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1706,'Thanatos Maero@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_DECAGI','attack',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','attack',28,8,1000,0,5000,'yes','friend','friendhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','idle',28,8,1000,0,5000,'yes','friend','friendhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','chase',28,8,1000,0,5000,'yes','friend','friendhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','attack',28,8,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','idle',28,8,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_HEAL','chase',28,8,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_DARKTHUNDER','attack',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_DARKTHUNDER','chase',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_MAGICALATTACK','attack',192,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_MENTALBREAKER','attack',159,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1707,'Thanatos Dolor@NPC_MENTALBREAKER','chase',159,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@AL_TELEPORT','attack',26,1,500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@AL_TELEPORT','walk',26,1,10000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@BS_HAMMERFALL','attack',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@KN_TWOHANDQUICKEN','attack',60,10,3000,0,300000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@MG_SOULSTRIKE','attack',13,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@MG_SOULSTRIKE','chase',13,10,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_BLEEDING','attack',660,5,2000,0,60000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_CALLSLAVE','attack',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_CHANGEHOLY','attack',167,1,5000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_EXPULSION','attack',674,1,1000,1000,10000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_SUMMONSLAVE','attack',196,6,10000,700,30000,'no','self','slavele',NULL,1711,1710,1709,1712,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@NPC_SUMMONSLAVE','idle',196,6,10000,700,30000,'no','self','slavele',NULL,1711,1710,1709,1712,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@SM_PROVOKE','attack',6,10,1000,0,300000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_METEOR','attack',83,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_METEOR','chase',83,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_STORMGUST','attack',89,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_STORMGUST','chase',89,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_VERMILION','attack',85,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1708,'Thanatos@WZ_VERMILION','chase',85,10,2000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_CHANGEDARKNESS','attack',168,1,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_POWERUP','attack',349,5,2000,0,10000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1709,'Thanatos Odium@NPC_TELEKINESISATTACK','attack',191,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_FIREATTACK','attack',186,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@SM_PROVOKE','attack',6,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@SM_PROVOKE','chase',6,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@WZ_SIGHTRASHER','attack',81,10,1000,0,10000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@AS_SONICBLOW','attack',136,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_INVISIBLE','attack',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_INVISIBLE','idle',353,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1711,'Thanatos Maero@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_DECAGI','attack',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','attack',28,10,1000,0,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','idle',28,9,1000,0,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','chase',28,9,1000,0,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','attack',28,10,1000,0,5000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','idle',28,9,1000,0,5000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_HEAL','chase',28,9,1000,0,5000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_DARKTHUNDER','attack',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_DARKTHUNDER','chase',341,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_MAGICALATTACK','attack',192,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_MENTALBREAKER','attack',159,2,500,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1712,'Thanatos Dolor@NPC_MENTALBREAKER','chase',159,2,500,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@MG_FIREBALL','idle',17,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1713,'Acidus@MG_FIREBALL','chase',17,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'44',NULL);
@@ -3632,8 +3657,8 @@ REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@KN_BRANDISHSPEAR','attack',57,10
REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@KN_SPEARSTAB','attack',58,10,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_COMBOATTACK','attack',171,2,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,36,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,36,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1714,'Ferus@NPC_FIREATTACK','attack',186,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1715,'Novus@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'37',NULL);
@@ -3661,53 +3686,53 @@ REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@NPC_EMOTION','idle',197,1,2000,0
REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1718,'Novus@SM_BASH','attack',5,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@AL_HEAL','attack',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@AL_HEAL','chase',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@MG_FIREBALL','chase',17,10,5000,500,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_CRITICALWOUND','attack',673,3,2000,0,60000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_DARKBREATH','attack',202,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_FIREBREATH','attack',654,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_SUMMONSLAVE','attack',196,1,10000,2000,5000,'yes','self','slavele','0',1756,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_SUMMONSLAVE','idle',196,1,10000,2000,5000,'yes','self','slavele','0',1756,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_SUMMONSLAVE','chase',196,1,10000,2000,5000,'yes','self','slavele','0',1756,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@SM_MAGNUM','attack',7,10,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@SM_PROVOKE','attack',6,10,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@WZ_METEOR','attack',83,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@WZ_METEOR','chase',83,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@WZ_VERMILION','attack',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1719,'Detardeurus@WZ_VERMILION','chase',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@AL_HEAL','attack',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@AL_HEAL','chase',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_BLEEDING','attack',660,2,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_CRITICALWOUND','attack',673,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_POWERUP','attack',349,3,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_SUMMONSLAVE','attack',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_SUMMONSLAVE','idle',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@NPC_SUMMONSLAVE','chase',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1720,'Hydrolancer@WZ_METEOR','attack',83,10,2000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@AL_HEAL','attack',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@AL_HEAL','chase',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@MG_FIREBALL','chase',17,10,5000,500,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_CRITICALWOUND','attack',673,3,2000,0,60000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_DARKBREATH','attack',202,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_FIREBREATH','attack',654,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_SUMMONSLAVE','attack',196,1,10000,2000,5000,'yes','self','slavele',NULL,1756,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_SUMMONSLAVE','idle',196,1,10000,2000,5000,'yes','self','slavele',NULL,1756,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_SUMMONSLAVE','chase',196,1,10000,2000,5000,'yes','self','slavele',NULL,1756,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@SM_MAGNUM','attack',7,10,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@SM_PROVOKE','attack',6,10,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_METEOR','attack',83,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_METEOR','chase',83,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_VERMILION','attack',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1719,'Detale@WZ_VERMILION','chase',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AL_HEAL','attack',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AL_HEAL','chase',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_BLEEDING','attack',660,2,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_CRITICALWOUND','attack',673,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_POWERUP','attack',349,3,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_SUMMONSLAVE','attack',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_SUMMONSLAVE','idle',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@NPC_SUMMONSLAVE','chase',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1720,'Hydro@WZ_METEOR','attack',83,10,2000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1721,'Dragon Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'yes','self','myhpltmaxrate','99',1715,1718,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@AL_PNEUMA','attack',25,1,10000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1733,'Kiel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -3741,8 +3766,8 @@ REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_CALLSLAVE','idle',352,1,
REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_DARKBLESSING','attack',203,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_POWERUP','attack',349,4,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_POWERUP','attack',349,4,3000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_SUMMONSLAVE','attack',196,6,10000,700,30000,'no','self','slavele','0',1739,1740,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_SUMMONSLAVE','idle',196,6,10000,700,30000,'no','self','slavele','0',1739,1740,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_SUMMONSLAVE','attack',196,6,10000,700,30000,'no','self','slavele',NULL,1739,1740,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_SUMMONSLAVE','idle',196,6,10000,700,30000,'no','self','slavele',NULL,1739,1740,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_WIDESILENCE','attack',663,5,10000,500,25000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@NPC_WIDESILENCE','chase',663,5,10000,500,25000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1734,'Kiel D-01@PR_LEXAETERNA','attack',78,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -3832,22 +3857,22 @@ REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_PULSESTRIKE','at
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','attack',196,3,10000,2000,5000,'no','self','slavele','1',1891,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','idle',196,3,10000,2000,5000,'no','self','slavele','1',1891,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','chase',196,3,10000,2000,5000,'no','self','slavele','1',1891,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn','0',1765,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn',NULL,1765,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@WZ_VERMILION','attack',85,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1751,'Valkyrie Randgris@WZ_VERMILION','chase',85,10,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','target','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','target','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@MG_SOULSTRIKE','chase',13,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_CURSEATTACK','attack',181,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'no','self','slavele','0',1762,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'no','self','slavele',NULL,1762,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1752,'Skogul@TF_HIDING','idle',51,1,2000,0,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@MG_FIREWALL','chase',18,5,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_CHANGEUNDEAD','attack',348,2,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_POISON','attack',176,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'yes','self','slavele','0',1761,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'yes','self','slavele',NULL,1761,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1753,'Frus@RG_STRIPARMOR','attack',217,3,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_DECAGI','attack',30,10,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@AL_DECAGI','chase',30,10,500,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -3866,7 +3891,7 @@ REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_HOLYATTACK','attack',189
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_HOLYATTACK','chase',189,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_PETRIFYATTACK','attack',180,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_PETRIFYATTACK','chase',180,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_SUMMONSLAVE','any',196,2,10000,700,60000,'no','self','onspawn','0',1763,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@NPC_SUMMONSLAVE','any',196,2,10000,700,60000,'no','self','onspawn',NULL,1763,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@RG_STRIPARMOR','attack',217,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@RG_STRIPARMOR','chase',217,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1754,'Skeggiold@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -3885,27 +3910,27 @@ REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_CALLSLAVE','attack',352,
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_CALLSLAVE','idle',352,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_HOLYATTACK','attack',189,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_HOLYATTACK','chase',189,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_SUMMONSLAVE','any',196,2,10000,700,60000,'no','self','onspawn','0',1764,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@NPC_SUMMONSLAVE','any',196,2,10000,700,60000,'no','self','onspawn',NULL,1764,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1755,'Skeggiold@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@AL_HEAL','attack',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@AL_HEAL','chase',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_POWERUP','attack',349,3,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_SUMMONSLAVE','attack',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_SUMMONSLAVE','idle',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@NPC_SUMMONSLAVE','chase',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1756,'Hydrolancer@WZ_METEOR','attack',83,10,2000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','target','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AL_HEAL','attack',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AL_HEAL','chase',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_POWERUP','attack',349,3,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_SUMMONSLAVE','attack',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_SUMMONSLAVE','idle',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@NPC_SUMMONSLAVE','chase',196,4,10000,2000,5000,'no','self','slavele','2',1757,1758,1759,1760,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1756,'Hydro@WZ_METEOR','attack',83,10,2000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','target','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@MG_SOULSTRIKE','chase',13,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@NPC_BLEEDING','attack',660,2,500,0,60000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1761,'Skogul@NPC_CURSEATTACK','attack',181,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4095,13 +4120,13 @@ REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_GUIDEDATTACK','attack',172
REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1781,'Drosera@RG_CLOSECONFINE','attack',1005,1,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_COMBOATTACK','attack',171,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1782,'Roween@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_SUMMONSLAVE','attack',196,3,10000,1000,30000,'no','self','slavele','3',1794,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_SUMMONSLAVE','idle',196,3,10000,1000,30000,'no','self','slavele','3',1794,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1783,'Galion@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4119,8 +4144,8 @@ REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_DEFENDER','idle',205,1,1000
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_POWERUP','attack',349,2,2000,0,50000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_POWERUP','attack',349,2,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_SUMMONSLAVE','attack',196,3,10000,700,30000,'no','self','slavele','0',1791,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_SUMMONSLAVE','idle',196,3,10000,700,30000,'no','self','slavele','0',1791,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_SUMMONSLAVE','attack',196,3,10000,700,30000,'no','self','slavele',NULL,1791,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@NPC_SUMMONSLAVE','idle',196,3,10000,700,30000,'no','self','slavele',NULL,1791,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@SM_BASH','attack',5,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1785,'Atroce@SM_MAGNUM','attack',7,10,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1786,'Agav@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4162,10 +4187,10 @@ REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@AL_TELEPORT','idle',26,1,10000,
REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1791,'Galion@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_COMBOATTACK','attack',171,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1794,'Roween@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@AL_HEAL','attack',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1796,'Aunoe@AL_HEAL','idle',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
@@ -4189,75 +4214,75 @@ REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@CR_HOLYCROSS','attack',253,3,500
REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1797,'Fanat@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1812,'Delightful Lude@AL_TELEPORT','attack',26,1,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1812,'Delightful Lude@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@AL_HEAL','attack',28,10,2000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@AS_VENOMDUST','attack',140,10,3500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@KN_TWOHANDQUICKEN','attack',60,10,5000,0,120000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'27',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_COMBOATTACK','attack',171,6,2500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_DARKCROSS','attack',338,10,2000,1500,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_DARKTHUNDER','chase',341,5,8000,700,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_GRANDDARKNESS','attack',339,10,2000,900,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_LICK','attack',206,5,4000,0,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@NPC_POWERUP','attack',349,5,10000,0,25000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1813,'Hydrolancer@WZ_VERMILION','attack',85,10,2500,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@AL_HEAL','attack',28,9,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@AL_HEAL','chase',28,9,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@MC_MAMMONITE','attack',42,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@MG_FIREBOLT','attack',19,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@MG_FIREBOLT','chase',19,10,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@MG_FIREBOLT','chase',19,10,4000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@MG_FIREWALL','attack',18,10,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@MG_FIREWALL','chase',18,10,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@SA_DISPELL','attack',289,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@SA_DISPELL','chase',289,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@WZ_METEOR','attack',83,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@WZ_METEOR','chase',83,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@WZ_WATERBALL','attack',86,5,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1814,'Fox Queen@WZ_WATERBALL','chase',86,5,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@AL_HEAL','attack',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@AL_HEAL','chase',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@BS_HAMMERFALL','attack',110,10,10000,0,5000,'yes','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@BS_HAMMERFALL','chase',110,10,5000,0,5000,'yes','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@BS_MAXIMIZE','chase',114,5,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@CR_GRANDCROSS','attack',254,10,5000,100,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'yes','self','myhpltmaxrate','12',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@MG_FIREBALL','chase',17,10,5000,500,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@NPC_DARKBREATH','attack',202,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@NPC_POWERUP','attack',349,5,10000,0,25000,'yes','self','myhpltmaxrate','12',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@SM_MAGNUM','attack',7,10,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@WZ_METEOR','attack',83,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@WZ_METEOR','chase',83,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@WZ_STORMGUST','attack',89,10,2000,1000,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@WZ_VERMILION','attack',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1817,'Detardeurus@WZ_VERMILION','chase',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1812,'Lude@AL_TELEPORT','attack',26,1,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1812,'Lude@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@AL_HEAL','attack',28,10,2000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@AS_VENOMDUST','attack',140,10,3500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@KN_TWOHANDQUICKEN','attack',60,10,5000,0,120000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'27',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_COMBOATTACK','attack',171,6,2500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_DARKCROSS','attack',338,10,2000,1500,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_DARKTHUNDER','chase',341,5,8000,700,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_GRANDDARKNESS','attack',339,10,2000,900,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_LICK','attack',206,5,4000,0,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@NPC_POWERUP','attack',349,5,10000,0,25000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1813,'Hydro@WZ_VERMILION','attack',85,10,2500,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_HEAL','attack',28,9,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_HEAL','chase',28,9,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_TELEPORT','idle',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MC_MAMMONITE','attack',42,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREBOLT','attack',19,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREBOLT','chase',19,10,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREBOLT','chase',19,10,4000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREWALL','attack',18,10,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@MG_FIREWALL','chase',18,10,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@SA_DISPELL','attack',289,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@SA_DISPELL','chase',289,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_METEOR','attack',83,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_METEOR','chase',83,5,2000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_WATERBALL','attack',86,5,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1814,'Moonlight Flower@WZ_WATERBALL','chase',86,5,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@AL_HEAL','attack',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@AL_HEAL','chase',28,10,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@BS_HAMMERFALL','attack',110,10,10000,0,5000,'yes','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@BS_HAMMERFALL','chase',110,10,5000,0,5000,'yes','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@BS_MAXIMIZE','chase',114,5,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@CR_GRANDCROSS','attack',254,10,5000,100,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'yes','self','myhpltmaxrate','12',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@MG_FIREBALL','chase',17,10,5000,500,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_DARKBREATH','attack',202,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_POWERUP','attack',349,5,10000,0,25000,'yes','self','myhpltmaxrate','12',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@SM_MAGNUM','attack',7,10,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_METEOR','attack',83,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_METEOR','chase',83,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_STORMGUST','attack',89,10,2000,1000,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_VERMILION','attack',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1817,'Detale@WZ_VERMILION','chase',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_CURSEATTACK','attack',181,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1819,'Bathory@NPC_STOP','attack',342,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@NPC_STUNATTACK','attack',179,2,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1820,'Bigfoot@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1821,'Desert Wolf@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4270,47 +4295,47 @@ REPLACE INTO `mob_skill_db` VALUES (1822,'Deviruchi@NPC_ENERGYDRAIN','chase',200
REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1823,'Freezer@NPC_WATERATTACK','attack',184,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1824,'Baby Hatii@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1824,'Baby Hatii@NPC_LICK','attack',206,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Santa Goblin@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Santa Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Santa Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x3695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Santa Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,18,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1825,'Santa Goblin@NPC_WINDATTACK','attack',187,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1824,'Garm Baby@MG_FROSTDIVER','chase',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1824,'Garm Baby@NPC_LICK','attack',206,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,18,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1825,'Christmas Goblin@NPC_WINDATTACK','attack',187,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_MENTALBREAKER','attack',159,2,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1826,'Myst@NPC_POISONATTACK','attack',188,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@KN_SPEARSTAB','attack',58,10,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1827,'Sasquatch@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Master@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Master@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Master@CR_REFLECTSHIELD','idle',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Master@CR_SHIELDCHARGE','attack',250,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Master@KN_SPEARBOOMERANG','chase',59,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Master@KN_TWOHANDQUICKEN','attack',60,10,10000,0,120000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Master@NPC_COMBOATTACK','attack',171,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Master@NPC_STUNATTACK','attack',179,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Master@NPC_WIDEBLEEDING','attack',665,4,10000,0,15000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@AC_CHARGEARROW','idle',148,1,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@AC_DOUBLE','attack',46,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@AC_DOUBLE','idle',46,10,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@AC_SHOWER','attack',47,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@AC_SHOWER','idle',47,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@NPC_BLEEDING','attack',660,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@NPC_COMBOATTACK','attack',171,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@NPC_STUNATTACK','attack',179,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Master@NPC_WIDEBLEEDING','attack',665,4,10000,0,15000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@CR_REFLECTSHIELD','idle',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@CR_SHIELDCHARGE','attack',250,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@KN_SPEARBOOMERANG','chase',59,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@KN_TWOHANDQUICKEN','attack',60,10,10000,0,120000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@NPC_COMBOATTACK','attack',171,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@NPC_STUNATTACK','attack',179,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1829,'Sword Guardian@NPC_WIDEBLEEDING','attack',665,4,10000,0,15000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_CHARGEARROW','attack',148,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_CHARGEARROW','idle',148,1,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_DOUBLE','attack',46,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_DOUBLE','idle',46,10,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_SHOWER','attack',47,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AC_SHOWER','idle',47,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_BLEEDING','attack',660,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_COMBOATTACK','attack',171,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_STUNATTACK','attack',179,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1830,'Bow Guardian@NPC_WIDEBLEEDING','attack',665,4,10000,0,15000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1831,'Salamander@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4408,21 +4433,21 @@ REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@NPC_GROUNDATTACK','attack',185
REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@TF_SPRINKLESAND','attack',149,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@TF_THROWSTONE','attack',152,1,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@TF_THROWSTONE','chase',152,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@AS_GRIMTOOTH','idle',137,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@AS_GRIMTOOTH','chase',137,5,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@AS_SONICBLOW','attack',136,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@ASC_BREAKER','chase',379,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@ASC_METEORASSAULT','attack',406,2,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@NPC_SUMMONSLAVE','attack',196,2,10000,1000,60000000,'no','self','slavele','0',1829,1830,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@NPC_SUMMONSLAVE','idle',196,2,10000,1000,60000000,'no','self','slavele','0',1829,1830,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@NPC_SUMMONSLAVE','chase',196,2,10000,1000,60000000,'no','self','slavele','0',1829,1830,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1839,'Byrogue@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AS_GRIMTOOTH','idle',137,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AS_GRIMTOOTH','chase',137,5,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@AS_SONICBLOW','attack',136,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@ASC_BREAKER','chase',379,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@ASC_METEORASSAULT','attack',406,2,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_SUMMONSLAVE','attack',196,2,10000,1000,60000000,'no','self','slavele',NULL,1829,1830,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_SUMMONSLAVE','idle',196,2,10000,1000,60000000,'no','self','slavele',NULL,1829,1830,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@NPC_SUMMONSLAVE','chase',196,2,10000,1000,60000000,'no','self','slavele',NULL,1829,1830,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1839,'Byorgue@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@AL_INCAGI','chase',29,1,500,700,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1840,'Golden Savage@KN_TWOHANDQUICKEN','attack',60,5,500,0,30000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -4448,17 +4473,17 @@ REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@AC_DOUBLE','attack',46,5
REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@AC_SHOWER','attack',47,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1865,'Ragged Zombie@NPC_MAGICALATTACK','attack',192,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1866,'Hellhound@AL_HEAL','idle',28,1,10000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1866,'Hellhound@AS_SONICBLOW','attack',136,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1866,'Hellhound@NPC_RUN','attack',354,1,10000,0,0,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1866,'Hellhound@NPC_RUN','chase',354,1,10000,0,0,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@AL_HEAL','idle',28,1,10000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@AS_SONICBLOW','attack',136,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@NPC_RUN','attack',354,1,10000,0,0,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1866,'Hell Poodle@NPC_RUN','chase',354,1,10000,0,0,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1867,'Banshee@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4467,8 +4492,8 @@ REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_CURSEATTACK','chase',181,1
REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1868,'Banshee@NPC_WIDECURSE','attack',677,1,500,800,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1869,'Flame Skull@MG_FIREBALL','chase',17,5,1500,500,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4498,49 +4523,49 @@ REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SLOWCAST','chase',672,
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_STONESKIN','attack',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_STONESKIN','idle',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_STONESKIN','chase',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','attack',196,2,10000,0,300000,'yes','self','slavele','0',1864,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','idle',196,2,10000,0,300000,'yes','self','slavele','0',1864,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','chase',196,2,10000,0,300000,'yes','self','slavele','0',1864,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','attack',196,2,10000,0,300000,'yes','self','slavele',NULL,1864,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','idle',196,2,10000,0,300000,'yes','self','slavele',NULL,1864,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_SUMMONSLAVE','chase',196,2,10000,0,300000,'yes','self','slavele',NULL,1864,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_WIDECURSE','attack',677,1,500,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@NPC_WIDECURSE','chase',677,1,500,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_METEOR','chase',83,3,1000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_METEOR','chase',83,3,3000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_QUAGMIRE','attack',92,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (1870,'Necromancer@WZ_QUAGMIRE','chase',92,5,500,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@CR_GRANDCROSS','attack',254,10,500,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@CR_GRANDCROSS','chase',254,10,500,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@CR_HOLYCROSS','attack',253,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_DARKCROSS','attack',338,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_DARKNESSATTACK','attack',190,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_DARKNESSBREATH','attack',658,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_DARKSTRIKE','attack',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_EVILLAND','attack',670,10,10000,1000,600000,'yes','self','myhpltmaxrate','44',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_EVILLAND','attack',670,7,500,500,5000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_GRANDDARKNESS','attack',339,10,500,1300,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_GRANDDARKNESS','chase',339,10,500,1300,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_HELLJUDGEMENT','attack',662,4,10000,800,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_HELLJUDGEMENT','chase',662,4,10000,800,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_MAGICMIRROR','attack',671,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_SLOWCAST','attack',672,5,2000,800,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_SLOWCAST','chase',672,5,2000,300,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_SUMMONSLAVE','attack',196,4,10000,700,10000,'yes','self','slavele','3',1868,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_SUMMONSLAVE','idle',196,4,10000,700,10000,'yes','self','slavele','3',1868,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_VAMPIRE_GIFT','attack',679,2,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_WIDECURSE','attack',677,5,2000,800,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_WIDESILENCE','attack',663,5,5000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@NPC_WIDESILENCE','chase',663,5,5000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1871,'Falling Bishop@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@CR_GRANDCROSS','attack',254,10,500,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@CR_GRANDCROSS','chase',254,10,500,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@CR_HOLYCROSS','attack',253,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@MG_SAFETYWALL','attack',12,10,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKCROSS','attack',338,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKNESSATTACK','attack',190,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKNESSBREATH','attack',658,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKSTRIKE','attack',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_EVILLAND','attack',670,10,10000,1000,600000,'yes','self','myhpltmaxrate','44',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_EVILLAND','attack',670,7,500,500,5000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_GRANDDARKNESS','attack',339,10,500,1300,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_GRANDDARKNESS','chase',339,10,500,1300,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_HELLJUDGEMENT','attack',662,4,10000,800,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_HELLJUDGEMENT','chase',662,4,10000,800,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_MAGICMIRROR','attack',671,1,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SLOWCAST','attack',672,5,2000,800,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SLOWCAST','chase',672,5,2000,300,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SUMMONSLAVE','attack',196,4,10000,700,10000,'yes','self','slavele','3',1868,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_SUMMONSLAVE','idle',196,4,10000,700,10000,'yes','self','slavele','3',1868,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_VAMPIRE_GIFT','attack',679,2,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_WIDECURSE','attack',677,5,2000,800,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_WIDESILENCE','attack',663,5,5000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@NPC_WIDESILENCE','chase',663,5,5000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1871,'Fallen Bishop@PR_LEXAETERNA','chase',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1872,'Hell Fly@NPC_CRITICALWOUND','attack',673,5,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4599,50 +4624,50 @@ REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_WIDESOULDRAIN','attack',
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_WIDESTONE','attack',666,5,10000,500,15000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@NPC_WIDESTONE','chase',666,5,10000,500,15000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1874,'Beelzebub@SA_LANDPROTECTOR','attack',288,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1880,'Leshij@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1880,'Leshij@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1880,'Leshij@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1880,'Leshij@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1880,'Leshij@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1881,'Lesavka@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1881,'Lesavka@NPC_BLEEDING','attack',660,3,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1881,'Lesavka@NPC_COMBOATTACK','attack',171,2,3000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1881,'Lesavka@NPC_POISON','attack',176,2,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1882,'Baba-Yaga@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1882,'Baba-Yaga@NPC_COMBOATTACK','attack',171,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1882,'Baba-Yaga@WZ_WATERBALL','attack',86,2,2000,3000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1882,'Baba-Yaga@WZ_WATERBALL','chase',86,1,5000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Kikimora@NPC_CURSEATTACK','attack',181,2,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Kikimora@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Kikimora@NPC_MAGICALATTACK','chase',192,1,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Kikimora@NPC_POISON','attack',176,2,2000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1883,'Kikimora@WZ_WATERBALL','attack',86,3,2000,3000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1880,'Wood Goblin@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1881,'Les@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1881,'Les@NPC_BLEEDING','attack',660,3,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1881,'Les@NPC_COMBOATTACK','attack',171,2,3000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1881,'Les@NPC_POISON','attack',176,2,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@NPC_COMBOATTACK','attack',171,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@WZ_WATERBALL','attack',86,2,2000,3000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1882,'Baba Yaga@WZ_WATERBALL','chase',86,1,5000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_CURSEATTACK','attack',181,2,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_MAGICALATTACK','chase',192,1,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@NPC_POISON','attack',176,2,2000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1883,'Uzhas@WZ_WATERBALL','attack',86,3,2000,3000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@AL_HEAL','idle',28,5,10000,2000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@NPC_GROUNDATTACK','attack',185,2,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@NPC_SILENCEATTACK','attack',178,2,2000,2000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1884,'Mavka@WZ_EARTHSPIKE','chase',90,2,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@KN_TWOHANDQUICKEN','attack',60,10,5000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@MG_FIREBALL','attack',17,10,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@MG_FIREBALL','chase',17,9,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_AGIUP','attack',350,5,3000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_CALLSLAVE','chase',352,1,5000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_MENTALBREAKER','chase',159,5,500,800,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_POWERUP','attack',349,5,6000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_SILENCEATTACK','attack',178,5,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_SILENCEATTACK','chase',178,5,5000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_SUMMONSLAVE','attack',196,5,10000,1000,30000,'no','self','slavele','1',1886,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_SUMMONSLAVE','idle',196,5,10000,1000,30000,'no','self','slavele','0',1886,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@NPC_SUMMONSLAVE','chase',196,5,5000,1000,30000,'no','self','slavele','0',1886,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@SM_MAGNUM','attack',7,10,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@WZ_HEAVENDRIVE','attack',91,5,5000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@WZ_HEAVENDRIVE','chase',91,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@WZ_METEOR','attack',83,10,5000,1500,5000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@WZ_QUAGMIRE','attack',92,5,5000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1885,'Zmey Gorynych@WZ_QUAGMIRE','chase',92,5,5000,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@KN_TWOHANDQUICKEN','attack',60,10,5000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@MG_FIREBALL','attack',17,10,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@MG_FIREBALL','chase',17,9,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_AGIUP','attack',350,5,3000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_CALLSLAVE','attack',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_CALLSLAVE','idle',352,1,10000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_CALLSLAVE','chase',352,1,5000,0,15000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_MENTALBREAKER','chase',159,5,500,800,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_POWERUP','attack',349,5,6000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SILENCEATTACK','attack',178,5,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SILENCEATTACK','chase',178,5,5000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SUMMONSLAVE','attack',196,5,10000,1000,30000,'no','self','slavele','1',1886,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SUMMONSLAVE','idle',196,5,10000,1000,30000,'no','self','slavele',NULL,1886,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@NPC_SUMMONSLAVE','chase',196,5,5000,1000,30000,'no','self','slavele',NULL,1886,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@SM_MAGNUM','attack',7,10,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_HEAVENDRIVE','attack',91,5,5000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_HEAVENDRIVE','chase',91,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_METEOR','attack',83,10,5000,1500,5000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_QUAGMIRE','attack',92,5,5000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1885,'Gopinich@WZ_QUAGMIRE','chase',92,5,5000,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@AL_HEAL','idle',28,9,10000,1000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1886,'Mavka@NPC_GROUNDATTACK','attack',185,4,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4658,16 +4683,16 @@ REPLACE INTO `mob_skill_db` VALUES (1888,'Hatii Baby@NPC_WATERATTACK','attack',1
REPLACE INTO `mob_skill_db` VALUES (1889,'Marozka\'s Guard@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1889,'Marozka\'s Guard@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1889,'Marozka\'s Guard@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@MG_FIREBALL','attack',17,10,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@MG_FIREBALL','chase',17,9,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@NPC_SILENCEATTACK','attack',178,5,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@NPC_SILENCEATTACK','chase',178,5,5000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@SM_MAGNUM','attack',7,9,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@WZ_HEAVENDRIVE','attack',91,5,5000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@WZ_HEAVENDRIVE','chase',91,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@WZ_QUAGMIRE','attack',92,1,5000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1890,'Koshei the Immortal@WZ_QUAGMIRE','chase',92,1,5000,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@MG_FIREBALL','attack',17,10,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@MG_FIREBALL','chase',17,9,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@NPC_SILENCEATTACK','attack',178,5,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@NPC_SILENCEATTACK','chase',178,5,5000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@SM_MAGNUM','attack',7,9,5000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@WZ_HEAVENDRIVE','attack',91,5,5000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@WZ_HEAVENDRIVE','chase',91,5,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@WZ_QUAGMIRE','attack',92,1,5000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1890,'Koschei the Immortal@WZ_QUAGMIRE','chase',92,1,5000,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@AL_HEAL','attack',28,10,10000,500,10000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@AL_HEAL','idle',28,10,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (1891,'Valkyrie@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4683,9 +4708,9 @@ REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_STORMGUST','attack',89,10,2
REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_STORMGUST','chase',89,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_WATERBALL','attack',86,10,10000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1894,'Pouring@WZ_WATERBALL','chase',86,10,10000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1904,'Bombring@NPC_SELFDESTRUCTION','attack',173,1,10000,3000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1904,'Bombring@NPC_SELFDESTRUCTION','idle',173,1,10000,3000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1904,'Bombring@NPC_SELFDESTRUCTION','chase',173,1,10000,3000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1904,'Bomb Poring@NPC_SELFDESTRUCTION','attack',173,1,10000,3000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1904,'Bomb Poring@NPC_SELFDESTRUCTION','idle',173,1,10000,3000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1904,'Bomb Poring@NPC_SELFDESTRUCTION','chase',173,1,10000,3000,0,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -4713,7 +4738,7 @@ REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_PULSESTRIKE','chase',
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','attack',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','chase',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
-REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn','0',1922,1923,1924,1925,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn',NULL,1922,1923,1924,1925,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','attack',682,10,10000,0,600000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','chase',682,10,10000,0,600000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
@@ -4763,7 +4788,7 @@ REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_PULSESTRIKE','chase
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','attack',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','chase',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
-REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn','0',1922,1923,1924,1925,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn',NULL,1922,1923,1924,1925,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','attack',682,10,10000,0,600000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','chase',682,10,10000,0,600000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
@@ -4827,87 +4852,87 @@ REPLACE INTO `mob_skill_db` VALUES (1921,'Incarnation of Morroc@AL_TELEPORT','ch
REPLACE INTO `mob_skill_db` VALUES (1921,'Incarnation of Morroc@HP_ASSUMPTIO','attack',361,5,5000,1000,10000,'no','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1921,'Incarnation of Morroc@HP_ASSUMPTIO','idle',361,5,5000,1000,5000,'no','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1921,'Incarnation of Morroc@HP_ASSUMPTIO','chase',361,5,5000,1000,10000,'no','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@KN_TWOHANDQUICKEN','attack',60,10,10000,800,60000,'no','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@KN_TWOHANDQUICKEN','chase',60,10,10000,800,60000,'no','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@NPC_EXPULSION','attack',674,1,100,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@NPC_GRANDDARKNESS','attack',339,5,500,2000,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@SA_DISPELL','chase',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@WZ_JUPITEL','attack',84,5,3000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@WZ_JUPITEL','chase',84,5,5000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@WZ_VERMILION','attack',85,5,2000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1922,'Shadow of Morroc@WZ_VERMILION','chase',85,5,5000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@NPC_BLOODDRAIN','attack',199,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@NPC_EARTHQUAKE','attack',653,1,2000,700,100000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@NPC_SUMMONSLAVE','attack',196,7,10000,1000,10000,'no','self','slavele','0',1937,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@NPC_SUMMONSLAVE','chase',196,7,10000,1000,10000,'no','self','slavele','0',1937,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@NPC_WIDEBLEEDING','attack',665,2,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@NPC_WIDEBLEEDING','chase',665,2,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1923,'Shadow of Morroc@SM_MAGNUM','attack',7,10,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Shadow of Morroc@NPC_CRITICALWOUND','attack',673,4,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Shadow of Morroc@NPC_CRITICALWOUND','idle',673,4,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Shadow of Morroc@NPC_CRITICALWOUND','chase',673,4,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Shadow of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Shadow of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Shadow of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Shadow of Morroc@NPC_ENERGYDRAIN','chase',200,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Shadow of Morroc@NPC_WIDESILENCE','attack',663,2,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1924,'Shadow of Morroc@NPC_WIDESILENCE','chase',663,2,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@AL_HEAL','attack',28,10,10000,300,0,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@AL_HEAL','idle',28,10,10000,300,0,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@AL_HEAL','chase',28,10,10000,300,0,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@AL_HEAL','idle',28,10,10000,300,0,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@HP_ASSUMPTIO','attack',361,5,5000,1000,10000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@HP_ASSUMPTIO','idle',361,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@HP_ASSUMPTIO','chase',361,5,5000,1000,10000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1925,'Shadow of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@KN_TWOHANDQUICKEN','attack',60,10,10000,800,60000,'no','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@KN_TWOHANDQUICKEN','chase',60,10,10000,800,60000,'no','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_EXPULSION','attack',674,1,100,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_GRANDDARKNESS','attack',339,5,500,2000,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@SA_DISPELL','chase',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_JUPITEL','attack',84,5,3000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_JUPITEL','chase',84,5,5000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_VERMILION','attack',85,5,2000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1922,'Incarnation of Morroc@WZ_VERMILION','chase',85,5,5000,700,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_BLOODDRAIN','attack',199,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EARTHQUAKE','attack',653,1,2000,700,100000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_SUMMONSLAVE','attack',196,7,10000,1000,10000,'no','self','slavele',NULL,1937,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_SUMMONSLAVE','chase',196,7,10000,1000,10000,'no','self','slavele',NULL,1937,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_WIDEBLEEDING','attack',665,2,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@NPC_WIDEBLEEDING','chase',665,2,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1923,'Incarnation of Morroc@SM_MAGNUM','attack',7,10,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_CRITICALWOUND','attack',673,4,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_CRITICALWOUND','idle',673,4,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_CRITICALWOUND','chase',673,4,5000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_ENERGYDRAIN','chase',200,1,3000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_WIDESILENCE','attack',663,2,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1924,'Incarnation of Morroc@NPC_WIDESILENCE','chase',663,2,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@AL_HEAL','attack',28,10,10000,300,0,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@AL_HEAL','idle',28,10,10000,300,0,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@AL_HEAL','chase',28,10,10000,300,0,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@AL_HEAL','idle',28,10,10000,300,0,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@HP_ASSUMPTIO','attack',361,5,5000,1000,10000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@HP_ASSUMPTIO','idle',361,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@HP_ASSUMPTIO','chase',361,5,5000,1000,10000,'yes','friend','friendhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@NPC_EMOTION','idle',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1925,'Incarnation of Morroc@NPC_EMOTION','chase',197,1,10000,0,30000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1927,'Whisper@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@AS_SONICBLOW','attack',136,5,500,0,20000,'no','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'20');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@KN_BRANDISHSPEAR','attack',57,5,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@KN_BRANDISHSPEAR','chase',57,5,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@MO_BODYRELOCATION','chase',264,1,2000,200,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_ALLHEAL','idle',687,1,10000,30000,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,'23');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_ALLHEAL','idle',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_ALLHEAL','walk',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_DARKBREATH','attack',202,1,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_DARKBREATH','chase',202,1,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_DARKNESSBREATH','attack',658,3,2000,800,5000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_DARKSTRIKE','chase',340,10,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_EVILLAND','attack',670,10,10000,1000,50000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,'24');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_EVILLAND','chase',670,10,10000,1000,50000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,'24');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_HELLJUDGEMENT','attack',662,3,10000,800,15000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'22');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_HELLJUDGEMENT','chase',662,3,10000,800,15000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'24');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_INVINCIBLE','attack',685,1,10000,1000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_INVINCIBLE','idle',685,1,10000,1000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_INVINCIBLE','chase',685,1,10000,1000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_PULSESTRIKE','attack',661,5,10000,2500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'21');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_PULSESTRIKE','chase',661,5,10000,2500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'20');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','2',1431,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','2',1431,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_TALK','chase',682,1,10000,0,6000000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_TALK','attack',682,1,10000,0,6000000,'yes','self','myhpltmaxrate','2',NULL,NULL,NULL,NULL,NULL,NULL,'25');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@NPC_TALK','chase',682,1,10000,0,6000000,'yes','self','myhpltmaxrate','2',NULL,NULL,NULL,NULL,NULL,NULL,'25');
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@WZ_VERMILION','attack',85,10,2000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@WZ_VERMILION','chase',85,10,2000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1929,'Unsealed Baphomet@WZ_VERMILION','chase',85,10,5000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@AS_SONICBLOW','attack',136,5,500,0,20000,'no','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'20');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@KN_BRANDISHSPEAR','attack',57,5,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@KN_BRANDISHSPEAR','chase',57,5,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@MO_BODYRELOCATION','chase',264,1,2000,200,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_ALLHEAL','idle',687,1,10000,30000,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,'23');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_ALLHEAL','idle',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_ALLHEAL','walk',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKBREATH','attack',202,1,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKBREATH','chase',202,1,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKNESSBREATH','attack',658,3,2000,800,5000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_DARKSTRIKE','chase',340,10,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_EVILLAND','attack',670,10,10000,1000,50000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,'24');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_EVILLAND','chase',670,10,10000,1000,50000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,'24');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_HELLJUDGEMENT','attack',662,3,10000,800,15000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'22');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_HELLJUDGEMENT','chase',662,3,10000,800,15000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'24');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_INVINCIBLE','attack',685,1,10000,1000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_INVINCIBLE','idle',685,1,10000,1000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_INVINCIBLE','chase',685,1,10000,1000,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_PULSESTRIKE','attack',661,5,10000,2500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'21');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_PULSESTRIKE','chase',661,5,10000,2500,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'20');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','2',1431,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','2',1431,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_TALK','chase',682,1,10000,0,6000000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'19');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_TALK','attack',682,1,10000,0,6000000,'yes','self','myhpltmaxrate','2',NULL,NULL,NULL,NULL,NULL,NULL,'25');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@NPC_TALK','chase',682,1,10000,0,6000000,'yes','self','myhpltmaxrate','2',NULL,NULL,NULL,NULL,NULL,NULL,'25');
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@WZ_VERMILION','attack',85,10,2000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@WZ_VERMILION','chase',85,10,2000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1929,'Great Demon Baphomet@WZ_VERMILION','chase',85,10,5000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1930,'Piamette@MG_FROSTDIVER','attack',15,10,3000,1000,20000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5090,8 +5115,8 @@ REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_CURSEATTACK','chase
REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1974,'Banshee Master@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5117,52 +5142,50 @@ REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@CR_REFLECTSHIELD','atta
REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@MC_MAMMONITE','attack',42,5,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@RG_STRIPARMOR','attack',217,3,500,0,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (1977,'Heavy Metaling@RG_STRIPWEAPON','attack',215,3,500,0,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Vesper@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Vesper@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Vesper@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Vesper@KN_BRANDISHSPEAR','attack',57,5,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Vesper@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Vesper@NPC_DARKTHUNDER','attack',341,4,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Vesper@NPC_SELFDESTRUCTION','attack',173,1,1000,2000,5000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zakudam@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zakudam@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zakudam@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zakudam@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zakudam@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1979,'Zakudam@NPC_RANDOMATTACK','attack',183,5,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Orc Elite Guard@CR_AUTOGUARD','chase',249,5,500,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Orc Elite Guard@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Orc Elite Guard@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Orc Elite Guard@NPC_PULSESTRIKE','attack',661,2,500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Orc Elite Guard@NPC_PULSESTRIKE','chase',661,2,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Orc Elite Guard@SM_BASH','attack',5,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Orc Elite Guard@SM_BASH','chase',5,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1981,'Orc Elite Guard@SM_MAGNUM','attack',7,7,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Bowman@AC_DOUBLE','attack',46,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Bowman@AC_SHOWER','attack',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Bowman@NPC_EMOTION','attack',197,1,100,0,60000,'yes','self','myhpltmaxrate','60',6,0xB695,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1983,'Orc Undead@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1983,'Orc Undead@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1983,'Orc Undead@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1984,'Orc Lady@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1984,'Orc Lady@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1984,'Orc Lady@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1985,'Dandelion Member@NPC_CHANGEUNDEAD2','attack',696,1,3000,500,600000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1985,'Dandelion Member@NPC_CHANGEUNDEAD2','chase',696,1,3000,500,600000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@KN_BRANDISHSPEAR','attack',57,5,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_DARKTHUNDER','attack',341,4,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1978,'Hell Apocalips@NPC_SELFDESTRUCTION','attack',173,1,1000,2000,5000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_PIERCINGATT','attack',158,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1979,'Zukadam@NPC_RANDOMATTACK','attack',183,5,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@CR_AUTOGUARD','chase',249,5,500,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_PULSESTRIKE','attack',661,2,500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@NPC_PULSESTRIKE','chase',661,2,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@SM_BASH','attack',5,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@SM_BASH','chase',5,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1981,'Safeguard Chief@SM_MAGNUM','attack',7,7,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Sniper@AC_DOUBLE','attack',46,1,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Sniper@AC_SHOWER','attack',47,5,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1982,'Orc Sniper@NPC_EMOTION','attack',197,1,100,0,60000,'yes','self','myhpltmaxrate','60',6,46741,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1983,'Depraved Orc Spirit@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1983,'Depraved Orc Spirit@NPC_CURSEATTACK','chase',181,1,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1983,'Depraved Orc Spirit@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1984,'Shaman Cargalache@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1984,'Shaman Cargalache@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1984,'Shaman Cargalache@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
REPLACE INTO `mob_skill_db` VALUES (1985,'Dandelion Member@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@HW_GANBANTEIN','attack',483,1,2000,0,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1986,'Tatacho@NPC_STUNATTACK','attack',179,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','around1','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@HW_GANBANTEIN','attack',483,1,3000,0,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1987,'Centipede@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
@@ -5193,14 +5216,14 @@ REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_CRITICALWOUND','c
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_DRAGONFEAR','attack',659,2,500,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EARTHQUAKE','attack',653,2,10000,2000,30000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EARTHQUAKE','chase',653,2,10000,2000,30000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EMOTION','attack',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','always',NULL,7,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EMOTION','attack',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','always',NULL,7,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_STONESKIN','attack',675,3,10000,0,30000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_STONESKIN','idle',675,3,10000,0,30000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_STONESKIN','chase',675,3,10000,0,30000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','attack',196,3,10000,0,30000,'yes','self','slavele','0',1997,1997,1997,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','idle',196,3,10000,0,30000,'yes','self','slavele','0',1997,1997,1997,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','chase',196,3,10000,0,30000,'yes','self','slavele','0',1997,1997,1997,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','attack',196,3,10000,0,30000,'yes','self','slavele',NULL,1997,1997,1997,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','idle',196,3,10000,0,30000,'yes','self','slavele',NULL,1997,1997,1997,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_SUMMONSLAVE','chase',196,3,10000,0,30000,'yes','self','slavele',NULL,1997,1997,1997,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_WIDESTUN','attack',678,1,500,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@NPC_WIDESTUN','chase',678,1,500,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1990,'Hardrock Mammoth@SM_PROVOKE','attack',6,10,500,600,120000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5219,14 +5242,14 @@ REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_CRITICALSLASH','chase'
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_CRITICALWOUND','attack',673,2,2000,700,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_CRITICALWOUND','chase',673,2,2000,500,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_DRAGONFEAR','attack',659,2,500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_EMOTION','attack',197,1,1000,0,10000,'yes','self','always',NULL,19,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','always',NULL,7,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_EMOTION','attack',197,1,1000,0,10000,'yes','self','always',NULL,19,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','always',NULL,7,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_GROUNDATTACK','attack',185,4,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_WIDEBLEEDING','attack',665,1,10000,500,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_WIDEBLEEDING','chase',665,1,10000,500,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_WIDESLEEP','attack',668,1,500,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@NPC_WIDESLEEP','chase',668,1,500,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@PF_SPIDERWEB','attack',405,1,3000,0,10000,'yes','target','always',NULL,NULL,0x3885,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@PF_SPIDERWEB','attack',405,1,3000,0,10000,'yes','target','always',NULL,NULL,14469,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@SM_PROVOKE','attack',6,10,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1991,'Tendrillion@SM_PROVOKE','chase',6,10,500,600,5000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5263,8 +5286,8 @@ REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_POISONATTACK','attac
REPLACE INTO `mob_skill_db` VALUES (1994,'Luciola Vespa@NPC_PULSESTRIKE','attack',661,2,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1995,'Pinguicula@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
@@ -5286,8 +5309,8 @@ REPLACE INTO `mob_skill_db` VALUES (2014,'Draco Egg@NPC_METAMORPHOSIS','idle',19
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_BLOODDRAIN','attack',199,1,5000,500,5000,'yes','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2015,'Dark Pinguicula@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
@@ -5347,64 +5370,64 @@ REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@MG_COLDBOLT','attack',14,3,3000
REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@NPC_WATERATTACK','attack',184,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@PR_LEXDIVINA','chase',76,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@WZ_WATERBALL','attack',86,3,2000,100,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@MG_FIREBALL','chase',17,5,10000,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_ALLHEAL','idle',687,1,10000,120000,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'20',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_ALLHEAL','idle',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_ALLHEAL','walk',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','myhpltmaxrate','95',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_DARKNESSBREATH','attack',658,10,10000,800,35000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_EARTHQUAKE','attack',653,2,10000,10000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'33');
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_EARTHQUAKE','chase',653,2,10000,10000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_EVILLAND','attack',670,4,500,0,25000,'yes','self','myhpltmaxrate','15',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_EVILLAND','idle',670,10,500,0,120000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_EVILLAND','chase',670,10,500,0,120000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_FIREBREATH','attack',654,5,10000,800,15000,'no','target','myhpltmaxrate','75',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_HELLJUDGEMENT','attack',662,2,10000,7000,25000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'32');
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_HELLJUDGEMENT','chase',662,2,10000,7000,25000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'32');
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_INVISIBLE','idle',353,1,2000,200,5000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_INVISIBLE','chase',353,1,2000,200,5000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_MAGICMIRROR','attack',671,3,10000,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_MAGICMIRROR','idle',671,3,10000,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_MAGICMIRROR','chase',671,3,10000,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_POWERUP','attack',349,5,6000,0,60000,'yes','self','myhpltmaxrate','15',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_PULSESTRIKE','attack',661,5,2000,10000,40000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'31');
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_SLOWCAST','attack',672,5,10000,0,60000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_STONESKIN','attack',675,3,10000,2500,300000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,'34');
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_STONESKIN','chase',675,3,10000,2500,300000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,'34');
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2027,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2027,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','onspawn','0',2027,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_WIDEBLEEDING','attack',665,5,10000,0,60000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_WIDEBLEEDING','chase',665,5,10000,0,60000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_WIDECURSE','attack',677,5,10000,1000,25000,'no','self','myhpltmaxrate','75',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_WIDECURSE','chase',677,5,10000,1000,25000,'no','self','myhpltmaxrate','75',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_WIDESLEEP','attack',668,5,10000,1000,20000,'no','self','myhpltmaxrate','95',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_WIDESLEEP','chase',668,5,10000,3000,20000,'no','self','myhpltmaxrate','95',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_WIDESTONE','attack',666,5,10000,0,60000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@NPC_WIDESTONE','chase',666,5,10000,0,60000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@WZ_METEOR','attack',83,10,2000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@WZ_QUAGMIRE','attack',92,5,10000,700,120000,'no','target','myhpltmaxrate','28',NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggur\'s Shadow@WZ_QUAGMIRE','chase',92,5,10000,700,5000,'no','target','myhpltmaxrate','28',NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@MG_FIREBALL','chase',17,5,10000,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_ALLHEAL','idle',687,1,10000,120000,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'20',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_ALLHEAL','idle',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_ALLHEAL','walk',687,1,3000,10000,10000,'no','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','myhpltmaxrate','95',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_CRITICALWOUND','attack',673,3,2000,0,30000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_DARKNESSBREATH','attack',658,10,10000,800,35000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_EARTHQUAKE','attack',653,2,10000,10000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'33');
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_EARTHQUAKE','chase',653,2,10000,10000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_EVILLAND','attack',670,4,500,0,25000,'yes','self','myhpltmaxrate','15',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_EVILLAND','idle',670,10,500,0,120000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_EVILLAND','chase',670,10,500,0,120000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_FIREBREATH','attack',654,5,10000,800,15000,'no','target','myhpltmaxrate','75',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_HELLJUDGEMENT','attack',662,2,10000,7000,25000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'32');
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_HELLJUDGEMENT','chase',662,2,10000,7000,25000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'32');
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_INVISIBLE','idle',353,1,2000,200,5000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_INVISIBLE','chase',353,1,2000,200,5000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_MAGICMIRROR','attack',671,3,10000,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_MAGICMIRROR','idle',671,3,10000,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_MAGICMIRROR','chase',671,3,10000,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_POWERUP','attack',349,5,6000,0,60000,'yes','self','myhpltmaxrate','15',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_PULSESTRIKE','attack',661,5,2000,10000,40000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'31');
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_SLOWCAST','attack',672,5,10000,0,60000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_STONESKIN','attack',675,3,10000,2500,300000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,'34');
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_STONESKIN','chase',675,3,10000,2500,300000,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,'34');
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2027,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2027,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','onspawn',NULL,2027,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDEBLEEDING','attack',665,5,10000,0,60000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDEBLEEDING','chase',665,5,10000,0,60000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDECURSE','attack',677,5,10000,1000,25000,'no','self','myhpltmaxrate','75',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDECURSE','chase',677,5,10000,1000,25000,'no','self','myhpltmaxrate','75',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDESLEEP','attack',668,5,10000,1000,20000,'no','self','myhpltmaxrate','95',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDESLEEP','chase',668,5,10000,3000,20000,'no','self','myhpltmaxrate','95',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDESTONE','attack',666,5,10000,0,60000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_WIDESTONE','chase',666,5,10000,0,60000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@WZ_METEOR','attack',83,10,2000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@WZ_QUAGMIRE','attack',92,5,10000,700,120000,'no','target','myhpltmaxrate','28',NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@WZ_QUAGMIRE','chase',92,5,10000,700,5000,'no','target','myhpltmaxrate','28',NULL,NULL,NULL,NULL,NULL,'12',NULL);
REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_DARKNESSBREATH','attack',658,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_DARKSTRIKE','chase',340,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2023,'Dark Shadow@NPC_FIREATTACK','attack',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0091,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2024,'Bradium Golem@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Member@NPC_BLINDATTACK','attack',177,2,1000,0,6000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'29');
-REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Member@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'27');
-REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Member@NPC_POISON','attack',176,3,1000,500,60000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'30');
-REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Member@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'28');
+REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Membe@NPC_BLINDATTACK','attack',177,2,1000,0,6000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'29');
+REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Membe@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'27');
+REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Membe@NPC_POISON','attack',176,3,1000,500,60000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'30');
+REPLACE INTO `mob_skill_db` VALUES (2026,'Runaway Dandelion Membe@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'28');
REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_DARKNESSBREATH','attack',658,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_DARKSTRIKE','chase',340,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2027,'Dark Shadow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5422,8 +5445,8 @@ REPLACE INTO `mob_skill_db` VALUES (2047,'Naga@SM_PROVOKE','chase',6,3,500,600,5
REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_BLOODDRAIN','attack',199,1,5000,500,5000,'yes','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
@@ -5431,8 +5454,8 @@ REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_STOP','attack',342
REPLACE INTO `mob_skill_db` VALUES (2048,'Dark Pinguicula@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2049,'Bradium Golem@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2049,'Bradium Golem@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2049,'Bradium Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0091,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2049,'Bradium Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2049,'Bradium Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2049,'Bradium Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2049,'Bradium Golem@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2049,'Bradium Golem@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2050,'Aqua Elemental@MG_COLDBOLT','attack',14,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5442,10 +5465,10 @@ REPLACE INTO `mob_skill_db` VALUES (2050,'Aqua Elemental@NPC_SLOWCAST','attack',
REPLACE INTO `mob_skill_db` VALUES (2050,'Aqua Elemental@WZ_FROSTNOVA','attack',88,10,10000,1500,20000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2050,'Aqua Elemental@WZ_WATERBALL','attack',86,4,2000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2053,'Dimik@NPC_ATTRICHANGE','idle',161,1,500,2000,50000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'10',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2053,'Dimik@NPC_EMOTION','idle',197,1,100,0,60000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2053,'Dimik@NPC_EMOTION','idle',197,1,100,0,60000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2053,'Dimik@NPC_EMOTION','attack',197,1,10000,0,60000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2053,'Dimik@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,20,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2053,'Dimik@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,22,0x0083,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2053,'Dimik@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,20,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2053,'Dimik@NPC_EMOTION_ON','idle',474,1,100,0,60000,'yes','self','always',NULL,22,131,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2068,'Boitata@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5495,10 +5518,10 @@ REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@AL_TELEPORT','idle',26,1,10000,
REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@AS_SONICBLOW','attack',136,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2072,'Jaguar@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2073,'Toucan@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
@@ -5522,20 +5545,20 @@ REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_CRITICALSLASH','attack',17
REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_CRITICALWOUND','attack',673,1,50,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@NPC_WATERATTACK','attack',184,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2082,'Piranha@WZ_WATERBALL','attack',86,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2083,'Uni Horn Scaraba@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2083,'Uni Horn Scaraba@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2083,'Uni Horn Scaraba@NPC_BLEEDING','attack',660,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2083,'Uni Horn Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2083,'Uni Horn Scaraba@NPC_COMBOATTACK','chase',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2083,'Uni Horn Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2083,'Uni Horn Scaraba@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2083,'Uni Horn Scaraba@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2084,'Horn Scaraba@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2084,'Horn Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2084,'Horn Scaraba@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2084,'Horn Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2084,'Horn Scaraba@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2084,'Horn Scaraba@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2083,'Scaraba@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2083,'Scaraba@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2083,'Scaraba@NPC_BLEEDING','attack',660,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2083,'Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2083,'Scaraba@NPC_COMBOATTACK','chase',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2083,'Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2083,'Scaraba@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2083,'Scaraba@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2084,'Scaraba@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2084,'Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2084,'Scaraba@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2084,'Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2084,'Scaraba@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2084,'Scaraba@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2085,'Antler Scaraba@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2085,'Antler Scaraba@BS_ADRENALINE','attack',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2085,'Antler Scaraba@BS_ADRENALINE','chase',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -5550,8 +5573,8 @@ REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@AL_TELEPORT','idle',26,1,
REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@NPC_CRITICALWOUND','attack',673,1,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@NPC_STONESKIN','attack',675,3,10000,1000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2086,'Rake Scaraba@NPC_STONESKIN','chase',675,3,10000,1000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -5581,8 +5604,8 @@ REPLACE INTO `mob_skill_db` VALUES (2087,'Queen Scaraba@NPC_WIDESILENCE','chase'
REPLACE INTO `mob_skill_db` VALUES (2087,'Queen Scaraba@WZ_HEAVENDRIVE','attack',91,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2087,'Queen Scaraba@WZ_HEAVENDRIVE','chase',91,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2087,'Queen Scaraba@WZ_HEAVENDRIVE','chase',91,5,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2088,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2083,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2089,'Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2084,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2088,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2083,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2089,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2084,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2090,'Antler Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2085,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2091,'Rake Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2086,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2092,'Dolomedes@AS_VENOMDUST','angry',140,1,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5625,7 +5648,7 @@ REPLACE INTO `mob_skill_db` VALUES (2095,'Eddga@NPC_CALLSLAVE','idle',352,1,1000
REPLACE INTO `mob_skill_db` VALUES (2095,'Eddga@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2095,'Eddga@NPC_SUMMONSLAVE','attack',196,8,10000,700,10000,'yes','self','slavele','3',1603,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2095,'Eddga@NPC_SUMMONSLAVE','idle',196,8,10000,700,10000,'yes','self','slavele','3',1603,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2095,'Eddga@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn','0',1060,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2095,'Eddga@NPC_SUMMONSLAVE','idle',196,5,10000,0,0,'no','self','onspawn',NULL,1060,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2095,'Eddga@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2095,'Eddga@SM_MAGNUM','attack',7,10,3000,0,2000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2096,'Osiris@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5648,7 +5671,7 @@ REPLACE INTO `mob_skill_db` VALUES (2096,'Osiris@NPC_POISONATTACK','attack',188,
REPLACE INTO `mob_skill_db` VALUES (2096,'Osiris@NPC_POWERUP','attack',349,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2096,'Osiris@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'yes','self','slavele','3',1522,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2096,'Osiris@NPC_SUMMONSLAVE','idle',196,7,10000,700,10000,'yes','self','slavele','3',1522,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2096,'Osiris@NPC_SUMMONSLAVE','idle',196,7,10000,0,0,'no','self','onspawn','0',1029,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2096,'Osiris@NPC_SUMMONSLAVE','idle',196,7,10000,0,0,'no','self','onspawn',NULL,1029,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2096,'Osiris@SM_BASH','attack',5,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2096,'Osiris@WZ_QUAGMIRE','chase',92,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2097,'Dracula@AL_DECAGI','chase',30,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5716,7 +5739,7 @@ REPLACE INTO `mob_skill_db` VALUES (2099,'Mistress@NPC_SILENCEATTACK','chase',17
REPLACE INTO `mob_skill_db` VALUES (2099,'Mistress@NPC_STOP','attack',342,1,2000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2099,'Mistress@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'yes','self','slavele','3',1604,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2099,'Mistress@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'yes','self','slavele','3',1604,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2099,'Mistress@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn','0',1156,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2099,'Mistress@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,1156,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2099,'Mistress@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2099,'Mistress@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2099,'Mistress@WZ_JUPITEL','attack',84,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5739,26 +5762,26 @@ REPLACE INTO `mob_skill_db` VALUES (2100,'Baphomet@NPC_HELLJUDGEMENT','chase',66
REPLACE INTO `mob_skill_db` VALUES (2100,'Baphomet@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2100,'Baphomet@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'yes','self','slavele','3',1431,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2100,'Baphomet@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'yes','self','slavele','3',1431,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2100,'Baphomet@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn','0',1101,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2100,'Baphomet@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,1101,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2100,'Baphomet@WZ_VERMILION','attack',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2100,'Baphomet@WZ_VERMILION','chase',85,10,2000,500,2000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2100,'Baphomet@WZ_VERMILION','chase',85,10,5000,500,2000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@AL_DECAGI','chase',30,10,2000,0,60000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@KN_BRANDISHSPEAR','attack',57,10,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_CHANGEUNDEAD','attack',348,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_DARKSTRIKE','chase',340,10,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_GRANDDARKNESS','attack',339,10,1000,700,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_STUNATTACK','attack',179,5,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'yes','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of the Dead@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'yes','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@AL_DECAGI','chase',30,10,2000,0,60000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@KN_BRANDISHSPEAR','attack',57,10,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_CHANGEUNDEAD','attack',348,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_DARKSTRIKE','chase',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_DARKSTRIKE','chase',340,10,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_GRANDDARKNESS','attack',339,10,1000,700,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_HELLJUDGEMENT','chase',662,10,10000,1000,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_STUNATTACK','attack',179,5,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'yes','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2101,'Lord of Death@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'yes','self','slavele','3',1490,1490,1509,1508,1179,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2102,'Dark Lord@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2102,'Dark Lord@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2102,'Dark Lord@MG_FIREWALL','chase',18,10,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5800,23 +5823,23 @@ REPLACE INTO `mob_skill_db` VALUES (2103,'Ktullanux@WZ_STORMGUST','attack',89,10
REPLACE INTO `mob_skill_db` VALUES (2103,'Ktullanux@WZ_STORMGUST','chase',89,10,5000,1000,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2103,'Ktullanux@WZ_WATERBALL','attack',86,10,5000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2103,'Ktullanux@WZ_WATERBALL','chase',86,10,5000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@MG_FROSTDIVER','attack',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@MG_FROSTDIVER','chase',15,10,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@MG_FROSTDIVER','chase',15,10,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_DARKBREATH','attack',202,5,2000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_SHIELDBRAKE','attack',346,10,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_STOP','attack',342,1,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'yes','self','slavele','2',1531,1531,1564,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'yes','self','slavele','2',1531,1531,1564,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2104,'Evil Snake Lord@SM_MAGNUM','attack',7,10,2000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@MG_FROSTDIVER','attack',15,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@MG_FROSTDIVER','chase',15,10,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@MG_FROSTDIVER','chase',15,10,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_DARKBREATH','attack',202,5,2000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_SHIELDBRAKE','attack',346,10,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_STOP','attack',342,1,10000,0,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'yes','self','slavele','2',1531,1531,1564,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'yes','self','slavele','2',1531,1531,1564,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2104,'Dark Snake Lord@SM_MAGNUM','attack',7,10,2000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2105,'Turtle General@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2105,'Turtle General@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2105,'Turtle General@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
@@ -5841,7 +5864,7 @@ REPLACE INTO `mob_skill_db` VALUES (2106,'Vesper@NPC_CRITICALSLASH','attack',170
REPLACE INTO `mob_skill_db` VALUES (2106,'Vesper@NPC_EMOTION','idle',197,1,1000,0,0,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2106,'Vesper@NPC_POWERUP','attack',349,5,5000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2106,'Vesper@NPC_SUMMONSLAVE','attack',196,3,10000,2000,5000,'yes','self','slavele','15',1669,1675,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2106,'Vesper@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn','0',1365,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2106,'Vesper@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn',NULL,1365,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2106,'Vesper@WZ_METEOR','attack',83,10,500,10000,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2107,'Fallen Bishop@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2107,'Fallen Bishop@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
@@ -5919,7 +5942,7 @@ REPLACE INTO `mob_skill_db` VALUES (2109,'Valkyrie Randgris@NPC_PULSESTRIKE','at
REPLACE INTO `mob_skill_db` VALUES (2109,'Valkyrie Randgris@NPC_SUMMONSLAVE','attack',196,3,10000,2000,5000,'yes','self','slavele','1',1891,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2109,'Valkyrie Randgris@NPC_SUMMONSLAVE','idle',196,3,10000,2000,5000,'yes','self','slavele','1',1891,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2109,'Valkyrie Randgris@NPC_SUMMONSLAVE','chase',196,3,10000,2000,5000,'yes','self','slavele','1',1891,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2109,'Valkyrie Randgris@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn','0',1765,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2109,'Valkyrie Randgris@NPC_SUMMONSLAVE','idle',196,3,10000,0,0,'no','self','onspawn',NULL,1765,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2109,'Valkyrie Randgris@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2109,'Valkyrie Randgris@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2109,'Valkyrie Randgris@WZ_VERMILION','attack',85,10,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -5947,31 +5970,31 @@ REPLACE INTO `mob_skill_db` VALUES (2110,'Ifrit@SA_LANDPROTECTOR','attack',288,3
REPLACE INTO `mob_skill_db` VALUES (2110,'Ifrit@ST_FULLSTRIP','attack',476,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2110,'Ifrit@WZ_METEOR','idle',83,9,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2110,'Ifrit@WZ_METEOR','attack',83,10,2000,500,5000,'yes','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@BS_HAMMERFALL','attack',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@MC_MAMMONITE','attack',42,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@MC_MAMMONITE','attack',42,10,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_CHANGEGROUND','attack',163,1,10000,500,6000000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1643,1644,1645,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'yes','self','slavele','3',1640,1641,1643,1644,1645,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'yes','self','slavele','3',1640,1641,1643,1644,1645,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2111,'MasterSmith Howard@ST_FULLSTRIP','attack',476,5,1500,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@BS_ADRENALINE','attack',111,10,2000,0,150000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@BS_HAMMERFALL','attack',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@BS_HAMMERFALL','chase',110,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@BS_MAXIMIZE','attack',114,1,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@MC_MAMMONITE','attack',42,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@MC_MAMMONITE','attack',42,10,2000,0,0,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'23',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_ARMORBRAKE','attack',344,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_CHANGEGROUND','attack',163,1,10000,500,6000000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_HELMBRAKE','attack',345,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_SHIELDBRAKE','attack',346,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_SPLASHATTACK','attack',174,1,1000,0,0,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',1640,1641,1643,1644,1645,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'yes','self','slavele','3',1640,1641,1643,1644,1645,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'yes','self','slavele','3',1640,1641,1643,1644,1645,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@NPC_WATERATTACK','attack',184,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2111,'Whitesmith Harword@ST_FULLSTRIP','attack',476,5,1500,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2112,'Lord Knight Seyren@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2112,'Lord Knight Seyren@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2112,'Lord Knight Seyren@KN_SPEARBOOMERANG','idle',59,5,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -6078,7 +6101,7 @@ REPLACE INTO `mob_skill_db` VALUES (2133,'Angra Mantis@CR_AUTOGUARD','attack',24
REPLACE INTO `mob_skill_db` VALUES (2133,'Angra Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2133,'Angra Mantis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2133,'Angra Mantis@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2133,'Angra Mantis@NPC_SUMMONSLAVE','idle',196,1,10000,2000,60000,'no','self','slavele','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2133,'Angra Mantis@NPC_SUMMONSLAVE','idle',196,1,10000,2000,60000,'no','self','slavele',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2134,'Parus@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2134,'Parus@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2134,'Parus@NPC_GROUNDATTACK','attack',185,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6115,21 +6138,21 @@ REPLACE INTO `mob_skill_db` VALUES (2137,'Miming@NPC_STUNATTACK','attack',179,2,
REPLACE INTO `mob_skill_db` VALUES (2137,'Miming@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2137,'Miming@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2137,'Miming@WZ_WATERBALL','attack',86,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2138,'Nydhoggur Memory@NPC_SUMMONSLAVE','idle',196,1,10000,0,0,'no','self','onspawn','0',2139,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2138,'Nydhoggur Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'35');
-REPLACE INTO `mob_skill_db` VALUES (2138,'Nydhoggur Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'35');
-REPLACE INTO `mob_skill_db` VALUES (2139,'Nydhoggur Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'36');
-REPLACE INTO `mob_skill_db` VALUES (2139,'Nydhoggur Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'36');
-REPLACE INTO `mob_skill_db` VALUES (2140,'Nydhoggur Memory@NPC_SUMMONSLAVE','idle',196,1,10000,0,0,'no','self','onspawn','0',2141,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2140,'Nydhoggur Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'37');
-REPLACE INTO `mob_skill_db` VALUES (2140,'Nydhoggur Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'37');
-REPLACE INTO `mob_skill_db` VALUES (2141,'Nydhoggur Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'40');
-REPLACE INTO `mob_skill_db` VALUES (2141,'Nydhoggur Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'38');
-REPLACE INTO `mob_skill_db` VALUES (2141,'Nydhoggur Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'38');
-REPLACE INTO `mob_skill_db` VALUES (2142,'Nydhoggur Memory@NPC_SUMMONSLAVE','idle',196,1,10000,0,0,'no','self','onspawn','0',2143,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2142,'Nydhoggur Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'39');
-REPLACE INTO `mob_skill_db` VALUES (2142,'Nydhoggur Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'39');
-REPLACE INTO `mob_skill_db` VALUES (2143,'Nydhoggur Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'40');
+REPLACE INTO `mob_skill_db` VALUES (2138,'Nydhogg\'s Memory@NPC_SUMMONSLAVE','idle',196,1,10000,0,0,'no','self','onspawn',NULL,2139,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2138,'Nydhogg\'s Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'35');
+REPLACE INTO `mob_skill_db` VALUES (2138,'Nydhogg\'s Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'35');
+REPLACE INTO `mob_skill_db` VALUES (2139,'Nydhogg\'s Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'36');
+REPLACE INTO `mob_skill_db` VALUES (2139,'Nydhogg\'s Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'36');
+REPLACE INTO `mob_skill_db` VALUES (2140,'Nydhogg\'s Memory@NPC_SUMMONSLAVE','idle',196,1,10000,0,0,'no','self','onspawn',NULL,2141,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2140,'Nydhogg\'s Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'37');
+REPLACE INTO `mob_skill_db` VALUES (2140,'Nydhogg\'s Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'37');
+REPLACE INTO `mob_skill_db` VALUES (2141,'Nydhogg\'s Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'40');
+REPLACE INTO `mob_skill_db` VALUES (2141,'Nydhogg\'s Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'38');
+REPLACE INTO `mob_skill_db` VALUES (2141,'Nydhogg\'s Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'38');
+REPLACE INTO `mob_skill_db` VALUES (2142,'Nydhogg\'s Memory@NPC_SUMMONSLAVE','idle',196,1,10000,0,0,'no','self','onspawn',NULL,2143,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2142,'Nydhogg\'s Memory@NPC_TALK','attack',682,10,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'39');
+REPLACE INTO `mob_skill_db` VALUES (2142,'Nydhogg\'s Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'39');
+REPLACE INTO `mob_skill_db` VALUES (2143,'Nydhogg\'s Memory@NPC_TALK','idle',682,10,2500,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'40');
REPLACE INTO `mob_skill_db` VALUES (2144,'Antler Scaraba@BS_ADRENALINE','attack',111,10,500,1500,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2144,'Antler Scaraba@BS_ADRENALINE','chase',111,10,500,1500,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2144,'Antler Scaraba@NPC_BLEEDING','attack',660,3,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
@@ -6144,25 +6167,25 @@ REPLACE INTO `mob_skill_db` VALUES (2145,'Rake Scaraba@NPC_CRITICALWOUND','attac
REPLACE INTO `mob_skill_db` VALUES (2145,'Rake Scaraba@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2145,'Rake Scaraba@NPC_STONESKIN','attack',675,3,10000,1000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2145,'Rake Scaraba@NPC_STONESKIN','chase',675,3,10000,1000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@MG_FIREBALL','chase',17,5,3000,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_CRITICALWOUND','attack',673,1,2000,0,30000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_DARKNESSBREATH','attack',658,1,500,800,35000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_DRAGONFEAR','attack',659,2,2000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_DRAGONFEAR','chase',659,2,1000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_EVILLAND','chase',670,2,500,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_FIREBREATH','attack',654,1,1000,800,15000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_HELLJUDGEMENT','attack',662,1,500,7000,25000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_HELLJUDGEMENT','chase',662,2,10000,7000,25000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_PULSESTRIKE','attack',661,1,500,10000,40000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_SLOWCAST','attack',672,1,200,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_WIDESLEEP','attack',668,1,200,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_WIDESLEEP','chase',668,1,200,3000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_WIDESTONE','attack',666,5,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@NPC_WIDESTONE','chase',666,2,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@SA_DISPELL','attack',289,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@WZ_QUAGMIRE','attack',92,2,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2146,'Shade of Dragon@WZ_QUAGMIRE','chase',92,2,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@MG_FIREBALL','chase',17,5,3000,0,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_CRITICALWOUND','attack',673,1,2000,0,30000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_DARKNESSBREATH','attack',658,1,500,800,35000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_DRAGONFEAR','attack',659,2,2000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_DRAGONFEAR','chase',659,2,1000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_EVILLAND','chase',670,2,500,0,120000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_FIREBREATH','attack',654,1,1000,800,15000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_HELLJUDGEMENT','attack',662,1,500,7000,25000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_HELLJUDGEMENT','chase',662,2,10000,7000,25000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_PULSESTRIKE','attack',661,1,500,10000,40000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_SLOWCAST','attack',672,1,200,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_WIDESLEEP','attack',668,1,200,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_WIDESLEEP','chase',668,1,200,3000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_WIDESTONE','attack',666,5,10000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@NPC_WIDESTONE','chase',666,2,1000,0,60000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@SA_DISPELL','attack',289,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@WZ_QUAGMIRE','attack',92,2,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2146,'G_S_NYDHOG@WZ_QUAGMIRE','chase',92,2,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
REPLACE INTO `mob_skill_db` VALUES (2151,'Rafflesia Arnoldi@AL_HEAL','attack',28,8,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2151,'Rafflesia Arnoldi@AL_HEAL','attack',28,8,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2151,'Rafflesia Arnoldi@MG_SOULSTRIKE','attack',13,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
@@ -6189,7 +6212,7 @@ REPLACE INTO `mob_skill_db` VALUES (2153,'Cendrawasih@NPC_HELLJUDGEMENT','attack
REPLACE INTO `mob_skill_db` VALUES (2153,'Cendrawasih@NPC_HELLJUDGEMENT','chase',662,5,10000,700,15000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2153,'Cendrawasih@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2153,'Cendrawasih@NPC_SHIELDBRAKE','attack',346,10,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2153,'Cendrawasih@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2153,'Cendrawasih@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2153,'Cendrawasih@SA_LANDPROTECTOR','attack',288,1,10000,500,10000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2154,'Banaspaty@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2154,'Banaspaty@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6197,8 +6220,8 @@ REPLACE INTO `mob_skill_db` VALUES (2154,'Banaspaty@NPC_HALLUCINATION','attack',
REPLACE INTO `mob_skill_db` VALUES (2154,'Banaspaty@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2154,'Banaspaty@RG_STRIPWEAPON','attack',215,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2154,'Banaspaty@WZ_SIGHTRASHER','attack',81,7,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2155,'Butoijo@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2155,'Butoijo@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2155,'Butoijo@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2155,'Butoijo@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2155,'Butoijo@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2155,'Butoijo@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2155,'Butoijo@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
@@ -6234,12 +6257,12 @@ REPLACE INTO `mob_skill_db` VALUES (2156,'Leak@NPC_WIDESILENCE','attack',663,5,1
REPLACE INTO `mob_skill_db` VALUES (2156,'Leak@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2156,'Leak@NPC_WIDESLEEP','attack',668,5,2000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2156,'Leak@SA_LANDPROTECTOR','attack',288,1,10000,500,10000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2157,'Banaspaty@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2157,'Banaspaty@NPC_FIREATTACK','attack',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2157,'Banaspaty@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2157,'Banaspaty@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2157,'Banaspaty@RG_STRIPWEAPON','attack',215,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2157,'Banaspaty@WZ_SIGHTRASHER','attack',81,7,1000,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2157,'Butoijo@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2157,'Butoijo@NPC_FIREATTACK','attack',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2157,'Butoijo@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2157,'Butoijo@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2157,'Butoijo@RG_STRIPWEAPON','attack',215,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2157,'Butoijo@WZ_SIGHTRASHER','attack',81,7,1000,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2158,'Hornet@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2158,'Hornet@NPC_POISONATTACK','attack',188,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2158,'Hornet@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6254,83 +6277,83 @@ REPLACE INTO `mob_skill_db` VALUES (2160,'Luciola Vespa@NPC_COMBOATTACK','attack
REPLACE INTO `mob_skill_db` VALUES (2160,'Luciola Vespa@NPC_PIERCINGATT','attack',158,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2160,'Luciola Vespa@NPC_POISONATTACK','attack',188,3,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2160,'Luciola Vespa@NPC_PULSESTRIKE','attack',661,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@MG_STONECURSE','attack',16,5,200,500,15000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_DEFENDER','attack',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,0x3295,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_HELMBRAKE','attack',345,10,10000,0,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_STONESKIN','chase',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_STONESKIN','attack',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_STONESKIN','idle',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_STONESKIN','walk',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_STONESKIN','chase',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_WIDECONFUSE','attack',667,5,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@NPC_WIDECONFUSE','idle',667,5,10000,0,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@SA_DISPELL','attack',289,5,3000,0,15000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@WZ_EARTHSPIKE','attack',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@WZ_EARTHSPIKE','chase',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2161,'Uni Horn Scaraba@WZ_HEAVENDRIVE','attack',91,5,2000,1000,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@MG_STONECURSE','attack',16,5,200,500,15000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@MG_THUNDERSTORM','chase',21,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@MG_THUNDERSTORM','chase',21,4,4000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_DEFENDER','attack',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,0x3295,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_STONESKIN','chase',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_STONESKIN','attack',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_STONESKIN','idle',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_STONESKIN','walk',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_STONESKIN','chase',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_WIDECONFUSE','attack',667,5,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@NPC_WIDECONFUSE','idle',667,5,10000,0,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@RG_STRIPSHIELD','attack',216,5,10000,0,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@SA_DISPELL','attack',289,5,3000,0,15000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@SM_BASH','attack',5,5,500,0,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@WZ_EARTHSPIKE','attack',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@WZ_EARTHSPIKE','chase',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2162,'Horn Scaraba@WZ_HEAVENDRIVE','attack',91,5,2000,1000,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@MG_STONECURSE','attack',16,5,200,500,15000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_DEFENDER','attack',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,12949,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_HELMBRAKE','attack',345,10,10000,0,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_STONESKIN','chase',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_STONESKIN','attack',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_STONESKIN','idle',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_STONESKIN','walk',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_STONESKIN','chase',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_WIDECONFUSE','attack',667,5,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@NPC_WIDECONFUSE','idle',667,5,10000,0,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@SA_DISPELL','attack',289,5,3000,0,15000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@WZ_EARTHSPIKE','attack',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@WZ_EARTHSPIKE','chase',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2161,'Scaraba@WZ_HEAVENDRIVE','attack',91,5,2000,1000,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','430',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','walk',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@AL_TELEPORT','chase',26,1,10000,0,5000,'no','self','skillused','428',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@MG_STONECURSE','attack',16,5,200,500,15000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@MG_THUNDERSTORM','chase',21,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@MG_THUNDERSTORM','chase',21,4,4000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_DEFENDER','attack',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,12949,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_STONESKIN','chase',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_STONESKIN','attack',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_STONESKIN','idle',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_STONESKIN','walk',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_STONESKIN','chase',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_WIDECONFUSE','attack',667,5,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@NPC_WIDECONFUSE','idle',667,5,10000,0,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@RG_STRIPSHIELD','attack',216,5,10000,0,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@SA_DISPELL','attack',289,5,3000,0,15000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@SM_BASH','attack',5,5,500,0,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@WZ_EARTHSPIKE','attack',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@WZ_EARTHSPIKE','chase',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2162,'Scaraba@WZ_HEAVENDRIVE','attack',91,5,2000,1000,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@AL_TELEPORT','attack',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@AL_TELEPORT','idle',26,1,10000,0,5000,'no','self','skillused','429',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6351,8 +6374,8 @@ REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_DEFENDER','attack',
REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,0x3295,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,12949,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2163,'Antler Scaraba@NPC_STONESKIN','chase',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -6389,8 +6412,8 @@ REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_DEFENDER','attack',20
REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,0x3295,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,12949,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_PULSESTRIKE','attack',661,2,2000,0,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2164,'Rake Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -6435,36 +6458,36 @@ REPLACE INTO `mob_skill_db` VALUES (2165,'Queen Scaraba@ST_FULLSTRIP','attack',4
REPLACE INTO `mob_skill_db` VALUES (2165,'Queen Scaraba@WZ_HEAVENDRIVE','attack',91,5,10000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2165,'Queen Scaraba@WZ_HEAVENDRIVE','chase',91,5,10000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2165,'Queen Scaraba@WZ_HEAVENDRIVE','chase',91,5,10000,0,5000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,2000,2000,5000,'no','self','myhpltmaxrate','99',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','429',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','429',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','429',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','429',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','430',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','430',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','430',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','430',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','428',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','428',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','428',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2166,'Uni Horn Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','428',2161,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,2000,2000,5000,'no','self','myhpltmaxrate','99',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','429',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','429',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','429',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','429',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','430',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','430',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','430',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','430',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','428',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','428',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','428',2162,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2167,'Horn Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','428',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,2000,2000,5000,'no','self','myhpltmaxrate','99',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','429',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','429',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','429',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','429',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','430',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','430',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','430',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','430',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','428',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','428',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','428',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2166,'Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','428',2161,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,2000,2000,5000,'no','self','myhpltmaxrate','99',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','429',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','429',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','429',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','429',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','430',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','430',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','430',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','430',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,10000,400,5000,'no','self','skillused','428',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,10000,400,5000,'no','self','skillused','428',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','walk',193,1,10000,400,5000,'no','self','skillused','428',2162,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2167,'Scaraba Egg@NPC_METAMORPHOSIS','chase',193,1,10000,400,5000,'no','self','skillused','428',2162,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2168,'Antler Scaraba Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2168,'Antler Scaraba Egg@NPC_METAMORPHOSIS','attack',193,1,2000,2000,5000,'no','self','myhpltmaxrate','99',2163,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2168,'Antler Scaraba Egg@NPC_METAMORPHOSIS','idle',193,1,100,2000,5000,'no','self','myhpltmaxrate','99',2163,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6518,8 +6541,8 @@ REPLACE INTO `mob_skill_db` VALUES (2170,'Antler Scaraba@WZ_HEAVENDRIVE','attack
REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@BS_HAMMERFALL','attack',110,5,5000,500,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@MC_MAMMONITE','attack',42,10,500,0,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'8',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,0x3295,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,12949,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@NPC_PULSESTRIKE','attack',661,2,2000,0,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -6536,60 +6559,60 @@ REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@SA_DISPELL','attack',289,
REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@WZ_EARTHSPIKE','attack',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@WZ_EARTHSPIKE','chase',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2171,'Rake Scaraba@WZ_HEAVENDRIVE','attack',91,5,5000,1000,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@MG_STONECURSE','attack',16,5,200,500,15000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_DEFENDER','attack',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_HELMBRAKE','attack',345,10,10000,0,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_STONESKIN','chase',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_STONESKIN','attack',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_STONESKIN','idle',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_STONESKIN','walk',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_STONESKIN','chase',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_WIDECONFUSE','attack',667,5,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_WIDECONFUSE','idle',667,5,10000,0,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@NPC_WIDEFREEZE','attack',664,5,100,0,15000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@WZ_EARTHSPIKE','attack',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@WZ_EARTHSPIKE','chase',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2172,'Rake Scaraba@WZ_HEAVENDRIVE','attack',91,5,5000,1000,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@MG_STONECURSE','attack',16,5,200,500,15000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@MG_THUNDERSTORM','chase',21,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@MG_THUNDERSTORM','chase',21,4,4000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_DEFENDER','attack',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_STONESKIN','chase',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_STONESKIN','attack',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_STONESKIN','idle',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_STONESKIN','walk',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_STONESKIN','chase',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_WIDECONFUSE','attack',667,5,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_WIDECONFUSE','idle',667,5,10000,0,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@NPC_WIDEFREEZE','attack',664,5,100,0,15000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@RG_STRIPSHIELD','attack',216,5,10000,0,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@SA_DISPELL','attack',289,5,3000,0,15000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@SM_BASH','attack',5,5,500,0,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@WZ_EARTHSPIKE','attack',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@WZ_EARTHSPIKE','chase',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2173,'Horn Scaraba@WZ_HEAVENDRIVE','attack',91,5,5000,1000,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacea@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacea@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacea@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacea@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacea@ST_FULLSTRIP','attack',476,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@KN_TWOHANDQUICKEN','attack',60,10,10000,0,300000,'no','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@MG_STONECURSE','attack',16,5,200,500,15000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_DEFENDER','attack',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_HELMBRAKE','attack',345,10,10000,0,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_STONESKIN','chase',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_STONESKIN','attack',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_STONESKIN','idle',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_STONESKIN','walk',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_STONESKIN','chase',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_WIDECONFUSE','attack',667,5,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_WIDECONFUSE','idle',667,5,10000,0,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@NPC_WIDEFREEZE','attack',664,5,100,0,15000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@WZ_EARTHSPIKE','attack',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@WZ_EARTHSPIKE','chase',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2172,'Scaraba@WZ_HEAVENDRIVE','attack',91,5,5000,1000,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@MG_STONECURSE','attack',16,5,200,500,15000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@MG_THUNDERSTORM','chase',21,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@MG_THUNDERSTORM','chase',21,4,4000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_DEFENDER','attack',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_DEFENDER','idle',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_DEFENDER','walk',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_DEFENDER','chase',205,10,10000,0,5000,'no','self','skillused','2008',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_STONESKIN','attack',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_STONESKIN','idle',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_STONESKIN','chase',675,4,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_STONESKIN','attack',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_STONESKIN','idle',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_STONESKIN','walk',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_STONESKIN','chase',675,4,10000,0,1000,'no','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_WIDECONFUSE','attack',667,5,1000,0,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_WIDECONFUSE','idle',667,5,10000,0,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@NPC_WIDEFREEZE','attack',664,5,100,0,15000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@RG_STRIPSHIELD','attack',216,5,10000,0,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@SA_DISPELL','attack',289,5,3000,0,15000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@SM_BASH','attack',5,5,500,0,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@WZ_EARTHSPIKE','attack',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@WZ_EARTHSPIKE','chase',90,5,6000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2173,'Scaraba@WZ_HEAVENDRIVE','attack',91,5,5000,1000,5000,'no','target','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacean@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacean@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacean@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacean@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2174,'Ancient Crustacean@ST_FULLSTRIP','attack',476,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2175,'Deepsea Marse@AL_HEAL','attack',28,5,10000,500,5000,'yes','friend','friendhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (2175,'Deepsea Marse@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2175,'Deepsea Marse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0091,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2175,'Deepsea Marse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2175,'Deepsea Marse@NPC_STOP','attack',342,1,200,0,600000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2175,'Deepsea Marse@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2175,'Deepsea Marse@WZ_WATERBALL','attack',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6602,7 +6625,7 @@ REPLACE INTO `mob_skill_db` VALUES (2178,'Deepsea Shellfish@MG_LIGHTNINGBOLT','c
REPLACE INTO `mob_skill_db` VALUES (2178,'Deepsea Shellfish@NPC_STUNATTACK','attack',179,3,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2178,'Deepsea Shellfish@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2178,'Deepsea Shellfish@WZ_WATERBALL','attack',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2179,'Ancient Kukre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2179,'Ancient Kukre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2179,'Ancient Kukre@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2179,'Ancient Kukre@ST_FULLSTRIP','attack',476,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2179,'Ancient Kukre@WZ_WATERBALL','attack',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6633,9 +6656,9 @@ REPLACE INTO `mob_skill_db` VALUES (2181,'Ancient Sword Fish@WZ_WATERBALL','foll
REPLACE INTO `mob_skill_db` VALUES (2181,'Ancient Sword Fish@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_BLEEDING','attack',660,3,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_CRITICALWOUND','attack',673,5,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_EVILLAND','attack',670,10,10000,0,15000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_STUNATTACK','angry',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -6644,13 +6667,13 @@ REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@NPC_WATERATTACK','att
REPLACE INTO `mob_skill_db` VALUES (2182,'Ancient Seahorse@WZ_WATERBALL','attack',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2183,'Mutant Anolian@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2183,'Mutant Anolian@NPC_CRITICALWOUND','attack',673,2,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2183,'Mutant Anolian@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2183,'Mutant Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2183,'Mutant Anolian@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2183,'Mutant Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2183,'Mutant Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2183,'Mutant Anolian@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2183,'Mutant Anolian@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2184,'Deepsea Mermaid@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2184,'Deepsea Mermaid@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2184,'Deepsea Mermaid@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2184,'Deepsea Mermaid@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2184,'Deepsea Mermaid@NPC_STOP','attack',342,1,100,0,600000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2184,'Deepsea Mermaid@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2184,'Deepsea Mermaid@PR_LEXDIVINA','attack',76,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
@@ -6805,20 +6828,20 @@ REPLACE INTO `mob_skill_db` VALUES (2190,'Ferocious Coelacanth@WZ_WATERBALL','at
REPLACE INTO `mob_skill_db` VALUES (2190,'Ferocious Coelacanth@WZ_WATERBALL','chase',86,10,5000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2191,'Seaweed@AL_HEAL','attack',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2191,'Seaweed@NPC_INVINCIBLE','idle',685,1,10000,0,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDEBLEEDING','attack',665,1,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDEBLEEDING','chase',665,1,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDECURSE','chase',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDEFREEZE','attack',664,1,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDEFREEZE','chase',664,1,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDESILENCE','attack',663,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDESILENCE','chase',663,1,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDESLEEP','attack',668,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDESLEEP','chase',668,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDESOULDRAIN','attack',680,1,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDESOULDRAIN','chase',680,1,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDESTUN','attack',678,1,10000,1300,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2193,'Octopus Leg@NPC_WIDESTUN','chase',678,1,10000,1300,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDEBLEEDING','attack',665,1,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDEBLEEDING','chase',665,1,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDECURSE','chase',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDEFREEZE','attack',664,1,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDEFREEZE','chase',664,1,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDESILENCE','attack',663,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDESILENCE','chase',663,1,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDESLEEP','attack',668,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDESLEEP','chase',668,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDESOULDRAIN','attack',680,1,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDESOULDRAIN','chase',680,1,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDESTUN','attack',678,1,10000,1300,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2193,'Octupus Leg@NPC_WIDESTUN','chase',678,1,10000,1300,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2194,'Giant Octopus@HW_GANBANTEIN','attack',483,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2194,'Giant Octopus@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2194,'Giant Octopus@MG_FROSTDIVER','chase',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6848,7 +6871,7 @@ REPLACE INTO `mob_skill_db` VALUES (2194,'Giant Octopus@WZ_FROSTNOVA','attack',8
REPLACE INTO `mob_skill_db` VALUES (2194,'Giant Octopus@WZ_FROSTNOVA','chase',88,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2194,'Giant Octopus@WZ_WATERBALL','attack',86,10,10000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (2194,'Giant Octopus@WZ_WATERBALL','chase',86,10,10000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2195,'Ancient Kukre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2195,'Ancient Kukre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2195,'Ancient Kukre@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2195,'Ancient Kukre@ST_FULLSTRIP','attack',476,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2195,'Ancient Kukre@WZ_WATERBALL','attack',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6874,14 +6897,14 @@ REPLACE INTO `mob_skill_db` VALUES (2198,'King Kray@NPC_DEFENDER','attack',205,1
REPLACE INTO `mob_skill_db` VALUES (2198,'King Kray@NPC_STOP','attack',342,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'38',NULL);
REPLACE INTO `mob_skill_db` VALUES (2198,'King Kray@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2198,'King Kray@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2199,'Siorava@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2199,'Siorava@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2199,'Siorava@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2199,'Siorava@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2201,'Squidgitte@AL_RUWACH','idle',24,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2201,'Squidgitte@NPC_COMBOATTACK','attack',171,1,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2201,'Squidgitte@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,5,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2201,'Squidgitte@NPC_WATERATTACK','attack',184,3,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2201,'Squidgitte@WZ_JUPITEL','chase',84,4,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2201,'Sropho@AL_RUWACH','idle',24,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2201,'Sropho@NPC_COMBOATTACK','attack',171,1,1000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2201,'Sropho@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,5,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2201,'Sropho@NPC_WATERATTACK','attack',184,3,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2201,'Sropho@WZ_JUPITEL','chase',84,4,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@HW_GANBANTEIN','attack',483,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -6893,7 +6916,7 @@ REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@NPC_HELLJUDGEMENT','chase',662,
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@NPC_SUMMONSLAVE','attack',196,4,10000,700,10000,'no','self','slavele','3',2206,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@NPC_SUMMONSLAVE','idle',196,4,10000,700,10000,'no','self','slavele','3',2206,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn','0',2206,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,2206,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@NPC_WATERATTACK','attack',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@NPC_WATERATTACK','chase',184,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -6915,56 +6938,56 @@ REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@WZ_FROSTNOVA','attack',88,10,30
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@WZ_FROSTNOVA','chase',88,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@WZ_WATERBALL','attack',86,10,10000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (2202,'Kraken@WZ_WATERBALL','chase',86,10,10000,500,25000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2203,'Octo Pot@AL_HEAL','attack',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2203,'Octo Pot@NPC_DEFENDER','chase',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2203,'Octo Pot@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2203,'Octo Pot@NPC_KEEPING','attack',201,1,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2203,'Octo Pot@NPC_RANGEATTACK','chase',160,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2204,'Lamp Rey@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2204,'Lamp Rey@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2204,'Lamp Rey@NPC_BLEEDING','attack',660,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2204,'Lamp Rey@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,18,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2204,'Lamp Rey@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2204,'Lamp Rey@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDEBLEEDING','attack',665,1,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDEBLEEDING','chase',665,1,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDECURSE','chase',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDEFREEZE','attack',664,1,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDEFREEZE','chase',664,1,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDESILENCE','attack',663,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDESILENCE','chase',663,1,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDESLEEP','attack',668,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDESLEEP','chase',668,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDESOULDRAIN','attack',680,1,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDESOULDRAIN','chase',680,1,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDESTUN','attack',678,1,10000,1300,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Tentacle@NPC_WIDESTUN','chase',678,1,10000,1300,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2203,'Pot Dofle@AL_HEAL','attack',28,3,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2203,'Pot Dofle@NPC_DEFENDER','chase',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2203,'Pot Dofle@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2203,'Pot Dofle@NPC_KEEPING','attack',201,1,1000,0,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2203,'Pot Dofle@NPC_RANGEATTACK','chase',160,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2204,'Sedora@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2204,'Sedora@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2204,'Sedora@NPC_BLEEDING','attack',660,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2204,'Sedora@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,18,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2204,'Sedora@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2204,'Sedora@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDEBLEEDING','attack',665,1,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDEBLEEDING','chase',665,1,10000,500,100000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDECURSE','chase',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDEFREEZE','attack',664,1,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDEFREEZE','chase',664,1,10000,1000,20000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDESILENCE','attack',663,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDESILENCE','chase',663,1,10000,1000,20000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDESLEEP','attack',668,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDESLEEP','chase',668,1,10000,700,25000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDESOULDRAIN','attack',680,1,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDESOULDRAIN','chase',680,1,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDESTUN','attack',678,1,10000,1300,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2206,'Kraken Leg@NPC_WIDESTUN','chase',678,1,10000,1300,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2208,'Wild Rider@NPC_AGIUP','chase',350,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2208,'Wild Rider@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,27,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2208,'Wild Rider@WZ_WATERBALL','attack',86,4,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2220,'Messenger of Devil@AL_TELEPORT','attack',26,1,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2220,'Messenger of Devil@NPC_EMOTION','idle',197,1,2000,0,0,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@AL_HEAL','attack',28,4,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@AL_HEAL','idle',28,4,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@AL_HEAL','chase',28,4,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@AL_HEAL','attack',28,4,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@AL_HEAL','idle',28,4,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@AL_HEAL','chase',28,4,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@CR_AUTOGUARD','attack',249,5,2000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@CR_GRANDCROSS','attack',254,1,500,1500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@CR_REFLECTSHIELD','attack',252,5,100,0,200000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@CR_REFLECTSHIELD','attack',252,5,10000,0,200000,'yes','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@CR_SHIELDCHARGE','attack',250,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@NPC_DEFENDER','attack',205,1,1000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@NPC_HOLYATTACK','attack',189,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2221,'Randel@PA_PRESSURE','attack',367,1,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2220,'Quve@AL_TELEPORT','attack',26,1,1000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2220,'Quve@NPC_EMOTION','idle',197,1,2000,0,0,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@AL_HEAL','attack',28,4,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@AL_HEAL','idle',28,4,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@AL_HEAL','chase',28,4,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@AL_HEAL','attack',28,4,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@AL_HEAL','idle',28,4,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@AL_HEAL','chase',28,4,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@CR_AUTOGUARD','attack',249,5,2000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@CR_GRANDCROSS','attack',254,1,500,1500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@CR_REFLECTSHIELD','attack',252,5,100,0,200000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@CR_REFLECTSHIELD','attack',252,5,10000,0,200000,'yes','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@CR_SHIELDCHARGE','attack',250,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@NPC_DEFENDER','attack',205,1,1000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@NPC_HOLYATTACK','attack',189,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2221,'Randal@PA_PRESSURE','attack',367,1,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2222,'Flamel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2222,'Flamel@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2222,'Flamel@AM_ACIDTERROR','chase',230,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -7055,7 +7078,6 @@ REPLACE INTO `mob_skill_db` VALUES (2225,'Gertie@TF_POISON','attack',52,10,1000,
REPLACE INTO `mob_skill_db` VALUES (2226,'Alphoccio@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2226,'Alphoccio@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2226,'Alphoccio@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2226,'Alphoccio@NPC_DISSONANCE','attack',2540,3,1000,1000,100000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2226,'Alphoccio@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2226,'Alphoccio@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2226,'Alphoccio@NPC_SLOWCAST','attack',672,1,2000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
@@ -7070,330 +7092,325 @@ REPLACE INTO `mob_skill_db` VALUES (2227,'Trentini@NPC_PULSESTRIKE','attack',661
REPLACE INTO `mob_skill_db` VALUES (2227,'Trentini@NPC_SLOWCAST','attack',672,1,1000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (2227,'Trentini@NPC_SLOWCAST','chase',672,1,1000,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (2227,'Trentini@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2227,'Trentini@NPC_UGLYDANCE','attack',2541,3,1000,1000,100000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2227,'Trentini@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@AL_HEAL','attack',28,4,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@AL_HEAL','attack',28,4,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@CR_AUTOGUARD','attack',249,5,2000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@CR_GRANDCROSS','attack',254,1,500,1500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@CR_REFLECTSHIELD','attack',252,5,100,0,200000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@CR_REFLECTSHIELD','attack',252,5,10000,0,200000,'yes','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@CR_SHIELDCHARGE','attack',250,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@NPC_DEFENDER','attack',205,1,1000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@NPC_HOLYATTACK','attack',189,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@PA_PRESSURE','attack',367,2,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@WZ_STORMGUST','idle',89,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2228,'Randel@WZ_STORMGUST','walk',89,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@AM_ACIDTERROR','chase',230,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@AM_DEMONSTRATION','attack',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@AM_DEMONSTRATION','chase',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@AM_POTIONPITCHER','attack',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@AM_POTIONPITCHER','idle',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@AM_POTIONPITCHER','chase',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@AM_POTIONPITCHER','attack',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@AM_POTIONPITCHER','idle',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@AM_POTIONPITCHER','chase',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@CR_ACIDDEMONSTRATION','attack',490,1,1000,3000,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@NPC_FIREATTACK','attack',186,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@WZ_STORMGUST','idle',89,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2229,'Flamel@WZ_STORMGUST','walk',89,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_COLDBOLT','attack',14,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_COLDBOLT','chase',14,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FIREBALL','attack',17,10,3000,500,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FIREBALL','idle',17,10,10000,500,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FIREBALL','chase',17,10,3000,500,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FIREBALL','chase',17,10,10000,500,10000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FIREBOLT','attack',19,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FIREBOLT','chase',19,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FIREWALL','attack',18,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FIREWALL','chase',18,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FROSTDIVER','idle',15,10,10000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FROSTDIVER','chase',15,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_FROSTDIVER','chase',15,10,10000,1000,10000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_LIGHTNINGBOLT','attack',20,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_LIGHTNINGBOLT','chase',20,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_THUNDERSTORM','attack',21,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@MG_THUNDERSTORM','chase',21,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@NPC_ATTRICHANGE','attack',161,1,10000,500,6000000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@NPC_MENTALBREAKER','angry',159,1,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'yes','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@SA_DISPELL','chase',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@SA_LANDPROTECTOR','attack',288,1,1000,1500,30000,'yes','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'33',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@WZ_EARTHSPIKE','attack',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@WZ_EARTHSPIKE','chase',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@WZ_HEAVENDRIVE','attack',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@WZ_HEAVENDRIVE','chase',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2230,'Celia@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_HEAL','attack',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_HEAL','idle',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_HEAL','chase',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_HEAL','attack',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_HEAL','idle',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_HEAL','chase',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@MO_BALKYOUNG','attack',1016,5,100,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@MO_EXTREMITYFIST','attack',271,1,1000,2000,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@MO_EXTREMITYFIST','attack',271,1,1000,3000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_POWERUP','attack',349,1,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'yes','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2231,'Chen@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@NPC_POISON','attack',176,5,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@RG_CLOSECONFINE','attack',1005,1,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@RG_STRIPARMOR','attack',217,1,500,0,60000,'yes','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@RG_STRIPHELM','attack',218,1,500,0,60000,'yes','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@RG_STRIPSHIELD','attack',216,1,500,0,60000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@RG_STRIPWEAPON','attack',215,1,500,0,60000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@ST_FULLSTRIP','attack',476,1,100,0,60000,'no','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'34',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2232,'Gertie@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2233,'Alphoccio@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2233,'Alphoccio@NPC_DISSONANCE','attack',2540,3,1000,1000,120000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2233,'Alphoccio@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2233,'Alphoccio@NPC_SLOWCAST','attack',672,1,2000,800,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2233,'Alphoccio@NPC_SLOWCAST','chase',672,1,2000,300,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2233,'Alphoccio@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2233,'Alphoccio@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2233,'Alphoccio@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2233,'Alphoccio@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@NPC_SLOWCAST','attack',672,1,1000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@NPC_SLOWCAST','chase',672,1,1000,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@NPC_UGLYDANCE','attack',2541,3,1000,1000,120000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2234,'Trentini@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@AL_HEAL','attack',28,7,10000,0,1000,'yes','friend','friendhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@AL_HEAL','idle',28,7,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@AL_HEAL','attack',28,7,10000,0,1000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@AL_HEAL','idle',28,7,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@CR_AUTOGUARD','attack',249,5,2000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@CR_GRANDCROSS','attack',254,1,500,1500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@CR_REFLECTSHIELD','attack',252,5,100,0,200000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@CR_REFLECTSHIELD','attack',252,5,10000,0,200000,'yes','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@CR_SHIELDCHARGE','attack',250,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_CHANGEFIRE','attack',164,1,10000,500,60000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_CHANGEHOLY','attack',167,1,10000,500,60000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,60000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_DEFENDER','attack',205,1,1000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_HOLYATTACK','attack',189,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2229,2230,2231,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2229,2230,2231,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2229,2230,2231,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2235,'Randel@PA_PRESSURE','attack',367,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AM_ACIDTERROR','chase',230,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AM_DEMONSTRATION','attack',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AM_DEMONSTRATION','chase',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AM_POTIONPITCHER','attack',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AM_POTIONPITCHER','idle',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AM_POTIONPITCHER','chase',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AM_POTIONPITCHER','attack',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AM_POTIONPITCHER','idle',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@AM_POTIONPITCHER','chase',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@CR_ACIDDEMONSTRATION','attack',490,1,1000,2000,12000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@CR_ACIDDEMONSTRATION','attack',490,3,1000,2500,60000,'no','target','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_CHANGEFIRE','attack',164,1,10000,500,60000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_CHANGEHOLY','attack',167,1,10000,500,60000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,60000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_FIREATTACK','attack',186,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2230,2231,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2230,2231,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2236,'Flamel@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2230,2231,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_COLDBOLT','attack',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_COLDBOLT','chase',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FIREBALL','attack',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FIREBALL','idle',17,10,10000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FIREBALL','chase',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FIREBALL','chase',17,10,10000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FIREBOLT','attack',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FIREBOLT','chase',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FIREWALL','attack',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FIREWALL','chase',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FROSTDIVER','idle',15,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FROSTDIVER','chase',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_FROSTDIVER','chase',15,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_LIGHTNINGBOLT','attack',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_LIGHTNINGBOLT','chase',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_THUNDERSTORM','attack',21,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@MG_THUNDERSTORM','chase',21,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_ATTRICHANGE','attack',161,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_MENTALBREAKER','attack',159,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_MENTALBREAKER','chase',159,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2231,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2231,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2231,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_WIDESOULDRAIN','attack',680,5,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@NPC_WIDESOULDRAIN','chase',680,5,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@SA_LANDPROTECTOR','attack',288,5,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@WZ_EARTHSPIKE','attack',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@WZ_EARTHSPIKE','chase',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@WZ_HEAVENDRIVE','attack',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2237,'Celia@WZ_HEAVENDRIVE','chase',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_HEAL','attack',28,6,10000,0,1000,'yes','friend','friendhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_HEAL','attack',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_HEAL','idle',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_HEAL','chase',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_HEAL','attack',28,6,10000,0,1000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_HEAL','attack',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_HEAL','idle',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_HEAL','chase',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_POWERUP','attack',349,1,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2230,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2238,'Chen@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2232,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_ARMORBRAKE','attack',344,1,500,0,20000,'yes','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_CHANGEWIND','attack',165,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_HELMBRAKE','attack',345,1,500,0,2000,'yes','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_POISON','attack',176,5,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_POISONATTACK','attack',188,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_SHIELDBRAKE','attack',346,5,500,0,20000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2230,2231,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2233,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@NPC_WEAPONBRAKER','attack',343,1,500,0,30000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@RG_STRIPARMOR','attack',217,5,500,0,20000,'yes','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@RG_STRIPHELM','attack',218,5,500,0,20000,'yes','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@RG_STRIPSHIELD','attack',216,5,500,0,20000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@RG_STRIPWEAPON','attack',215,5,500,0,20000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2239,'Gertie@ST_FULLSTRIP','attack',476,5,100,1000,30000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'37',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_ASSASSINCROSS','attack',2539,10,1000,1000,150000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_PULSESTRIKE','attack',661,5,10000,0,15000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_SLOWCAST','attack',672,1,2000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_SLOWCAST','chase',672,1,2000,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2230,2231,2232,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2232,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2232,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2240,'Alphoccio@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_SLOWCAST','attack',672,1,2000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_SLOWCAST','chase',672,1,2000,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2230,2231,2232,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2232,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2232,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_UGLYDANCE','attack',2541,5,1000,1000,70000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_VAMPIRE_GIFT','attack',679,10,10000,1000,10000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'47',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2241,'Trentini@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@AL_HEAL','attack',28,4,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@AL_HEAL','attack',28,4,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@CR_AUTOGUARD','attack',249,5,2000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@CR_GRANDCROSS','attack',254,1,500,1500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@CR_REFLECTSHIELD','attack',252,5,100,0,200000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@CR_REFLECTSHIELD','attack',252,5,10000,0,200000,'yes','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@CR_SHIELDCHARGE','attack',250,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@NPC_DEFENDER','attack',205,1,1000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@NPC_HOLYATTACK','attack',189,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@PA_PRESSURE','attack',367,2,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@WZ_STORMGUST','idle',89,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2228,'Paladin Randel@WZ_STORMGUST','walk',89,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@AM_ACIDTERROR','chase',230,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@AM_DEMONSTRATION','attack',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@AM_DEMONSTRATION','chase',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@AM_POTIONPITCHER','attack',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@AM_POTIONPITCHER','idle',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@AM_POTIONPITCHER','chase',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@AM_POTIONPITCHER','attack',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@AM_POTIONPITCHER','idle',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@AM_POTIONPITCHER','chase',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@CR_ACIDDEMONSTRATION','attack',490,1,1000,3000,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@NPC_FIREATTACK','attack',186,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@WZ_STORMGUST','idle',89,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2229,'Biochemist Flamel@WZ_STORMGUST','walk',89,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_COLDBOLT','attack',14,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_COLDBOLT','chase',14,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FIREBALL','attack',17,10,3000,500,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FIREBALL','idle',17,10,10000,500,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FIREBALL','chase',17,10,3000,500,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FIREBALL','chase',17,10,10000,500,10000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FIREBOLT','attack',19,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FIREBOLT','chase',19,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FIREWALL','attack',18,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FIREWALL','chase',18,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FROSTDIVER','idle',15,10,10000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FROSTDIVER','chase',15,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_FROSTDIVER','chase',15,10,10000,1000,10000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_LIGHTNINGBOLT','attack',20,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_LIGHTNINGBOLT','chase',20,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_THUNDERSTORM','attack',21,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@MG_THUNDERSTORM','chase',21,10,3000,1000,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@NPC_ATTRICHANGE','attack',161,1,10000,500,6000000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@NPC_MENTALBREAKER','angry',159,1,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'yes','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@SA_DISPELL','attack',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@SA_DISPELL','chase',289,5,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@SA_LANDPROTECTOR','attack',288,1,1000,1500,30000,'yes','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'33',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@WZ_EARTHSPIKE','attack',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@WZ_EARTHSPIKE','chase',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@WZ_HEAVENDRIVE','attack',91,5,2000,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@WZ_HEAVENDRIVE','attack',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@WZ_HEAVENDRIVE','chase',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2230,'Scholar Celia@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_HEAL','attack',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_HEAL','idle',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_HEAL','chase',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_HEAL','attack',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_HEAL','idle',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_HEAL','chase',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@MO_BALKYOUNG','attack',1016,5,100,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@MO_EXTREMITYFIST','attack',271,1,1000,2000,300000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@MO_EXTREMITYFIST','attack',271,1,1000,3000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_POWERUP','attack',349,1,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'yes','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2231,'Champion Chen@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@NPC_POISON','attack',176,5,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@NPC_SELFDESTRUCTION','attack',173,1,2000,2000,0,'no','self','myhpltmaxrate','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@RG_CLOSECONFINE','attack',1005,1,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@RG_STRIPARMOR','attack',217,1,500,0,60000,'yes','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@RG_STRIPHELM','attack',218,1,500,0,60000,'yes','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@RG_STRIPSHIELD','attack',216,1,500,0,60000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@RG_STRIPWEAPON','attack',215,1,500,0,60000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@ST_FULLSTRIP','attack',476,1,100,0,60000,'no','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'34',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2232,'Stalker Gertie@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2233,'Minstel Alphoccio@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2233,'Minstel Alphoccio@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2233,'Minstel Alphoccio@NPC_SLOWCAST','attack',672,1,2000,800,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2233,'Minstel Alphoccio@NPC_SLOWCAST','chase',672,1,2000,300,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2233,'Minstel Alphoccio@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2233,'Minstel Alphoccio@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2233,'Minstel Alphoccio@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2233,'Minstel Alphoccio@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@NPC_SLOWCAST','attack',672,1,1000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@NPC_SLOWCAST','chase',672,1,1000,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@WZ_METEOR','idle',83,1,10000,0,0,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2234,'Gypsy Trentini@WZ_METEOR','walk',83,1,5000,0,5000,'yes','target','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@AL_HEAL','attack',28,7,10000,0,1000,'yes','friend','friendhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@AL_HEAL','idle',28,7,3000,0,1500,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@AL_HEAL','attack',28,7,10000,0,1000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@AL_HEAL','idle',28,7,3000,0,1500,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@CR_AUTOGUARD','attack',249,5,2000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@CR_GRANDCROSS','attack',254,1,500,1500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@CR_HOLYCROSS','attack',253,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@CR_REFLECTSHIELD','attack',252,5,100,0,200000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@CR_REFLECTSHIELD','attack',252,5,10000,0,200000,'yes','self','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@CR_SHIELDCHARGE','attack',250,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_CHANGEFIRE','attack',164,1,10000,500,60000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_CHANGEHOLY','attack',167,1,10000,500,60000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,60000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_DEFENDER','attack',205,1,1000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_HOLYATTACK','attack',189,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2229,2230,2231,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2229,2230,2231,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2229,2230,2231,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2235,'Paladin Randel@PA_PRESSURE','attack',367,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AM_ACIDTERROR','chase',230,5,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AM_DEMONSTRATION','attack',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AM_DEMONSTRATION','chase',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AM_POTIONPITCHER','attack',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AM_POTIONPITCHER','idle',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AM_POTIONPITCHER','chase',231,5,10000,500,5000,'yes','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AM_POTIONPITCHER','attack',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AM_POTIONPITCHER','idle',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@AM_POTIONPITCHER','chase',231,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'5',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@CR_ACIDDEMONSTRATION','attack',490,1,1000,2000,12000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@CR_ACIDDEMONSTRATION','attack',490,3,1000,2500,60000,'no','target','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_CHANGEFIRE','attack',164,1,10000,500,60000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_CHANGEHOLY','attack',167,1,10000,500,60000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,60000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_FIREATTACK','attack',186,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2230,2231,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2230,2231,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2236,'Biochemist Flamel@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2230,2231,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_COLDBOLT','attack',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_COLDBOLT','chase',14,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FIREBALL','attack',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FIREBALL','idle',17,10,10000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FIREBALL','chase',17,10,3000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FIREBALL','chase',17,10,10000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FIREBOLT','attack',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FIREBOLT','chase',19,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FIREWALL','attack',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FIREWALL','chase',18,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FROSTDIVER','attack',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FROSTDIVER','idle',15,10,10000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FROSTDIVER','chase',15,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_FROSTDIVER','chase',15,10,10000,1000,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_LIGHTNINGBOLT','attack',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_LIGHTNINGBOLT','chase',20,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_THUNDERSTORM','attack',21,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@MG_THUNDERSTORM','chase',21,10,3000,1000,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_ATTRICHANGE','attack',161,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_MENTALBREAKER','attack',159,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_MENTALBREAKER','chase',159,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2231,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2231,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2231,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_WIDESOULDRAIN','attack',680,5,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@NPC_WIDESOULDRAIN','chase',680,5,1000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@SA_LANDPROTECTOR','attack',288,5,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@WZ_EARTHSPIKE','attack',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@WZ_EARTHSPIKE','chase',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@WZ_HEAVENDRIVE','attack',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2237,'Scholar Celia@WZ_HEAVENDRIVE','chase',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_HEAL','attack',28,6,10000,0,1000,'yes','friend','friendhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_HEAL','attack',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_HEAL','idle',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_HEAL','chase',28,6,3000,0,2000,'yes','friend','friendhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_HEAL','attack',28,6,10000,0,1000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_HEAL','attack',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_HEAL','idle',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_HEAL','chase',28,6,3000,0,2000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_INCAGI','attack',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_INCAGI','chase',29,10,2000,0,240000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_PNEUMA','attack',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_PNEUMA','idle',25,1,10000,0,0,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@AL_PNEUMA','chase',25,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_HOLYATTACK','attack',189,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_POWERUP','attack',349,1,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_POWERUP','attack',349,1,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2230,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2238,'Champion Chen@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2232,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_ARMORBRAKE','attack',344,1,500,0,20000,'yes','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_CHANGEWIND','attack',165,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_HELMBRAKE','attack',345,1,500,0,2000,'yes','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_POISON','attack',176,5,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_POISONATTACK','attack',188,10,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_SHIELDBRAKE','attack',346,5,500,0,20000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2230,2231,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2233,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@NPC_WEAPONBRAKER','attack',343,1,500,0,30000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@RG_STRIPARMOR','attack',217,5,500,0,20000,'yes','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@RG_STRIPHELM','attack',218,5,500,0,20000,'yes','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@RG_STRIPSHIELD','attack',216,5,500,0,20000,'yes','target','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@RG_STRIPWEAPON','attack',215,5,500,0,20000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2239,'Stalker Gertie@ST_FULLSTRIP','attack',476,5,100,1000,30000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'37',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_CHANGEHOLY','attack',167,1,10000,500,6000000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_CHANGETELEKINESIS','attack',169,1,10000,500,6000000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_CHANGEWATER','attack',162,1,10000,500,6000000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_POWERUP','attack',349,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_POWERUP','attack',349,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_PULSESTRIKE','attack',661,5,10000,0,15000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_SLOWCAST','attack',672,1,2000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_SLOWCAST','chase',672,1,2000,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2230,2231,2232,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2232,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2232,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2240,'Minstel Alphoccio@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_AGIUP','attack',350,5,2000,0,100000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_AGIUP','attack',350,5,2000,0,25000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_CALLSLAVE','attack',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_CALLSLAVE','idle',352,1,10000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_SLOWCAST','attack',672,1,2000,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_SLOWCAST','chase',672,1,2000,300,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_SUMMONMONSTER','attack',209,5,10000,700,60000000,'yes','self','myhpltmaxrate','30',2228,2229,2230,2231,2232,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_SUMMONSLAVE','attack',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2232,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_SUMMONSLAVE','idle',196,5,10000,700,10000,'no','self','slavele','3',2228,2229,2230,2231,2232,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_VAMPIRE_GIFT','attack',679,10,10000,1000,10000,'no','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2241,'Gypsy Trentini@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2242,'Desert Wolf@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2242,'Desert Wolf@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2242,'Desert Wolf@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
@@ -7404,43 +7421,43 @@ REPLACE INTO `mob_skill_db` VALUES (2243,'Baby Desert Wolf@CR_AUTOGUARD','chase'
REPLACE INTO `mob_skill_db` VALUES (2243,'Baby Desert Wolf@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2243,'Baby Desert Wolf@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2243,'Baby Desert Wolf@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@CR_HOLYCROSS','attack',253,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@HW_GANBANTEIN','attack',483,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@KN_BRANDISHSPEAR','attack',57,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@KN_TWOHANDQUICKEN','attack',60,10,10000,0,90000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@MG_THUNDERSTORM','attack',21,10,10000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_AGIUP','chase',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_CRITICALWOUND','attack',673,4,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_POWERUP','chase',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_SUMMONSLAVE','attack',196,1,10000,2000,5000,'no','self','slavele','1',2277,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_SUMMONSLAVE','idle',196,1,10000,2000,5000,'no','self','slavele','1',2277,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@NPC_SUMMONSLAVE','chase',196,1,10000,2000,5000,'no','self','slavele','1',2277,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@WZ_METEOR','attack',83,10,2000,500,5000,'no','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@WZ_VERMILION','attack',85,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2249,'Angry Student Pyuriel@WZ_VERMILION','chase',85,10,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@NPC_BLEEDING','attack',660,3,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@NPC_EARTHQUAKE','attack',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@NPC_EARTHQUAKE','chase',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@SM_BASH','attack',5,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@SM_BASH','attack',5,9,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@SM_MAGNUM','attack',7,9,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2250,'Warrior Laura@SM_PROVOKE','chase',6,9,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@CR_HOLYCROSS','attack',253,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@HW_GANBANTEIN','attack',483,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@KN_BRANDISHSPEAR','attack',57,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@KN_TWOHANDQUICKEN','attack',60,10,10000,0,90000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@MG_THUNDERSTORM','attack',21,10,10000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_AGIUP','chase',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_CRITICALWOUND','attack',673,4,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_POWERUP','chase',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_SUMMONSLAVE','attack',196,1,10000,2000,5000,'no','self','slavele','1',2277,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_SUMMONSLAVE','idle',196,1,10000,2000,5000,'no','self','slavele','1',2277,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@NPC_SUMMONSLAVE','chase',196,1,10000,2000,5000,'no','self','slavele','1',2277,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@WZ_METEOR','attack',83,10,2000,500,5000,'no','target','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@WZ_VERMILION','attack',85,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2249,'Pyuriel@WZ_VERMILION','chase',85,10,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@NPC_BLEEDING','attack',660,3,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@NPC_EARTHQUAKE','attack',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@NPC_EARTHQUAKE','chase',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@SM_BASH','attack',5,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@SM_BASH','attack',5,9,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@SM_MAGNUM','attack',7,9,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2250,'Lora@SM_PROVOKE','chase',6,9,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2251,'Gioia@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2251,'Gioia@AL_HEAL','idle',28,1,10000,0,10000,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2251,'Gioia@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -7474,51 +7491,51 @@ REPLACE INTO `mob_skill_db` VALUES (2252,'Elvira@WZ_JUPITEL','attack',84,1,2000,
REPLACE INTO `mob_skill_db` VALUES (2252,'Elvira@WZ_JUPITEL','attack',84,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2252,'Elvira@WZ_JUPITEL','chase',84,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2252,'Elvira@WZ_JUPITEL','chase',84,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@BS_MAXIMIZE','attack',114,5,500,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@BS_MAXIMIZE','chase',114,5,500,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@NPC_BLEEDING','attack',660,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@NPC_GROUNDATTACK','attack',185,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@NPC_SUMMONSLAVE','attack',196,1,10000,700,10000,'yes','self','slavele','1',2279,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@NPC_SUMMONSLAVE','idle',196,1,10000,700,10000,'yes','self','slavele','1',2279,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@NPC_WEAPONBRAKER','attack',343,10,500,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@WZ_WATERBALL','attack',86,5,2000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2253,'General Daehyon@WZ_WATERBALL','chase',86,10,10000,500,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2254,'Samurai Soheon@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2254,'Samurai Soheon@AS_SONICBLOW','attack',136,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2254,'Samurai Soheon@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2254,'Samurai Soheon@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2254,'Samurai Soheon@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2254,'Samurai Soheon@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2254,'Samurai Soheon@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2254,'Samurai Soheon@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@AM_DEMONSTRATION','attack',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@AM_DEMONSTRATION','chase',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@KN_PIERCE','attack',56,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@MG_FIREBALL','attack',17,10,1000,500,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@MG_FIREBALL','chase',17,10,10000,500,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_BLEEDING','attack',660,3,2000,0,50000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_FIREATTACK','attack',186,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_FIREBREATH','chase',654,10,2000,500,10000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_POWERUP','attack',349,5,2000,700,50000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_POWERUP','attack',349,5,10000,700,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_SUMMONSLAVE','attack',196,1,10000,700,30000,'no','self','slavele','1',2280,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_SUMMONSLAVE','idle',196,1,10000,700,30000,'no','self','slavele','1',2280,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@NPC_TELEKINESISATTACK','attack',191,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@SM_MAGNUM','attack',7,10,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@WZ_FIREPILLAR','idle',80,10,1000,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2255,'Dark Guardian Kades@WZ_SIGHTRASHER','attack',81,10,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@BS_MAXIMIZE','attack',114,5,500,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@BS_MAXIMIZE','chase',114,5,500,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@NPC_AGIUP','attack',350,5,10000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@NPC_BLEEDING','attack',660,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@NPC_GROUNDATTACK','attack',185,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@NPC_STUNATTACK','attack',179,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@NPC_SUMMONSLAVE','attack',196,1,10000,700,10000,'yes','self','slavele','1',2279,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@NPC_SUMMONSLAVE','idle',196,1,10000,700,10000,'yes','self','slavele','1',2279,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@NPC_WEAPONBRAKER','attack',343,10,500,0,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@WZ_WATERBALL','attack',86,5,2000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2253,'Daehyon@WZ_WATERBALL','chase',86,10,10000,500,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2254,'Soheon@AL_TELEPORT','idle',26,1,1000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2254,'Soheon@AS_SONICBLOW','attack',136,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2254,'Soheon@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2254,'Soheon@NPC_INVISIBLE','chase',353,1,2000,1000,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2254,'Soheon@NPC_STOP','attack',342,1,2000,500,15000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2254,'Soheon@PR_SANCTUARY','attack',70,10,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2254,'Soheon@WZ_WATERBALL','attack',86,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2254,'Soheon@WZ_WATERBALL','chase',86,3,2000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@AM_DEMONSTRATION','attack',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@AM_DEMONSTRATION','chase',229,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@KN_PIERCE','attack',56,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@MG_FIREBALL','attack',17,10,1000,500,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@MG_FIREBALL','chase',17,10,10000,500,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_BLEEDING','attack',660,3,2000,0,50000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_FIREATTACK','attack',186,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_FIREBREATH','chase',654,10,2000,500,10000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_POWERUP','attack',349,5,2000,700,50000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_POWERUP','attack',349,5,10000,700,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_SUMMONSLAVE','attack',196,1,10000,700,30000,'no','self','slavele','1',2280,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_SUMMONSLAVE','idle',196,1,10000,700,30000,'no','self','slavele','1',2280,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@NPC_TELEKINESISATTACK','attack',191,10,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@SM_MAGNUM','attack',7,10,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@WZ_FIREPILLAR','idle',80,10,1000,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2255,'Kades@WZ_SIGHTRASHER','attack',81,10,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2256,'Rudo@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2256,'Rudo@AS_SONICBLOW','attack',136,10,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2256,'Rudo@MG_NAPALMBEAT','attack',11,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -7527,18 +7544,18 @@ REPLACE INTO `mob_skill_db` VALUES (2256,'Rudo@NPC_BLEEDING','attack',660,3,500,
REPLACE INTO `mob_skill_db` VALUES (2256,'Rudo@NPC_FIREATTACK','attack',186,5,2000,1000,200000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2256,'Rudo@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2256,'Rudo@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@NPC_BLEEDING','attack',660,3,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@NPC_EARTHQUAKE','attack',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@NPC_EARTHQUAKE','chase',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@SM_BASH','attack',5,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@SM_BASH','attack',5,9,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@SM_MAGNUM','attack',7,9,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2277,'Warrior Laura@SM_PROVOKE','chase',6,9,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@NPC_BLEEDING','attack',660,3,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@NPC_EARTHQUAKE','attack',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@NPC_EARTHQUAKE','chase',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@NPC_EMOTION','attack',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@NPC_EMOTION','idle',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@NPC_EMOTION','chase',197,1,10000,0,5000,'yes','self','skillused','28',15,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@NPC_FIREATTACK','attack',186,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@SM_BASH','attack',5,9,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@SM_BASH','attack',5,9,10000,800,1000,'no','target','skillused','5',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@SM_MAGNUM','attack',7,9,5000,500,5000,'no','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2277,'Lora@SM_PROVOKE','chase',6,9,500,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2278,'Elvira@KN_TWOHANDQUICKEN','attack',60,10,2000,0,300000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2278,'Elvira@NPC_CRITICALSLASH','attack',170,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2278,'Elvira@NPC_WIDEBLEEDING','attack',665,2,10000,500,100000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -7561,39 +7578,39 @@ REPLACE INTO `mob_skill_db` VALUES (2280,'Rudo@NPC_BLEEDING','attack',660,3,500,
REPLACE INTO `mob_skill_db` VALUES (2280,'Rudo@NPC_FIREATTACK','attack',186,5,2000,1000,200000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2280,'Rudo@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2280,'Rudo@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2281,'Dark Shadow@NPC_DARKNESSBREATH','attack',658,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2281,'Dark Shadow@NPC_DARKSTRIKE','chase',340,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2281,'Dark Shadow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2281,'Dark Shadow@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2282,'Dark Frame@CR_REFLECTSHIELD','attack',252,2,500,0,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2282,'Dark Frame@NPC_BLINDATTACK','attack',177,3,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2282,'Dark Frame@NPC_BLINDATTACK','chase',177,3,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2282,'Dark Frame@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2282,'Dark Frame@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2282,'Dark Frame@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2282,'Dark Frame@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2282,'Dark Frame@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2283,'Dark Priest@MO_BODYRELOCATION','chase',264,1,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2283,'Dark Priest@NPC_BLEEDING','attack',660,3,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2283,'Dark Priest@NPC_CHANGEUNDEAD','attack',348,1,300,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2283,'Dark Priest@NPC_DARKBREATH','chase',202,2,500,800,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2283,'Dark Priest@NPC_DARKCROSS','attack',338,3,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2283,'Dark Priest@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2284,'Dark Axe Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2284,'Dark Axe Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2284,'Dark Axe Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2284,'Dark Axe Kobold@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2285,'Dark Hammer Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2285,'Dark Hammer Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2285,'Dark Hammer Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2285,'Dark Hammer Kobold@NPC_POISONATTACK','attack',188,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2286,'Dark Mace Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2286,'Dark Mace Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2286,'Dark Mace Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2286,'Dark Mace Kobold@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2287,'Dark Kobold Archer@AC_DOUBLE','attack',46,3,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2287,'Dark Kobold Archer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2287,'Dark Kobold Archer@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2281,'Abysmal Dark Shadow@NPC_DARKNESSBREATH','attack',658,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2281,'Abysmal Dark Shadow@NPC_DARKSTRIKE','chase',340,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2281,'Abysmal Dark Shadow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2281,'Abysmal Dark Shadow@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2282,'Abysmal Dark Frame@CR_REFLECTSHIELD','attack',252,2,500,0,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2282,'Abysmal Dark Frame@NPC_BLINDATTACK','attack',177,3,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2282,'Abysmal Dark Frame@NPC_BLINDATTACK','chase',177,3,1500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2282,'Abysmal Dark Frame@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2282,'Abysmal Dark Frame@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2282,'Abysmal Dark Frame@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2282,'Abysmal Dark Frame@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2282,'Abysmal Dark Frame@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2283,'Abysmal Dark Priest@MO_BODYRELOCATION','chase',264,1,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2283,'Abysmal Dark Priest@NPC_BLEEDING','attack',660,3,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2283,'Abysmal Dark Priest@NPC_CHANGEUNDEAD','attack',348,1,300,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2283,'Abysmal Dark Priest@NPC_DARKBREATH','chase',202,2,500,800,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2283,'Abysmal Dark Priest@NPC_DARKCROSS','attack',338,3,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2283,'Abysmal Dark Priest@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2284,'Abysmal Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2284,'Abysmal Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2284,'Abysmal Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2284,'Abysmal Kobold@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2285,'Abysmal Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2285,'Abysmal Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2285,'Abysmal Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2285,'Abysmal Kobold@NPC_POISONATTACK','attack',188,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2286,'Abysmal Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2286,'Abysmal Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2286,'Abysmal Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2286,'Abysmal Kobold@NPC_FIREATTACK','attack',186,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2287,'Abysmal Kobold Archer@AC_DOUBLE','attack',46,3,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2287,'Abysmal Kobold Archer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2287,'Abysmal Kobold Archer@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2309,'Bungisngis@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2309,'Bungisngis@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2309,'Bungisngis@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -7722,178 +7739,178 @@ REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_VERMILION','chase',85,10,2
REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_WATERBALL','chase',86,10,5000,500,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_WATERBALL','chase',86,10,5000,500,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2329,'Buwaya\'s Egg@NPC_METAMORPHOSIS','idle',193,1,2000,2000,5000,'no','self','always',NULL,2330,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2330,'Slave@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2330,'Slave@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2330,'Slave@NPC_FIREBREATH','attack',654,3,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2330,'Slave@NPC_GROUNDATTACK','attack',185,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2330,'Slave@NPC_PIERCINGATT','attack',158,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2330,'Slave@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'44',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2330,'Slave@TF_THROWSTONE','chase',152,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya\'s Slave@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya\'s Slave@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya\'s Slave@NPC_FIREBREATH','attack',654,3,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya\'s Slave@NPC_GROUNDATTACK','attack',185,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya\'s Slave@NPC_PIERCINGATT','attack',158,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya\'s Slave@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'44',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya\'s Slave@TF_THROWSTONE','chase',152,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2331,'Seaweed@AL_DECAGI','idle',30,1,10000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2331,'Seaweed@AL_HEAL','idle',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2337,'Monster@NPC_INVISIBLE','attack',353,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2337,'Monster@NPC_INVISIBLE','idle',353,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2337,'Monster@WZ_METEOR','attack',83,5,10000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2338,'Manananggal@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2338,'Manananggal@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2338,'Manananggal@NPC_BLOODDRAIN','attack',199,1,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2338,'Manananggal@NPC_COMBOATTACK','angry',171,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2338,'Manananggal@NPC_COMBOATTACK','attack',171,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2338,'Manananggal@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2338,'Manananggal@NPC_WINDATTACK','angry',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2338,'Manananggal@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2339,'Mangkukulam@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2339,'Mangkukulam@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2339,'Mangkukulam@NPC_DARKSTRIKE','attack',340,9,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2339,'Mangkukulam@NPC_DARKSTRIKE','chase',340,9,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2339,'Mangkukulam@NPC_DARKTHUNDER','attack',341,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2339,'Mangkukulam@NPC_MENTALBREAKER','attack',159,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2339,'Mangkukulam@NPC_MENTALBREAKER','chase',159,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2337,'Hidden Mob@NPC_INVISIBLE','attack',353,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2337,'Hidden Mob@NPC_INVISIBLE','idle',353,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2337,'Hidden Mob@WZ_METEOR','attack',83,5,10000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_BLOODDRAIN','attack',199,1,1000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_COMBOATTACK','angry',171,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_COMBOATTACK','attack',171,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_WINDATTACK','angry',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKSTRIKE','attack',340,9,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKSTRIKE','chase',340,9,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKTHUNDER','attack',341,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_MENTALBREAKER','attack',159,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_MENTALBREAKER','chase',159,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
REPLACE INTO `mob_skill_db` VALUES (2340,'Tiyanak@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2340,'Tiyanak@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2340,'Tiyanak@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2340,'Tiyanak@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2340,'Tiyanak@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2340,'Tiyanak@NPC_REBIRTH','dead',208,3,2000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@CR_HOLYCROSS','attack',253,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@HP_ASSUMPTIO','attack',361,5,10000,0,100000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@HP_ASSUMPTIO','chase',361,5,10000,0,100000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@HW_GANBANTEIN','attack',483,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@KN_BRANDISHSPEAR','attack',57,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@KN_TWOHANDQUICKEN','attack',60,10,10000,0,90000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@MG_THUNDERSTORM','attack',21,10,10000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_AGIUP','chase',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_CRITICALWOUND','attack',673,4,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_EARTHQUAKE','attack',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_EARTHQUAKE','chase',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_POWERUP','chase',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_SUMMONSLAVE','attack',196,1,10000,2000,5000,'no','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_SUMMONSLAVE','idle',196,1,10000,2000,5000,'no','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@NPC_SUMMONSLAVE','chase',196,1,10000,2000,5000,'no','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@WZ_VERMILION','attack',85,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2341,'2011 RWC Boss@WZ_VERMILION','chase',85,10,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2343,'Monster@NPC_INVISIBLE','attack',353,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2343,'Monster@NPC_INVISIBLE','idle',353,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2343,'Monster@WZ_STORMGUST','attack',89,5,10000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2353,'Minorous (Nightmare)@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2353,'Minorous (Nightmare)@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2353,'Minorous (Nightmare)@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2353,'Minorous (Nightmare)@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2353,'Minorous (Nightmare)@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2353,'Minorous (Nightmare)@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2354,'Mummy (Nightmare)@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2354,'Mummy (Nightmare)@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2354,'Mummy (Nightmare)@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2354,'Mummy (Nightmare)@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2354,'Mummy (Nightmare)@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2354,'Mummy (Nightmare)@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2355,'Verit (Nightmare)@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2355,'Verit (Nightmare)@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2355,'Verit (Nightmare)@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2356,'Mimic (Nightmare)@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2356,'Mimic (Nightmare)@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2356,'Mimic (Nightmare)@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2356,'Mimic (Nightmare)@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2356,'Mimic (Nightmare)@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2357,'Mimic (Nightmare)@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2357,'Mimic (Nightmare)@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2358,'Arclouze (Nightmare)@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2358,'Arclouze (Nightmare)@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2358,'Arclouze (Nightmare)@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2358,'Arclouze (Nightmare)@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2359,'Arclouze (Nightmare)@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2359,'Arclouze (Nightmare)@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2360,'Ancient Mummy@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2360,'Ancient Mummy@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2360,'Ancient Mummy@NPC_UNDEADATTACK','attack',347,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_DARKBLESSING','attack',203,1,5000,0,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','longrangeattacked','0',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','casttargeted','0',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','longrangeattacked','0',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','casttargeted','0',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','18',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','89',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','21',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','28',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','79',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','83',2359,2357,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_FIREPILLAR','attack',80,10,5000,0,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_FIREPILLAR','idle',80,10,10000,0,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_FIREPILLAR','idle',80,10,10000,0,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','attack',83,10,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','idle',83,10,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','28',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','21',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','79',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','83',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2362,'Amon Ra (Nightmare)@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','89',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@CR_HOLYCROSS','attack',253,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@HP_ASSUMPTIO','attack',361,5,10000,0,100000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@HP_ASSUMPTIO','chase',361,5,10000,0,100000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@HW_GANBANTEIN','attack',483,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@KN_BRANDISHSPEAR','attack',57,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@KN_TWOHANDQUICKEN','attack',60,10,10000,0,90000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@MG_THUNDERSTORM','attack',21,10,10000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_AGIUP','attack',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_AGIUP','chase',350,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_CALLSLAVE','chase',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_CRITICALWOUND','attack',673,4,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_EARTHQUAKE','attack',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_EARTHQUAKE','chase',653,5,10000,1000,25000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_HOLYATTACK','attack',189,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_POWERUP','chase',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_SUMMONSLAVE','attack',196,1,10000,2000,5000,'no','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_SUMMONSLAVE','idle',196,1,10000,2000,5000,'no','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@NPC_SUMMONSLAVE','chase',196,1,10000,2000,5000,'no','self','slavele','1',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@SA_DISPELL','attack',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@SA_DISPELL','chase',289,5,10000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@WZ_VERMILION','attack',85,10,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2341,'RWC Boss@WZ_VERMILION','chase',85,10,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2343,'Hidden Mob@NPC_INVISIBLE','attack',353,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2343,'Hidden Mob@NPC_INVISIBLE','idle',353,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2343,'Hidden Mob@WZ_STORMGUST','attack',89,5,10000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2353,'Nightmare Minorous@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2353,'Nightmare Minorous@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2353,'Nightmare Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2353,'Nightmare Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2353,'Nightmare Minorous@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2353,'Nightmare Minorous@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2354,'Nightmare Mummy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2354,'Nightmare Mummy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2354,'Nightmare Mummy@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2354,'Nightmare Mummy@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2354,'Nightmare Mummy@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2354,'Nightmare Mummy@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2355,'Nightmare Verit@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2355,'Nightmare Verit@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2355,'Nightmare Verit@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2356,'Nightmare Mimic@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2356,'Nightmare Mimic@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2356,'Nightmare Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2356,'Nightmare Mimic@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2356,'Nightmare Mimic@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2357,'Nightmare Mimic@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2357,'Nightmare Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2358,'Nightmare Arclouse@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2358,'Nightmare Arclouse@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2358,'Nightmare Arclouse@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2358,'Nightmare Arclouse@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2359,'Nightmare Arclouse@NPC_GROUNDATTACK','angry',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2359,'Nightmare Arclouse@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2360,'Nightmare Ancient Mummy@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2360,'Nightmare Ancient Mummy@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2360,'Nightmare Ancient Mummy@NPC_UNDEADATTACK','attack',347,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_CRITICALWOUND','attack',673,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_DARKBLESSING','attack',203,1,5000,0,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','longrangeattacked',NULL,2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','casttargeted',NULL,2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','longrangeattacked',NULL,2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','attack',209,5,5000,0,10000,'no','self','casttargeted',NULL,2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','18',2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','89',2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','21',2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','28',2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','79',2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_SUMMONMONSTER','idle',209,5,5000,0,10000,'no','self','skillused','83',2359,2357,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_FIREPILLAR','attack',80,10,5000,0,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_FIREPILLAR','idle',80,10,10000,0,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_FIREPILLAR','idle',80,10,10000,0,2000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','attack',83,10,5000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','idle',83,10,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','28',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','21',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','79',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','83',NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@WZ_METEOR','idle',83,10,10000,0,0,'yes','target','skillused','89',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2363,'Menblatt@KN_PIERCE','attack',56,10,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2363,'Menblatt@NPC_DARKSTRIKE','chase',340,5,2000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2363,'Menblatt@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (2363,'Menblatt@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (2364,'Petal@NPC_COMBOATTACK','attack',171,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2364,'Petal@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2364,'Petal@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2364,'Petal@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2365,'Cenere@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2365,'Cenere@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2365,'Cenere@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2365,'Cenere@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2365,'Cenere@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2365,'Cenere@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (2365,'Cenere@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2366,'Antique Book@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2366,'Antique Book@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2366,'Antique Book@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2367,'Lichtern@MG_COLDBOLT','attack',14,6,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2367,'Lichtern@MG_COLDBOLT','chase',14,6,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2367,'Lichtern@MG_FROSTDIVER','attack',15,9,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2367,'Lichtern@MG_FROSTDIVER','chase',15,9,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2367,'Lichtern@NPC_WATERATTACK','attack',184,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2367,'Lichtern@WZ_WATERBALL','attack',86,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2368,'Lichtern@MG_NAPALMBEAT','attack',11,7,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2368,'Lichtern@MG_NAPALMBEAT','attack',11,7,4000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2368,'Lichtern@MG_SOULSTRIKE','attack',13,9,3000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2368,'Lichtern@MG_SOULSTRIKE','chase',13,9,3000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2368,'Lichtern@NPC_STUNATTACK','attack',179,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2368,'Lichtern@NPC_STUNATTACK','chase',179,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2368,'Lichtern@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2369,'Lichtern@MG_FIREBALL','attack',17,7,2000,500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2369,'Lichtern@MG_FIREBALL','chase',17,5,3000,500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2369,'Lichtern@MG_FIREBOLT','attack',19,7,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2369,'Lichtern@MG_FIREBOLT','chase',19,7,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2369,'Lichtern@NPC_FIREATTACK','attack',186,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2369,'Lichtern@NPC_SLEEPATTACK','attack',182,5,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2369,'Lichtern@NPC_SLEEPATTACK','chase',182,5,1000,300,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2370,'Lichtern@MG_STONECURSE','attack',16,8,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2370,'Lichtern@MG_STONECURSE','chase',16,8,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2370,'Lichtern@NPC_GROUNDATTACK','attack',185,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2370,'Lichtern@WZ_EARTHSPIKE','attack',90,5,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2370,'Lichtern@WZ_EARTHSPIKE','chase',90,5,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2370,'Lichtern@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2370,'Lichtern@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2367,'Blue Lichtern@MG_COLDBOLT','attack',14,6,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2367,'Blue Lichtern@MG_COLDBOLT','chase',14,6,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2367,'Blue Lichtern@MG_FROSTDIVER','attack',15,9,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2367,'Blue Lichtern@MG_FROSTDIVER','chase',15,9,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2367,'Blue Lichtern@NPC_WATERATTACK','attack',184,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2367,'Blue Lichtern@WZ_WATERBALL','attack',86,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2368,'Yellow Lichtern@MG_NAPALMBEAT','attack',11,7,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2368,'Yellow Lichtern@MG_NAPALMBEAT','attack',11,7,4000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2368,'Yellow Lichtern@MG_SOULSTRIKE','attack',13,9,3000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2368,'Yellow Lichtern@MG_SOULSTRIKE','chase',13,9,3000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2368,'Yellow Lichtern@NPC_STUNATTACK','attack',179,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2368,'Yellow Lichtern@NPC_STUNATTACK','chase',179,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2368,'Yellow Lichtern@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2369,'Red Lichtern@MG_FIREBALL','attack',17,7,2000,500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2369,'Red Lichtern@MG_FIREBALL','chase',17,5,3000,500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2369,'Red Lichtern@MG_FIREBOLT','attack',19,7,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2369,'Red Lichtern@MG_FIREBOLT','chase',19,7,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2369,'Red Lichtern@NPC_FIREATTACK','attack',186,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2369,'Red Lichtern@NPC_SLEEPATTACK','attack',182,5,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2369,'Red Lichtern@NPC_SLEEPATTACK','chase',182,5,1000,300,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2370,'Green Lichtern@MG_STONECURSE','attack',16,8,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2370,'Green Lichtern@MG_STONECURSE','chase',16,8,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2370,'Green Lichtern@NPC_GROUNDATTACK','attack',185,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2370,'Green Lichtern@WZ_EARTHSPIKE','attack',90,5,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2370,'Green Lichtern@WZ_EARTHSPIKE','chase',90,5,3000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2370,'Green Lichtern@WZ_QUAGMIRE','attack',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2370,'Green Lichtern@WZ_QUAGMIRE','chase',92,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (2371,'Faithful Manager@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2371,'Faithful Manager@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2371,'Faithful Manager@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2371,'Faithful Manager@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2371,'Faithful Manager@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2371,'Faithful Manager@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2371,'Faithful Manager@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2371,'Faithful Manager@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
@@ -7904,44 +7921,170 @@ REPLACE INTO `mob_skill_db` VALUES (2408,'Lv 10@AL_HEAL','idle',28,10,10000,0,10
REPLACE INTO `mob_skill_db` VALUES (2409,'Lv 50@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2410,'Lv 100@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2411,'Lv 150@AL_HEAL','idle',28,10,10000,0,10000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2464,'Zombie@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'26');
-REPLACE INTO `mob_skill_db` VALUES (2464,'Zombie@NPC_UNDEADATTACK','chase',347,10,8000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2465,'Wraith@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2466,'Ghoul@NPC_UNDEADATTACK','chase',347,10,8000,1000,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2467,'Arclouze@NPC_GROUNDATTACK','attack',185,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2468,'Raydric@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2468,'Raydric@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2468,'Raydric@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2468,'Raydric@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2468,'Raydric@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',0,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2468,'Raydric@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2469,'Raydric Archer@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2469,'Raydric Archer@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2469,'Raydric Archer@NPC_DARKNESSATTACK','attack',190,10,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2470,'Abysmal Knight@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2470,'Abysmal Knight@CR_AUTOGUARD','attack',249,10,500,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2470,'Abysmal Knight@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2470,'Abysmal Knight@KN_BRANDISHSPEAR','attack',57,20,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2470,'Abysmal Knight@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@CR_SHIELDCHARGE','attack',250,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@NPC_CHANGEFIRE','attack',164,1,10000,2000,600000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@NPC_WEAPONBRAKER','attack',343,5,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@WZ_METEOR','attack',83,5,2000,0,5000,'no','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@WZ_METEOR','chase',83,5,2000,0,5000,'no','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2475,'Root of Corruption@NPC_DARKSTRIKE','attack',340,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2475,'Root of Corruption@NPC_HELLJUDGEMENT','idle',662,10,10000,4000,100,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2475,'Root of Corruption@NPC_HELLJUDGEMENT','attack',662,10,10000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2475,'Root of Corruption@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'3',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2475,'Root of Corruption@NPC_SILENCEATTACK','attack',178,10,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarias@MG_FIREBALL','chase',17,20,5000,500,1000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarias@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarias@NPC_DARKBREATH','attack',202,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarias@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarias@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarias@NPC_FIREBREATH','attack',654,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarias@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2464,'Corrupted Steward@AL_HEAL','idle',28,1,10000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'26');
+REPLACE INTO `mob_skill_db` VALUES (2464,'Corrupted Steward@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2464,'Corrupted Steward@NPC_UNDEADATTACK','chase',347,10,8000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2464,'Corrupted Steward@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2465,'Corrupted Monk@NPC_BLINDATTACK','attack',177,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2465,'Corrupted Monk@NPC_CURSEATTACK','attack',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2465,'Corrupted Monk@NPC_CURSEATTACK','chase',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2465,'Corrupted Monk@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2466,'Grand Chamberlain in Pa@NPC_BLEEDING','attack',660,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2466,'Grand Chamberlain in Pa@AL_HEAL','idle',28,1,10000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'26');
+REPLACE INTO `mob_skill_db` VALUES (2466,'Grand Chamberlain in Pa@NPC_BLOODDRAIN','attack',199,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2466,'Grand Chamberlain in Pa@NPC_UNDEADATTACK','chase',347,4,8000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2466,'Grand Chamberlain in Pa@NPC_UNDEADATTACK','attack',347,4,8000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2467,'Maggot@NPC_GROUNDATTACK','attack',185,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2468,'Corrupted Palace Guard@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2468,'Corrupted Palace Guard@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2468,'Corrupted Palace Guard@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2468,'Corrupted Palace Guard@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2468,'Corrupted Palace Guard@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2469,'Wandering Archer@AC_DOUBLE','attack',46,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2469,'Wandering Archer@AC_DOUBLE','chase',46,5,500,1000,1000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2469,'Wandering Archer@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2469,'Wandering Archer@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2470,'Corrupted Abysmal Knigh@KN_BRANDISHSPEAR','attack',57,10,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2470,'Corrupted Abysmal Knigh@AC_CHARGEARROW','chase',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2470,'Corrupted Abysmal Knigh@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2470,'Corrupted Abysmal Knigh@NPC_DARKNESSATTACK','attack',190,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2470,'Corrupted Abysmal Knigh@CR_AUTOGUARD','chase',249,10,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2470,'Corrupted Abysmal Knigh@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2470,'Corrupted Abysmal Knigh@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@BS_MAXIMIZE','attack',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@BS_MAXIMIZE','chase',114,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@AS_SONICBLOW','attack',136,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@NPC_SPLASHATTACK','angry',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@NPC_AGIUP','attack',350,1,10000,0,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2471,'Suffering Khalitzburg@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@KN_BRANDISHSPEAR','attack',57,7,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@WZ_METEOR','attack',83,7,2000,0,5000,'no','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@WZ_METEOR','chase',83,7,2000,0,5000,'no','target','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@NPC_PULSESTRIKE','attack',661,5,10000,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2472,'Bloody Knight@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2473,'1st Commander of Destru@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2473,'1st Commander of Destru@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2473,'1st Commander of Destru@NPC_PETRIFYATTACK','chase',180,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2473,'1st Commander of Destru@NPC_GRANDDARKNESS','attack',339,10,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2473,'1st Commander of Destru@NPC_DARKSTRIKE','idle',340,7,0,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2473,'1st Commander of Destru@NPC_DARKSTRIKE','chase',340,7,50,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2473,'1st Commander of Destru@NPC_POWERUP','attack',349,1,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2474,'2nd Commander of Destru@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2474,'2nd Commander of Destru@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2474,'2nd Commander of Destru@NPC_SILENCEATTACK','attack',178,1,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2474,'2nd Commander of Destru@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2474,'2nd Commander of Destru@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2474,'2nd Commander of Destru@NPC_POWERUP','attack',349,1,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2474,'2nd Commander of Destru@NPC_DARKSTRIKE','idle',340,7,0,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@AS_SONICBLOW','attack',136,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_BLOODDRAIN','idle',199,1,500,100,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@AM_DEMONSTRATION','angry',229,5,100,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_DARKSTRIKE','attack',340,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_HELLJUDGEMENT','idle',662,10,10000,4000,100,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_HELLJUDGEMENT','attack',662,5,10000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_WIDESILENCE','attack',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_WIDESILENCE','chase',663,5,10000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_CRITICALWOUND','attack',673,4,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_WIDECURSE','attack',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_WIDESTUN','attack',678,1,500,800,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2475,'Corrupted Soul@NPC_WIDESOULDRAIN','attack',680,7,1000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'42',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@SM_MAGNUM','attack',7,10,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_MENTALBREAKER','attack',159,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_MENTALBREAKER','chase',159,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_STUNATTACK','attack',179,5,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_DARKCROSS','attack',338,3,5000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_GRANDDARKNESS','attack',339,10,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_DARKSTRIKE','angry',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_DARKSTRIKE','attack',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_UNDEADATTACK','attack',347,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_CHANGEUNDEAD','attack',348,1,500,500,6000000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_HELLJUDGEMENT','attack',662,5,10000,800,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_HELLJUDGEMENT','chase',662,5,10000,800,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2476,'Amdarais@NPC_CRITICALWOUND','attack',673,4,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2477,'Nightmare Wander Man@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2477,'Nightmare Wander Man@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2477,'Nightmare Wander Man@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2477,'Nightmare Wander Man@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2477,'Nightmare Wander Man@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2477,'Nightmare Wander Man@NJ_ISSEN','attack',544,10,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2477,'Nightmare Wander Man@NPC_BLEEDING','idle',660,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2477,'Nightmare Wander Man@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2478,'Nightmare Rideword@NPC_PIERCINGATT','attack',158,3,500,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2478,'Nightmare Rideword@NPC_BLINDATTACK','attack',177,3,500,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2478,'Nightmare Rideword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2479,'Nightmare Mimic@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2479,'Nightmare Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2479,'Nightmare Mimic@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2479,'Nightmare Mimic@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2479,'Nightmare Mimic@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@NPC_BLINDATTACK','attack',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@NPC_BLINDATTACK','chase',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@NPC_CURSEATTACK','attack',181,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@NPC_CURSEATTACK','chase',181,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@NPC_UNDEADATTACK','chase',347,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2480,'Nightmare Evil Druid@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2481,'Nightmare Wraith Dead@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2481,'Nightmare Wraith Dead@NPC_BLINDATTACK','attack',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2481,'Nightmare Wraith Dead@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2481,'Nightmare Wraith Dead@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2481,'Nightmare Wraith Dead@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@KN_BRANDISHSPEAR','attack',57,10,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@WZ_VERMILION','attack',85,10,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@WZ_VERMILION','chase',85,10,2000,500,2000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@WZ_VERMILION','chase',85,10,5000,500,2000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_GUIDEDATTACK','attack',172,5,500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_DARKBREATH','attack',202,5,2000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@MO_BODYRELOCATION','chase',264,1,2000,200,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_DARKSTRIKE','chase',340,10,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_EARTHQUAKE','attack',653,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_EARTHQUAKE','chase',653,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_HELLJUDGEMENT','attack',662,5,10000,800,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_HELLJUDGEMENT','chase',662,5,10000,800,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_CALLSLAVE','idle',352,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_SUMMONSLAVE','attack',196,6,10000,700,10000,'no','self','slavele','3',2484,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_SUMMONSLAVE','idle',196,6,10000,700,10000,'no','self','slavele','3',2484,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2483,'Nightmare Baphomet@NPC_SUMMONSLAVE','idle',196,4,10000,0,0,'no','self','onspawn',NULL,2484,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2484,'Nightmare Baphomet Jr.@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2484,'Nightmare Baphomet Jr.@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2484,'Nightmare Baphomet Jr.@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2484,'Nightmare Baphomet Jr.@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2484,'Nightmare Baphomet Jr.@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2484,'Nightmare Baphomet Jr.@SA_DISPELL','attack',289,1,0,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2484,'Nightmare Baphomet Jr.@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2484,'Nightmare Baphomet Jr.@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2484,'Nightmare Baphomet Jr.@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2485,'Nightmare Chimera@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2485,'Nightmare Chimera@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2485,'Nightmare Chimera@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2485,'Nightmare Chimera@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2485,'Nightmare Chimera@NPC_FIREATTACK','attack',186,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2485,'Nightmare Chimera@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2485,'Nightmare Chimera@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2485,'Nightmare Chimera@NPC_SHIELDBRAKE','attack',346,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2485,'Nightmare Chimera@NPC_SUMMONSLAVE','idle',196,4,10000,2000,60000,'yes','self','slavele',NULL,1253,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2603,'Swift Zombie Slaughter@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2603,'Swift Zombie Slaughter@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2603,'Swift Zombie Slaughter@AS_SONICBLOW','attack',136,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -7951,12 +8094,12 @@ REPLACE INTO `mob_skill_db` VALUES (2603,'Swift Zombie Slaughter@NPC_POISON','at
REPLACE INTO `mob_skill_db` VALUES (2604,'Solid Zombie Prisoner@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2604,'Solid Zombie Prisoner@NPC_POISONATTACK','attack',188,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2604,'Solid Zombie Prisoner@NPC_UNDEADATTACK','attack',347,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleader@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleader@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1298,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleader@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleader@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleade@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleade@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleade@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleade@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1298,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleade@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2605,'Zombie Master Ringleade@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2606,'Furious Zombie@NPC_POISON','angry',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2606,'Furious Zombie@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2606,'Furious Zombie@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -7981,14 +8124,14 @@ REPLACE INTO `mob_skill_db` VALUES (2609,'Solid Yoyo@NPC_PROVOCATION','chase',19
REPLACE INTO `mob_skill_db` VALUES (2609,'Solid Yoyo@SM_PROVOKE','chase',6,10,500,600,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2609,'Solid Yoyo@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2610,'Wormtail Ringleader@NPC_GROUNDATTACK','attack',185,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2610,'Wormtail Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1024,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2610,'Wormtail Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1024,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2611,'Furious Wootan Fighter@KN_TWOHANDQUICKEN','attack',60,9,2000,0,120000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2611,'Furious Wootan Fighter@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Leshij@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Leshij@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Leshij@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Leshij@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Leshij@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Wood Goblin@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Wood Goblin@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Wood Goblin@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Wood Goblin@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2612,'Elusive Wood Goblin@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2613,'Swift Wolf@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2613,'Swift Wolf@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2613,'Swift Wolf@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -8004,7 +8147,7 @@ REPLACE INTO `mob_skill_db` VALUES (2614,'Solid Wind Ghost@WZ_JUPITEL','chase',8
REPLACE INTO `mob_skill_db` VALUES (2615,'Willow Ringleader@NPC_GROUNDATTACK','attack',185,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2615,'Willow Ringleader@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2615,'Willow Ringleader@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2615,'Willow Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1010,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2615,'Willow Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1010,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2616,'Furious Wild Rose@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2616,'Furious Wild Rose@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2616,'Furious Wild Rose@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8020,10 +8163,10 @@ REPLACE INTO `mob_skill_db` VALUES (2618,'Solid Whisper@AS_CLOAKING','attack',13
REPLACE INTO `mob_skill_db` VALUES (2618,'Solid Whisper@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2618,'Solid Whisper@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2618,'Solid Whisper@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'28',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2618,'Solid Whisper@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2618,'Solid Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,28,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2618,'Solid Whisper@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2618,'Solid Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,28,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2618,'Solid Whisper@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2619,'Weak Skeleton Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',2405,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2619,'Weak Skeleton Ringleade@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,2405,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2620,'Furious Wanderer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2620,'Furious Wanderer@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2620,'Furious Wanderer@NPC_BLEEDING','attack',660,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
@@ -8051,17 +8194,17 @@ REPLACE INTO `mob_skill_db` VALUES (2624,'Venomous Ringleader@NPC_POISON','attac
REPLACE INTO `mob_skill_db` VALUES (2624,'Venomous Ringleader@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (2624,'Venomous Ringleader@NPC_SELFDESTRUCTION','chase',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
REPLACE INTO `mob_skill_db` VALUES (2624,'Venomous Ringleader@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','skillused','173',NULL,NULL,NULL,NULL,NULL,'23',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2624,'Venomous Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1621,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2624,'Venomous Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1621,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2625,'Furious Venatu@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2625,'Furious Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2625,'Furious Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2625,'Furious Venatu@NPC_EMOTION','chase',197,1,100,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2625,'Furious Venatu@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2625,'Furious Venatu@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2625,'Furious Venatu@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2625,'Furious Venatu@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2626,'Elusive Baba-Yaga@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2626,'Elusive Baba-Yaga@NPC_COMBOATTACK','attack',171,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2626,'Elusive Baba-Yaga@WZ_WATERBALL','attack',86,2,2000,3000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2626,'Elusive Baba-Yaga@WZ_WATERBALL','chase',86,1,5000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2626,'Elusive Vavayaga@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2626,'Elusive Vavayaga@NPC_COMBOATTACK','attack',171,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2626,'Elusive Vavayaga@WZ_WATERBALL','attack',86,2,2000,3000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2626,'Elusive Vavayaga@WZ_WATERBALL','chase',86,1,5000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2627,'Swift Vanberk@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2627,'Swift Vanberk@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2627,'Swift Vanberk@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8081,9 +8224,9 @@ REPLACE INTO `mob_skill_db` VALUES (2629,'Ungoliant Ringleader@NPC_BLOODDRAIN','
REPLACE INTO `mob_skill_db` VALUES (2629,'Ungoliant Ringleader@NPC_DARKBREATH','attack',202,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2629,'Ungoliant Ringleader@NPC_PETRIFYATTACK','attack',180,2,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2629,'Ungoliant Ringleader@NPC_POISONATTACK','attack',188,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2629,'Ungoliant Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1618,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2630,'Furious Toucan@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2630,'Furious Toucan@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2629,'Ungoliant Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1618,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2630,'Furious Toucan@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2630,'Furious Toucan@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2630,'Furious Toucan@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2630,'Furious Toucan@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2630,'Furious Toucan@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
@@ -8099,7 +8242,7 @@ REPLACE INTO `mob_skill_db` VALUES (2632,'Solid Thief Bug@NPC_AGIUP','idle',350,
REPLACE INTO `mob_skill_db` VALUES (2632,'Solid Thief Bug@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2633,'Thief Bug Ringleader@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2633,'Thief Bug Ringleader@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2633,'Thief Bug Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1051,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2633,'Thief Bug Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1051,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2634,'Furious Thief Bug@NPC_AGIUP','idle',350,1,0,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2634,'Furious Thief Bug@NPC_AGIUP','loot',350,1,1000,0,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2635,'Elusive Thara Frog@NPC_LICK','attack',206,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -8117,19 +8260,19 @@ REPLACE INTO `mob_skill_db` VALUES (2636,'Swift Teddy Bear@SA_DISPELL','attack',
REPLACE INTO `mob_skill_db` VALUES (2637,'Solid Tatacho@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2637,'Solid Tatacho@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2637,'Solid Tatacho@HW_GANBANTEIN','attack',483,1,2000,0,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2637,'Solid Tatacho@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2637,'Solid Tatacho@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2637,'Solid Tatacho@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2637,'Solid Tatacho@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2637,'Solid Tatacho@NPC_STUNATTACK','attack',179,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2638,'Tarou Ringleader@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2638,'Tarou Ringleader@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2638,'Tarou Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1175,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2638,'Tarou Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1175,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2639,'Furious Tamruan@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2639,'Furious Tamruan@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2639,'Furious Tamruan@NPC_SILENCEATTACK','attack',178,5,2000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@AM_POTIONPITCHER','idle',231,4,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@AM_POTIONPITCHER','idle',231,4,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@KN_SPEARSTAB','attack',58,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
REPLACE INTO `mob_skill_db` VALUES (2640,'Elusive Sting@TF_HIDING','attack',51,1,2000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'10',NULL);
@@ -8143,12 +8286,12 @@ REPLACE INTO `mob_skill_db` VALUES (2642,'Solid Steel Chonchon@NPC_SILENCEATTACK
REPLACE INTO `mob_skill_db` VALUES (2642,'Solid Steel Chonchon@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2643,'Stapo Ringleader@NPC_KEEPING','attack',201,1,1000,1000,5000,'no','self','myhpltmaxrate','25',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2643,'Stapo Ringleader@SM_BASH','attack',5,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2643,'Stapo Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1784,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2643,'Stapo Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1784,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2644,'Furious Stalactic Golem@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2644,'Furious Stalactic Golem@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2644,'Furious Stalactic Golem@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2644,'Furious Stalactic Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0091,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2644,'Furious Stalactic Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2644,'Furious Stalactic Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2644,'Furious Stalactic Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2644,'Furious Stalactic Golem@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2644,'Furious Stalactic Golem@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2645,'Elusive Stainer@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'19',NULL);
@@ -8162,24 +8305,24 @@ REPLACE INTO `mob_skill_db` VALUES (2646,'Swift Spore@NPC_SLEEPATTACK','attack',
REPLACE INTO `mob_skill_db` VALUES (2646,'Swift Spore@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2647,'Solid Solider@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2647,'Solid Solider@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2647,'Solid Solider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0091,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2647,'Solid Solider@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2647,'Solid Solider@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2647,'Solid Solider@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2647,'Solid Solider@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2647,'Solid Solider@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringleader@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringleader@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringleader@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringleader@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringleader@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringleader@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1028,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleton@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleton@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleton@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleton@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleton@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleton@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringle@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringle@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringle@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringle@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringle@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringle@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2648,'Soldier Skeleton Ringle@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1028,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleto@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleto@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleto@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleto@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleto@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2649,'Furious Soldier Skeleto@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2650,'Elusive Lady Solace@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2650,'Elusive Lady Solace@CR_GRANDCROSS','attack',254,1,1000,1500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2650,'Elusive Lady Solace@MG_NAPALMBEAT','attack',11,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8205,8 +8348,8 @@ REPLACE INTO `mob_skill_db` VALUES (2652,'Solid Snowier@SM_BASH','attack',5,5,50
REPLACE INTO `mob_skill_db` VALUES (2652,'Solid Snowier@SM_ENDURE','chase',8,3,5000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2653,'Boa Ringleader@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2653,'Boa Ringleader@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2653,'Boa Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1025,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2654,'Furious Smokie@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2653,'Boa Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1025,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2654,'Furious Smokie@AL_HEAL','idle',28,5,10000,0,5000,'yes','self','mystatuson','24',NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2654,'Furious Smokie@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2654,'Furious Smokie@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2654,'Furious Smokie@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
@@ -8241,24 +8384,24 @@ REPLACE INTO `mob_skill_db` VALUES (2656,'Swift Sleeper@NPC_SLEEPATTACK','angry'
REPLACE INTO `mob_skill_db` VALUES (2656,'Swift Sleeper@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2656,'Swift Sleeper@TF_SPRINKLESAND','angry',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2656,'Swift Sleeper@TF_SPRINKLESAND','attack',149,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2657,'Solid Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','target','mystatuson','hiding',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2657,'Solid Skogul@AS_GRIMTOOTH','idle',137,5,10000,0,700,'yes','target','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2657,'Solid Skogul@MG_SOULSTRIKE','chase',13,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2657,'Solid Skogul@NPC_CURSEATTACK','attack',181,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2657,'Solid Skogul@NPC_DARKNESSATTACK','attack',190,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2657,'Solid Skogul@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'no','self','slavele','0',1762,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2657,'Solid Skogul@NPC_SUMMONSLAVE','attack',196,1,100,0,3600000,'no','self','slavele',NULL,1762,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2657,'Solid Skogul@TF_HIDING','idle',51,1,2000,0,180000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringleader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringleader@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringleader@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringleader@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1290,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringleader@NPC_UNDEADATTACK','attack',347,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton General@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton General@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton General@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton General@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton General@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1028,1016,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton General@NPC_UNDEADATTACK','attack',347,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringle@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringle@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringle@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringle@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringle@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1290,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2658,'Skeleton General Ringle@NPC_UNDEADATTACK','attack',347,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton Genera@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton Genera@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton Genera@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton Genera@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton Genera@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1028,1016,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2659,'Furious Skeleton Genera@NPC_UNDEADATTACK','attack',347,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2660,'Elusive Skeleton Worker@NPC_CRITICALSLASH','angry',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2660,'Elusive Skeleton Worker@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2660,'Elusive Skeleton Worker@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8279,7 +8422,7 @@ REPLACE INTO `mob_skill_db` VALUES (2662,'Solid Side Winder@NPC_POISONATTACK','a
REPLACE INTO `mob_skill_db` VALUES (2663,'Side Winder Ringleader@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2663,'Side Winder Ringleader@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2663,'Side Winder Ringleader@NPC_POISONATTACK','attack',188,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2663,'Side Winder Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1037,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2663,'Side Winder Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1037,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2664,'Furious Shinobi@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2664,'Furious Shinobi@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2664,'Furious Shinobi@AS_CLOAKING','idle',135,1,500,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8288,15 +8431,15 @@ REPLACE INTO `mob_skill_db` VALUES (2664,'Furious Shinobi@MO_BODYRELOCATION','ch
REPLACE INTO `mob_skill_db` VALUES (2664,'Furious Shinobi@NPC_REBIRTH','dead',208,2,5000,0,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2664,'Furious Shinobi@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2664,'Furious Shinobi@TF_BACKSLIDING','attack',150,1,10000,500,3600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of Shelter@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of Shelter@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of Shelter@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of Shelter@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of Shelter@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of Shelter@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of Shelter@NPC_DARKNESSATTACK','chase',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of Shelter@NPC_DARKTHUNDER','attack',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of Shelter@NPC_DARKTHUNDER','chase',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of She@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of She@AS_VENOMDUST','attack',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of She@AS_VENOMDUST','idle',140,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of She@NPC_BLINDATTACK','angry',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of She@NPC_BLINDATTACK','follow',177,7,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of She@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of She@NPC_DARKNESSATTACK','chase',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of She@NPC_DARKTHUNDER','attack',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2665,'Elusive Mistress of She@NPC_DARKTHUNDER','chase',341,4,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2666,'Swift Shellfish@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2666,'Swift Shellfish@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2666,'Swift Shellfish@NPC_WATERATTACK','attack',184,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8319,13 +8462,13 @@ REPLACE INTO `mob_skill_db` VALUES (2667,'Solid Cecil Damon@NPC_POWERUP','attack
REPLACE INTO `mob_skill_db` VALUES (2667,'Solid Cecil Damon@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2667,'Solid Cecil Damon@NPC_WINDATTACK','attack',187,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2667,'Solid Cecil Damon@SN_SHARPSHOOTING','attack',382,5,2000,500,1500,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@NPC_WATERATTACK','attack',184,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@WZ_WATERBALL','attack',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@WZ_WATERBALL','chase',86,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1323,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2668,'Sea Otter Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1323,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2669,'Furious Lamp Rey@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2669,'Furious Lamp Rey@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2669,'Furious Lamp Rey@NPC_BLEEDING','attack',660,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
@@ -8345,7 +8488,7 @@ REPLACE INTO `mob_skill_db` VALUES (2672,'Solid Savage@NPC_GROUNDATTACK','attack
REPLACE INTO `mob_skill_db` VALUES (2673,'Savage Ringleader@AL_INCAGI','chase',29,1,500,700,60000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2673,'Savage Ringleader@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2673,'Savage Ringleader@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2673,'Savage Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1166,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2673,'Savage Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1166,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2674,'Furious Sandman@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2674,'Furious Sandman@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2674,'Furious Sandman@AS_CLOAKING','idle',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8367,10 +8510,10 @@ REPLACE INTO `mob_skill_db` VALUES (2675,'Elusive Salamander@NPC_FIREATTACK','at
REPLACE INTO `mob_skill_db` VALUES (2675,'Elusive Salamander@NPC_WIDEBLEEDING','attack',665,2,10000,500,100000,'no','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2675,'Elusive Salamander@SM_MAGNUM','attack',7,7,1000,0,10000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2677,'Solid Roween@NPC_COMBOATTACK','attack',171,4,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2677,'Solid Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2677,'Solid Roween@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2677,'Solid Roween@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2678,'Roda Frog Ringleader@NPC_WATERATTACK','attack',184,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2678,'Roda Frog Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1012,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2678,'Roda Frog Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1012,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2679,'Furious Roda Frog@NPC_WATERATTACK','attack',184,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2680,'Elusive Rocker@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2680,'Elusive Rocker@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8382,34 +8525,34 @@ REPLACE INTO `mob_skill_db` VALUES (2681,'Swift Rideword@NPC_PIERCINGATT','attac
REPLACE INTO `mob_skill_db` VALUES (2682,'Solid Rideword@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2682,'Solid Rideword@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2682,'Solid Rideword@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2683,'Dumpling Child Ringleader@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2683,'Dumpling Child Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1409,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Retribution@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Retribution@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Retribution@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Retribution@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Retribution@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Retribution@NPC_GRANDDARKNESS','attack',339,1,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Retribution@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Retribution@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Retribution@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Retribution@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Retribution@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Retribution@NPC_GRANDDARKNESS','attack',339,1,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retribution@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retribution@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retribution@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retribution@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retribution@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retribution@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retribution@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retribution@NPC_GRANDDARKNESS','attack',339,1,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2683,'Dumpling Child Ringlead@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2683,'Dumpling Child Ringlead@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1409,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Ret@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Ret@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Ret@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Ret@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Ret@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2684,'Furious Baroness of Ret@NPC_GRANDDARKNESS','attack',339,1,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Ret@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Ret@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Ret@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Ret@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Ret@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2685,'Elusive Baroness of Ret@NPC_GRANDDARKNESS','attack',339,1,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retri@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retri@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retri@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retri@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retri@NPC_DARKBREATH','attack',202,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retri@NPC_DARKCROSS','attack',338,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retri@NPC_DARKNESSATTACK','attack',190,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2686,'Swift Baroness of Retri@NPC_GRANDDARKNESS','attack',339,1,500,700,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2687,'Solid Requiem@NPC_DARKNESSATTACK','attack',190,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2687,'Solid Requiem@NPC_EMOTION','walk',197,1,200,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2687,'Solid Requiem@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2688,'Remover Ringleader@NPC_UNDEADATTACK','attack',347,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2688,'Remover Ringleader@SM_BASH','attack',5,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2688,'Remover Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1682,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2688,'Remover Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1682,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2689,'Elusive Red Eruma@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2689,'Elusive Red Eruma@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2689,'Elusive Red Eruma@NPC_WINDATTACK','attack',187,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -8420,49 +8563,49 @@ REPLACE INTO `mob_skill_db` VALUES (2690,'Swift Raydric@BS_MAXIMIZE','chase',114
REPLACE INTO `mob_skill_db` VALUES (2690,'Swift Raydric@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2690,'Swift Raydric@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2690,'Swift Raydric@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2690,'Swift Raydric@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2690,'Swift Raydric@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2690,'Swift Raydric@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2691,'Solid Raydric@BS_MAXIMIZE','attack',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2691,'Solid Raydric@BS_MAXIMIZE','chase',114,5,500,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2691,'Solid Raydric@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2691,'Solid Raydric@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2691,'Solid Raydric@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2691,'Solid Raydric@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2691,'Solid Raydric@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2691,'Solid Raydric@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_LIGHTNINGBOLT','idle',20,9,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_SOULSTRIKE','attack',13,5,3000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_SOULSTRIKE','attack',13,3,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_SOULSTRIKE','idle',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1657,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_FROSTDIVER','chase',15,9,10000,500,20000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_LIGHTNINGBOLT','attack',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_LIGHTNINGBOLT','idle',20,9,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_LIGHTNINGBOLT','chase',20,7,10000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_SAFETYWALL','attack',12,10,2000,1000,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_SOULSTRIKE','attack',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_SOULSTRIKE','attack',13,5,3000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_SOULSTRIKE','attack',13,3,2000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_SOULSTRIKE','idle',13,9,5000,0,1000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@MG_THUNDERSTORM','attack',21,5,2000,1500,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2692,'Laurell Weinder Ringlea@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1657,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@NPC_CRITICALWOUND','attack',673,1,2000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@NPC_EMOTION','idle',197,1,3000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@NPC_STONESKIN','attack',675,3,10000,1000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@NPC_STONESKIN','chase',675,3,10000,1000,30000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2693,'Furious Rake Scaraba@PF_SPIDERWEB','chase',405,1,300,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (2694,'Elusive Raggler@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2694,'Elusive Raggler@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2694,'Elusive Raggler@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2694,'Elusive Raggler@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2694,'Elusive Raggler@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2694,'Elusive Raggler@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2696,'Poring Ringleader@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2696,'Poring Ringleader@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2696,'Poring Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1002,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2696,'Poring Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1002,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2697,'Furious Poring@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2697,'Furious Poring@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2698,'Elusive Poring@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2698,'Eluisve Poring@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2698,'Elusive Poring@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2699,'Swift Poring@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2699,'Swift Poring@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2699,'Swift Poring@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8473,22 +8616,22 @@ REPLACE INTO `mob_skill_db` VALUES (2700,'Solid Porcellio@NPC_KEEPING','attack',
REPLACE INTO `mob_skill_db` VALUES (2701,'Poporing Ringleader@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2701,'Poporing Ringleader@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2701,'Poporing Ringleader@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2701,'Poporing Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1031,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2701,'Poporing Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1031,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2702,'Furious Poporing@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2702,'Furious Poporing@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2702,'Furious Poporing@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2703,'Elusive Poporing@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2703,'Elusive Poporing@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2703,'Elusive Poporing@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poisonous Toad@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poisonous Toad@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poisonous Toad@NPC_COMBOATTACK','attack',171,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poisonous Toad@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poisonous Toad@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poisonous Toad@NPC_POISONATTACK','attack',188,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2705,'Solid Poison Spore@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2705,'Solid Poison Spore@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2705,'Solid Poison Spore@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poison Toad@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poison Toad@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poison Toad@NPC_COMBOATTACK','attack',171,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poison Toad@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poison Toad@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2704,'Swift Poison Toad@NPC_POISONATTACK','attack',188,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2705,'Solid Poison Spore@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2705,'Solid Poison Spore@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2705,'Solid Poison Spore@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2705,'Solid Poison Spore@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2705,'Solid Poison Spore@NPC_POISON','attack',176,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2705,'Solid Poison Spore@NPC_POISONATTACK','angry',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8500,7 +8643,7 @@ REPLACE INTO `mob_skill_db` VALUES (2706,'Plasma Ringleader@MG_SOULSTRIKE','chas
REPLACE INTO `mob_skill_db` VALUES (2706,'Plasma Ringleader@NPC_STUNATTACK','attack',179,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
REPLACE INTO `mob_skill_db` VALUES (2706,'Plasma Ringleader@NPC_STUNATTACK','chase',179,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'39',NULL);
REPLACE INTO `mob_skill_db` VALUES (2706,'Plasma Ringleader@NPC_TELEKINESISATTACK','attack',191,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2706,'Plasma Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1693,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2706,'Plasma Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1693,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2707,'Furious Plankton@NPC_WATERATTACK','attack',184,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2708,'Elusive Pitman@HT_CLAYMORETRAP','idle',123,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2708,'Elusive Pitman@NPC_COMBOATTACK','attack',171,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8521,8 +8664,8 @@ REPLACE INTO `mob_skill_db` VALUES (2709,'Swift Piranha@WZ_WATERBALL','attack',8
REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_BLOODDRAIN','attack',199,1,5000,500,5000,'yes','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
@@ -8530,28 +8673,28 @@ REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_STOP','attac
REPLACE INTO `mob_skill_db` VALUES (2710,'Solid Dark Pinguicula@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@AL_HEAL','idle',28,9,10000,3000,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@AL_HEAL','idle',28,9,5000,500,5000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_SLEEPATTACK','attack',182,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_SPLASHATTACK','attack',174,1,3000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_STUNATTACK','attack',179,3,1000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1995,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2711,'Pinguicula Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1995,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2712,'Furious Picky@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2712,'Furious Picky@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2713,'Elusive Phen@NPC_PROVOCATION','chase',194,1,200,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2713,'Elusive Phen@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2714,'Swift Petite@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2715,'Solid Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2715,'Solid Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2715,'Solid Petite@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2715,'Solid Petite@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2715,'Solid Petite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2715,'Solid Petite@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2715,'Solid Petite@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8559,7 +8702,7 @@ REPLACE INTO `mob_skill_db` VALUES (2715,'Solid Petite@SM_BASH','attack',5,5,500
REPLACE INTO `mob_skill_db` VALUES (2716,'Penomena Ringleader@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2716,'Penomena Ringleader@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2716,'Penomena Ringleader@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2716,'Penomena Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1216,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2716,'Penomena Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1216,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2717,'Furious Penomena@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2717,'Furious Penomena@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2717,'Furious Penomena@NPC_POISONATTACK','attack',188,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8573,8 +8716,8 @@ REPLACE INTO `mob_skill_db` VALUES (2719,'Swift Pasana@AL_HEAL','attack',28,5,10
REPLACE INTO `mob_skill_db` VALUES (2719,'Swift Pasana@NPC_BLEEDING','attack',660,2,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2719,'Swift Pasana@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2719,'Swift Pasana@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2719,'Swift Pasana@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2719,'Swift Pasana@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2719,'Swift Pasana@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2719,'Swift Pasana@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2719,'Swift Pasana@SM_BASH','attack',5,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2720,'Solid Parasite@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2720,'Solid Parasite@NPC_CURSEATTACK','chase',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
@@ -8586,15 +8729,15 @@ REPLACE INTO `mob_skill_db` VALUES (2720,'Solid Parasite@NPC_POISON','chase',176
REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@MG_LIGHTNINGBOLT','attack',20,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@MG_LIGHTNINGBOLT','chase',20,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@PR_LEXDIVINA','attack',76,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@PR_LEXDIVINA','chase',76,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1320,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2722,'Furious Orc Warrior@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2722,'Furious Orc Warrior@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2722,'Furious Orc Warrior@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2721,'Owl Duke Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1320,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2722,'Furious Orc Warrior@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2722,'Furious Orc Warrior@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2722,'Furious Orc Warrior@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2722,'Furious Orc Warrior@NPC_EMOTION','follow',197,1,2000,0,5000,'yes','self','always',NULL,27,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2722,'Furious Orc Warrior@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2722,'Furious Orc Warrior@NPC_GROUNDATTACK','angry',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -8615,18 +8758,18 @@ REPLACE INTO `mob_skill_db` VALUES (2724,'Swift Orc Skeleton@NPC_UNDEADATTACK','
REPLACE INTO `mob_skill_db` VALUES (2725,'Solid Orc Lady@AL_INCAGI','chase',29,1,500,700,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
REPLACE INTO `mob_skill_db` VALUES (2725,'Solid Orc Lady@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2725,'Solid Orc Lady@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@RG_INTIMIDATE','attack',219,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@WZ_JUPITEL','attack',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@WZ_JUPITEL','chase',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1700,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@AL_HEAL','chase',28,9,10000,500,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@MG_SAFETYWALL','attack',12,5,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@NPC_HOLYATTACK','attack',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@NPC_HOLYATTACK','chase',189,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@RG_INTIMIDATE','attack',219,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@WZ_JUPITEL','attack',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@WZ_JUPITEL','chase',84,4,1000,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2726,'Dame of Sentinel Ringle@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1700,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2727,'Furious Noxious@NPC_MENTALBREAKER','attack',159,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
REPLACE INTO `mob_skill_db` VALUES (2727,'Furious Noxious@NPC_MENTALBREAKER','chase',159,2,500,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'14',NULL);
REPLACE INTO `mob_skill_db` VALUES (2727,'Furious Noxious@NPC_SELFDESTRUCTION','attack',173,1,500,2000,5000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'23',NULL);
@@ -8655,35 +8798,35 @@ REPLACE INTO `mob_skill_db` VALUES (2731,'Novus Ringleader@NPC_COMBOATTACK','att
REPLACE INTO `mob_skill_db` VALUES (2731,'Novus Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2731,'Novus Ringleader@NPC_PIERCINGATT','attack',158,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2731,'Novus Ringleader@SM_BASH','attack',5,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2731,'Novus Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1715,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terror@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terror@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terror@NPC_DARKSTRIKE','angry',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terror@NPC_DARKSTRIKE','attack',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terror@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terror@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terror@NPC_MENTALBREAKER','angry',159,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terror@NPC_MENTALBREAKER','attack',159,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead (Nightmare)@AL_DECAGI','chase',30,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead (Nightmare)@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead (Nightmare)@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead (Nightmare)@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead (Nightmare)@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead (Nightmare)@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer (Nightmare)@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer (Nightmare)@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer (Nightmare)@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer (Nightmare)@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer (Nightmare)@NPC_BLEEDING','attack',660,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer (Nightmare)@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer (Nightmare)@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer (Nightmare)@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer (Nightmare)@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nepenthes@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nepenthes@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nepenthes@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nepenthes@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nepenthes@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2731,'Novus Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1715,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terro@NPC_CURSEATTACK','angry',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terro@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terro@NPC_DARKSTRIKE','angry',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terro@NPC_DARKSTRIKE','attack',340,7,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terro@NPC_FIREATTACK','angry',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terro@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terro@NPC_MENTALBREAKER','angry',159,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2732,'Furious Nightmare Terro@NPC_MENTALBREAKER','attack',159,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead@AL_DECAGI','chase',30,9,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead@NPC_CURSEATTACK','attack',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead@NPC_CURSEATTACK','chase',181,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2733,'Elusive Wraith Dead@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer@KN_AUTOCOUNTER','attack',61,5,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer@NPC_BLEEDING','attack',660,1,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer@NPC_UNDEADATTACK','attack',347,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2734,'Swift Wanderer@RG_INTIMIDATE','attack',219,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nephentes@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nephentes@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nephentes@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nephentes@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2735,'Solid Nephentes@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
REPLACE INTO `mob_skill_db` VALUES (2736,'Necromancer Ringleader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2736,'Necromancer Ringleader@AL_TELEPORT','walk',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2736,'Necromancer Ringleader@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -8713,7 +8856,7 @@ REPLACE INTO `mob_skill_db` VALUES (2736,'Necromancer Ringleader@WZ_METEOR','cha
REPLACE INTO `mob_skill_db` VALUES (2736,'Necromancer Ringleader@WZ_METEOR','chase',83,3,3000,500,10000,'no','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2736,'Necromancer Ringleader@WZ_QUAGMIRE','attack',92,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
REPLACE INTO `mob_skill_db` VALUES (2736,'Necromancer Ringleader@WZ_QUAGMIRE','chase',92,5,500,200,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2736,'Necromancer Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1870,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2736,'Necromancer Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1870,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2737,'Furious Myst Case@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2737,'Furious Myst Case@KN_SPEARSTAB','attack',58,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2737,'Furious Myst Case@MC_MAMMONITE','attack',42,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
@@ -8730,61 +8873,61 @@ REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@AL_TELEPORT','attack',26,1
REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2739,'Swift Mummy@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2740,'Solid Mummy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2740,'Solid Mummy@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2740,'Solid Mummy@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2740,'Solid Mummy@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2740,'Solid Mummy@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2740,'Solid Mummy@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2740,'Solid Mummy@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2740,'Solid Mummy@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2740,'Solid Mummy@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2741,'Muka Ringleader@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2741,'Muka Ringleader@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2741,'Muka Ringleader@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2741,'Muka Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1055,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@NPC_GRANDDARKNESS','attack',339,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@NPC_WIDECURSE','attack',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@NPC_WIDECURSE','chase',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@SA_DISPELL','attack',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of Morroc@SA_DISPELL','chase',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@NPC_GRANDDARKNESS','attack',339,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@NPC_WIDECURSE','attack',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@NPC_WIDECURSE','chase',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@SA_DISPELL','attack',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of Morroc@SA_DISPELL','chase',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@NPC_GRANDDARKNESS','attack',339,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@NPC_WIDECURSE','attack',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@NPC_WIDECURSE','chase',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@SA_DISPELL','attack',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Morroc@SA_DISPELL','chase',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2741,'Muka Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1055,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @NPC_GRANDDARKNESS','attack',339,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @NPC_WIDECURSE','attack',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @NPC_WIDECURSE','chase',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @SA_DISPELL','attack',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2742,'Furious Incarnation of @SA_DISPELL','chase',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @NPC_GRANDDARKNESS','attack',339,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @NPC_WIDECURSE','attack',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @NPC_WIDECURSE','chase',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @SA_DISPELL','attack',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2743,'Elusive Incarnation of @SA_DISPELL','chase',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@AL_HEAL','idle',28,10,10000,0,5000,'yes','self','myhpltmaxrate','45',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@NPC_GRANDDARKNESS','attack',339,5,10000,2000,30000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@NPC_MAGICMIRROR','chase',671,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@NPC_PULSESTRIKE','chase',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@NPC_SLOWCAST','attack',672,5,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@NPC_WIDECURSE','attack',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@NPC_WIDECURSE','chase',677,5,5000,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@SA_DISPELL','attack',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2744,'Swift Incarnation of Mo@SA_DISPELL','chase',289,5,100,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2745,'Solid Holden@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2745,'Solid Holden@NPC_COMBOATTACK','chase',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2745,'Solid Holden@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8799,25 +8942,25 @@ REPLACE INTO `mob_skill_db` VALUES (2746,'Miyabi Doll Ringleader@NPC_CURSEATTACK
REPLACE INTO `mob_skill_db` VALUES (2746,'Miyabi Doll Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2746,'Miyabi Doll Ringleader@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2746,'Miyabi Doll Ringleader@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2746,'Miyabi Doll Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1404,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2746,'Miyabi Doll Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1404,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2747,'Furious Minorous@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2747,'Furious Minorous@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2747,'Furious Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2747,'Furious Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2747,'Furious Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2747,'Furious Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2747,'Furious Minorous@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2747,'Furious Minorous@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2748,'Elusive Minorous@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2748,'Elusive Minorous@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2748,'Elusive Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2748,'Elusive Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2748,'Elusive Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2748,'Elusive Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2748,'Elusive Minorous@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2748,'Elusive Minorous@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@BS_HAMMERFALL','attack',110,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2749,'Swift Minorous@WZ_HEAVENDRIVE','attack',91,3,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2750,'Solid Mineral@CR_REFLECTSHIELD','attack',252,2,1000,1000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8840,7 +8983,7 @@ REPLACE INTO `mob_skill_db` VALUES (2751,'Miming Ringleader@NPC_STUNATTACK','att
REPLACE INTO `mob_skill_db` VALUES (2751,'Miming Ringleader@SA_REVERSEORCISH','attack',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2751,'Miming Ringleader@SA_REVERSEORCISH','chase',294,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2751,'Miming Ringleader@WZ_WATERBALL','attack',86,3,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2751,'Miming Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',2137,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2751,'Miming Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,2137,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2752,'Furious Mimic@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2752,'Furious Mimic@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2752,'Furious Mimic@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
@@ -8867,10 +9010,10 @@ REPLACE INTO `mob_skill_db` VALUES (2756,'Metaling Ringleader@CR_AUTOGUARD','cha
REPLACE INTO `mob_skill_db` VALUES (2756,'Metaling Ringleader@CR_REFLECTSHIELD','attack',252,3,1000,0,200000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (2756,'Metaling Ringleader@MC_MAMMONITE','attack',42,5,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
REPLACE INTO `mob_skill_db` VALUES (2756,'Metaling Ringleader@RG_STRIPWEAPON','attack',215,3,500,0,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2756,'Metaling Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1613,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2756,'Metaling Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1613,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2757,'Furious Merman@KN_PIERCE','attack',56,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2757,'Furious Merman@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2757,'Furious Merman@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2757,'Furious Merman@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2757,'Furious Merman@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2757,'Furious Merman@NPC_RANGEATTACK','chase',160,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2757,'Furious Merman@NPC_WATERATTACK','attack',184,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2758,'Elusive Menblatt@KN_PIERCE','attack',56,10,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -8881,8 +9024,8 @@ REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@AL_TELEPORT','attack',26,
REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@MG_STONECURSE','attack',16,10,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@NPC_BLEEDING','attack',660,5,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2759,'Swift Medusa@NPC_PETRIFYATTACK','chase',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2760,'Solid Martin@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8892,7 +9035,7 @@ REPLACE INTO `mob_skill_db` VALUES (2761,'Marionette Ringleader@HT_FREEZINGTRAP'
REPLACE INTO `mob_skill_db` VALUES (2761,'Marionette Ringleader@MG_FIREWALL','chase',18,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2761,'Marionette Ringleader@NPC_FIREATTACK','attack',186,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2761,'Marionette Ringleader@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2761,'Marionette Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1143,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2761,'Marionette Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1143,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2762,'Furious Marin@MG_FROSTDIVER','attack',15,5,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2762,'Furious Marin@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2762,'Furious Marin@NPC_WATERATTACK','attack',184,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8906,8 +9049,8 @@ REPLACE INTO `mob_skill_db` VALUES (2763,'Elusive Marduk@NPC_MAGICALATTACK','att
REPLACE INTO `mob_skill_db` VALUES (2764,'Swift Mantis@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2764,'Swift Mantis@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2764,'Swift Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2764,'Swift Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2764,'Swift Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2764,'Swift Mantis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2764,'Swift Mantis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2764,'Swift Mantis@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2765,'Solid Mandragora@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2766,'Manananggal Ringleader@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8918,13 +9061,13 @@ REPLACE INTO `mob_skill_db` VALUES (2766,'Manananggal Ringleader@NPC_COMBOATTACK
REPLACE INTO `mob_skill_db` VALUES (2766,'Manananggal Ringleader@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2766,'Manananggal Ringleader@NPC_WINDATTACK','angry',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2766,'Manananggal Ringleader@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2766,'Manananggal Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',2311,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2766,'Manananggal Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,2311,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@BS_HAMMERFALL','attack',110,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele','0',1149,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1149,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@WZ_HEAVENDRIVE','attack',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2767,'Furious Majoruros@WZ_HEAVENDRIVE','chase',91,5,500,1200,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2768,'Elusive Magnolia@HT_FLASHER','idle',120,5,500,0,300000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -8938,7 +9081,7 @@ REPLACE INTO `mob_skill_db` VALUES (2769,'Swift Magmaring@MG_FIREBOLT','attack',
REPLACE INTO `mob_skill_db` VALUES (2769,'Swift Magmaring@NPC_FIREATTACK','attack',186,2,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (2769,'Swift Magmaring@SM_BASH','attack',5,4,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2769,'Swift Magmaring@SM_MAGNUM','attack',7,5,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2771,'Lunatic Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1063,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2771,'Lunatic Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1063,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2772,'Furious Lude@AL_HEAL','attack',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2772,'Furious Lude@AL_HEAL','chase',28,9,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2772,'Furious Lude@AL_HEAL','attack',28,9,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
@@ -8959,17 +9102,17 @@ REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@AL_HEAL','attack',28,5
REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@NPC_DARKSTRIKE','chase',340,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@NPC_DARKSTRIKE','attack',340,5,500,700,5000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,3,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele','0',0,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@NPC_SUMMONSLAVE','idle',196,1,500,2000,60000,'no','self','slavele',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@PR_LEXDIVINA','attack',76,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@PR_LEXDIVINA','chase',76,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@SA_REVERSEORCISH','attack',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2774,'Swift Loli Ruri@SA_REVERSEORCISH','chase',294,1,50,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach Tree@AM_POTIONPITCHER','idle',231,3,10000,500,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach Tree@AM_POTIONPITCHER','attack',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach Tree@AM_POTIONPITCHER','chase',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach Tree@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach Tree@NPC_GUIDEDATTACK','chase',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2776,'Little Poring Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',2398,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach T@AM_POTIONPITCHER','idle',231,3,10000,500,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach T@AM_POTIONPITCHER','attack',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach T@AM_POTIONPITCHER','chase',231,2,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach T@NPC_GUIDEDATTACK','attack',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2775,'Solid Enchanted Peach T@NPC_GUIDEDATTACK','chase',172,3,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2776,'Baby Poring Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,2398,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2777,'Furious Little Fatum@MG_LIGHTNINGBOLT','chase',20,5,10000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
REPLACE INTO `mob_skill_db` VALUES (2777,'Furious Little Fatum@MG_THUNDERSTORM','attack',21,3,2000,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2777,'Furious Little Fatum@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -8983,32 +9126,32 @@ REPLACE INTO `mob_skill_db` VALUES (2777,'Furious Little Fatum@TF_SPRINKLESAND',
REPLACE INTO `mob_skill_db` VALUES (2777,'Furious Little Fatum@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (2778,'Elusive Jing Guai@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2778,'Elusive Jing Guai@NPC_RANGEATTACK','chase',160,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Lesavka@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Lesavka@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Lesavka@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Lesavka@NPC_BLEEDING','attack',660,3,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Lesavka@NPC_COMBOATTACK','attack',171,2,3000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Lesavka@NPC_POISON','attack',176,2,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Les@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Les@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Les@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Les@NPC_BLEEDING','attack',660,3,2000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Les@NPC_COMBOATTACK','attack',171,2,3000,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2779,'Swift Les@NPC_POISON','attack',176,2,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele','0',1243,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@NPC_SUMMONSLAVE','idle',196,3,10000,2000,60000,'no','self','slavele',NULL,1243,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2780,'Solid Leib Olmai@SM_MAGNUM','attack',7,9,500,500,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2781,'Leaf Cat Ringleader@AL_HEAL','attack',28,1,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2781,'Leaf Cat Ringleader@AL_HEAL','chase',28,1,10000,500,5000,'no','friend','friendhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2781,'Leaf Cat Ringleader@AL_HEAL','attack',28,1,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
REPLACE INTO `mob_skill_db` VALUES (2781,'Leaf Cat Ringleader@AL_HEAL','chase',28,1,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2781,'Leaf Cat Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1586,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2781,'Leaf Cat Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1586,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2784,'Swift Kobold Archer@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2784,'Swift Kobold Archer@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2784,'Swift Kobold Archer@AC_DOUBLE','attack',46,3,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2784,'Swift Kobold Archer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2784,'Swift Kobold Archer@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2785,'Solid Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2785,'Solid Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2785,'Solid Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2785,'Solid Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2785,'Solid Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2785,'Solid Kobold@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2786,'Knocker Ringleader@HT_LANDMINE','idle',116,2,4000,1000,18000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'5',NULL);
@@ -9016,7 +9159,7 @@ REPLACE INTO `mob_skill_db` VALUES (2786,'Knocker Ringleader@NPC_GROUNDATTACK','
REPLACE INTO `mob_skill_db` VALUES (2786,'Knocker Ringleader@TF_SPRINKLESAND','attack',149,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2786,'Knocker Ringleader@TF_THROWSTONE','attack',152,1,1000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2786,'Knocker Ringleader@TF_THROWSTONE','chase',152,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2786,'Knocker Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1838,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2786,'Knocker Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1838,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2787,'Furious Beetle King@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2787,'Furious Beetle King@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2787,'Furious Beetle King@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
@@ -9038,14 +9181,14 @@ REPLACE INTO `mob_skill_db` VALUES (2788,'Elusive Kasa@WZ_SIGHTRASHER','attack',
REPLACE INTO `mob_skill_db` VALUES (2789,'Swift Karakasa@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2789,'Swift Karakasa@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2789,'Swift Karakasa@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2789,'Swift Karakasa@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,28,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2789,'Swift Karakasa@NPC_EMOTION','attack',197,1,10000,0,30000,'yes','self','always',NULL,28,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2789,'Swift Karakasa@NPC_HALLUCINATION','attack',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'31',NULL);
REPLACE INTO `mob_skill_db` VALUES (2789,'Swift Karakasa@NPC_HALLUCINATION','chase',207,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'31',NULL);
REPLACE INTO `mob_skill_db` VALUES (2789,'Swift Karakasa@WZ_WATERBALL','chase',86,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2790,'Solid Isis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2790,'Solid Isis@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2790,'Solid Isis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2790,'Solid Isis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2790,'Solid Isis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2790,'Solid Isis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2791,'Isilla Ringleader@AL_HEAL','attack',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2791,'Isilla Ringleader@AL_HEAL','idle',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2791,'Isilla Ringleader@AL_HEAL','chase',28,5,3000,0,5000,'yes','friend','friendhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
@@ -9061,7 +9204,7 @@ REPLACE INTO `mob_skill_db` VALUES (2791,'Isilla Ringleader@PR_LEXDIVINA','attac
REPLACE INTO `mob_skill_db` VALUES (2791,'Isilla Ringleader@PR_LEXDIVINA','chase',76,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (2791,'Isilla Ringleader@PR_LEXDIVINA','attack',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (2791,'Isilla Ringleader@PR_LEXDIVINA','chase',76,1,5000,0,5000,'yes','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2791,'Isilla Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1772,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2791,'Isilla Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1772,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2792,'Furious Injustice@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2792,'Furious Injustice@NPC_DARKNESSATTACK','attack',190,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2793,'Elusive Mi Gao@NPC_METAMORPHOSIS','attack',193,1,50,5000,5000,'no','self','always',NULL,1516,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9084,29 +9227,29 @@ REPLACE INTO `mob_skill_db` VALUES (2795,'Solid Iara@WZ_WATERBALL','attack',86,3
REPLACE INTO `mob_skill_db` VALUES (2796,'Yao Jun Ringleader@AS_SONICBLOW','attack',136,5,500,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2796,'Yao Jun Ringleader@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2796,'Yao Jun Ringleader@NPC_CRITICALSLASH','attack',170,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2796,'Yao Jun Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1512,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2796,'Yao Jun Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1512,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_EMOTION','follow',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_WINDATTACK','angry',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2797,'Furious Hunter Fly@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2798,'Elusive Hornet@NPC_PIERCINGATT','attack',158,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2798,'Elusive Hornet@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@NPC_BLEEDING','attack',660,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@NPC_COMBOATTACK','chase',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-Horn Scaraba@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@NPC_BLEEDING','attack',660,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@NPC_COMBOATTACK','chase',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@NPC_PIERCINGATT','attack',158,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2799,'Swift Uni-horn Scaraba@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2800,'Solid Horn@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2800,'Solid Horn@NPC_PIERCINGATT','attack',158,2,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2801,'Hodremlin Ringleader@AS_SONICBLOW','attack',136,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9116,7 +9259,7 @@ REPLACE INTO `mob_skill_db` VALUES (2801,'Hodremlin Ringleader@NPC_CRITICALSLASH
REPLACE INTO `mob_skill_db` VALUES (2801,'Hodremlin Ringleader@NPC_DARKNESSATTACK','attack',190,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
REPLACE INTO `mob_skill_db` VALUES (2801,'Hodremlin Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,52,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2801,'Hodremlin Ringleader@RG_STRIPARMOR','attack',217,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2801,'Hodremlin Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1773,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2801,'Hodremlin Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1773,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2802,'Furious Hode@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2802,'Furious Hode@AS_CLOAKING','chase',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2802,'Furious Hode@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -9133,8 +9276,8 @@ REPLACE INTO `mob_skill_db` VALUES (2804,'Swift Hill Wind@NPC_WINDATTACK','chase
REPLACE INTO `mob_skill_db` VALUES (2804,'Swift Hill Wind@WZ_JUPITEL','attack',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2804,'Swift Hill Wind@WZ_JUPITEL','chase',84,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2805,'Solid High Orc@CR_SHIELDCHARGE','attack',250,2,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2805,'Solid High Orc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2805,'Solid High Orc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2805,'Solid High Orc@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2805,'Solid High Orc@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2805,'Solid High Orc@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2805,'Solid High Orc@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2805,'Solid High Orc@NPC_SMOKING','idle',195,1,500,0,36000000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'32',NULL);
@@ -9148,7 +9291,7 @@ REPLACE INTO `mob_skill_db` VALUES (2806,'Harpy Ringleader@NPC_SILENCEATTACK','f
REPLACE INTO `mob_skill_db` VALUES (2806,'Harpy Ringleader@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
REPLACE INTO `mob_skill_db` VALUES (2806,'Harpy Ringleader@NPC_WINDATTACK','angry',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2806,'Harpy Ringleader@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2806,'Harpy Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1376,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2806,'Harpy Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1376,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2807,'Furious Harpy@NPC_BLOODDRAIN','angry',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2807,'Furious Harpy@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2807,'Furious Harpy@NPC_COMBOATTACK','angry',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9169,52 +9312,52 @@ REPLACE INTO `mob_skill_db` VALUES (2809,'Swift Greatest General@NPC_FIREATTACK'
REPLACE INTO `mob_skill_db` VALUES (2809,'Swift Greatest General@WZ_EARTHSPIKE','idle',90,3,5000,1500,5000,'no','target','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2809,'Swift Greatest General@WZ_EARTHSPIKE','idle',90,3,5000,1500,5000,'no','target','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2810,'Solid Grand Peco@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2810,'Solid Grand Peco@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2810,'Solid Grand Peco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2810,'Solid Grand Peco@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2810,'Solid Grand Peco@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2810,'Solid Grand Peco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2810,'Solid Grand Peco@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2810,'Solid Grand Peco@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1369,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2811,'Grand Peco Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1369,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2812,'Furious Golem@CR_AUTOGUARD','attack',249,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2812,'Furious Golem@CR_AUTOGUARD','chase',249,2,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2812,'Furious Golem@CR_SHIELDCHARGE','attack',250,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2812,'Furious Golem@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2812,'Furious Golem@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2813,'Elusive Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2813,'Elusive Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2813,'Elusive Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2813,'Elusive Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2813,'Elusive Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,18,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2813,'Elusive Goblin@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2814,'Swift Goblin@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2814,'Swift Goblin@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2814,'Swift Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2814,'Swift Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x308D,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2814,'Swift Goblin@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2814,'Swift Goblin@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,12429,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2814,'Swift Goblin@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,18,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2814,'Swift Goblin@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2815,'Solid Goat@BS_ADRENALINE','attack',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2815,'Solid Goat@BS_ADRENALINE','chase',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2815,'Solid Goat@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2815,'Solid Goat@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x1089,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2815,'Solid Goat@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,4233,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2815,'Solid Goat@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2815,'Solid Goat@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2816,'Goat Ringleader@BS_ADRENALINE','attack',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2816,'Goat Ringleader@BS_ADRENALINE','chase',111,10,500,1500,300000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2816,'Goat Ringleader@NPC_CRITICALWOUND','attack',673,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2816,'Goat Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x1089,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2816,'Goat Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,4233,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2816,'Goat Ringleader@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2816,'Goat Ringleader@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2816,'Goat Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1372,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2817,'Furious Dark Hammer Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2817,'Furious Dark Hammer Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2817,'Furious Dark Hammer Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2817,'Furious Dark Hammer Kobold@NPC_POISONATTACK','attack',188,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2818,'Elusive Dark Hammer Kobold@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2818,'Elusive Dark Hammer Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x308D,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2818,'Elusive Dark Hammer Kobold@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2818,'Elusive Dark Hammer Kobold@NPC_POISONATTACK','attack',188,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2816,'Goat Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1372,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2817,'Furious Dark Hammer Kob@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2817,'Furious Dark Hammer Kob@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2817,'Furious Dark Hammer Kob@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2817,'Furious Dark Hammer Kob@NPC_POISONATTACK','attack',188,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2818,'Elusive Dark Hammer Kob@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2818,'Elusive Dark Hammer Kob@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,12429,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2818,'Elusive Dark Hammer Kob@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2818,'Elusive Dark Hammer Kob@NPC_POISONATTACK','attack',188,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2819,'Swift Dark Shadow@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2819,'Swift Dark Shadow@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2819,'Swift Dark Shadow@NPC_DARKNESSBREATH','attack',658,1,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9226,13 +9369,13 @@ REPLACE INTO `mob_skill_db` VALUES (2820,'Solid Dark Shadow@NPC_DARKSTRIKE','cha
REPLACE INTO `mob_skill_db` VALUES (2820,'Solid Dark Shadow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2820,'Solid Dark Shadow@NPC_FIREATTACK','attack',186,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,9,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_SILENCEATTACK','chase',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1303,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2821,'Giant Hornet Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1303,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2822,'Furious Ghoul@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2822,'Furious Ghoul@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2823,'Elusive Ghoul@NPC_POISON','angry',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9250,7 +9393,7 @@ REPLACE INTO `mob_skill_db` VALUES (2826,'Gargoyle Ringleader@AL_TELEPORT','idle
REPLACE INTO `mob_skill_db` VALUES (2826,'Gargoyle Ringleader@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2826,'Gargoyle Ringleader@NPC_KEEPING','attack',201,1,2000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2826,'Gargoyle Ringleader@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2826,'Gargoyle Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1253,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2826,'Gargoyle Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1253,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2827,'Furious Gargoyle@AC_CHARGEARROW','attack',148,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2827,'Furious Gargoyle@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2827,'Furious Gargoyle@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9260,31 +9403,31 @@ REPLACE INTO `mob_skill_db` VALUES (2828,'Elusive Galion@AL_TELEPORT','idle',26,
REPLACE INTO `mob_skill_db` VALUES (2828,'Elusive Galion@AS_SONICBLOW','attack',136,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
REPLACE INTO `mob_skill_db` VALUES (2828,'Elusive Galion@NPC_COMBOATTACK','attack',171,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2828,'Elusive Galion@NPC_DARKNESSATTACK','attack',190,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2828,'Elusive Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2828,'Elusive Galion@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2828,'Elusive Galion@NPC_SUMMONSLAVE','attack',196,3,10000,1000,30000,'no','self','slavele','3',1794,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2828,'Elusive Galion@NPC_SUMMONSLAVE','idle',196,3,10000,1000,30000,'no','self','slavele','3',1794,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2828,'Elusive Galion@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2829,'Swift Seal@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2829,'Swift Seal@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2829,'Swift Seal@NPC_COMBOATTACK','attack',171,2,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2829,'Swift Seal@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2829,'Swift Seal@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2829,'Swift Seal@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2829,'Swift Seal@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,1,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2829,'Swift Seal@NPC_WATERATTACK','attack',184,5,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2830,'Solid Freezer@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2830,'Solid Freezer@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2830,'Solid Freezer@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2830,'Solid Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2830,'Solid Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2830,'Solid Freezer@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2830,'Solid Freezer@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2830,'Solid Freezer@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2830,'Solid Freezer@NPC_WATERATTACK','attack',184,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@MG_COLDBOLT','attack',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@MG_COLDBOLT','chase',14,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@MG_FROSTDIVER','attack',15,9,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,20,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@NPC_WATERATTACK','attack',184,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1319,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2831,'Freezer Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1319,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2832,'Furious Ferus@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2832,'Furious Ferus@KN_BRANDISHSPEAR','attack',57,10,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
REPLACE INTO `mob_skill_db` VALUES (2832,'Furious Ferus@KN_SPEARSTAB','attack',58,10,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -9317,7 +9460,7 @@ REPLACE INTO `mob_skill_db` VALUES (2834,'Swift False Angel@NPC_SILENCEATTACK','
REPLACE INTO `mob_skill_db` VALUES (2834,'Swift False Angel@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2835,'Solid Fabre@NPC_GROUNDATTACK','attack',185,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2836,'Fabre Ringleader@NPC_GROUNDATTACK','attack',185,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2836,'Fabre Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1007,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2836,'Fabre Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1007,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2837,'Furious Explosion@AM_DEMONSTRATION','angry',229,2,100,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2837,'Furious Explosion@AM_DEMONSTRATION','attack',229,2,100,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2837,'Furious Explosion@NPC_FIREATTACK','angry',186,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9338,13 +9481,13 @@ REPLACE INTO `mob_skill_db` VALUES (2839,'Swift Elder Willow@AL_TELEPORT','attac
REPLACE INTO `mob_skill_db` VALUES (2839,'Swift Elder Willow@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2839,'Swift Elder Willow@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2839,'Swift Elder Willow@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2839,'Swift Elder Willow@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2839,'Swift Elder Willow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2839,'Swift Elder Willow@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2839,'Swift Elder Willow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2839,'Swift Elder Willow@NPC_FIREATTACK','attack',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2840,'Solid Elder Willow@MG_FIREBOLT','attack',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2840,'Solid Elder Willow@MG_FIREBOLT','chase',19,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2840,'Solid Elder Willow@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2840,'Solid Elder Willow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2840,'Solid Elder Willow@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2840,'Solid Elder Willow@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2840,'Solid Elder Willow@NPC_FIREATTACK','attack',186,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2841,'Echio Ringleader@AS_SONICBLOW','attack',136,5,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2841,'Echio Ringleader@BS_MAXIMIZE','attack',114,5,500,500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9356,7 +9499,7 @@ REPLACE INTO `mob_skill_db` VALUES (2841,'Echio Ringleader@NPC_HOLYATTACK','atta
REPLACE INTO `mob_skill_db` VALUES (2841,'Echio Ringleader@NPC_SLEEPATTACK','attack',182,4,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2841,'Echio Ringleader@PR_LEXAETERNA','attack',78,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (2841,'Echio Ringleader@SM_BASH','attack',5,7,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2841,'Echio Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1770,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2841,'Echio Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1770,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2842,'Furious Dustiness@NPC_BLINDATTACK','attack',177,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2842,'Furious Dustiness@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2842,'Furious Dustiness@NPC_SLEEPATTACK','attack',182,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9377,7 +9520,7 @@ REPLACE INTO `mob_skill_db` VALUES (2844,'Solid Drosera@NPC_SLEEPATTACK','attack
REPLACE INTO `mob_skill_db` VALUES (2844,'Solid Drosera@RG_CLOSECONFINE','attack',1005,1,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2845,'Drops Ringleader@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2845,'Drops Ringleader@NPC_FIREATTACK','attack',186,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2845,'Drops Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1113,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2845,'Drops Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1113,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2846,'Furious Driller@AS_CLOAKING','angry',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2846,'Furious Driller@AS_CLOAKING','attack',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2846,'Furious Driller@AS_CLOAKING','follow',135,1,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9410,7 +9553,7 @@ REPLACE INTO `mob_skill_db` VALUES (2850,'Dolomedes Ringleader@NPC_POISONATTACK'
REPLACE INTO `mob_skill_db` VALUES (2850,'Dolomedes Ringleader@PF_SPIDERWEB','attack',405,1,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2850,'Dolomedes Ringleader@PF_SPIDERWEB','idle',405,1,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2850,'Dolomedes Ringleader@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2850,'Dolomedes Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',2092,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2850,'Dolomedes Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,2092,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2851,'Furious Dokebi@BS_ADRENALINE','attack',111,1,500,1500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2851,'Furious Dokebi@BS_ADRENALINE','chase',111,1,500,1500,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2851,'Furious Dokebi@MC_MAMMONITE','attack',42,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL);
@@ -9434,11 +9577,11 @@ REPLACE INTO `mob_skill_db` VALUES (2854,'Solid Deviruchi@NPC_DARKTHUNDER','atta
REPLACE INTO `mob_skill_db` VALUES (2854,'Solid Deviruchi@NPC_DARKTHUNDER','chase',341,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2854,'Solid Deviruchi@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
REPLACE INTO `mob_skill_db` VALUES (2854,'Solid Deviruchi@NPC_ENERGYDRAIN','chase',200,1,500,0,5000,'yes','target','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'19',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2855,'Baby Desert Wolf Ringleader@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2855,'Baby Desert Wolf Ringleader@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2855,'Baby Desert Wolf Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1107,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2856,'Furious Baby Desert Wolf@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2856,'Furious Baby Desert Wolf@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2855,'Baby Desert Wolf Ringle@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2855,'Baby Desert Wolf Ringle@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2855,'Baby Desert Wolf Ringle@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1107,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2856,'Furious Baby Desert Wol@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2856,'Furious Baby Desert Wol@NPC_FIREATTACK','attack',186,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2857,'Elusive Deniro@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2857,'Elusive Deniro@NPC_GROUNDATTACK','attack',185,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2858,'Swift Death Word@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9455,7 +9598,7 @@ REPLACE INTO `mob_skill_db` VALUES (2860,'Death Word Ringleader@NPC_BLOODDRAIN',
REPLACE INTO `mob_skill_db` VALUES (2860,'Death Word Ringleader@NPC_CURSEATTACK','attack',181,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2860,'Death Word Ringleader@NPC_PIERCINGATT','attack',158,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'36',NULL);
REPLACE INTO `mob_skill_db` VALUES (2860,'Death Word Ringleader@NPC_SPLASHATTACK','attack',174,1,1000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2860,'Death Word Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1698,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2860,'Death Word Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1698,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2861,'Furious Dark Priest@MO_BODYRELOCATION','chase',264,1,10000,0,5000,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2861,'Furious Dark Priest@NPC_BLEEDING','attack',660,3,10,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2861,'Furious Dark Priest@NPC_CHANGEUNDEAD','attack',348,1,300,1000,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
@@ -9486,7 +9629,7 @@ REPLACE INTO `mob_skill_db` VALUES (2865,'Cookie Ringleader@AL_HEAL','chase',28,
REPLACE INTO `mob_skill_db` VALUES (2865,'Cookie Ringleader@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2865,'Cookie Ringleader@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
REPLACE INTO `mob_skill_db` VALUES (2865,'Cookie Ringleader@NPC_TELEKINESISATTACK','chase',191,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'4',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2865,'Cookie Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1265,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2865,'Cookie Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1265,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2866,'Furious Constant@NPC_SELFDESTRUCTION','attack',173,1,10000,1000,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2866,'Furious Constant@NPC_SELFDESTRUCTION','chase',173,1,2000,1000,0,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2867,'Elusive Comodo@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9499,21 +9642,21 @@ REPLACE INTO `mob_skill_db` VALUES (2867,'Elusive Comodo@NPC_POISON','attack',17
REPLACE INTO `mob_skill_db` VALUES (2867,'Elusive Comodo@NPC_POISONATTACK','attack',188,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2868,'Swift Coco@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2868,'Swift Coco@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2868,'Swift Coco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2868,'Swift Coco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2868,'Swift Coco@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2868,'Swift Coco@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2869,'Solid Coco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2869,'Solid Coco@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2869,'Solid Coco@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2869,'Solid Coco@TF_THROWSTONE','chase',152,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2870,'Clock Ringleader@NPC_CURSEATTACK','attack',181,4,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2870,'Clock Ringleader@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0091,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2870,'Clock Ringleader@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2870,'Clock Ringleader@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2870,'Clock Ringleader@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2870,'Clock Ringleader@NPC_GROUNDATTACK','attack',185,4,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2870,'Clock Ringleader@NPC_STUNATTACK','attack',179,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2870,'Clock Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1269,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2870,'Clock Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1269,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2871,'Furious Clock@NPC_CURSEATTACK','attack',181,4,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2871,'Furious Clock@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0091,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2871,'Furious Clock@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2871,'Furious Clock@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2871,'Furious Clock@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2871,'Furious Clock@NPC_GROUNDATTACK','attack',185,4,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2871,'Furious Clock@NPC_STUNATTACK','attack',179,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2872,'Elusive Chonchon@NPC_WINDATTACK','attack',187,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9524,14 +9667,14 @@ REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@AL_HEAL','attack',28,5
REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','around1','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@HW_GANBANTEIN','attack',483,1,3000,0,7000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@NPC_COMBOATTACK','attack',171,1,3000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2873,'Swift Centipede@WZ_QUAGMIRE','chase',92,5,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
REPLACE INTO `mob_skill_db` VALUES (2874,'Solid Cenere@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2874,'Solid Cenere@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2874,'Solid Cenere@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2874,'Solid Cenere@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2874,'Solid Cenere@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2874,'Solid Cenere@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (2874,'Solid Cenere@NPC_WINDATTACK','attack',187,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2875,'Celia Ringleader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9566,7 +9709,7 @@ REPLACE INTO `mob_skill_db` VALUES (2875,'Celia Ringleader@WZ_EARTHSPIKE','attac
REPLACE INTO `mob_skill_db` VALUES (2875,'Celia Ringleader@WZ_EARTHSPIKE','chase',90,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2875,'Celia Ringleader@WZ_HEAVENDRIVE','attack',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2875,'Celia Ringleader@WZ_HEAVENDRIVE','chase',91,5,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2875,'Celia Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',2223,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2875,'Celia Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,2223,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2876,'Furious Caterpillar@NPC_PETRIFYATTACK','attack',180,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2876,'Furious Caterpillar@NPC_POISON','attack',176,5,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2876,'Furious Caterpillar@NPC_SILENCEATTACK','attack',178,3,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9593,7 +9736,7 @@ REPLACE INTO `mob_skill_db` VALUES (2880,'Breeze Ringleader@NPC_CRITICALSLASH','
REPLACE INTO `mob_skill_db` VALUES (2880,'Breeze Ringleader@NPC_DEFENDER','attack',205,1,1000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2880,'Breeze Ringleader@NPC_DEFENDER','chase',205,1,500,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (2880,'Breeze Ringleader@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2880,'Breeze Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1692,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2880,'Breeze Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1692,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2881,'Furious Breeze@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2881,'Furious Breeze@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2881,'Furious Breeze@NPC_DEFENDER','attack',205,1,1000,0,5000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
@@ -9601,8 +9744,8 @@ REPLACE INTO `mob_skill_db` VALUES (2881,'Furious Breeze@NPC_DEFENDER','chase',2
REPLACE INTO `mob_skill_db` VALUES (2881,'Furious Breeze@NPC_WINDATTACK','attack',187,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2882,'Elusive Bradium Golem@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2882,'Elusive Bradium Golem@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2882,'Elusive Bradium Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,0x0091,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2882,'Elusive Bradium Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,0x3885,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2882,'Elusive Bradium Golem@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2882,'Elusive Bradium Golem@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2882,'Elusive Bradium Golem@NPC_STUNATTACK','attack',179,4,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2882,'Elusive Bradium Golem@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2883,'Swift Bloody Butterfly@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9613,10 +9756,10 @@ REPLACE INTO `mob_skill_db` VALUES (2883,'Swift Bloody Butterfly@NPC_SLEEPATTACK
REPLACE INTO `mob_skill_db` VALUES (2883,'Swift Bloody Butterfly@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
REPLACE INTO `mob_skill_db` VALUES (2884,'Bigfoot Ringleader@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,6,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2884,'Bigfoot Ringleader@NPC_GROUNDATTACK','attack',185,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2884,'Bigfoot Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2884,'Bigfoot Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2884,'Bigfoot Ringleader@NPC_STUNATTACK','attack',179,2,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2884,'Bigfoot Ringleader@SM_ENDURE','chase',8,1,5000,0,10000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2884,'Bigfoot Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1060,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2884,'Bigfoot Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1060,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2885,'Furious Bathory@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2885,'Furious Bathory@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always',NULL,30,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2885,'Furious Bathory@NPC_ENERGYDRAIN','attack',200,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'30',NULL);
@@ -9629,8 +9772,8 @@ REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_CURSEATTACK
REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2886,'Elusive Banshee Master@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9641,8 +9784,8 @@ REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_CURSEATTACK','chase'
REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_DARKNESSATTACK','attack',190,3,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_DARKSTRIKE','attack',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_DARKSTRIKE','chase',340,9,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_EMOTION','chase',197,1,1000,0,5000,'yes','self','always',NULL,7,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_EVILLAND','attack',670,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_VAMPIRE_GIFT','attack',679,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2887,'Swift Banshee@NPC_WIDECURSE','attack',677,1,500,800,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9656,12 +9799,12 @@ REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@AL_TELEPORT','idl
REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_EMOTION','attack',197,1,2000,0,600000,'yes','self','myhpltmaxrate','20',23,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_WINDATTACK','attack',187,5,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_COMBOATTACK','attack',171,1,1500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'24',NULL);
REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@TF_BACKSLIDING','attack',150,1,10000,500,600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1315,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1315,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2889,'Assaulter Ringleader@NPC_SUMMONSLAVE','chase',196,3,10000,0,600000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2890,'Furious Argos@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2890,'Furious Argos@PF_SPIDERWEB','idle',405,1,3000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9670,24 +9813,24 @@ REPLACE INTO `mob_skill_db` VALUES (2890,'Furious Argos@NPC_POISONATTACK','attac
REPLACE INTO `mob_skill_db` VALUES (2891,'Elusive Argiope@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2891,'Elusive Argiope@NPC_POISON','attack',176,3,1500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2891,'Elusive Argiope@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2891,'Elusive Argiope@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2891,'Elusive Argiope@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2891,'Elusive Argiope@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2891,'Elusive Argiope@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2892,'Swift Argiope@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2892,'Swift Argiope@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2892,'Swift Argiope@AS_VENOMDUST','attack',140,1,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2892,'Swift Argiope@NPC_POISON','attack',176,3,1500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2892,'Swift Argiope@NPC_POISONATTACK','attack',188,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2892,'Swift Argiope@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2892,'Swift Argiope@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2892,'Swift Argiope@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2892,'Swift Argiope@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2893,'Solid Arclouze@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2893,'Solid Arclouze@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2893,'Solid Arclouze@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2893,'Solid Arclouze@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2893,'Solid Arclouze@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2893,'Solid Arclouze@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2894,'Arclouze Ringleader@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2894,'Arclouze Ringleader@NPC_GROUNDATTACK','attack',185,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2894,'Arclouze Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2894,'Arclouze Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,0x3095,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2894,'Arclouze Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1194,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2894,'Arclouze Ringleader@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2894,'Arclouze Ringleader@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2894,'Arclouze Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1194,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2895,'Furious Apocalypse@CR_AUTOGUARD','attack',249,5,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2895,'Furious Apocalypse@CR_AUTOGUARD','chase',249,5,2000,0,300000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2895,'Furious Apocalypse@KN_BRANDISHSPEAR','attack',57,5,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
@@ -9714,14 +9857,14 @@ REPLACE INTO `mob_skill_db` VALUES (2898,'Solid Antique Book@NPC_PIERCINGATT','a
REPLACE INTO `mob_skill_db` VALUES (2899,'Furious Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2899,'Furious Anolian@NPC_WATERATTACK','attack',184,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2899,'Furious Anolian@SM_BASH','attack',5,7,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2899,'Furious Anolian@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2899,'Furious Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2899,'Furious Anolian@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2899,'Furious Anolian@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,2,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2900,'Elusive Angra Mantis@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2900,'Elusive Angra Mantis@CR_AUTOGUARD','attack',249,2,700,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2900,'Elusive Angra Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2900,'Elusive Angra Mantis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2900,'Elusive Angra Mantis@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2900,'Elusive Angra Mantis@NPC_SUMMONSLAVE','idle',196,1,10000,2000,60000,'no','self','slavele','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2900,'Elusive Angra Mantis@NPC_SUMMONSLAVE','idle',196,1,10000,2000,60000,'no','self','slavele',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2901,'Swift Angra Mantis@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2901,'Swift Angra Mantis@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2901,'Swift Angra Mantis@AS_SONICBLOW','attack',136,10,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9729,13 +9872,13 @@ REPLACE INTO `mob_skill_db` VALUES (2901,'Swift Angra Mantis@CR_AUTOGUARD','atta
REPLACE INTO `mob_skill_db` VALUES (2901,'Swift Angra Mantis@NPC_COMBOATTACK','attack',171,1,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2901,'Swift Angra Mantis@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2901,'Swift Angra Mantis@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2901,'Swift Angra Mantis@NPC_SUMMONSLAVE','idle',196,1,10000,2000,60000,'no','self','slavele','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2901,'Swift Angra Mantis@NPC_SUMMONSLAVE','idle',196,1,10000,2000,60000,'no','self','slavele',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2902,'Solid Andre@NPC_EMOTION','loot',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2902,'Solid Andre@NPC_GROUNDATTACK','attack',185,2,1500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2903,'Ancient Mimic Ringleader@CR_AUTOGUARD','attack',249,3,500,0,250000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2903,'Ancient Mimic Ringleader@CR_AUTOGUARD','chase',249,3,1000,0,250000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2903,'Ancient Mimic Ringleader@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2903,'Ancient Mimic Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1699,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2903,'Ancient Mimic Ringleade@CR_AUTOGUARD','attack',249,3,500,0,250000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2903,'Ancient Mimic Ringleade@CR_AUTOGUARD','chase',249,3,1000,0,250000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2903,'Ancient Mimic Ringleade@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2903,'Ancient Mimic Ringleade@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1699,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2904,'Furious Anacondaq@NPC_POISON','attack',176,4,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2904,'Furious Anacondaq@NPC_POISONATTACK','attack',188,2,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2905,'Elusive Ambernite@NPC_EMOTION','walk',197,1,2000,0,5000,'yes','self','always',NULL,19,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9750,7 +9893,7 @@ REPLACE INTO `mob_skill_db` VALUES (2906,'Swift Rafflesia Arnoldi@NPC_GROUNDATTA
REPLACE INTO `mob_skill_db` VALUES (2906,'Swift Rafflesia Arnoldi@NPC_POISONATTACK','attack',188,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2907,'Solid Alligator@NPC_WATERATTACK','attack',184,4,1000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2907,'Solid Alligator@NPC_CRITICALSLASH','attack',170,2,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2907,'Solid Alligator@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0091,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2907,'Solid Alligator@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,145,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2908,'Aliza Ringleader@AL_HEAL','attack',28,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2908,'Aliza Ringleader@AL_HEAL','idle',28,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'3',NULL);
REPLACE INTO `mob_skill_db` VALUES (2908,'Aliza Ringleader@AL_HEAL','walk',28,5,5000,1000,5000,'yes','friend','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'3',NULL);
@@ -9758,7 +9901,7 @@ REPLACE INTO `mob_skill_db` VALUES (2908,'Aliza Ringleader@AL_HEAL','chase',28,5
REPLACE INTO `mob_skill_db` VALUES (2908,'Aliza Ringleader@NPC_EMOTION','idle',197,1,500,0,30000,'yes','self','always',NULL,54,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2908,'Aliza Ringleader@NPC_EMOTION','walk',197,1,500,0,30000,'yes','self','always',NULL,2,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2908,'Aliza Ringleader@SM_BASH','attack',5,10,2000,1000,30000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'52',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2908,'Aliza Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1737,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2908,'Aliza Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1737,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2909,'Furious Alicel@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2909,'Furious Alicel@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2909,'Furious Alicel@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9766,8 +9909,8 @@ REPLACE INTO `mob_skill_db` VALUES (2909,'Furious Alicel@NPC_EMOTION','idle',197
REPLACE INTO `mob_skill_db` VALUES (2909,'Furious Alicel@NPC_GUIDEDATTACK','attack',172,1,1000,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2910,'Elusive Alarm@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2910,'Elusive Alarm@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2910,'Elusive Alarm@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,0x0081,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2910,'Elusive Alarm@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,0x3695,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2910,'Elusive Alarm@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2910,'Elusive Alarm@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2910,'Elusive Alarm@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2911,'Swift Agav@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2911,'Swift Agav@AL_DECAGI','chase',30,10,2000,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9808,4 +9951,115 @@ REPLACE INTO `mob_skill_db` VALUES (2913,'Acidus Ringleader@MG_THUNDERSTORM','at
REPLACE INTO `mob_skill_db` VALUES (2913,'Acidus Ringleader@MG_THUNDERSTORM','attack',21,9,2000,1000,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
REPLACE INTO `mob_skill_db` VALUES (2913,'Acidus Ringleader@NPC_STOP','attack',342,1,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (2913,'Acidus Ringleader@NPC_WINDATTACK','attack',187,6,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2913,'Acidus Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1716,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2913,'Acidus Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele',NULL,1716,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2916,'Big Ben@NPC_CURSEATTACK','attack',181,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2916,'Big Ben@NPC_GROUNDATTACK','attack',185,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2916,'Big Ben@NPC_STUNATTACK','attack',179,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2916,'Big Ben@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2916,'Big Ben@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2917,'Big Bell@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2917,'Big Bell@NPC_DARKBREATH','attack',202,2,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2917,'Big Bell@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2917,'Big Bell@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,13973,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2917,'Big Bell@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2917,'Big Bell@LK_SPIRALPIERCE','attack',397,5,10000,1000,10000,'yes','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2917,'Big Bell@NPC_STONESKIN','attack',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2918,'Time Keeper@AL_TELEPORT','idle',26,1,500,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2918,'Time Keeper@WZ_FIREPILLAR','idle',80,5,500,0,5000,'yes','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2918,'Time Keeper@SA_DISPELL','attack',289,1,500,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2918,'Time Keeper@NPC_SILENCEATTACK','attack',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2918,'Time Keeper@NPC_SILENCEATTACK','chase',178,5,500,700,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2918,'Time Keeper@NPC_SLEEPATTACK','attack',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2918,'Time Keeper@NPC_SLEEPATTACK','chase',182,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2918,'Time Keeper@NPC_EMOTION_ON','attack',474,1,10000,0,30000,'yes','self','always',NULL,6,14469,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2918,'Time Keeper@NPC_EMOTION','idle',197,1,200,0,30000,'yes','self','always',NULL,9,145,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2919,'Neo Punk@NPC_BLINDATTACK','attack',177,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2919,'Neo Punk@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2919,'Neo Punk@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,129,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2919,'Neo Punk@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,7,12437,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2919,'Neo Punk@NPC_WINDATTACK','attack',187,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2919,'Neo Punk@NPC_MENTALBREAKER','attack',159,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@MG_FIREBOLT','attack',19,7,10000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@MG_FROSTDIVER','chase',15,9,10000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@MG_LIGHTNINGBOLT','chase',20,7,10000,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@MG_STONECURSE','attack',16,10,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@MG_FIREBOLT','idle',19,7,10000,1500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@MG_FROSTDIVER','idle',15,9,10000,500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@MG_LIGHTNINGBOLT','idle',20,7,10000,1500,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'12',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@MG_STONECURSE','idle',16,10,10000,0,5000,'yes','randomtarget','always',NULL,NULL,NULL,NULL,NULL,NULL,'11',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@NPC_STONESKIN','attack',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@NPC_RUN','attack',354,1,10000,0,0,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2920,'Arc Elder@NPC_RUN','chase',354,1,10000,0,0,'yes','self','myhpltmaxrate','99',NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@MG_LIGHTNINGBOLT','attack',20,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@MG_LIGHTNINGBOLT','chase',20,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@PR_LEXAETERNA','attack',78,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@PR_LEXAETERNA','chase',78,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@CR_REFLECTSHIELD','attack',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@CR_REFLECTSHIELD','chase',252,10,10000,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@NPC_STONESKIN','attack',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,161,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2921,'Owl Viscount@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14261,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2923,'Owl Marquis@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2923,'Owl Marquis@MG_LIGHTNINGBOLT','attack',20,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2923,'Owl Marquis@MG_LIGHTNINGBOLT','chase',20,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2923,'Owl Marquis@NPC_STONESKIN','attack',675,3,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2923,'Owl Marquis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,32,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2923,'Owl Marquis@NPC_EMOTION','chase',197,1,200,0,5000,'yes','self','always',NULL,19,161,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2923,'Owl Marquis@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,6,14261,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2923,'Owl Marquis@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,2921,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2948,'Cursed Solider@AC_DOUBLE','attack',46,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2948,'Cursed Solider@AC_SHOWER','attack',47,3,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2948,'Cursed Solider@NPC_BLINDATTACK','attack',177,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2948,'Cursed Solider@NPC_MAGICALATTACK','attack',192,1,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2949,'Cursed Sentinel@AS_SONICBLOW','attack',136,7,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2949,'Cursed Sentinel@NPC_CURSEATTACK','attack',181,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2950,'Broken Mind@CR_REFLECTSHIELD','attack',252,2,500,0,300000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'7',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2950,'Broken Mind@NPC_BLINDATTACK','attack',177,3,1500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2950,'Broken Mind@NPC_BLINDATTACK','chase',177,3,1500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2950,'Broken Mind@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'26',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2950,'Broken Mind@NPC_CURSEATTACK','attack',181,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2950,'Broken Mind@NPC_CURSEATTACK','chase',181,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'0',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2950,'Broken Mind@NPC_PETRIFYATTACK','attack',180,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2950,'Broken Mind@NPC_PETRIFYATTACK','chase',180,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2951,'Floating Word@MG_FIREBALL','chase',17,5,1500,500,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2951,'Floating Word@MO_BODYRELOCATION','chase',264,1,2000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2951,'Floating Word@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2951,'Floating Word@NPC_EMOTION','idle',197,1,2000,0,5000,'no','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2952,'Like Love@HT_SHOCKWAVE','idle',118,5,500,0,300000,'no','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2952,'Like Love@MG_LIGHTNINGBOLT','attack',20,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2952,'Like Love@MG_LIGHTNINGBOLT','chase',20,5,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2952,'Like Love@NPC_EMOTION','idle',197,1,2000,0,5000,'no','self','always',NULL,29,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2952,'Like Love@NPC_MAGICALATTACK','attack',192,1,500,1000,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2952,'Like Love@NPC_UNDEADATTACK','attack',347,2,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2952,'Like Love@WZ_JUPITEL','attack',84,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2952,'Like Love@WZ_JUPITEL','chase',84,3,500,1500,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2953,'Cursed Memory@NPC_POISON','attack',176,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2953,'Cursed Memory@NPC_POISONATTACK','attack',188,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2953,'Cursed Memory@NPC_UNDEADATTACK','attack',347,2,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2954,'Colorless Vow@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2954,'Colorless Vow@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2955,'Old Friendship@NPC_POISON','angry',176,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2955,'Old Friendship@NPC_POISON','attack',176,3,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2956,'Sweet Slaughter@AS_GRIMTOOTH','chase',137,5,2000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2956,'Sweet Slaughter@BS_MAXIMIZE','attack',114,5,500,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2956,'Sweet Slaughter@BS_MAXIMIZE','chase',114,5,500,1000,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2956,'Sweet Slaughter@NPC_SPLASHATTACK','attack',174,1,2000,0,5000,'no','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2956,'Sweet Slaughter@NPC_STUNATTACK','attack',179,3,500,1500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2957,'Forgotten Name@NPC_CRITICALSLASH','attack',170,1,1000,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2957,'Forgotten Name@NPC_DARKNESSATTACK','attack',190,3,500,500,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2958,'Fatal Days@AS_GRIMTOOTH','idle',137,5,10000,0,700,'no','target','mystatuson','24',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2958,'Fatal Days@MG_SOULSTRIKE','chase',13,5,2000,0,3000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2959,'Torturous Redeemer@SM_BASH','attack',5,5,500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2959,'Torturous Redeemer@NPC_FIREATTACK','attack',186,3,1000,0,200000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2959,'Torturous Redeemer@WZ_FIREPILLAR','attack',80,5,500,0,10000,'no','around2','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2959,'Torturous Redeemer@SM_MAGNUM','attack',7,5,500,0,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (3074,'Time Holder@NPC_AGIUP','attack',350,5,10000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (3074,'Time Holder@AL_INCAGI','chase',29,10,2000,700,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (3074,'Time Holder@WZ_METEOR','attack',83,11,1000,500,10000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (3074,'Time Holder@NPC_HELLJUDGEMENT','chase',662,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (3074,'Time Holder@NPC_HELLJUDGEMENT','attack',662,10,3000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (3074,'Time Holder@NPC_PULSESTRIKE','attack',661,5,2000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (3074,'Time Holder@NPC_SUMMONSLAVE','attack',196,5,1000,700,10000,'no','self','slavele',NULL,2917,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (3074,'Time Holder@NPC_SUMMONSLAVE','idle',196,5,1000,700,10000,'no','self','slavele',NULL,2917,NULL,NULL,NULL,NULL,NULL,NULL);
diff --git a/sql-files/upgrades/2018-09-01--05-22.sql b/sql-files/upgrades/2018-09-01--05-22.sql
new file mode 100644
index 000000000..7a834edd4
--- /dev/null
+++ b/sql-files/upgrades/2018-09-01--05-22.sql
@@ -0,0 +1,63 @@
+#1535865732
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2018 Hercules Dev Team
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ALTER TABLE `auction`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `cart_inventory`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `guild_storage`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `inventory`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `mail`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `rodex_items`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `storage`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1535865732, 'No');
diff --git a/sql-files/upgrades/2018-12-14--01-02.sql b/sql-files/upgrades/2018-12-14--01-02.sql
new file mode 100644
index 000000000..7bcd583c2
--- /dev/null
+++ b/sql-files/upgrades/2018-12-14--01-02.sql
@@ -0,0 +1,24 @@
+#1544738447
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) 4144
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ALTER TABLE `char` ADD `inventory_size` INT(11) UNSIGNED NOT NULL DEFAULT '100';
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1544738447, 'No');
diff --git a/sql-files/upgrades/2018-12-29--07-51.sql b/sql-files/upgrades/2018-12-29--07-51.sql
new file mode 100644
index 000000000..641179399
--- /dev/null
+++ b/sql-files/upgrades/2018-12-29--07-51.sql
@@ -0,0 +1,29 @@
+#1546059075
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2015 Hercules Dev Team
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+CREATE TABLE IF NOT EXISTS `npc_barter_data` (
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `priceId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `priceAmount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`, `itemid`, `priceId`, `priceAmount`)
+) ENGINE=MyISAM;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1546059075);
diff --git a/sql-files/upgrades/2019-04-08--21-52.sql b/sql-files/upgrades/2019-04-08--21-52.sql
new file mode 100644
index 000000000..bd015acf8
--- /dev/null
+++ b/sql-files/upgrades/2019-04-08--21-52.sql
@@ -0,0 +1,29 @@
+#1554760320
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2019 Hercules Dev Team
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+UPDATE `auction` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `cart_inventory` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `inventory` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `guild_storage` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `mail` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `rodex_items` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `storage` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1554760320, 'No');
diff --git a/sql-files/upgrades/2019-04-25--02-12.sql b/sql-files/upgrades/2019-04-25--02-12.sql
new file mode 100644
index 000000000..64abe45b6
--- /dev/null
+++ b/sql-files/upgrades/2019-04-25--02-12.sql
@@ -0,0 +1,24 @@
+#1556147483
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2019 Hercules Dev Team
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+TRUNCATE TABLE `guild_expulsion`;
+ALTER TABLE `guild_expulsion` ADD `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `account_id`;
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1556147483);
diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt
index 705234d01..a820f3b0d 100644
--- a/sql-files/upgrades/index.txt
+++ b/sql-files/upgrades/index.txt
@@ -49,3 +49,8 @@
2018-06-03--17-16.sql
2018-06-05--12-02.sql
2018-07-24--03-23.sql
+2018-09-01--05-22.sql
+2018-12-14--01-02.sql
+2018-12-29--07-51.sql
+2019-04-08--21-52.sql
+2019-04-25--02-12.sql
diff --git a/src/char/HPMchar.c b/src/char/HPMchar.c
index db2c3702e..f3cf2cff4 100644
--- a/src/char/HPMchar.c
+++ b/src/char/HPMchar.c
@@ -57,6 +57,7 @@
#include "common/mapindex.h"
#include "common/mmo.h"
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
diff --git a/src/char/Makefile.in b/src/char/Makefile.in
index 95c8df813..f159a443f 100644
--- a/src/char/Makefile.in
+++ b/src/char/Makefile.in
@@ -46,7 +46,7 @@ CHAR_C = char.c HPMchar.c loginif.c mapif.c geoip.c inter.c int_achievement.c in
CHAR_OBJ = $(addprefix obj_sql/, $(patsubst %.c,%.o,$(CHAR_C)))
CHAR_H = char.h HPMchar.h loginif.h mapif.h geoip.h inter.h int_achievement.h int_auction.h int_clan.h int_elemental.h \
int_guild.h int_homun.h int_mail.h int_mercenary.h int_party.h int_pet.h \
- int_quest.h int_rodex.h int_storage.h pincode.h
+ int_quest.h int_rodex.h int_storage.h pincode.h packets_hc_struct.h
CHAR_PH =
HAVE_MYSQL=@HAVE_MYSQL@
diff --git a/src/char/char.c b/src/char/char.c
index 54f6ca7d1..44225ecb5 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -21,7 +21,7 @@
#define HERCULES_CORE
#include "config/core.h" // CONSOLE_INPUT
-#include "char.h"
+#include "char/char.h"
#include "char/HPMchar.h"
#include "char/geoip.h"
@@ -41,6 +41,7 @@
#include "char/inter.h"
#include "char/loginif.h"
#include "char/mapif.h"
+#include "char/packets_hc_struct.h"
#include "char/pincode.h"
#include "common/HPM.h"
@@ -53,6 +54,7 @@
#include "common/mapindex.h"
#include "common/mmo.h"
#include "common/nullpo.h"
+#include "common/packetsstatic_len.h"
#include "common/showmsg.h"
#include "common/socket.h"
#include "common/strlib.h"
@@ -139,6 +141,7 @@ char char_name_letters[1024] = ""; // list of letters/symbols allowed (or not) i
static int char_del_level = 0; ///< From which level you can delete character [Lupus]
static int char_del_delay = 86400;
static bool char_aegis_delete = false; ///< Verify if char is in guild/party or char and reacts as Aegis does (disallow deletion), @see chr->delete2_req.
+static bool char_aegis_rename = false; // whether or not the player can be renamed while in party/guild
static int max_connect_user = -1;
static int gm_allow_group = -1;
@@ -476,15 +479,25 @@ static int char_mmo_char_tosql(int char_id, struct mmo_charstatus *p)
(p->show_equip != cp->show_equip) || (p->allow_party != cp->allow_party) || (p->font != cp->font) ||
(p->uniqueitem_counter != cp->uniqueitem_counter) || (p->hotkey_rowshift != cp->hotkey_rowshift) ||
(p->clan_id != cp->clan_id) || (p->last_login != cp->last_login) || (p->attendance_count != cp->attendance_count) ||
- (p->attendance_timer != cp->attendance_timer) || (p->title_id != cp->title_id)
+ (p->attendance_timer != cp->attendance_timer) || (p->title_id != cp->title_id) || (p->inventorySize != cp->inventorySize) ||
+ (p->allow_call != cp->allow_call)
) {
//Save status
unsigned int opt = 0;
- if( p->allow_party )
+ if (p->inventorySize <= 0 || p->inventorySize > MAX_INVENTORY) {
+ ShowError("Wrong inventorySize field: %d. Must be in range 1 to %d. Character %s (CID: %d, AID: %d)\n",
+ p->inventorySize, MAX_INVENTORY, p->name, p->char_id, p->account_id);
+ Assert_report(0);
+ p->inventorySize = FIXED_INVENTORY_SIZE;
+ }
+
+ if (p->allow_party)
opt |= OPT_ALLOW_PARTY;
- if( p->show_equip )
+ if (p->show_equip)
opt |= OPT_SHOW_EQUIP;
+ if (p->allow_call)
+ opt |= OPT_ALLOW_CALL;
if( SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `base_level`='%d', `job_level`='%d',"
"`base_exp`='%"PRIu64"', `job_exp`='%"PRIu64"', `zeny`='%d',"
@@ -495,7 +508,7 @@ static int char_mmo_char_tosql(int char_id, struct mmo_charstatus *p)
"`last_map`='%s',`last_x`='%d',`last_y`='%d',`save_map`='%s',`save_x`='%d',`save_y`='%d', `rename`='%d',"
"`delete_date`='%lu',`robe`='%d',`slotchange`='%d', `char_opt`='%u', `font`='%u', `uniqueitem_counter` ='%u',"
"`hotkey_rowshift`='%d',`clan_id`='%d',`last_login`='%"PRId64"',`attendance_count`='%d',`attendance_timer`='%"PRId64"',"
- "`title_id`='%d'"
+ "`title_id`='%d', `inventory_size`='%d'"
" WHERE `account_id`='%d' AND `char_id` = '%d'",
char_db, p->base_level, p->job_level,
p->base_exp, p->job_exp, p->zeny,
@@ -508,7 +521,7 @@ static int char_mmo_char_tosql(int char_id, struct mmo_charstatus *p)
(unsigned long)p->delete_date, // FIXME: platform-dependent size
p->look.robe,p->slotchange,opt,p->font,p->uniqueitem_counter,
p->hotkey_rowshift,p->clan_id,p->last_login, p->attendance_count, p->attendance_timer,
- p->title_id,
+ p->title_id, p->inventorySize,
p->account_id, p->char_id) )
{
Sql_ShowDebug(inter->sql_handle);
@@ -1049,7 +1062,7 @@ static int char_mmo_gender(const struct char_session_data *sd, const struct mmo_
//=====================================================================================================
// Loads the basic character rooster for the given account. Returns total buffer used.
-static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf)
+static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf, int *count)
{
struct SqlStmt *stmt;
struct mmo_charstatus p;
@@ -1058,6 +1071,9 @@ static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf)
time_t unban_time = 0;
char sex[2];
+ if (count)
+ *count = 0;
+
nullpo_ret(sd);
nullpo_ret(buf);
@@ -1079,13 +1095,13 @@ static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf)
"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`max_hp`,`hp`,`max_sp`,`sp`,"
"`status_point`,`skill_point`,`option`,`karma`,`manner`,`hair`,`hair_color`,"
"`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`rename`,`delete_date`,"
- "`robe`,`slotchange`,`unban_time`,`sex`,`title_id`"
+ "`robe`,`slotchange`,`unban_time`,`sex`,`title_id`,`inventory_size`"
" FROM `%s` WHERE `account_id`='%d' AND `char_num` < '%d'", char_db, sd->account_id, MAX_CHARS)
|| SQL_ERROR == SQL->StmtExecute(stmt)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 0, SQLDT_INT, &p.char_id, sizeof p.char_id, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 1, SQLDT_UCHAR, &p.slot, sizeof p.slot, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 2, SQLDT_STRING, &p.name, sizeof p.name, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 3, SQLDT_INT16, &p.class, sizeof p.class, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 3, SQLDT_INT, &p.class, sizeof p.class, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_INT, &p.base_level, sizeof p.base_level, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 5, SQLDT_INT, &p.job_level, sizeof p.job_level, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 6, SQLDT_UINT64, &p.base_exp, sizeof p.base_exp, NULL, NULL)
@@ -1123,25 +1139,36 @@ static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 38, SQLDT_TIME, &unban_time, sizeof unban_time, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 39, SQLDT_ENUM, &sex, sizeof sex, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 40, SQLDT_INT, &p.title_id, sizeof p.title_id, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 41, SQLDT_INT, &p.inventorySize, sizeof p.inventorySize, NULL, NULL)
) {
SqlStmt_ShowDebug(stmt);
SQL->StmtFree(stmt);
return 0;
}
- for( i = 0; i < MAX_CHARS && SQL_SUCCESS == SQL->StmtNextRow(stmt); i++ ) {
+ int tmpCount = 0;
+ for (i = 0; i < MAX_CHARS && SQL_SUCCESS == SQL->StmtNextRow(stmt); i++) {
if (p.slot >= MAX_CHARS)
continue;
+ if (p.inventorySize <= 0 || p.inventorySize > MAX_INVENTORY) {
+ ShowError("Wrong inventorySize field: %d. Must be in range 1 to %d. Character %s (CID: %d, AID: %d)\n",
+ p.inventorySize, MAX_INVENTORY, p.name, p.char_id, p.account_id);
+ Assert_report(0);
+ p.inventorySize = FIXED_INVENTORY_SIZE;
+ }
p.last_point.map = mapindex->name2id(last_map);
sd->found_char[p.slot] = p.char_id;
sd->unban_time[p.slot] = unban_time;
p.sex = chr->mmo_gender(sd, &p, sex[0]);
j += chr->mmo_char_tobuf(WBUFP(buf, j), &p);
+ tmpCount ++;
}
- memset(sd->new_name,0,sizeof(sd->new_name));
+ memset(sd->new_name, 0, sizeof(sd->new_name));
SQL->StmtFree(stmt);
+ if (count)
+ *count = tmpCount;
return j;
}
@@ -1169,6 +1196,7 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
nullpo_ret(p);
memset(p, 0, sizeof(struct mmo_charstatus));
+ p->inventorySize = FIXED_INVENTORY_SIZE;
if (chr->show_save_log)
ShowInfo("Char load request (%d)\n", char_id);
@@ -1188,7 +1216,7 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
"`hair_color`,`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`last_x`,`last_y`,"
"`save_map`,`save_x`,`save_y`,`partner_id`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,`robe`,`slotchange`,"
"`char_opt`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`clan_id`,`last_login`, `attendance_count`, `attendance_timer`,"
- "`title_id`"
+ "`title_id`, `inventory_size`"
" FROM `%s` WHERE `char_id`=? LIMIT 1", char_db)
|| SQL_ERROR == SQL->StmtBindParam(stmt, 0, SQLDT_INT, &char_id, sizeof char_id)
|| SQL_ERROR == SQL->StmtExecute(stmt)
@@ -1196,7 +1224,7 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 1, SQLDT_INT, &p->account_id, sizeof p->account_id, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 2, SQLDT_UCHAR, &p->slot, sizeof p->slot, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 3, SQLDT_STRING, &p->name, sizeof p->name, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_INT16, &p->class, sizeof p->class, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_INT, &p->class, sizeof p->class, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 5, SQLDT_INT, &p->base_level, sizeof p->base_level, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 6, SQLDT_INT, &p->job_level, sizeof p->job_level, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 7, SQLDT_UINT64, &p->base_exp, sizeof p->base_exp, NULL, NULL)
@@ -1256,6 +1284,7 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 61, SQLDT_SHORT, &p->attendance_count, sizeof p->attendance_count, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 62, SQLDT_INT64, &p->attendance_timer, sizeof p->attendance_timer, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 63, SQLDT_INT, &p->title_id, sizeof p->title_id, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 64, SQLDT_INT, &p->inventorySize, sizeof p->inventorySize, NULL, NULL)
) {
SqlStmt_ShowDebug(stmt);
SQL->StmtFree(stmt);
@@ -1287,6 +1316,13 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
p->save_point.y = mapindex->default_y;
}
+ if (p->inventorySize <= 0 || p->inventorySize > MAX_INVENTORY) {
+ ShowError("Wrong inventorySize field: %d. Must be in range 1 to %d. Character %s (CID: %d, AID: %d)\n",
+ p->inventorySize, MAX_INVENTORY, p->name, p->char_id, p->account_id);
+ Assert_report(0);
+ p->inventorySize = FIXED_INVENTORY_SIZE;
+ }
+
strcat(t_msg, " status");
if (!load_everything) // For quick selection of data when displaying the char menu
@@ -1414,10 +1450,12 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
SQL->StmtFree(stmt);
/* load options into proper vars */
- if( opt & OPT_ALLOW_PARTY )
+ if (opt & OPT_ALLOW_PARTY)
p->allow_party = true;
- if( opt & OPT_SHOW_EQUIP )
+ if (opt & OPT_SHOW_EQUIP)
p->show_equip = true;
+ if (opt & OPT_ALLOW_CALL)
+ p->allow_call = true;
cp = idb_ensure(chr->char_db_, char_id, chr->create_charstatus);
memcpy(cp, p, sizeof(struct mmo_charstatus));
@@ -1514,6 +1552,14 @@ static int char_rename_char_sql(struct char_session_data *sd, int char_id)
if( char_dat.rename == 0 )
return 1;
+ if (char_aegis_rename) {
+ if (char_dat.guild_id > 0) {
+ return 5; // MSG_FAILED_RENAME_BELONGS_TO_GUILD
+ } else if (char_dat.party_id > 0) {
+ return 6; // MSG_FAILED_RENAME_BELONGS_TO_PARTY
+ }
+ }
+
SQL->EscapeStringLen(inter->sql_handle, esc_name, sd->new_name, strnlen(sd->new_name, NAME_LENGTH));
// check if the char exist
@@ -1539,9 +1585,20 @@ static int char_rename_char_sql(struct char_session_data *sd, int char_id)
// log change
if (chr->enable_logs) {
if (SQL_ERROR == SQL->Query(inter->sql_handle,
- "INSERT INTO `%s` (`time`, `char_msg`,`account_id`,`char_id`,`char_num`,`name`,`str`,`agi`,`vit`,`int`,`dex`,`luk`,`hair`,`hair_color`)"
- "VALUES (NOW(), '%s', '%d', '%d', '%d', '%s', '0', '0', '0', '0', '0', '0', '0', '0')",
- charlog_db, "change char name", sd->account_id, char_dat.char_id, char_dat.slot, esc_name))
+ "INSERT INTO `%s` ("
+ " `time`, `char_msg`, `account_id`, `char_id`, `char_num`, `class`, `name`,"
+ " `str`, `agi`, `vit`, `int`, `dex`, `luk`,"
+ " `hair`, `hair_color`"
+ ") VALUES ("
+ " NOW(), 'change char name', '%d', '%d', '%d', '%d', '%s',"
+ " '%d', '%d', '%d', '%d', '%d', '%d',"
+ " '%d', '%d'"
+ ")",
+ charlog_db,
+ sd->account_id, char_dat.char_id, char_dat.slot, char_dat.class, esc_name,
+ char_dat.str, char_dat.agi, char_dat.vit, char_dat.int_, char_dat.dex, char_dat.luk,
+ char_dat.hair, char_dat.hair_color
+ ))
Sql_ShowDebug(inter->sql_handle);
}
@@ -1653,7 +1710,7 @@ static int char_check_char_name(const char *name, const char *esc_name)
* -5: 'Symbols in Character Names are forbidden'
* char_id: Success
**/
-static int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int16 starting_class, uint8 sex)
+static int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_class, uint8 sex)
{
char name[NAME_LENGTH];
char esc_name[NAME_LENGTH*2+1];
@@ -1700,22 +1757,22 @@ static int char_make_new_char_sql(struct char_session_data *sd, const char *name
#if PACKETVER >= 20120307
// Insert the new char entry to the database
if (SQL_ERROR == SQL->Query(inter->sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `class`, `zeny`, `status_point`,`str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
- "`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `sex`) VALUES ("
- "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%c')",
+ "`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `sex`, `inventory_size`) VALUES ("
+ "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%c', '%d')",
char_db, sd->account_id , slot, esc_name, starting_class, start_zeny, 48, str, agi, vit, int_, dex, luk,
(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ), (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
- mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y, sex)) {
+ mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y, sex, FIXED_INVENTORY_SIZE)) {
Sql_ShowDebug(inter->sql_handle);
return -2; //No, stop the procedure!
}
#else
//Insert the new char entry to the database
if( SQL_ERROR == SQL->Query(inter->sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `class`, `zeny`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
- "`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`) VALUES ("
- "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d')",
+ "`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `inventory_size`) VALUES ("
+ "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%d')",
char_db, sd->account_id , slot, esc_name, starting_class, start_zeny, str, agi, vit, int_, dex, luk,
(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ), (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
- mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y) )
+ mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y, FIXED_INVENTORY_SIZE) )
{
Sql_ShowDebug(inter->sql_handle);
return -2; //No, stop the procedure!
@@ -1967,7 +2024,7 @@ static int char_count_users(void)
// Writes char data to the buffer in the format used by the client.
// Used in packets 0x6b (chars info) and 0x6d (new char info)
// Returns the size
-#define MAX_CHAR_BUF 150 //Max size (for WFIFOHEAD calls)
+#define MAX_CHAR_BUF (PACKET_LEN_0x006d - 2)
static int char_mmo_char_tobuf(uint8 *buffer, struct mmo_charstatus *p)
{
unsigned short offset = 0;
@@ -2072,18 +2129,36 @@ static int char_mmo_char_tobuf(uint8 *buffer, struct mmo_charstatus *p)
#endif
#endif
- return 106+offset;
+ if (106 + offset != MAX_CHAR_BUF)
+ Assert_report("Wrong buffer size in char_mmo_char_tobuf");
+ return 106 + offset;
}
/* Made Possible by Yommy~! <3 */
-static void char_mmo_char_send099d(int fd, struct char_session_data *sd)
-{
-// support added for client between 20121010 and 20130320
-#if PACKETVER > 20120418
- WFIFOHEAD(fd,4 + (MAX_CHARS*MAX_CHAR_BUF));
- WFIFOW(fd,0) = 0x99d;
- WFIFOW(fd,2) = chr->mmo_chars_fromsql(sd, WFIFOP(fd,4)) + 4;
- WFIFOSET(fd,WFIFOW(fd,2));
+static void char_send_HC_ACK_CHARINFO_PER_PAGE(int fd, struct char_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
+ WFIFOHEAD(fd, sizeof(struct PACKET_HC_ACK_CHARINFO_PER_PAGE) + (MAX_CHARS * MAX_CHAR_BUF));
+ struct PACKET_HC_ACK_CHARINFO_PER_PAGE *p = WFIFOP(fd, 0);
+ int count = 0;
+ p->packetId = HEADER_HC_ACK_CHARINFO_PER_PAGE;
+ p->packetLen = chr->mmo_chars_fromsql(sd, WFIFOP(fd, 4), &count) + sizeof(struct PACKET_HC_ACK_CHARINFO_PER_PAGE);
+ WFIFOSET(fd, p->packetLen);
+ // send empty packet if chars count is 3, for trigger final code in client
+ if (count == 3) {
+ chr->send_HC_ACK_CHARINFO_PER_PAGE_tail(fd, sd);
+ }
+#endif
+}
+
+static void char_send_HC_ACK_CHARINFO_PER_PAGE_tail(int fd, struct char_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
+ WFIFOHEAD(fd, sizeof(struct PACKET_HC_ACK_CHARINFO_PER_PAGE));
+ struct PACKET_HC_ACK_CHARINFO_PER_PAGE *p = WFIFOP(fd, 0);
+ p->packetId = HEADER_HC_ACK_CHARINFO_PER_PAGE;
+ p->packetLen = sizeof(struct PACKET_HC_ACK_CHARINFO_PER_PAGE);
+ WFIFOSET(fd, p->packetLen);
#endif
}
@@ -2132,17 +2207,20 @@ static void char_mmo_char_send_ban_list(int fd, struct char_session_data *sd)
//----------------------------------------
static void char_mmo_char_send_slots_info(int fd, struct char_session_data *sd)
{
+// also probably supported client 2013-02-15aRagexe but not 2013-02-15bRagexe [4144]
+#if PACKETVER_MAIN_NUM >= 20130612 || PACKETVER_RE_NUM >= 20130115 || defined(PACKETVER_ZERO)
nullpo_retv(sd);
- WFIFOHEAD(fd,29);
- WFIFOW(fd,0) = 0x82d;
- WFIFOW(fd,2) = 29;
- WFIFOB(fd,4) = sd->char_slots;
- WFIFOB(fd,5) = MAX_CHARS - sd->char_slots;
- WFIFOB(fd,6) = 0;
- WFIFOB(fd,7) = sd->char_slots;
- WFIFOB(fd,8) = sd->char_slots;
- memset(WFIFOP(fd,9), 0, 20); // unused bytes
- WFIFOSET(fd,29);
+ WFIFOHEAD(fd, 29);
+ WFIFOW(fd, 0) = 0x82d;
+ WFIFOW(fd, 2) = 29;
+ WFIFOB(fd, 4) = sd->char_slots;
+ WFIFOB(fd, 5) = MAX_CHARS - sd->char_slots;
+ WFIFOB(fd, 6) = 0;
+ WFIFOB(fd, 7) = sd->char_slots;
+ WFIFOB(fd, 8) = sd->char_slots;
+ memset(WFIFOP(fd, 9), 0, 20); // unused bytes
+ WFIFOSET(fd, 29);
+#endif
}
//----------------------------------------
// Function to send characters to a player
@@ -2166,7 +2244,7 @@ static int char_mmo_char_send_characters(int fd, struct char_session_data *sd)
WFIFOB(fd,6) = MAX_CHARS; // Premium slots. AKA any existent chars past sd->char_slots but within MAX_CHARS will show a 'Premium Service' in red
#endif
memset(WFIFOP(fd,4 + offset), 0, 20); // unknown bytes
- j+=chr->mmo_chars_fromsql(sd, WFIFOP(fd,j));
+ j += chr->mmo_chars_fromsql(sd, WFIFOP(fd, j), NULL);
WFIFOW(fd,2) = j; // packet len
WFIFOSET(fd,j);
@@ -2315,19 +2393,29 @@ static void char_ping_login_server(int fd)
static int char_parse_fromlogin_connection_state(int fd)
{
- if (RFIFOB(fd,2)) {
- //printf("connect login server error : %d\n", RFIFOB(fd,2));
+ switch (RFIFOB(fd,2)) {
+ case 0:
+ ShowStatus("Connected to login-server (connection #%d).\n", fd);
+ loginif->on_ready();
+ break;
+ case 1: // Invalid username/password
ShowError("Can not connect to login-server.\n");
ShowError("The server communication passwords (default s1/p1) are probably invalid.\n");
ShowError("Also, please make sure your login db has the correct communication username/passwords and the gender of the account is S.\n");
ShowError("The communication passwords are set in /conf/map/map-server.conf and /conf/char/char-server.conf\n");
sockt->eof(fd);
return 1;
- } else {
- ShowStatus("Connected to login-server (connection #%d).\n", fd);
- loginif->on_ready();
+ case 2: // IP not allowed
+ ShowError("Can not connect to login-server.\n");
+ ShowError("Please make sure your IP is allowed in conf/network.conf\n");
+ sockt->eof(fd);
+ return 1;
+ default:
+ ShowError("Invalid response from the login-server. Error code: %d\n", (int)RFIFOB(fd,2));
+ sockt->eof(fd);
+ return 1;
}
- RFIFOSKIP(fd,3);
+ RFIFOSKIP(fd, 3);
return 0;
}
@@ -2409,12 +2497,8 @@ static void char_parse_fromlogin_account_data(int fd)
chr->auth_error(i, 0);
} else {
// send characters to player
- #if PACKETVER >= 20130000
chr->mmo_char_send_slots_info(i, sd);
chr->mmo_char_send_characters(i, sd);
- #else
- chr->mmo_char_send_characters(i, sd);
- #endif
#if PACKETVER >= 20060819
chr->mmo_char_send_ban_list(i, sd);
#endif
@@ -4151,10 +4235,10 @@ static void char_delete2_accept_actual_ack(int fd, int char_id, uint32 result)
/// Any (0x718): An unknown error has occurred.
static void char_delete2_accept_ack(int fd, int char_id, uint32 result)
{// HC: <082a>.W <char id>.L <Msg:0-5>.L
-#if PACKETVER >= 20130000 /* not sure the exact date -- must refresh or client gets stuck */
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
if( result == 1 ) {
struct char_session_data* sd = (struct char_session_data*)sockt->session[fd]->session_data;
- chr->mmo_char_send099d(fd, sd);
+ chr->send_HC_ACK_CHARINFO_PER_PAGE(fd, sd);
}
#endif
chr->delete2_accept_actual_ack(fd, char_id, result);
@@ -4345,9 +4429,9 @@ static void char_delete2_cancel(int fd, struct char_session_data *sd)
static void char_send_account_id(int fd, int account_id)
{
- WFIFOHEAD(fd,4);
- WFIFOL(fd,0) = account_id;
- WFIFOSET(fd,4);
+ WFIFOHEAD(fd, 4);
+ WFIFOL(fd, 0) = account_id;
+ WFIFOSET2(fd, 4);
}
static void char_parse_char_connect(int fd, struct char_session_data *sd, uint32 ipl)
@@ -4382,6 +4466,7 @@ static void char_parse_char_connect(int fd, struct char_session_data *sd, uint32
if( core->runflag != CHARSERVER_ST_RUNNING ) {
chr->auth_error(fd, 0);
+ sockt->eof(fd);
return;
}
@@ -4396,11 +4481,13 @@ static void char_parse_char_connect(int fd, struct char_session_data *sd, uint32
/* restrictions apply */
if( chr->server_type == CST_MAINTENANCE && node->group_id < char_maintenance_min_group_id ) {
chr->auth_error(fd, 0);
+ sockt->eof(fd);
return;
}
/* the client will already deny this request, this check is to avoid someone bypassing. */
if( chr->server_type == CST_PAYING && (time_t)node->expiration_time < time(NULL) ) {
chr->auth_error(fd, 0);
+ sockt->eof(fd);
return;
}
idb_remove(auth_db, account_id);
@@ -4412,6 +4499,7 @@ static void char_parse_char_connect(int fd, struct char_session_data *sd, uint32
loginif->auth(fd, sd, ipl);
} else { // if no login-server, we must refuse connection
chr->auth_error(fd, 0);
+ sockt->eof(fd);
}
}
}
@@ -4558,8 +4646,19 @@ static void char_parse_char_select(int fd, struct char_session_data *sd, uint32
// FIXME: Why are we re-escaping the name if it was already escaped in rename/make_new_char? [Panikon]
SQL->EscapeStringLen(inter->sql_handle, esc_name, char_dat.name, strnlen(char_dat.name, NAME_LENGTH));
if (SQL_ERROR == SQL->Query(inter->sql_handle,
- "INSERT INTO `%s`(`time`, `account_id`, `char_id`, `char_num`, `name`) VALUES (NOW(), '%d', '%d', '%d', '%s')",
- charlog_db, sd->account_id, cd->char_id, slot, esc_name))
+ "INSERT INTO `%s`("
+ " `time`, `char_msg`, `account_id`, `char_id`, `char_num`, `class`, `name`,"
+ " `str`, `agi`, `vit`, `int`, `dex`, `luk`,"
+ " `hair`, `hair_color`"
+ ") VALUES ("
+ " NOW(), 'char select', '%d', '%d', '%d', '%d', '%s',"
+ " '%d', '%d', '%d', '%d', '%d', '%d',"
+ " '%d', '%d')",
+ charlog_db,
+ sd->account_id, cd->char_id, slot, char_dat.class, esc_name,
+ char_dat.str, char_dat.agi, char_dat.vit, char_dat.int_, char_dat.dex, char_dat.luk,
+ char_dat.hair, char_dat.hair_color
+ ))
Sql_ShowDebug(inter->sql_handle);
}
ShowInfo("Selected char: (Account %d: %d - %s)\n", sd->account_id, slot, char_dat.name);
@@ -4621,7 +4720,8 @@ static void char_creation_failed(int fd, int result)
/* Others I found [Ind] */
/* 0x02 = Symbols in Character Names are forbidden */
/* 0x03 = You are not eligible to open the Character Slot. */
- /* 0x0B = This service is only available for premium users. */
+ /* 0x0B = This service is only available for premium users. */
+ /* 0x0C = Character name is invalid. */
switch (result) {
case -1: WFIFOB(fd,2) = 0x00; break; // 'Charname already exists'
case -2: WFIFOB(fd,2) = 0xFF; break; // 'Char creation denied'
@@ -4900,10 +5000,10 @@ static void char_parse_char_delete2_cancel(int fd, struct char_session_data *sd)
// 3 - error
static void char_login_map_server_ack(int fd, uint8 flag)
{
- WFIFOHEAD(fd,3);
- WFIFOW(fd,0) = 0x2af9;
- WFIFOB(fd,2) = flag;
- WFIFOSET(fd,3);
+ WFIFOHEAD(fd, 3);
+ WFIFOW(fd, 0) = 0x2af9;
+ WFIFOB(fd, 2) = flag;
+ WFIFOSET2(fd, 3);
}
static void char_parse_char_login_map_server(int fd, uint32 ipl)
@@ -4921,6 +5021,7 @@ static void char_parse_char_login_map_server(int fd, uint32 ipl)
!sockt->allowed_ip_check(ipl))
{
chr->login_map_server_ack(fd, 3); // Failure
+ sockt->eof(fd);
} else {
chr->login_map_server_ack(fd, 0); // Success
@@ -4930,6 +5031,7 @@ static void char_parse_char_login_map_server(int fd, uint32 ipl)
chr->server[i].users = 0;
sockt->session[fd]->func_parse = chr->parse_frommap;
sockt->session[fd]->flag.server = 1;
+ sockt->session[fd]->flag.validate = 0;
sockt->realloc_fifo(fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
chr->mapif_init(fd);
}
@@ -4975,7 +5077,7 @@ static void char_parse_char_pincode_first_pin(int fd, struct char_session_data *
static void char_parse_char_request_chars(int fd, struct char_session_data *sd)
{
- chr->mmo_char_send099d(fd, sd);
+ chr->send_HC_ACK_CHARINFO_PER_PAGE(fd, sd);
RFIFOSKIP(fd,2);
}
@@ -4995,8 +5097,8 @@ static void char_parse_char_move_character(int fd, struct char_session_data *sd)
chr->change_character_slot_ack(fd, ret);
/* for some stupid reason it requires the char data again (gravity -_-) */
if( ret )
-#if PACKETVER >= 20130000
- chr->mmo_char_send099d(fd, sd);
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
+ chr->send_HC_ACK_CHARINFO_PER_PAGE(fd, sd);
#else
chr->mmo_char_send_characters(fd, sd);
#endif
@@ -5299,6 +5401,7 @@ static int char_check_connect_login_server(int tid, int64 tick, int id, intptr_t
sockt->session[chr->login_fd]->func_parse = chr->parse_fromlogin;
sockt->session[chr->login_fd]->flag.server = 1;
+ sockt->session[chr->login_fd]->flag.validate = 0;
sockt->realloc_fifo(chr->login_fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
loginif->connect_to_server();
@@ -5848,6 +5951,7 @@ static bool char_config_read_player_name(const char *filename, const struct conf
libconfig->setting_lookup_mutable_string(setting, "name_letters", char_name_letters, sizeof(char_name_letters));
libconfig->setting_lookup_int(setting, "name_option", &char_name_option);
libconfig->setting_lookup_bool_real(setting, "name_ignoring_case", &name_ignoring_case);
+ libconfig->setting_lookup_bool_real(setting, "use_aegis_rename", &char_aegis_rename);
return true;
}
@@ -6290,6 +6394,7 @@ int do_init(int argc, char **argv)
Sql_ShowDebug(inter->sql_handle);
sockt->set_defaultparse(chr->parse_char);
+ sockt->validate = true;
if ((chr->char_fd = sockt->make_listen_bind(bind_ip,chr->port)) == -1) {
ShowFatalError("Failed to bind to port '"CL_WHITE"%d"CL_RESET"'\n",chr->port);
@@ -6390,7 +6495,8 @@ void char_defaults(void)
chr->divorce_char_sql = char_divorce_char_sql;
chr->count_users = char_count_users;
chr->mmo_char_tobuf = char_mmo_char_tobuf;
- chr->mmo_char_send099d = char_mmo_char_send099d;
+ chr->send_HC_ACK_CHARINFO_PER_PAGE = char_send_HC_ACK_CHARINFO_PER_PAGE;
+ chr->send_HC_ACK_CHARINFO_PER_PAGE_tail = char_send_HC_ACK_CHARINFO_PER_PAGE_tail;
chr->mmo_char_send_ban_list = char_mmo_char_send_ban_list;
chr->mmo_char_send_slots_info = char_mmo_char_send_slots_info;
chr->mmo_char_send_characters = char_mmo_char_send_characters;
diff --git a/src/char/char.h b/src/char/char.h
index 81cab1eaf..5de3e2a80 100644
--- a/src/char/char.h
+++ b/src/char/char.h
@@ -142,18 +142,19 @@ struct char_interface {
int (*getitemdata_from_sql) (struct item *items, int max, int guid, enum inventory_table_type table);
int (*memitemdata_to_sql) (const struct item items[], int id, enum inventory_table_type table);
int (*mmo_gender) (const struct char_session_data *sd, const struct mmo_charstatus *p, char sex);
- int (*mmo_chars_fromsql) (struct char_session_data* sd, uint8* buf);
+ int (*mmo_chars_fromsql) (struct char_session_data* sd, uint8* buf, int *count);
int (*mmo_char_fromsql) (int char_id, struct mmo_charstatus* p, bool load_everything);
int (*mmo_char_sql_init) (void);
bool (*char_slotchange) (struct char_session_data *sd, int fd, unsigned short from, unsigned short to);
int (*rename_char_sql) (struct char_session_data *sd, int char_id);
bool (*name_exists) (const char *name, const char *esc_name);
int (*check_char_name) (const char *name, const char *esc_name);
- int (*make_new_char_sql) (struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job, uint8 sex);
+ int (*make_new_char_sql) (struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_job, uint8 sex);
int (*divorce_char_sql) (int partner_id1, int partner_id2);
int (*count_users) (void);
int (*mmo_char_tobuf) (uint8* buffer, struct mmo_charstatus* p);
- void (*mmo_char_send099d) (int fd, struct char_session_data *sd);
+ void (*send_HC_ACK_CHARINFO_PER_PAGE) (int fd, struct char_session_data *sd);
+ void (*send_HC_ACK_CHARINFO_PER_PAGE_tail) (int fd, struct char_session_data *sd);
void (*mmo_char_send_ban_list) (int fd, struct char_session_data *sd);
void (*mmo_char_send_slots_info) (int fd, struct char_session_data* sd);
int (*mmo_char_send_characters) (int fd, struct char_session_data* sd);
diff --git a/src/char/int_guild.c b/src/char/int_guild.c
index e03278fad..8e05c76e2 100644
--- a/src/char/int_guild.c
+++ b/src/char/int_guild.c
@@ -319,8 +319,8 @@ static int inter_guild_tosql(struct guild *g, int flag)
SQL->EscapeStringLen(inter->sql_handle, esc_name, e->name, strnlen(e->name, NAME_LENGTH));
SQL->EscapeStringLen(inter->sql_handle, esc_mes, e->mes, strnlen(e->mes, sizeof(e->mes)));
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s` (`guild_id`,`account_id`,`name`,`mes`) "
- "VALUES ('%d','%d','%s','%s')", guild_expulsion_db, g->guild_id, e->account_id, esc_name, esc_mes) )
+ if( SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s` (`guild_id`,`account_id`, `char_id`, `name`,`mes`) "
+ "VALUES ('%d','%d','%d','%s','%s')", guild_expulsion_db, g->guild_id, e->account_id, e->char_id, esc_name, esc_mes) )
Sql_ShowDebug(inter->sql_handle);
}
}
@@ -443,7 +443,15 @@ static struct guild *inter_guild_fromsql(int guild_id)
if( m->position >= MAX_GUILDPOSITION ) // Fix reduction of MAX_GUILDPOSITION [PoW]
m->position = MAX_GUILDPOSITION - 1;
SQL->GetData(inter->sql_handle, 11, &data, &len); memcpy(m->name, data, min(len, NAME_LENGTH));
- SQL->GetData(inter->sql_handle, 12, &data, NULL); m->last_login = atoi(data);
+ SQL->GetData(inter->sql_handle, 12, &data, NULL);
+ if (data != NULL) {
+ m->last_login = atoi(data);
+ // 2036-12-31
+ if (m->last_login > 2114283600) {
+ ShowError("Last login time bigger than allowd value in %d:%s: %u\n", guild_id, g->name, m->last_login);
+ m->last_login = 0;
+ }
+ }
m->modified = GS_MEMBER_UNMODIFIED;
}
@@ -486,7 +494,7 @@ static struct guild *inter_guild_fromsql(int guild_id)
}
//printf("- Read guild_expulsion %d from sql \n",guild_id);
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `account_id`,`name`,`mes` FROM `%s` WHERE `guild_id`='%d'", guild_expulsion_db, guild_id) )
+ if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `account_id`,`char_id`,`name`,`mes` FROM `%s` WHERE `guild_id`='%d'", guild_expulsion_db, guild_id) )
{
Sql_ShowDebug(inter->sql_handle);
aFree(g);
@@ -497,8 +505,9 @@ static struct guild *inter_guild_fromsql(int guild_id)
struct guild_expulsion *e = &g->expulsion[i];
SQL->GetData(inter->sql_handle, 0, &data, NULL); e->account_id = atoi(data);
- SQL->GetData(inter->sql_handle, 1, &data, &len); memcpy(e->name, data, min(len, NAME_LENGTH));
- SQL->GetData(inter->sql_handle, 2, &data, &len); memcpy(e->mes, data, min(len, sizeof(e->mes)));
+ SQL->GetData(inter->sql_handle, 1, &data, NULL); e->char_id = atoi(data);
+ SQL->GetData(inter->sql_handle, 2, &data, &len); memcpy(e->name, data, min(len, NAME_LENGTH));
+ SQL->GetData(inter->sql_handle, 3, &data, &len); memcpy(e->mes, data, min(len, sizeof(e->mes)));
}
//printf("- Read guild_skill %d from sql \n",guild_id);
@@ -1036,6 +1045,7 @@ static bool inter_guild_leave(int guild_id, int account_id, int char_id, int fla
}
// Save the expulsion entry
g->expulsion[j].account_id = account_id;
+ g->expulsion[j].char_id = char_id;
safestrncpy(g->expulsion[j].name, g->member[i].name, NAME_LENGTH);
safestrncpy(g->expulsion[j].mes, mes, 40);
}
@@ -1058,7 +1068,7 @@ static bool inter_guild_leave(int guild_id, int account_id, int char_id, int fla
}
// Change member info
-static bool inter_guild_update_member_info_short(int guild_id, int account_id, int char_id, int online, int lv, int16 class)
+static bool inter_guild_update_member_info_short(int guild_id, int account_id, int char_id, int online, int lv, int class)
{
// Could speed up by manipulating only guild_member
struct guild *g;
@@ -1600,7 +1610,7 @@ static int inter_guild_parse_frommap(int fd)
case 0x3032: mapif->parse_GuildAddMember(fd, RFIFOL(fd,4), RFIFOP(fd,8)); break;
case 0x3033: mapif->parse_GuildMasterChange(fd, RFIFOL(fd,4), RFIFOP(fd,8), RFIFOW(fd,2)-8); break;
case 0x3034: mapif->parse_GuildLeave(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOB(fd,14), RFIFOP(fd,15)); break;
- case 0x3035: mapif->parse_GuildChangeMemberInfoShort(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOW(fd,15),RFIFOW(fd,17)); break;
+ case 0x3035: mapif->parse_GuildChangeMemberInfoShort(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOL(fd,15),RFIFOL(fd,19)); break;
case 0x3036: mapif->parse_BreakGuild(fd,RFIFOL(fd,2)); break;
case 0x3037: mapif->parse_GuildMessage(fd, RFIFOL(fd,4), RFIFOL(fd,8), RFIFOP(fd,12), RFIFOW(fd,2)-12); break;
case 0x3039: mapif->parse_GuildBasicInfoChange(fd, RFIFOL(fd,4), RFIFOW(fd,8), RFIFOP(fd,10), RFIFOW(fd,2)-10); break;
diff --git a/src/char/int_guild.h b/src/char/int_guild.h
index 33873edcd..4ed0f526e 100644
--- a/src/char/int_guild.h
+++ b/src/char/int_guild.h
@@ -72,7 +72,7 @@ struct inter_guild_interface {
struct guild *(*create) (const char *name, const struct guild_member *master);
bool (*add_member) (int guild_id, const struct guild_member *member, int map_fd);
bool (*leave) (int guild_id, int account_id, int char_id, int flag, const char *mes, int map_fd);
- bool (*update_member_info_short) (int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ bool (*update_member_info_short) (int guild_id, int account_id, int char_id, int online, int lv, int class);
bool (*update_member_info) (int guild_id, int account_id, int char_id, int type, const char *data, int len);
bool (*disband) (int guild_id);
bool (*update_basic_info) (int guild_id, int type, const void *data, int len);
diff --git a/src/char/int_pet.c b/src/char/int_pet.c
index 8f87becff..d31e7545c 100644
--- a/src/char/int_pet.c
+++ b/src/char/int_pet.c
@@ -160,7 +160,7 @@ static int inter_pet_delete(int pet_id)
return 0;
}
//------------------------------------------------------
-static struct s_pet *inter_pet_create(int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id,
+static struct s_pet *inter_pet_create(int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id,
int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name)
{
nullpo_ret(pet_name);
diff --git a/src/char/int_pet.h b/src/char/int_pet.h
index 104771735..b5852d441 100644
--- a/src/char/int_pet.h
+++ b/src/char/int_pet.h
@@ -37,7 +37,7 @@ struct inter_pet_interface {
int (*delete_) (int pet_id);
int (*parse_frommap) (int fd);
- struct s_pet *(*create) (int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id,
+ struct s_pet *(*create) (int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id,
int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
struct s_pet *(*load) (int account_id, int char_id, int pet_id);
};
diff --git a/src/char/int_rodex.c b/src/char/int_rodex.c
index 18c277574..fbf628f32 100644
--- a/src/char/int_rodex.c
+++ b/src/char/int_rodex.c
@@ -268,7 +268,7 @@ static bool inter_rodex_hasnew(int char_id, int account_id)
}
/// Checks player name and retrieves some data
-static bool inter_rodex_checkname(const char *name, int *target_char_id, short *target_class, int *target_level)
+static bool inter_rodex_checkname(const char *name, int *target_char_id, int *target_class, int *target_level)
{
char esc_name[NAME_LENGTH * 2 + 1];
bool found = false;
@@ -286,7 +286,7 @@ static bool inter_rodex_checkname(const char *name, int *target_char_id, short *
if (SQL_SUCCESS == SQL->NextRow(inter->sql_handle)) {
char *data;
SQL->GetData(inter->sql_handle, 0, &data, NULL); *target_char_id = atoi(data);
- SQL->GetData(inter->sql_handle, 1, &data, NULL); *target_class = (short)atoi(data);
+ SQL->GetData(inter->sql_handle, 1, &data, NULL); *target_class = atoi(data);
SQL->GetData(inter->sql_handle, 2, &data, NULL); *target_level = atoi(data);
found = true;
}
@@ -346,11 +346,128 @@ static int64 inter_rodex_savemessage(struct rodex_message *msg)
return msg->id;
}
+static int64 inter_rodex_getzeny(int64 mail_id)
+{
+ Assert_retr(-1, mail_id > 0);
+
+ if (SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `zeny`, `type` FROM `%s` WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id)) {
+ Sql_ShowDebug(inter->sql_handle);
+ } else {
+ if (SQL_SUCCESS == SQL->NextRow(inter->sql_handle)) {
+ char *data;
+ SQL->GetData(inter->sql_handle, 0, &data, NULL);
+ int64 zeny = atoi(data);
+ SQL->GetData(inter->sql_handle, 1, &data, NULL);
+ uint8 type = atoi(data);
+ SQL->FreeResult(inter->sql_handle);
+ if ((type & MAIL_TYPE_ZENY) == 0)
+ return -1;
+ return zeny;
+ }
+ }
+ SQL->FreeResult(inter->sql_handle);
+
+ return -1;
+}
+
+static int inter_rodex_getitems(int64 mail_id, struct rodex_item *items)
+{
+ Assert_retr(-1, mail_id > 0);
+ nullpo_retr(-1, items);
+
+ if (SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `type` FROM `%s` WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id)) {
+ Sql_ShowDebug(inter->sql_handle);
+ return -1;
+ } else {
+ if (SQL_SUCCESS == SQL->NextRow(inter->sql_handle)) {
+ char *data;
+ SQL->GetData(inter->sql_handle, 0, &data, NULL);
+ uint8 type = atoi(data);
+ SQL->FreeResult(inter->sql_handle);
+ if ((type & MAIL_TYPE_ITEM) == 0)
+ return -1;
+ } else {
+ SQL->FreeResult(inter->sql_handle);
+ return -1;
+ }
+ }
+
+
+ int itemsCount = 0;
+
+ struct SqlStmt *stmt_items = SQL->StmtMalloc(inter->sql_handle);
+
+ if (stmt_items == NULL) {
+ return -1;
+ }
+
+ StringBuf buf;
+ StrBuf->Init(&buf);
+
+ StrBuf->AppendStr(&buf, "SELECT `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `expire_time`, `bound`, `unique_id`");
+ for (int i = 0; i < MAX_SLOTS; i++) {
+ StrBuf->Printf(&buf, ", `card%d`", i);
+ }
+ for (int i = 0; i < MAX_ITEM_OPTIONS; i++) {
+ StrBuf->Printf(&buf, ", `opt_idx%d`, `opt_val%d`", i, i);
+ }
+ StrBuf->Printf(&buf, "FROM `%s` WHERE mail_id = ? ORDER BY `mail_id` ASC", rodex_item_db);
+
+ struct item it = { 0 };
+
+ if (SQL_ERROR == SQL->StmtPrepareStr(stmt_items, StrBuf->Value(&buf))
+ || SQL_ERROR == SQL->StmtBindParam(stmt_items, 0, SQLDT_INT64, &mail_id, sizeof mail_id)
+ ) {
+ SqlStmt_ShowDebug(stmt_items);
+ }
+
+ if (SQL_ERROR == SQL->StmtExecute(stmt_items)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 0, SQLDT_INT, &it.nameid, sizeof it.nameid, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 1, SQLDT_SHORT, &it.amount, sizeof it.amount, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 2, SQLDT_UINT, &it.equip, sizeof it.equip, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 3, SQLDT_CHAR, &it.identify, sizeof it.identify, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 4, SQLDT_CHAR, &it.refine, sizeof it.refine, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 5, SQLDT_CHAR, &it.attribute, sizeof it.attribute, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 6, SQLDT_UINT, &it.expire_time, sizeof it.expire_time, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 7, SQLDT_UCHAR, &it.bound, sizeof it.bound, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 8, SQLDT_UINT64, &it.unique_id, sizeof it.unique_id, NULL, NULL)
+ ) {
+ SqlStmt_ShowDebug(stmt_items);
+ }
+ for (int i = 0; i < MAX_SLOTS; i++) {
+ if (SQL_ERROR == SQL->StmtBindColumn(stmt_items, 9 + i, SQLDT_INT, &it.card[i], sizeof it.card[i], NULL, NULL))
+ SqlStmt_ShowDebug(stmt_items);
+ }
+ for (int i = 0; i < MAX_ITEM_OPTIONS; i++) {
+ if (SQL_ERROR == SQL->StmtBindColumn(stmt_items, 9 + MAX_SLOTS + i * 2, SQLDT_INT16, &it.option[i].index, sizeof it.option[i].index, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 10 + MAX_SLOTS + i * 2, SQLDT_INT16, &it.option[i].value, sizeof it.option[i].value, NULL, NULL)
+ ) {
+ SqlStmt_ShowDebug(stmt_items);
+ }
+ }
+
+ for (int i = 0; i < RODEX_MAX_ITEM && SQL_SUCCESS == SQL->StmtNextRow(stmt_items); ++i) {
+ items[i].item = it;
+ items[i].idx = itemsCount;
+ itemsCount++;
+ }
+
+ SQL->StmtFreeResult(stmt_items);
+
+ StrBuf->Destroy(&buf);
+ SQL->StmtFree(stmt_items);
+
+ return itemsCount;
+}
+
/*==========================================
* Update/Delete mail
*------------------------------------------*/
-static bool inter_rodex_updatemail(int64 mail_id, int8 flag)
+static bool inter_rodex_updatemail(int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag)
{
+ Assert_retr(false, fd >= 0);
+ Assert_retr(false, account_id > 0);
+ Assert_retr(false, char_id > 0);
Assert_retr(false, mail_id > 0);
Assert_retr(false, flag >= 0 && flag <= 4);
@@ -361,17 +478,24 @@ static bool inter_rodex_updatemail(int64 mail_id, int8 flag)
break;
case 1: // Get Zeny
- if (SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `zeny` = 0, `type` = `type` & (~2) WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id))
+ {
+ const int64 zeny = inter_rodex->getzeny(mail_id);
+ if (SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `zeny` = 0, `type` = `type` & (~2) WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id)) {
Sql_ShowDebug(inter->sql_handle);
+ break;
+ }
+ mapif->rodex_getzenyack(fd, char_id, mail_id, opentype, zeny);
break;
-
+ }
case 2: // Get Items
+ {
+ struct rodex_item items[RODEX_MAX_ITEM];
+ const int count = inter_rodex->getitems(mail_id, &items[0]);
if (SQL_ERROR == SQL->Query(inter->sql_handle, "DELETE FROM `%s` WHERE `mail_id` = '%"PRId64"'", rodex_item_db, mail_id))
Sql_ShowDebug(inter->sql_handle);
- if (SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `zeny` = 0, `type` = `type` & (~4) WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id))
- Sql_ShowDebug(inter->sql_handle);
+ mapif->rodex_getitemsack(fd, char_id, mail_id, opentype, count, &items[0]);
break;
-
+ }
case 3: // Delete Mail
if (SQL_ERROR == SQL->Query(inter->sql_handle, "DELETE FROM `%s` WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id))
Sql_ShowDebug(inter->sql_handle);
@@ -429,4 +553,6 @@ void inter_rodex_defaults(void)
inter_rodex->hasnew = inter_rodex_hasnew;
inter_rodex->checkname = inter_rodex_checkname;
inter_rodex->updatemail = inter_rodex_updatemail;
+ inter_rodex->getzeny = inter_rodex_getzeny;
+ inter_rodex->getitems = inter_rodex_getitems;
}
diff --git a/src/char/int_rodex.h b/src/char/int_rodex.h
index 43e2d891c..a6a172ceb 100644
--- a/src/char/int_rodex.h
+++ b/src/char/int_rodex.h
@@ -34,9 +34,11 @@ struct inter_rodex_interface {
int (*parse_frommap) (int fd);
int (*fromsql) (int char_id, int account_id, int8 opentype, int64 mail_id, struct rodex_maillist *mails);
bool (*hasnew) (int char_id, int account_id);
- bool (*checkname) (const char *name, int *target_char_id, short *target_class, int *target_level);
+ bool (*checkname) (const char *name, int *target_char_id, int *target_class, int *target_level);
int64 (*savemessage) (struct rodex_message* msg);
- bool (*updatemail) (int64 mail_id, int8 flag);
+ bool (*updatemail) (int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag);
+ int64 (*getzeny) (int64 mail_id);
+ int (*getitems) (int64 mail_id, struct rodex_item *items);
};
#ifdef HERCULES_CORE
diff --git a/src/char/inter.c b/src/char/inter.c
index 418c9b0a1..64c840c16 100644
--- a/src/char/inter.c
+++ b/src/char/inter.c
@@ -73,13 +73,13 @@ static int inter_recv_packet_length[] = {
-1,-1, 7,-1, -1,13,36, (2 + 4 + 4 + 4 + NAME_LENGTH), 0, 0, 0, 0, 0, 0, 0, 0, // 3000-
6,-1, 6,-1, 0, 0, 0, 0, 10,-1, 0, 0, 0, 0, 0, 0, // 3010- Account Storage, Achievements [Smokexyz]
-1,10,-1,14, 14,19, 6,-1, 14,14, 0, 0, 0, 0, 0, 0, // 3020- Party
- -1, 6,-1,-1, 55,19, 6,-1, 14,-1,-1,-1, 18,19,186,-1, // 3030-
+ -1, 6,-1,-1, 55,23, 6,-1, 14,-1,-1,-1, 18,19,186,-1, // 3030-
-1, 9, 0, 0, 10,10, 0, 0, 7, 6,10,10, 10,-1, 0, 0, // 3040- Clan System(3044-3045)
-1,-1,10,10, 0,-1,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3050- Auction System [Zephyrus], Item Bound [Mhalicot]
6,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3060- Quest system [Kevin] [Inkfish]
-1,10, 6,-1, 0, 0, 0, 0, 0, 0, 0, 0, -1,10, 6,-1, // 3070- Mercenary packets [Zephyrus], Elemental packets [pakpil]
- 52,14,-1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3080-
- -1,10,-1, 6, 0, 20,10,11, -1,6 + NAME_LENGTH, 0, 0, 0, 0, 0, 0, // 3090- Homunculus packets [albator], RoDEX packets
+ 56,14,-1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3080-
+ -1,10,-1, 6, 0, 20,10,20, -1,6 + NAME_LENGTH, 0, 0, 0, 0, 0, 0, // 3090- Homunculus packets [albator], RoDEX packets
};
static struct DBMap *wis_db = NULL; // int wis_id -> struct WisData*
diff --git a/src/char/mapif.c b/src/char/mapif.c
index dc5735550..8f213ecb5 100644
--- a/src/char/mapif.c
+++ b/src/char/mapif.c
@@ -569,7 +569,7 @@ static int mapif_guild_withdraw(int guild_id, int account_id, int char_id, int f
// Send short member's info
static int mapif_guild_memberinfoshort(struct guild *g, int idx)
{
- unsigned char buf[23];
+ unsigned char buf[25];
nullpo_ret(g);
Assert_ret(idx >= 0 && idx < MAX_GUILD);
WBUFW(buf, 0) = 0x3835;
@@ -578,9 +578,9 @@ static int mapif_guild_memberinfoshort(struct guild *g, int idx)
WBUFL(buf, 10) = g->member[idx].char_id;
WBUFB(buf, 14) = (unsigned char)g->member[idx].online;
WBUFW(buf, 15) = g->member[idx].lv;
- WBUFW(buf, 17) = g->member[idx].class;
- WBUFL(buf, 19) = g->member[idx].last_login;
- mapif->sendall(buf, 23);
+ WBUFL(buf, 17) = g->member[idx].class;
+ WBUFL(buf, 21) = g->member[idx].last_login;
+ mapif->sendall(buf, 25);
return 0;
}
@@ -797,7 +797,7 @@ static int mapif_parse_GuildLeave(int fd, int guild_id, int account_id, int char
}
// Change member info
-static int mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class)
+static int mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_id, int char_id, int online, int lv, int class)
{
inter_guild->update_member_info_short(guild_id, account_id, char_id, online, lv, class);
return 0;
@@ -1423,18 +1423,18 @@ static int mapif_parse_PartyLeaderChange(int fd, int party_id, int account_id, i
static int mapif_pet_created(int fd, int account_id, struct s_pet *p)
{
- WFIFOHEAD(fd, 12);
+ WFIFOHEAD(fd, 14);
WFIFOW(fd, 0) = 0x3880;
WFIFOL(fd, 2) = account_id;
if (p != NULL){
- WFIFOW(fd, 6) = p->class_;
- WFIFOL(fd, 8) = p->pet_id;
+ WFIFOL(fd, 6) = p->class_;
+ WFIFOL(fd, 10) = p->pet_id;
ShowInfo("int_pet: created pet %d - %s\n", p->pet_id, p->name);
} else {
- WFIFOB(fd, 6) = 0;
- WFIFOL(fd, 8) = 0;
+ WFIFOL(fd, 6) = 0;
+ WFIFOL(fd, 10) = 0;
}
- WFIFOSET(fd, 12);
+ WFIFOSET(fd, 14);
return 0;
}
@@ -1521,15 +1521,15 @@ static int mapif_parse_CreatePet(int fd)
account_id = RFIFOL(fd, 2);
pet = inter_pet->create(account_id,
RFIFOL(fd, 6),
- RFIFOW(fd, 10),
- RFIFOW(fd, 12),
+ RFIFOL(fd, 10),
RFIFOL(fd, 14),
RFIFOL(fd, 18),
- RFIFOW(fd, 22),
- RFIFOW(fd, 24),
- RFIFOB(fd, 26),
- RFIFOB(fd, 27),
- RFIFOP(fd, 28));
+ RFIFOL(fd, 22),
+ RFIFOW(fd, 26),
+ RFIFOW(fd, 28),
+ RFIFOB(fd, 30),
+ RFIFOB(fd, 31),
+ RFIFOP(fd, 32));
if (pet != NULL)
mapif->pet_created(fd, account_id, pet);
@@ -1744,10 +1744,13 @@ static void mapif_rodex_sendhasnew(int fd, int char_id, bool has_new)
*------------------------------------------*/
static void mapif_parse_rodex_updatemail(int fd)
{
- int64 mail_id = RFIFOL(fd, 2);
- int8 flag = RFIFOB(fd, 10);
+ int account_id = RFIFOL(fd, 2);
+ int char_id = RFIFOL(fd, 6);
+ int64 mail_id = RFIFOQ(fd, 10);
+ uint8 opentype = RFIFOB(fd, 18);
+ int8 flag = RFIFOB(fd, 19);
- inter_rodex->updatemail(mail_id, flag);
+ inter_rodex->updatemail(fd, account_id, char_id, mail_id, opentype, flag);
}
/*==========================================
@@ -1789,7 +1792,7 @@ static void mapif_parse_rodex_checkname(int fd)
int reqchar_id = RFIFOL(fd, 2);
char name[NAME_LENGTH];
int target_char_id, target_level;
- short target_class;
+ int target_class;
safestrncpy(name, RFIFOP(fd, 6), NAME_LENGTH);
@@ -1799,20 +1802,20 @@ static void mapif_parse_rodex_checkname(int fd)
mapif->rodex_checkname(fd, reqchar_id, 0, 0, 0, name);
}
-static void mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name)
+static void mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name)
{
nullpo_retv(name);
Assert_retv(reqchar_id > 0);
Assert_retv(target_char_id >= 0);
- WFIFOHEAD(fd, 16 + NAME_LENGTH);
+ WFIFOHEAD(fd, 18 + NAME_LENGTH);
WFIFOW(fd, 0) = 0x3898;
WFIFOL(fd, 2) = reqchar_id;
WFIFOL(fd, 6) = target_char_id;
- WFIFOW(fd, 10) = target_class;
- WFIFOL(fd, 12) = target_level;
- safestrncpy(WFIFOP(fd, 16), name, NAME_LENGTH);
- WFIFOSET(fd, 16 + NAME_LENGTH);
+ WFIFOL(fd, 10) = target_class;
+ WFIFOL(fd, 14) = target_level;
+ safestrncpy(WFIFOP(fd, 18), name, NAME_LENGTH);
+ WFIFOSET(fd, 18 + NAME_LENGTH);
}
static int mapif_load_guild_storage(int fd, int account_id, int guild_id, char flag)
@@ -2461,6 +2464,29 @@ static void mapif_achievement_save(int char_id, struct char_achievements *p)
inter_achievement->tosql(char_id, cp, p);
}
+static void mapif_rodex_getzenyack(int fd, int char_id, int64 mail_id, uint8 opentype, int64 zeny)
+{
+ WFIFOHEAD(fd, 23);
+ WFIFOW(fd, 0) = 0x3899;
+ WFIFOL(fd, 2) = char_id;
+ WFIFOQ(fd, 6) = zeny;
+ WFIFOQ(fd, 14) = mail_id;
+ WFIFOB(fd, 22) = opentype;
+ WFIFOSET(fd, 23);
+}
+
+static void mapif_rodex_getitemsack(int fd, int char_id, int64 mail_id, uint8 opentype, int count, const struct rodex_item *items)
+{
+ WFIFOHEAD(fd, 15 + sizeof(struct rodex_item) * RODEX_MAX_ITEM);
+ WFIFOW(fd, 0) = 0x389a;
+ WFIFOL(fd, 2) = char_id;
+ WFIFOQ(fd, 6) = mail_id;
+ WFIFOB(fd, 14) = opentype;
+ WFIFOB(fd, 15) = count;
+ memcpy(WFIFOP(fd, 16), items, sizeof(struct rodex_item) * RODEX_MAX_ITEM);
+ WFIFOSET(fd, 16 + sizeof(struct rodex_item) * RODEX_MAX_ITEM);
+}
+
void mapif_defaults(void)
{
mapif = &mapif_s;
@@ -2605,6 +2631,8 @@ void mapif_defaults(void)
mapif->rodex_send = mapif_rodex_send;
mapif->parse_rodex_checkname = mapif_parse_rodex_checkname;
mapif->rodex_checkname = mapif_rodex_checkname;
+ mapif->rodex_getzenyack = mapif_rodex_getzenyack;
+ mapif->rodex_getitemsack = mapif_rodex_getitemsack;
mapif->load_guild_storage = mapif_load_guild_storage;
mapif->save_guild_storage_ack = mapif_save_guild_storage_ack;
mapif->parse_LoadGuildStorage = mapif_parse_LoadGuildStorage;
diff --git a/src/char/mapif.h b/src/char/mapif.h
index bfdefe4ea..71a41f94c 100644
--- a/src/char/mapif.h
+++ b/src/char/mapif.h
@@ -24,6 +24,7 @@
#include "common/mmo.h"
struct WisData;
+struct rodex_item;
/**
* mapif interface
@@ -84,7 +85,7 @@ struct mapif_interface {
int (*parse_GuildInfo) (int fd, int guild_id);
int (*parse_GuildAddMember) (int fd, int guild_id, const struct guild_member *m);
int (*parse_GuildLeave) (int fd, int guild_id, int account_id, int char_id, int flag, const char *mes);
- int (*parse_GuildChangeMemberInfoShort) (int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ int (*parse_GuildChangeMemberInfoShort) (int fd, int guild_id, int account_id, int char_id, int online, int lv, int class);
int (*parse_BreakGuild) (int fd, int guild_id);
int (*parse_GuildMessage) (int fd, int guild_id, int account_id, const char *mes, int len);
int (*parse_GuildBasicInfoChange) (int fd, int guild_id, int type, const void *data, int len);
@@ -167,7 +168,9 @@ struct mapif_interface {
void (*parse_rodex_send) (int fd);
void (*rodex_send) (int fd, int sender_id, int receiver_id, int receiver_accountid, bool result);
void (*parse_rodex_checkname) (int fd);
- void (*rodex_checkname) (int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name);
+ void (*rodex_checkname) (int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name);
+ void (*rodex_getzenyack) (int fd, int char_id, int64 mail_id, uint8 opentype, int64 zeny);
+ void (*rodex_getitemsack) (int fd, int char_id, int64 mail_id, uint8 opentype, int count, const struct rodex_item *items);
int (*load_guild_storage) (int fd, int account_id, int guild_id, char flag);
int (*save_guild_storage_ack) (int fd, int account_id, int guild_id, int fail);
int (*parse_LoadGuildStorage) (int fd);
diff --git a/src/char/packets_hc_struct.h b/src/char/packets_hc_struct.h
new file mode 100644
index 000000000..196493cac
--- /dev/null
+++ b/src/char/packets_hc_struct.h
@@ -0,0 +1,45 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2016-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef CHAR_PACKETS_HC_STRUCT_H
+#define CHAR_PACKETS_HC_STRUCT_H
+
+#include "common/hercules.h"
+#include "common/mmo.h"
+#include "common/packetsstatic_len.h"
+
+/* Packets Structs */
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(push, 1)
+#endif // not NetBSD < 6 / Solaris
+
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
+struct PACKET_HC_ACK_CHARINFO_PER_PAGE {
+ int16 packetId;
+ int16 packetLen;
+ // chars list[]
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(HC_ACK_CHARINFO_PER_PAGE, 0x099d);
+#endif
+
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(pop)
+#endif // not NetBSD < 6 / Solaris
+
+#endif // CHAR_PACKETS_HC_STRUCT_H
diff --git a/src/common/HPM.c b/src/common/HPM.c
index 014c947b6..a579a0926 100644
--- a/src/common/HPM.c
+++ b/src/common/HPM.c
@@ -30,6 +30,7 @@
#include "common/memmgr.h"
#include "common/mapindex.h"
#include "common/mmo.h"
+#include "common/packets.h"
#include "common/showmsg.h"
#include "common/socket.h"
#include "common/sql.h"
@@ -186,6 +187,10 @@ static bool hplugins_addpacket(unsigned short cmd, unsigned short length, void (
packet->len = length;
packet->receive = receive;
+ if (cmd <= MAX_PACKET_DB && cmd >= MIN_PACKET_DB) {
+ packets->db[cmd] = length;
+ }
+
return true;
}
diff --git a/src/common/HPMDataCheck.h b/src/common/HPMDataCheck.h
index 31bce72b2..0a3494cce 100644
--- a/src/common/HPMDataCheck.h
+++ b/src/common/HPMDataCheck.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2014-2018 Hercules Dev Team
+ * Copyright (C) 2014-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -230,6 +230,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "party_member", sizeof(struct party_member), SERVER_TYPE_ALL },
{ "point", sizeof(struct point), SERVER_TYPE_ALL },
{ "quest", sizeof(struct quest), SERVER_TYPE_ALL },
+ { "rodex_item", sizeof(struct rodex_item), SERVER_TYPE_ALL },
{ "rodex_maillist", sizeof(struct rodex_maillist), SERVER_TYPE_ALL },
{ "rodex_message", sizeof(struct rodex_message), SERVER_TYPE_ALL },
{ "s_elemental", sizeof(struct s_elemental), SERVER_TYPE_ALL },
@@ -256,6 +257,11 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#else
#define COMMON_NULLPO_H
#endif // COMMON_NULLPO_H
+ #ifdef COMMON_PACKETS_H
+ { "packets_interface", sizeof(struct packets_interface), SERVER_TYPE_ALL },
+ #else
+ #define COMMON_PACKETS_H
+ #endif // COMMON_PACKETS_H
#ifdef COMMON_RANDOM_H
{ "rnd_interface", sizeof(struct rnd_interface), SERVER_TYPE_ALL },
#else
@@ -341,21 +347,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#ifdef LOGIN_LCLIF_P_H
{ "lclif_interface_dbs", sizeof(struct lclif_interface_dbs), SERVER_TYPE_LOGIN },
{ "lclif_interface_private", sizeof(struct lclif_interface_private), SERVER_TYPE_LOGIN },
- { "packet_AC_ACCEPT_LOGIN", sizeof(struct packet_AC_ACCEPT_LOGIN), SERVER_TYPE_LOGIN },
- { "packet_AC_REFUSE_LOGIN", sizeof(struct packet_AC_REFUSE_LOGIN), SERVER_TYPE_LOGIN },
- { "packet_AC_REFUSE_LOGIN_R2", sizeof(struct packet_AC_REFUSE_LOGIN_R2), SERVER_TYPE_LOGIN },
- { "packet_CA_CHARSERVERCONNECT", sizeof(struct packet_CA_CHARSERVERCONNECT), SERVER_TYPE_LOGIN },
- { "packet_CA_CONNECT_INFO_CHANGED", sizeof(struct packet_CA_CONNECT_INFO_CHANGED), SERVER_TYPE_LOGIN },
- { "packet_CA_EXE_HASHCHECK", sizeof(struct packet_CA_EXE_HASHCHECK), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN", sizeof(struct packet_CA_LOGIN), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN2", sizeof(struct packet_CA_LOGIN2), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN3", sizeof(struct packet_CA_LOGIN3), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN4", sizeof(struct packet_CA_LOGIN4), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN_HAN", sizeof(struct packet_CA_LOGIN_HAN), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN_OTP", sizeof(struct packet_CA_LOGIN_OTP), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN_PCBANG", sizeof(struct packet_CA_LOGIN_PCBANG), SERVER_TYPE_LOGIN },
- { "packet_CA_SSO_LOGIN_REQ", sizeof(struct packet_CA_SSO_LOGIN_REQ), SERVER_TYPE_LOGIN },
- { "packet_SC_NOTIFY_BAN", sizeof(struct packet_SC_NOTIFY_BAN), SERVER_TYPE_LOGIN },
#else
#define LOGIN_LCLIF_P_H
#endif // LOGIN_LCLIF_P_H
@@ -378,6 +369,29 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#else
#define LOGIN_LOGIN_H
#endif // LOGIN_LOGIN_H
+ #ifdef LOGIN_PACKETS_AC_STRUCT_H
+ { "PACKET_AC_ACCEPT_LOGIN", sizeof(struct PACKET_AC_ACCEPT_LOGIN), SERVER_TYPE_LOGIN },
+ { "PACKET_AC_REFUSE_LOGIN", sizeof(struct PACKET_AC_REFUSE_LOGIN), SERVER_TYPE_LOGIN },
+ { "PACKET_AC_REFUSE_LOGIN_R2", sizeof(struct PACKET_AC_REFUSE_LOGIN_R2), SERVER_TYPE_LOGIN },
+ { "PACKET_SC_NOTIFY_BAN", sizeof(struct PACKET_SC_NOTIFY_BAN), SERVER_TYPE_LOGIN },
+ #else
+ #define LOGIN_PACKETS_AC_STRUCT_H
+ #endif // LOGIN_PACKETS_AC_STRUCT_H
+ #ifdef LOGIN_PACKETS_CA_STRUCT_H
+ { "PACKET_CA_CHARSERVERCONNECT", sizeof(struct PACKET_CA_CHARSERVERCONNECT), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_CONNECT_INFO_CHANGED", sizeof(struct PACKET_CA_CONNECT_INFO_CHANGED), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_EXE_HASHCHECK", sizeof(struct PACKET_CA_EXE_HASHCHECK), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN", sizeof(struct PACKET_CA_LOGIN), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN2", sizeof(struct PACKET_CA_LOGIN2), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN3", sizeof(struct PACKET_CA_LOGIN3), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN4", sizeof(struct PACKET_CA_LOGIN4), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN_HAN", sizeof(struct PACKET_CA_LOGIN_HAN), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN_OTP", sizeof(struct PACKET_CA_LOGIN_OTP), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN_PCBANG", sizeof(struct PACKET_CA_LOGIN_PCBANG), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_SSO_LOGIN_REQ", sizeof(struct PACKET_CA_SSO_LOGIN_REQ), SERVER_TYPE_LOGIN },
+ #else
+ #define LOGIN_PACKETS_CA_STRUCT_H
+ #endif // LOGIN_PACKETS_CA_STRUCT_H
#ifdef MAP_ACHIEVEMENT_H
{ "achievement_data", sizeof(struct achievement_data), SERVER_TYPE_MAP },
{ "achievement_interface", sizeof(struct achievement_interface), SERVER_TYPE_MAP },
@@ -445,12 +459,13 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#endif // MAP_CLAN_H
#ifdef MAP_CLIF_H
{ "attendance_entry", sizeof(struct attendance_entry), SERVER_TYPE_MAP },
+ { "barter_itemlist_entry", sizeof(struct barter_itemlist_entry), SERVER_TYPE_MAP },
+ { "barteritemlist", sizeof(struct barteritemlist), SERVER_TYPE_MAP },
{ "cdelayed_damage", sizeof(struct cdelayed_damage), SERVER_TYPE_MAP },
{ "clif_interface", sizeof(struct clif_interface), SERVER_TYPE_MAP },
{ "hCSData", sizeof(struct hCSData), SERVER_TYPE_MAP },
{ "merge_item", sizeof(struct merge_item), SERVER_TYPE_MAP },
{ "s_packet_db", sizeof(struct s_packet_db), SERVER_TYPE_MAP },
- { "stylist_data_entry", sizeof(struct stylist_data_entry), SERVER_TYPE_MAP },
#else
#define MAP_CLIF_H
#endif // MAP_CLIF_H
@@ -556,8 +571,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "mapcell", sizeof(struct mapcell), SERVER_TYPE_MAP },
{ "mapflag_skill_adjust", sizeof(struct mapflag_skill_adjust), SERVER_TYPE_MAP },
{ "mapit_interface", sizeof(struct mapit_interface), SERVER_TYPE_MAP },
- { "questinfo", sizeof(struct questinfo), SERVER_TYPE_MAP },
- { "questinfo_qreq", sizeof(struct questinfo_qreq), SERVER_TYPE_MAP },
{ "spawn_data", sizeof(struct spawn_data), SERVER_TYPE_MAP },
#else
#define MAP_MAP_H
@@ -575,8 +588,12 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "mob_chat", sizeof(struct mob_chat), SERVER_TYPE_MAP },
{ "mob_data", sizeof(struct mob_data), SERVER_TYPE_MAP },
{ "mob_db", sizeof(struct mob_db), SERVER_TYPE_MAP },
+ { "mob_drop", sizeof(struct mob_drop), SERVER_TYPE_MAP },
{ "mob_interface", sizeof(struct mob_interface), SERVER_TYPE_MAP },
{ "mob_skill", sizeof(struct mob_skill), SERVER_TYPE_MAP },
+ { "optdrop_group", sizeof(struct optdrop_group), SERVER_TYPE_MAP },
+ { "optdrop_group_option", sizeof(struct optdrop_group_option), SERVER_TYPE_MAP },
+ { "optdrop_group_optslot", sizeof(struct optdrop_group_optslot), SERVER_TYPE_MAP },
{ "spawn_info", sizeof(struct spawn_info), SERVER_TYPE_MAP },
#else
#define MAP_MOB_H
@@ -606,7 +623,9 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "NORMALITEM_INFO", sizeof(struct NORMALITEM_INFO), SERVER_TYPE_MAP },
{ "PACKET_CZ_ADD_ITEM_TO_MAIL", sizeof(struct PACKET_CZ_ADD_ITEM_TO_MAIL), SERVER_TYPE_MAP },
{ "PACKET_CZ_CHECKNAME", sizeof(struct PACKET_CZ_CHECKNAME), SERVER_TYPE_MAP },
+ { "PACKET_CZ_MEMORIALDUNGEON_COMMAND", sizeof(struct PACKET_CZ_MEMORIALDUNGEON_COMMAND), SERVER_TYPE_MAP },
{ "PACKET_CZ_OPEN_UI", sizeof(struct PACKET_CZ_OPEN_UI), SERVER_TYPE_MAP },
+ { "PACKET_CZ_PARTY_CONFIG", sizeof(struct PACKET_CZ_PARTY_CONFIG), SERVER_TYPE_MAP },
{ "PACKET_CZ_PC_BUY_CASH_POINT_ITEM", sizeof(struct PACKET_CZ_PC_BUY_CASH_POINT_ITEM), SERVER_TYPE_MAP },
{ "PACKET_CZ_PC_BUY_CASH_POINT_ITEM_sub", sizeof(struct PACKET_CZ_PC_BUY_CASH_POINT_ITEM_sub), SERVER_TYPE_MAP },
{ "PACKET_CZ_PC_PURCHASE_ITEMLIST", sizeof(struct PACKET_CZ_PC_PURCHASE_ITEMLIST), SERVER_TYPE_MAP },
@@ -624,6 +643,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_CZ_REQ_OPEN_WRITE_MAIL", sizeof(struct PACKET_CZ_REQ_OPEN_WRITE_MAIL), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_READ_MAIL", sizeof(struct PACKET_CZ_REQ_READ_MAIL), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_REFRESH_MAIL_LIST", sizeof(struct PACKET_CZ_REQ_REFRESH_MAIL_LIST), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_REMAINTIME", sizeof(struct PACKET_CZ_REQ_REMAINTIME), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_REMOVE_ITEM_MAIL", sizeof(struct PACKET_CZ_REQ_REMOVE_ITEM_MAIL), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_STYLE_CHANGE", sizeof(struct PACKET_CZ_REQ_STYLE_CHANGE), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_STYLE_CHANGE2", sizeof(struct PACKET_CZ_REQ_STYLE_CHANGE2), SERVER_TYPE_MAP },
@@ -648,6 +668,8 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_ZC_ACK_OPEN_WRITE_MAIL", sizeof(struct PACKET_ZC_ACK_OPEN_WRITE_MAIL), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_REMOVE_ITEM_MAIL", sizeof(struct PACKET_ZC_ACK_REMOVE_ITEM_MAIL), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_REQMAKINGITEM", sizeof(struct PACKET_ZC_ACK_REQMAKINGITEM), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_REQNAME_TITLE", sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_REQNAMEALL", sizeof(struct PACKET_ZC_ACK_REQNAMEALL), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_SCHEDULER_CASHITEM", sizeof(struct PACKET_ZC_ACK_SCHEDULER_CASHITEM), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_SCHEDULER_CASHITEM_sub", sizeof(struct PACKET_ZC_ACK_SCHEDULER_CASHITEM_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_TOUSESKILL", sizeof(struct PACKET_ZC_ACK_TOUSESKILL), SERVER_TYPE_MAP },
@@ -658,10 +680,11 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_ZC_ADD_ITEM_TO_MAIL", sizeof(struct PACKET_ZC_ADD_ITEM_TO_MAIL), SERVER_TYPE_MAP },
{ "PACKET_ZC_ADD_ITEM_TO_STORE", sizeof(struct PACKET_ZC_ADD_ITEM_TO_STORE), SERVER_TYPE_MAP },
{ "PACKET_ZC_ADD_MEMBER_TO_GROUP", sizeof(struct PACKET_ZC_ADD_MEMBER_TO_GROUP), SERVER_TYPE_MAP },
+ { "PACKET_ZC_BAN_LIST", sizeof(struct PACKET_ZC_BAN_LIST), SERVER_TYPE_MAP },
+ { "PACKET_ZC_BAN_LIST_sub", sizeof(struct PACKET_ZC_BAN_LIST_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_CASH_ITEM_DELETE", sizeof(struct PACKET_ZC_CASH_ITEM_DELETE), SERVER_TYPE_MAP },
{ "PACKET_ZC_CASH_TIME_COUNTER", sizeof(struct PACKET_ZC_CASH_TIME_COUNTER), SERVER_TYPE_MAP },
{ "PACKET_ZC_CHECKNAME", sizeof(struct PACKET_ZC_CHECKNAME), SERVER_TYPE_MAP },
- { "PACKET_ZC_CLANINFO", sizeof(struct PACKET_ZC_CLANINFO), SERVER_TYPE_MAP },
{ "PACKET_ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER", sizeof(struct PACKET_ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER), SERVER_TYPE_MAP },
{ "PACKET_ZC_FEED_MER", sizeof(struct PACKET_ZC_FEED_MER), SERVER_TYPE_MAP },
{ "PACKET_ZC_FEED_PET", sizeof(struct PACKET_ZC_FEED_PET), SERVER_TYPE_MAP },
@@ -703,10 +726,11 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_ZC_PC_PURCHASE_MYITEMLIST", sizeof(struct PACKET_ZC_PC_PURCHASE_MYITEMLIST), SERVER_TYPE_MAP },
{ "PACKET_ZC_PC_PURCHASE_MYITEMLIST_sub", sizeof(struct PACKET_ZC_PC_PURCHASE_MYITEMLIST_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_PRIVATE_AIRSHIP_RESPONSE", sizeof(struct PACKET_ZC_PRIVATE_AIRSHIP_RESPONSE), SERVER_TYPE_MAP },
- { "PACKET_ZC_PROPERTY_HOMUN", sizeof(struct PACKET_ZC_PROPERTY_HOMUN), SERVER_TYPE_MAP },
{ "PACKET_ZC_READ_MAIL", sizeof(struct PACKET_ZC_READ_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_REMOVE_EFFECT", sizeof(struct PACKET_ZC_REMOVE_EFFECT), SERVER_TYPE_MAP },
{ "PACKET_ZC_REPAIRITEMLIST", sizeof(struct PACKET_ZC_REPAIRITEMLIST), SERVER_TYPE_MAP },
{ "PACKET_ZC_REPAIRITEMLIST_sub", sizeof(struct PACKET_ZC_REPAIRITEMLIST_sub), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ROLE_CHANGE", sizeof(struct PACKET_ZC_ROLE_CHANGE), SERVER_TYPE_MAP },
{ "PACKET_ZC_SEARCH_STORE_INFO_ACK", sizeof(struct PACKET_ZC_SEARCH_STORE_INFO_ACK), SERVER_TYPE_MAP },
{ "PACKET_ZC_SEARCH_STORE_INFO_ACK_sub", sizeof(struct PACKET_ZC_SEARCH_STORE_INFO_ACK_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_SKILL_SCALE", sizeof(struct PACKET_ZC_SKILL_SCALE), SERVER_TYPE_MAP },
@@ -718,7 +742,11 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_ZC_WARPLIST", sizeof(struct PACKET_ZC_WARPLIST), SERVER_TYPE_MAP },
{ "PACKET_ZC_WARPLIST_sub", sizeof(struct PACKET_ZC_WARPLIST_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_WRITE_MAIL_RESULT", sizeof(struct PACKET_ZC_WRITE_MAIL_RESULT), SERVER_TYPE_MAP },
+ { "ZC_INVENTORY_END", sizeof(struct ZC_INVENTORY_END), SERVER_TYPE_MAP },
+ { "ZC_INVENTORY_START", sizeof(struct ZC_INVENTORY_START), SERVER_TYPE_MAP },
{ "ZC_PROGRESS_ACTOR", sizeof(struct ZC_PROGRESS_ACTOR), SERVER_TYPE_MAP },
+ { "ZC_STORE_ITEMLIST_EQUIP", sizeof(struct ZC_STORE_ITEMLIST_EQUIP), SERVER_TYPE_MAP },
+ { "ZC_STORE_ITEMLIST_NORMAL", sizeof(struct ZC_STORE_ITEMLIST_NORMAL), SERVER_TYPE_MAP },
{ "ach_list_info", sizeof(struct ach_list_info), SERVER_TYPE_MAP },
{ "mail_item", sizeof(struct mail_item), SERVER_TYPE_MAP },
{ "maillistinfo", sizeof(struct maillistinfo), SERVER_TYPE_MAP },
@@ -760,7 +788,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "packet_mission_info_sub", sizeof(struct packet_mission_info_sub), SERVER_TYPE_MAP },
{ "packet_monster_hp", sizeof(struct packet_monster_hp), SERVER_TYPE_MAP },
{ "packet_notify_bounditem", sizeof(struct packet_notify_bounditem), SERVER_TYPE_MAP },
- { "packet_npc_market_open", sizeof(struct packet_npc_market_open), SERVER_TYPE_MAP },
{ "packet_npc_market_purchase", sizeof(struct packet_npc_market_purchase), SERVER_TYPE_MAP },
{ "packet_npc_market_result_ack", sizeof(struct packet_npc_market_result_ack), SERVER_TYPE_MAP },
{ "packet_package_item_announce", sizeof(struct packet_package_item_announce), SERVER_TYPE_MAP },
@@ -774,7 +801,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "packet_quest_update_header", sizeof(struct packet_quest_update_header), SERVER_TYPE_MAP },
{ "packet_quest_update_hunt", sizeof(struct packet_quest_update_hunt), SERVER_TYPE_MAP },
{ "packet_reqname_ack", sizeof(struct packet_reqname_ack), SERVER_TYPE_MAP },
- { "packet_reqnameall_ack", sizeof(struct packet_reqnameall_ack), SERVER_TYPE_MAP },
{ "packet_roulette_close_ack", sizeof(struct packet_roulette_close_ack), SERVER_TYPE_MAP },
{ "packet_roulette_generate_ack", sizeof(struct packet_roulette_generate_ack), SERVER_TYPE_MAP },
{ "packet_roulette_info_ack", sizeof(struct packet_roulette_info_ack), SERVER_TYPE_MAP },
@@ -789,8 +815,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "packet_status_change", sizeof(struct packet_status_change), SERVER_TYPE_MAP },
{ "packet_status_change2", sizeof(struct packet_status_change2), SERVER_TYPE_MAP },
{ "packet_status_change_end", sizeof(struct packet_status_change_end), SERVER_TYPE_MAP },
- { "packet_storelist_equip", sizeof(struct packet_storelist_equip), SERVER_TYPE_MAP },
- { "packet_storelist_normal", sizeof(struct packet_storelist_normal), SERVER_TYPE_MAP },
{ "packet_unequipitem_ack", sizeof(struct packet_unequipitem_ack), SERVER_TYPE_MAP },
{ "packet_unit_walking", sizeof(struct packet_unit_walking), SERVER_TYPE_MAP },
{ "packet_viewequip_ack", sizeof(struct packet_viewequip_ack), SERVER_TYPE_MAP },
@@ -862,9 +886,25 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "quest_dropitem", sizeof(struct quest_dropitem), SERVER_TYPE_MAP },
{ "quest_interface", sizeof(struct quest_interface), SERVER_TYPE_MAP },
{ "quest_objective", sizeof(struct quest_objective), SERVER_TYPE_MAP },
+ { "questinfo", sizeof(struct questinfo), SERVER_TYPE_MAP },
+ { "questinfo_itemreq", sizeof(struct questinfo_itemreq), SERVER_TYPE_MAP },
+ { "questinfo_qreq", sizeof(struct questinfo_qreq), SERVER_TYPE_MAP },
#else
#define MAP_QUEST_H
#endif // MAP_QUEST_H
+ #ifdef MAP_REFINE_H
+ { "refine_interface", sizeof(struct refine_interface), SERVER_TYPE_MAP },
+ { "s_refine_requirement", sizeof(struct s_refine_requirement), SERVER_TYPE_MAP },
+ #else
+ #define MAP_REFINE_H
+ #endif // MAP_REFINE_H
+ #ifdef MAP_REFINE_P_H
+ { "refine_interface_dbs", sizeof(struct refine_interface_dbs), SERVER_TYPE_MAP },
+ { "refine_interface_private", sizeof(struct refine_interface_private), SERVER_TYPE_MAP },
+ { "s_refine_info", sizeof(struct s_refine_info), SERVER_TYPE_MAP },
+ #else
+ #define MAP_REFINE_P_H
+ #endif // MAP_REFINE_P_H
#ifdef MAP_RODEX_H
{ "rodex_interface", sizeof(struct rodex_interface), SERVER_TYPE_MAP },
#else
@@ -927,7 +967,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#ifdef MAP_STATUS_H
{ "regen_data", sizeof(struct regen_data), SERVER_TYPE_MAP },
{ "regen_data_sub", sizeof(struct regen_data_sub), SERVER_TYPE_MAP },
- { "s_refine_info", sizeof(struct s_refine_info), SERVER_TYPE_MAP },
{ "s_status_dbs", sizeof(struct s_status_dbs), SERVER_TYPE_MAP },
{ "sc_display_entry", sizeof(struct sc_display_entry), SERVER_TYPE_MAP },
{ "status_change", sizeof(struct status_change), SERVER_TYPE_MAP },
@@ -944,6 +983,12 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#else
#define MAP_STORAGE_H
#endif // MAP_STORAGE_H
+ #ifdef MAP_STYLIST_H
+ { "stylist_data_entry", sizeof(struct stylist_data_entry), SERVER_TYPE_MAP },
+ { "stylist_interface", sizeof(struct stylist_interface), SERVER_TYPE_MAP },
+ #else
+ #define MAP_STYLIST_H
+ #endif // MAP_STYLIST_H
#ifdef MAP_TRADE_H
{ "trade_interface", sizeof(struct trade_interface), SERVER_TYPE_MAP },
#else
diff --git a/src/common/HPMSymbols.inc.h b/src/common/HPMSymbols.inc.h
index 15acb1b06..f92899114 100644
--- a/src/common/HPMSymbols.inc.h
+++ b/src/common/HPMSymbols.inc.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -218,6 +218,9 @@ struct npc_interface *npc;
#ifdef COMMON_NULLPO_H /* nullpo */
struct nullpo_interface *nullpo;
#endif // COMMON_NULLPO_H
+#ifdef COMMON_PACKETS_H /* packets */
+struct packets_interface *packets;
+#endif // COMMON_PACKETS_H
#ifdef MAP_PARTY_H /* party */
struct party_interface *party;
#endif // MAP_PARTY_H
@@ -242,6 +245,9 @@ struct pincode_interface *pincode;
#ifdef MAP_QUEST_H /* quest */
struct quest_interface *quest;
#endif // MAP_QUEST_H
+#ifdef MAP_REFINE_H /* refine */
+struct refine_interface *refine;
+#endif // MAP_REFINE_H
#ifdef COMMON_RANDOM_H /* rnd */
struct rnd_interface *rnd;
#endif // COMMON_RANDOM_H
@@ -278,6 +284,9 @@ struct stringbuf_interface *StrBuf;
#ifdef COMMON_STRLIB_H /* strlib */
struct strlib_interface *strlib;
#endif // COMMON_STRLIB_H
+#ifdef MAP_STYLIST_H /* stylist */
+struct stylist_interface *stylist;
+#endif // MAP_STYLIST_H
#ifdef COMMON_STRLIB_H /* sv */
struct sv_interface *sv;
#endif // COMMON_STRLIB_H
@@ -559,6 +568,10 @@ HPExport const char *HPM_shared_symbols(int server_type)
if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("nullpo", nullpo))
return "nullpo";
#endif // COMMON_NULLPO_H
+#ifdef COMMON_PACKETS_H /* packets */
+ if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("packets", packets))
+ return "packets";
+#endif // COMMON_PACKETS_H
#ifdef MAP_PARTY_H /* party */
if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("party", party))
return "party";
@@ -591,6 +604,10 @@ HPExport const char *HPM_shared_symbols(int server_type)
if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("quest", quest))
return "quest";
#endif // MAP_QUEST_H
+#ifdef MAP_REFINE_H /* refine */
+ if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("refine", refine))
+ return "refine";
+#endif // MAP_REFINE_H
#ifdef COMMON_RANDOM_H /* rnd */
if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("rnd", rnd))
return "rnd";
@@ -639,6 +656,10 @@ HPExport const char *HPM_shared_symbols(int server_type)
if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("strlib", strlib))
return "strlib";
#endif // COMMON_STRLIB_H
+#ifdef MAP_STYLIST_H /* stylist */
+ if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("stylist", stylist))
+ return "stylist";
+#endif // MAP_STYLIST_H
#ifdef COMMON_STRLIB_H /* sv */
if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("sv", sv))
return "sv";
diff --git a/src/common/Makefile.in b/src/common/Makefile.in
index f65138521..708780595 100644
--- a/src/common/Makefile.in
+++ b/src/common/Makefile.in
@@ -38,20 +38,18 @@ MT19937AR_OBJ = $(MT19937AR_D)/mt19937ar.o
MT19937AR_H = $(MT19937AR_D)/mt19937ar.h
COMMON_SHARED_C = conf.c db.c des.c ers.c grfio.c HPM.c mapindex.c md5calc.c \
- mutex.c nullpo.c random.c showmsg.c strlib.c sysinfo.c \
- thread.c timer.c utils.c
+ mutex.c nullpo.c packets.c random.c showmsg.c strlib.c \
+ sysinfo.c thread.c timer.c utils.c
COMMON_C = $(COMMON_SHARED_C)
COMMON_SHARED_OBJ = $(patsubst %.c,%.o,$(COMMON_SHARED_C))
COMMON_OBJ = $(addprefix obj_all/, $(COMMON_SHARED_OBJ) \
console.o core.o memmgr.o socket.o)
-COMMON_MINI_OBJ = $(addprefix obj_all/, $(COMMON_SHARED_OBJ) \
- miniconsole.o minicore.o minimemmgr.o minisocket.o)
COMMON_C += console.c core.c memmgr.c socket.c
COMMON_H = atomic.h cbasetypes.h conf.h console.h core.h db.h des.h ers.h \
grfio.h hercules.h HPM.h HPMi.h memmgr.h mapindex.h md5calc.h \
- mmo.h mutex.h nullpo.h random.h showmsg.h socket.h spinlock.h \
- sql.h strlib.h sysinfo.h thread.h timer.h utils.h winapi.h \
- ../plugins/HPMHooking.h
+ mmo.h mutex.h nullpo.h packets.h packets_len.h random.h showmsg.h \
+ socket.h spinlock.h sql.h strlib.h sysinfo.h thread.h timer.h \
+ utils.h winapi.h ../plugins/HPMHooking.h
COMMON_PH =
COMMON_SQL_OBJ = obj_sql/sql.o
@@ -61,7 +59,7 @@ SYSINFO_INC = sysinfo.inc
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- SQL_DEPENDS=common common_sql common_mini
+ SQL_DEPENDS=common common_sql
else
SQL_DEPENDS=needs_mysql
endif
@@ -72,7 +70,7 @@ CC = @CC@
export CC
#####################################################################
-.PHONY: all sql common common_sql common_mini clean buildclean help
+.PHONY: all sql common common_sql clean buildclean help
all: sql
@@ -119,18 +117,12 @@ obj_all/common.a: $(COMMON_OBJ) Makefile
@echo " AR $@"
@@AR@ rcs obj_all/common.a $(COMMON_OBJ)
-obj_all/common_mini.a: $(COMMON_MINI_OBJ) Makefile
- @echo " AR $@"
- @@AR@ rcs obj_all/common_mini.a $(COMMON_MINI_OBJ)
-
obj_sql/common_sql.a: $(COMMON_SQL_OBJ) Makefile
@echo " AR $@"
@@AR@ rcs obj_sql/common_sql.a $(COMMON_SQL_OBJ)
common: $(COMMON_OBJ) $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) obj_all/common.a Makefile
-common_mini: $(COMMON_MINI_OBJ) $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) obj_all/common_mini.a Makefile
-
common_sql: $(COMMON_SQL_OBJ) obj_sql/common_sql.a Makefile
# missing object files
@@ -150,10 +142,6 @@ obj_all/%.o: %.c $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | $(SYSIN
@echo " CC $<"
@$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-obj_all/mini%.o: %.c $$(filter %.p.h, $(COMMON_PH)) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_all
- @echo " CC $<"
- @$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) -DMINICORE @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-
obj_sql/%.o: %.c $$(filter %.p.h, $(COMMON_PH)) $(COMMON_H) $(COMMON_SQL_H) $(CONFIG_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_sql
@echo " CC $<"
@$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
diff --git a/src/common/console.c b/src/common/console.c
index 5923775b7..a990d86b3 100644
--- a/src/common/console.c
+++ b/src/common/console.c
@@ -23,24 +23,21 @@
#include "config/core.h" // CONSOLE_INPUT, MAX_CONSOLE_INPUT
#include "console.h"
+#include "common/atomic.h"
#include "common/cbasetypes.h"
#include "common/core.h"
+#include "common/ers.h"
+#include "common/memmgr.h"
#include "common/mmo.h"
+#include "common/mutex.h"
#include "common/nullpo.h"
#include "common/showmsg.h"
+#include "common/spinlock.h"
+#include "common/sql.h"
+#include "common/strlib.h"
#include "common/sysinfo.h"
-
-#ifndef MINICORE
-# include "common/atomic.h"
-# include "common/ers.h"
-# include "common/memmgr.h"
-# include "common/mutex.h"
-# include "common/spinlock.h"
-# include "common/sql.h"
-# include "common/strlib.h"
-# include "common/thread.h"
-# include "common/timer.h"
-#endif
+#include "common/thread.h"
+#include "common/timer.h"
#include <stdio.h>
#include <stdlib.h>
diff --git a/src/common/core.c b/src/common/core.c
index 9fd33c4e0..dbd1d2596 100644
--- a/src/common/core.c
+++ b/src/common/core.c
@@ -23,32 +23,30 @@
#include "config/core.h"
#include "core.h"
+#include "common/HPM.h"
#include "common/cbasetypes.h"
+#include "common/conf.h"
#include "common/console.h"
#include "common/db.h"
#include "common/des.h"
+#include "common/ers.h"
#include "common/grfio.h"
+#include "common/md5calc.h"
#include "common/memmgr.h"
#include "common/mmo.h"
+#include "common/mutex.h"
#include "common/nullpo.h"
+#include "common/packets.h"
+#include "common/random.h"
#include "common/showmsg.h"
+#include "common/socket.h"
+#include "common/sql.h"
#include "common/strlib.h"
#include "common/sysinfo.h"
+#include "common/thread.h"
#include "common/timer.h"
#include "common/utils.h"
-#ifndef MINICORE
-# include "common/HPM.h"
-# include "common/conf.h"
-# include "common/ers.h"
-# include "common/md5calc.h"
-# include "common/mutex.h"
-# include "common/random.h"
-# include "common/socket.h"
-# include "common/sql.h"
-# include "common/thread.h"
-#endif
-
#ifndef _WIN32
# include <unistd.h>
#else
@@ -83,7 +81,6 @@
static struct core_interface core_s;
struct core_interface *core = &core_s;
-#ifndef MINICORE // minimalist Core
// Added by Gabuzomeu
//
// This is an implementation of signal() using sigaction() for portability.
@@ -196,7 +193,6 @@ static void signals_init(void)
compat_signal(SIGTRAP, SIG_DFL);
#endif
}
-#endif
/**
* Warns the user if executed as superuser (root)
@@ -250,10 +246,8 @@ static bool usercheck(void)
static void core_defaults(void)
{
nullpo_defaults();
-#ifndef MINICORE
hpm_defaults();
HCache_defaults();
-#endif
sysinfo_defaults();
console_defaults();
strlib_defaults();
@@ -262,17 +256,16 @@ static void core_defaults(void)
cmdline_defaults();
des_defaults();
grfio_defaults(); // Note: grfio is lazily loaded. grfio->init() and grfio->final() are not automatically called.
-#ifndef MINICORE
mutex_defaults();
libconfig_defaults();
sql_defaults();
timer_defaults();
db_defaults();
socket_defaults();
+ packets_defaults();
rnd_defaults();
md5_defaults();
thread_defaults();
-#endif
}
/**
@@ -280,12 +273,8 @@ static void core_defaults(void)
*/
static const char *cmdline_arg_source(struct CmdlineArgData *arg)
{
-#ifdef MINICORE
- return "core";
-#else // !MINICORE
nullpo_retr(NULL, arg);
return HPM->pid2name(arg->pluginID);
-#endif // MINICORE
}
/**
@@ -446,15 +435,9 @@ static int cmdline_exec(int argc, char **argv, unsigned int options)
*/
static void cmdline_init(void)
{
-#ifdef MINICORE
- // Minicore has no HPM. This value isn't used, but the arg_add function requires it, so we're (re)defining it here
-#define HPM_PID_CORE ((unsigned int)-1)
-#endif
CMDLINEARG_DEF(help, 'h', "Displays this help screen", CMDLINE_OPT_NORMAL);
CMDLINEARG_DEF(version, 'v', "Displays the server's version.", CMDLINE_OPT_NORMAL);
-#ifndef MINICORE
CMDLINEARG_DEF2(load-plugin, loadplugin, "Loads an additional plugin (can be repeated).", CMDLINE_OPT_PARAM|CMDLINE_OPT_PREINIT);
-#endif // !MINICORE
cmdline_args_init_local();
}
@@ -521,10 +504,6 @@ int main(int argc, char **argv)
if (!usercheck())
return EXIT_FAILURE;
-#ifdef MINICORE // minimalist Core
- do_init(argc,argv);
- do_final();
-#else// not MINICORE
set_server_type();
Sql_Init();
@@ -549,6 +528,8 @@ int main(int argc, char **argv)
sockt->init();
+ packets->init();
+
do_init(argc,argv);
// Main runtime cycle
@@ -562,12 +543,12 @@ int main(int argc, char **argv)
retval = do_final();
HPM->final();
timer->final();
+ packets->final();
sockt->final();
DB->final();
thread->final();
ers_final();
rnd->final();
-#endif
cmdline->final();
//sysinfo->final(); Called by iMalloc->final()
diff --git a/src/common/memmgr.h b/src/common/memmgr.h
index 90c35f244..c7147cc5e 100644
--- a/src/common/memmgr.h
+++ b/src/common/memmgr.h
@@ -42,11 +42,6 @@
// Enable memory manager logging by default
#define LOG_MEMMGR
-// no logging for minicore
-#if defined(MINICORE) && defined(LOG_MEMMGR)
- #undef LOG_MEMMGR
-#endif
-
# define aMalloc(n) (iMalloc->malloc((n),ALC_MARK))
# define aCalloc(m,n) (iMalloc->calloc((m),(n),ALC_MARK))
# define aRealloc(p,n) (iMalloc->realloc((p),(n),ALC_MARK))
diff --git a/src/common/mmo.h b/src/common/mmo.h
index d6946cecc..eb74d62b3 100644
--- a/src/common/mmo.h
+++ b/src/common/mmo.h
@@ -165,7 +165,22 @@
#endif
#define MAX_CARTS (MAX_BASE_CARTS + MAX_CARTDECORATION_CARTS)
+#ifndef MAX_INVENTORY
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+#define MAX_INVENTORY 200
+#else
#define MAX_INVENTORY 100
+#endif // PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+#endif // MAX_INVENTORY
+
+#ifndef FIXED_INVENTORY_SIZE
+#define FIXED_INVENTORY_SIZE 100
+#endif
+
+#if FIXED_INVENTORY_SIZE > MAX_INVENTORY
+#error FIXED_INVENTORY_SIZE must be same or smaller than MAX_INVENTORY
+#endif
+
//Max number of characters per account. Note that changing this setting alone is not enough if the client is not hexed to support more characters as well.
#if PACKETVER >= 20100413
#ifndef MAX_CHARS
@@ -472,6 +487,7 @@ enum e_mmo_charstatus_opt {
OPT_NONE = 0x0,
OPT_SHOW_EQUIP = 0x1,
OPT_ALLOW_PARTY = 0x2,
+ OPT_ALLOW_CALL = 0x4,
};
enum e_item_bound_type {
@@ -575,7 +591,7 @@ struct s_pet {
int account_id;
int char_id;
int pet_id;
- short class_;
+ int class_;
short level;
int egg_id;//pet egg id
int equip;//pet equip name_id
@@ -591,8 +607,8 @@ struct s_homunculus { //[orn]
char name[NAME_LENGTH];
int hom_id;
int char_id;
- short class_;
- short prev_class;
+ int class_;
+ int prev_class;
int hp,max_hp,sp,max_sp;
unsigned int intimacy;
short hunger;
@@ -623,7 +639,7 @@ struct s_homunculus { //[orn]
struct s_mercenary {
int mercenary_id;
int char_id;
- short class_;
+ int class_;
int hp, sp;
unsigned int kill_count;
unsigned int life_time;
@@ -632,7 +648,7 @@ struct s_mercenary {
struct s_elemental {
int elemental_id;
int char_id;
- short class_;
+ int class_;
uint32 mode;
int hp, sp, max_hp, max_sp, matk, atk, atk2;
short hit, flee, amotion, def, mdef;
@@ -675,7 +691,7 @@ struct mmo_charstatus {
int zeny;
int bank_vault;
- int16 class;
+ int class;
int status_point, skill_point;
int hp,max_hp,sp,max_sp;
unsigned int option;
@@ -710,6 +726,7 @@ struct mmo_charstatus {
int64 last_login;
struct point last_point,save_point,memo_point[MAX_MEMOPOINTS];
+ int inventorySize;
struct item inventory[MAX_INVENTORY],cart[MAX_CART];
struct s_skill skill[MAX_SKILL_DB];
@@ -717,7 +734,9 @@ struct mmo_charstatus {
#ifdef HOTKEY_SAVING
struct hotkey hotkeys[MAX_HOTKEYS];
#endif
- bool show_equip, allow_party;
+ bool show_equip;
+ bool allow_party;
+ bool allow_call;
unsigned short rename;
unsigned short slotchange;
@@ -789,7 +808,7 @@ struct party_member {
int account_id;
int char_id;
char name[NAME_LENGTH];
- int16 class;
+ int class;
unsigned short map;
unsigned short lv;
unsigned leader : 1,
@@ -809,7 +828,7 @@ struct map_session_data;
struct guild_member {
int account_id, char_id;
short hair,hair_color,gender;
- int16 class;
+ int class;
short lv;
uint64 exp;
int exp_payper;
@@ -837,6 +856,7 @@ struct guild_expulsion {
char name[NAME_LENGTH];
char mes[40];
int account_id;
+ int char_id;
};
struct guild_skill {
@@ -959,6 +979,11 @@ enum fame_list_type {
RANKTYPE_PK = 3, //Not supported yet
};
+struct rodex_item {
+ struct item item;
+ int idx;
+};
+
struct rodex_message {
int64 id;
int sender_id;
@@ -968,10 +993,7 @@ struct rodex_message {
char receiver_name[NAME_LENGTH];
char title[RODEX_TITLE_LENGTH];
char body[RODEX_BODY_LENGTH];
- struct {
- struct item item;
- int idx;
- } items[RODEX_MAX_ITEM];
+ struct rodex_item items[RODEX_MAX_ITEM];
int64 zeny;
uint8 type;
int8 opentype;
@@ -1331,7 +1353,8 @@ enum questinfo_type {
QINFO_ITEM,
QINFO_HOMUN_LEVEL,
QINFO_HOMUN_TYPE,
- QINFO_QUEST
+ QINFO_QUEST,
+ QINFO_MERCENARY_CLASS
};
/* packet size constant for itemlist */
@@ -1343,6 +1366,10 @@ enum questinfo_type {
#define MAX_ITEMLIST MAX_STORAGE
#endif
+#ifndef MAX_REFINE_REQUIREMENTS
+ #define MAX_REFINE_REQUIREMENTS 4
+#endif
+
// sanity checks...
#if MAX_ZENY > INT_MAX
#error MAX_ZENY is too big
@@ -1356,4 +1383,8 @@ enum questinfo_type {
#error MAX_SKILL has been replaced by MAX_SKILL_DB. Please update your custom definitions.
#endif
+#if MAX_REFINE_REQUIREMENTS > 4
+#error MAX_REFINE_REQUIREMENTS is bigger than allowed, this is a hardcoded limit in the client
+#endif
+
#endif /* COMMON_MMO_H */
diff --git a/src/common/packets.c b/src/common/packets.c
new file mode 100644
index 000000000..429418e0a
--- /dev/null
+++ b/src/common/packets.c
@@ -0,0 +1,64 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2012-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#define HERCULES_CORE
+
+#include "config/core.h" // CONSOLE_INPUT, MAX_CONSOLE_INPUT
+#include "common/packets.h"
+
+#include "common/cbasetypes.h"
+#include "common/mmo.h"
+#include "common/nullpo.h"
+
+#include <string.h>
+
+static struct packets_interface packets_s;
+struct packets_interface *packets;
+
+static void packets_init(void)
+{
+ packets->addLens();
+}
+
+static void packets_addLens(void)
+{
+#define packetLen(id, len) packets->addLen(id, len);
+#include "common/packets_len.h"
+}
+
+static void packets_addLen(int id, int len)
+{
+ Assert_retv(id <= MAX_PACKET_DB && id >= MIN_PACKET_DB);
+ packets->db[id] = len;
+}
+
+static void packets_final(void)
+{
+}
+
+void packets_defaults(void)
+{
+ packets = &packets_s;
+ packets->init = packets_init;
+ packets->final = packets_final;
+ packets->addLens = packets_addLens;
+ packets->addLen = packets_addLen;
+
+ memset(&packets->db, 0, sizeof(packets->db));
+}
diff --git a/src/common/packets.h b/src/common/packets.h
new file mode 100644
index 000000000..83c92c7fa
--- /dev/null
+++ b/src/common/packets.h
@@ -0,0 +1,47 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2013-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef COMMON_PACKETS_H
+#define COMMON_PACKETS_H
+
+#include "common/hercules.h"
+
+#ifndef MIN_PACKET_DB
+#define MIN_PACKET_DB 0x0064
+#endif
+
+#ifndef MAX_PACKET_DB
+#define MAX_PACKET_DB 0x0F00
+#endif
+
+struct packets_interface {
+ void (*init) (void);
+ void (*final) (void);
+ void (*addLens) (void);
+ void (*addLen) (int id, int len);
+ int db[MAX_PACKET_DB + 1];
+};
+
+#ifdef HERCULES_CORE
+void packets_defaults(void);
+#endif // HERCULES_CORE
+
+HPShared struct packets_interface *packets;
+
+#endif /* COMMON_PACKETS_H */
diff --git a/src/common/packets/packets2003_len_main.h b/src/common/packets/packets2003_len_main.h
new file mode 100644
index 000000000..a4ff38e18
--- /dev/null
+++ b/src/common/packets/packets2003_len_main.h
@@ -0,0 +1,1258 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2003_LEN_MAIN_H
+#define COMMON_PACKETS2003_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 19) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 6) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 6) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 6) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 8) // CZ_USE_ITEM
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 2) // CZ_CLOSE_STORE
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+#if PACKETVER >= 20031117
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20031110
+packetLen(0x00f9, 28) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20031028
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#endif
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+#if PACKETVER >= 20031117
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20031110
+packetLen(0x0104, 81) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20031028
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 10) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+#if PACKETVER >= 20031110
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+#elif PACKETVER >= 20031028
+packetLen(0x01e6, 28) // ZC_COUPLENAME
+#endif
+
+// Packet: 0x01e7
+#if PACKETVER >= 20031110
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#elif PACKETVER >= 20031028
+packetLen(0x01e7, 81) // CZ_DORIDORI
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20031117
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20031110
+// removed
+#elif PACKETVER >= 20031028
+packetLen(0x01e8, 26) // CZ_MAKE_GROUP2
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20031117
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20031110
+// removed
+#elif PACKETVER >= 20031103
+packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20031117
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20031124
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+#endif
+
+// Packet: 0x01ec
+#if PACKETVER >= 20031124
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+#endif
+
+// Packet: 0x01ed
+#if PACKETVER >= 20031124
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20031208
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20031218
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20031218
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f1
+#if PACKETVER >= 20031223
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+#endif
+
+
+#endif /* COMMON_PACKETS2003_LEN_MAIN_H */
diff --git a/src/common/packets/packets2003_len_sak.h b/src/common/packets/packets2003_len_sak.h
new file mode 100644
index 000000000..9f393b8cf
--- /dev/null
+++ b/src/common/packets/packets2003_len_sak.h
@@ -0,0 +1,1258 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2003_LEN_SAK_H
+#define COMMON_PACKETS2003_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 19) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 6) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 6) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 6) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 8) // CZ_USE_ITEM
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 2) // CZ_CLOSE_STORE
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+#if PACKETVER >= 20031117
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20031110
+packetLen(0x00f9, 28) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20031029
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#endif
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+#if PACKETVER >= 20031117
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20031110
+packetLen(0x0104, 81) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20031029
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 10) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+#if PACKETVER >= 20031110
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+#elif PACKETVER >= 20031029
+packetLen(0x01e6, 28) // ZC_COUPLENAME
+#endif
+
+// Packet: 0x01e7
+#if PACKETVER >= 20031110
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#elif PACKETVER >= 20031029
+packetLen(0x01e7, 81) // CZ_DORIDORI
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20031117
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20031110
+// removed
+#elif PACKETVER >= 20031029
+packetLen(0x01e8, 26) // CZ_MAKE_GROUP2
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20031117
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20031110
+// removed
+#elif PACKETVER >= 20031103
+packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20031117
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20031124
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+#endif
+
+// Packet: 0x01ec
+#if PACKETVER >= 20031124
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+#endif
+
+// Packet: 0x01ed
+#if PACKETVER >= 20031124
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20031208
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20031218
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20031218
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f1
+#if PACKETVER >= 20031223
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+#endif
+
+
+#endif /* COMMON_PACKETS2003_LEN_SAK_H */
diff --git a/src/common/packets/packets2004_len_ad.h b/src/common/packets/packets2004_len_ad.h
new file mode 100644
index 000000000..18ab6d9ee
--- /dev/null
+++ b/src/common/packets/packets2004_len_ad.h
@@ -0,0 +1,1620 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2004_LEN_AD_H
+#define COMMON_PACKETS2004_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20041129
+packetLen(0x0072, 26) // CZ_ENTER
+#elif PACKETVER >= 20041025
+packetLen(0x0072, 14) // CZ_ENTER
+#elif PACKETVER >= 20041005
+packetLen(0x0072, 15) // CZ_ENTER
+#elif PACKETVER >= 20040920
+packetLen(0x0072, 13) // CZ_ENTER
+#elif PACKETVER >= 20040906
+packetLen(0x0072, 17) // CZ_ENTER
+#elif PACKETVER >= 20040809
+packetLen(0x0072, 10) // CZ_ENTER
+#elif PACKETVER >= 20040804
+packetLen(0x0072, 14) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20041129
+packetLen(0x007e, 34) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20041005
+packetLen(0x007e, 14) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040920
+packetLen(0x007e, 13) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040906
+packetLen(0x007e, 15) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040809
+packetLen(0x007e, 26) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040804
+packetLen(0x007e, 33) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20041129
+packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20041025
+packetLen(0x0085, 19) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20041005
+packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040920
+packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040906
+packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040809
+packetLen(0x0085, 25) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040804
+packetLen(0x0085, 20) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20041129
+packetLen(0x0089, 9) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20041025
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20041005
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040920
+packetLen(0x0089, 6) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040906
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040809
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040804
+packetLen(0x0089, 15) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20041129
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20041025
+packetLen(0x008c, 102)
+#elif PACKETVER >= 20041005
+packetLen(0x008c, 110)
+#elif PACKETVER >= 20040920
+packetLen(0x008c, 108)
+#elif PACKETVER >= 20040906
+packetLen(0x008c, 110)
+#elif PACKETVER >= 20040809
+packetLen(0x008c, 22)
+#elif PACKETVER >= 20040804
+packetLen(0x008c, 23)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20041129
+packetLen(0x0094, 20) // CZ_REQNAME
+#elif PACKETVER >= 20041025
+packetLen(0x0094, 10) // CZ_REQNAME
+#elif PACKETVER >= 20040920
+packetLen(0x0094, 12) // CZ_REQNAME
+#elif PACKETVER >= 20040906
+packetLen(0x0094, 10) // CZ_REQNAME
+#elif PACKETVER >= 20040809
+packetLen(0x0094, 8) // CZ_REQNAME
+#elif PACKETVER >= 20040804
+packetLen(0x0094, 10) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20041129
+packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20041025
+packetLen(0x009b, 11) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20041005
+packetLen(0x009b, 13) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040920
+packetLen(0x009b, 10) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040906
+packetLen(0x009b, 16) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040809
+packetLen(0x009b, 8) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040804
+packetLen(0x009b, 6) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20041129
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040906
+packetLen(0x009f, -1) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040809
+packetLen(0x009f, 11) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040804
+packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20041129
+packetLen(0x00a2, 9) // CZ_ITEM_THROW
+#elif PACKETVER >= 20041025
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+#elif PACKETVER >= 20041005
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040920
+packetLen(0x00a2, 16) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040906
+packetLen(0x00a2, 7) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040809
+packetLen(0x00a2, 102) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040804
+packetLen(0x00a2, 103) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20041129
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20041025
+packetLen(0x00a7, 22)
+#elif PACKETVER >= 20041005
+packetLen(0x00a7, 30)
+#elif PACKETVER >= 20040920
+packetLen(0x00a7, 28)
+#elif PACKETVER >= 20040906
+packetLen(0x00a7, 30)
+#elif PACKETVER >= 20040809
+packetLen(0x00a7, 15)
+#elif PACKETVER >= 20040804
+packetLen(0x00a7, 12)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+#if PACKETVER >= 20041129
+packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20041025
+packetLen(0x00f3, 11) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20041005
+packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040920
+packetLen(0x00f3, 15) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040906
+packetLen(0x00f3, 12) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040804
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20041129
+packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20041025
+packetLen(0x00f5, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040920
+packetLen(0x00f5, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040906
+packetLen(0x00f5, 43) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040809
+packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040804
+packetLen(0x00f5, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20041129
+packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040906
+packetLen(0x00f7, 2) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040809
+packetLen(0x00f7, 8) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040804
+packetLen(0x00f7, 10) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20041129
+packetLen(0x0113, 114) // CZ_USE_SKILL
+#elif PACKETVER >= 20041025
+packetLen(0x0113, 8) // CZ_USE_SKILL
+#elif PACKETVER >= 20041005
+packetLen(0x0113, 7) // CZ_USE_SKILL
+#elif PACKETVER >= 20040920
+packetLen(0x0113, 9) // CZ_USE_SKILL
+#elif PACKETVER >= 20040906
+packetLen(0x0113, 10) // CZ_USE_SKILL
+#elif PACKETVER >= 20040809
+packetLen(0x0113, 14) // CZ_USE_SKILL
+#elif PACKETVER >= 20040804
+packetLen(0x0113, 16) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20041129
+packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20041025
+packetLen(0x0116, 8) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20041005
+packetLen(0x0116, 7) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040920
+packetLen(0x0116, 9) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040906
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040804
+packetLen(0x0116, 2) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20041129
+packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20041025
+packetLen(0x0190, 25) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20041005
+packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040920
+packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040906
+packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040809
+packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040804
+packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+#if PACKETVER >= 20041129
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20041025
+packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20041005
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040920
+packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040906
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040809
+packetLen(0x0193, 19) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040804
+packetLen(0x0193, 9) // CZ_REQNAME_BYGID
+#endif
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+#if PACKETVER >= 20041213
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20040804
+packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+#endif
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+#if PACKETVER >= 20041213
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+#endif
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+#if PACKETVER >= 20041213
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20040804
+packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+#endif
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 24) // ZC_STARSKILL
+
+// Packet: 0x020f
+#if PACKETVER >= 20040817
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+#endif
+
+// Packet: 0x0210
+#if PACKETVER >= 20040817
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+#endif
+
+// Packet: 0x0212
+#if PACKETVER >= 20040816
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+#endif
+
+// Packet: 0x0213
+#if PACKETVER >= 20040816
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+#endif
+
+// Packet: 0x0214
+#if PACKETVER >= 20040816
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+#endif
+
+// Packet: 0x0215
+#if PACKETVER >= 20041101
+packetLen(0x0215, 6) // ZC_SKILLMSG
+#endif
+
+// Packet: 0x0216
+#if PACKETVER >= 20041108
+packetLen(0x0216, 6) // ZC_BABYMSG
+#endif
+
+// Packet: 0x0217
+#if PACKETVER >= 20041108
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20041108
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20041108
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20041108
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20041108
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20041108
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#endif
+
+// Packet: 0x021d
+#if PACKETVER >= 20041115
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+#endif
+
+// Packet: 0x021e
+#if PACKETVER >= 20041213
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+#endif
+
+// Packet: 0x021f
+#if PACKETVER >= 20041213
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+#endif
+
+// Packet: 0x0220
+#if PACKETVER >= 20041213
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+#endif
+
+// Packet: 0x0221
+#if PACKETVER >= 20041129
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+#endif
+
+// Packet: 0x0222
+#if PACKETVER >= 20041129
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+#endif
+
+// Packet: 0x0223
+#if PACKETVER >= 20041129
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+#endif
+
+
+#endif /* COMMON_PACKETS2004_LEN_AD_H */
diff --git a/src/common/packets/packets2004_len_main.h b/src/common/packets/packets2004_len_main.h
new file mode 100644
index 000000000..3963dd0a2
--- /dev/null
+++ b/src/common/packets/packets2004_len_main.h
@@ -0,0 +1,1810 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2004_LEN_MAIN_H
+#define COMMON_PACKETS2004_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20041220
+packetLen(0x0072, 26) // CZ_ENTER
+#elif PACKETVER >= 20041216
+packetLen(0x0072, 19) // CZ_ENTER
+#elif PACKETVER >= 20041129
+packetLen(0x0072, 26) // CZ_ENTER
+#elif PACKETVER >= 20041025
+packetLen(0x0072, 14) // CZ_ENTER
+#elif PACKETVER >= 20041005
+packetLen(0x0072, 15) // CZ_ENTER
+#elif PACKETVER >= 20040920
+packetLen(0x0072, 13) // CZ_ENTER
+#elif PACKETVER >= 20040906
+packetLen(0x0072, 17) // CZ_ENTER
+#elif PACKETVER >= 20040809
+packetLen(0x0072, 10) // CZ_ENTER
+#elif PACKETVER >= 20040726
+packetLen(0x0072, 14) // CZ_ENTER
+#elif PACKETVER >= 20040712
+packetLen(0x0072, 39) // CZ_ENTER
+#elif PACKETVER >= 20040705
+packetLen(0x0072, 22) // CZ_ENTER
+#elif PACKETVER >= 20040107
+packetLen(0x0072, 19) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20041220
+packetLen(0x007e, 34) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20041216
+packetLen(0x007e, 6) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20041129
+packetLen(0x007e, 34) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20041005
+packetLen(0x007e, 14) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040920
+packetLen(0x007e, 13) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040906
+packetLen(0x007e, 15) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040809
+packetLen(0x007e, 26) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040726
+packetLen(0x007e, 33) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040107
+packetLen(0x007e, 6) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20041220
+packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20041216
+packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20041129
+packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20041025
+packetLen(0x0085, 19) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20041005
+packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040920
+packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040906
+packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040809
+packetLen(0x0085, 25) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040726
+packetLen(0x0085, 20) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040712
+packetLen(0x0085, 9) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040705
+packetLen(0x0085, 8) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040107
+packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20041220
+packetLen(0x0089, 9) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20041216
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20041129
+packetLen(0x0089, 9) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20041025
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20041005
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040920
+packetLen(0x0089, 6) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040906
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040809
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040726
+packetLen(0x0089, 15) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040107
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20041220
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20041216
+packetLen(0x008c, -1)
+#elif PACKETVER >= 20041129
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20041025
+packetLen(0x008c, 102)
+#elif PACKETVER >= 20041005
+packetLen(0x008c, 110)
+#elif PACKETVER >= 20040920
+packetLen(0x008c, 108)
+#elif PACKETVER >= 20040906
+packetLen(0x008c, 110)
+#elif PACKETVER >= 20040809
+packetLen(0x008c, 22)
+#elif PACKETVER >= 20040726
+packetLen(0x008c, 23)
+#elif PACKETVER >= 20040107
+packetLen(0x008c, -1) // CZ_REQUEST_CHAT
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20041220
+packetLen(0x0094, 20) // CZ_REQNAME
+#elif PACKETVER >= 20041216
+packetLen(0x0094, 6) // CZ_REQNAME
+#elif PACKETVER >= 20041129
+packetLen(0x0094, 20) // CZ_REQNAME
+#elif PACKETVER >= 20041025
+packetLen(0x0094, 10) // CZ_REQNAME
+#elif PACKETVER >= 20040920
+packetLen(0x0094, 12) // CZ_REQNAME
+#elif PACKETVER >= 20040906
+packetLen(0x0094, 10) // CZ_REQNAME
+#elif PACKETVER >= 20040809
+packetLen(0x0094, 8) // CZ_REQNAME
+#elif PACKETVER >= 20040726
+packetLen(0x0094, 10) // CZ_REQNAME
+#elif PACKETVER >= 20040107
+packetLen(0x0094, 6) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20041220
+packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20041216
+packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20041129
+packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20041025
+packetLen(0x009b, 11) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20041005
+packetLen(0x009b, 13) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040920
+packetLen(0x009b, 10) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040906
+packetLen(0x009b, 16) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040809
+packetLen(0x009b, 8) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040726
+packetLen(0x009b, 6) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040712
+packetLen(0x009b, 13) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040107
+packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20041220
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20041216
+packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20041129
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040906
+packetLen(0x009f, -1) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040809
+packetLen(0x009f, 11) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040726
+packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040712
+packetLen(0x009f, 10) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040107
+packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20041220
+packetLen(0x00a2, 9) // CZ_ITEM_THROW
+#elif PACKETVER >= 20041216
+packetLen(0x00a2, 6) // CZ_ITEM_THROW
+#elif PACKETVER >= 20041129
+packetLen(0x00a2, 9) // CZ_ITEM_THROW
+#elif PACKETVER >= 20041025
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+#elif PACKETVER >= 20041005
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040920
+packetLen(0x00a2, 16) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040906
+packetLen(0x00a2, 7) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040809
+packetLen(0x00a2, 102) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040726
+packetLen(0x00a2, 103) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040107
+packetLen(0x00a2, 6) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20041220
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20041216
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20041129
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20041025
+packetLen(0x00a7, 22)
+#elif PACKETVER >= 20041005
+packetLen(0x00a7, 30)
+#elif PACKETVER >= 20040920
+packetLen(0x00a7, 28)
+#elif PACKETVER >= 20040906
+packetLen(0x00a7, 30)
+#elif PACKETVER >= 20040809
+packetLen(0x00a7, 15)
+#elif PACKETVER >= 20040726
+packetLen(0x00a7, 12)
+#elif PACKETVER >= 20040712
+packetLen(0x00a7, 17)
+#elif PACKETVER >= 20040705
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20040107
+packetLen(0x00a7, 8) // CZ_USE_ITEM
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+#if PACKETVER >= 20041220
+packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20041216
+packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20041129
+packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20041025
+packetLen(0x00f3, 11) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20041005
+packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040920
+packetLen(0x00f3, 15) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040906
+packetLen(0x00f3, 12) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040726
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040107
+packetLen(0x00f3, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20041220
+packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20041216
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20041129
+packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20041025
+packetLen(0x00f5, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040920
+packetLen(0x00f5, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040906
+packetLen(0x00f5, 43) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040809
+packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040726
+packetLen(0x00f5, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040107
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20041220
+packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20041216
+packetLen(0x00f7, 2) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20041129
+packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040906
+packetLen(0x00f7, 2) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040809
+packetLen(0x00f7, 8) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040726
+packetLen(0x00f7, 10) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040107
+packetLen(0x00f7, 2) // CZ_CLOSE_STORE
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20041220
+packetLen(0x0113, 114) // CZ_USE_SKILL
+#elif PACKETVER >= 20041216
+packetLen(0x0113, 10) // CZ_USE_SKILL
+#elif PACKETVER >= 20041129
+packetLen(0x0113, 114) // CZ_USE_SKILL
+#elif PACKETVER >= 20041025
+packetLen(0x0113, 8) // CZ_USE_SKILL
+#elif PACKETVER >= 20041005
+packetLen(0x0113, 7) // CZ_USE_SKILL
+#elif PACKETVER >= 20040920
+packetLen(0x0113, 9) // CZ_USE_SKILL
+#elif PACKETVER >= 20040906
+packetLen(0x0113, 10) // CZ_USE_SKILL
+#elif PACKETVER >= 20040809
+packetLen(0x0113, 14) // CZ_USE_SKILL
+#elif PACKETVER >= 20040726
+packetLen(0x0113, 16) // CZ_USE_SKILL
+#elif PACKETVER >= 20040712
+packetLen(0x0113, 19) // CZ_USE_SKILL
+#elif PACKETVER >= 20040705
+packetLen(0x0113, 15) // CZ_USE_SKILL
+#elif PACKETVER >= 20040107
+packetLen(0x0113, 10) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20041220
+packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20041216
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20041129
+packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20041025
+packetLen(0x0116, 8) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20041005
+packetLen(0x0116, 7) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040920
+packetLen(0x0116, 9) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040906
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040726
+packetLen(0x0116, 2) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040712
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040705
+packetLen(0x0116, 15) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040107
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20041220
+packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20041216
+packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20041129
+packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20041025
+packetLen(0x0190, 25) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20041005
+packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040920
+packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040906
+packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040809
+packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040726
+packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040712
+packetLen(0x0190, 99) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040705
+packetLen(0x0190, 95) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040107
+packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+#if PACKETVER >= 20041220
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20041216
+packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20041129
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20041025
+packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20041005
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040920
+packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040906
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040809
+packetLen(0x0193, 19) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040726
+packetLen(0x0193, 9) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040107
+packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+#endif
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+#if PACKETVER >= 20041213
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20040107
+packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+#endif
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+#if PACKETVER >= 20041213
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+#endif
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+#if PACKETVER >= 20041213
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20040107
+packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+#endif
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+#if PACKETVER >= 20040216
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+#endif
+
+// Packet: 0x01f4
+#if PACKETVER >= 20040302
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20040302
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f6
+#if PACKETVER >= 20040308
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+#endif
+
+// Packet: 0x01f7
+#if PACKETVER >= 20040308
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+#endif
+
+// Packet: 0x01f8
+#if PACKETVER >= 20040308
+packetLen(0x01f8, 2) // ZC_START_BABY
+#endif
+
+// Packet: 0x01f9
+#if PACKETVER >= 20040308
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+#endif
+
+// Packet: 0x01fa
+#if PACKETVER >= 20040322
+packetLen(0x01fa, 48) // CA_LOGIN3
+#endif
+
+// Packet: 0x01fb
+#if PACKETVER >= 20040419
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+#endif
+
+// Packet: 0x01fc
+#if PACKETVER >= 20040420
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20040423
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20040426
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+#endif
+
+// Packet: 0x01ff
+#if PACKETVER >= 20040422
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+#endif
+
+// Packet: 0x0200
+#if PACKETVER >= 20040517
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+#endif
+
+// Packet: 0x0201
+#if PACKETVER >= 20040705
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20040705
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20040705
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#endif
+
+// Packet: 0x0204
+#if PACKETVER >= 20040531
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+#endif
+
+// Packet: 0x0205
+#if PACKETVER >= 20040628
+packetLen(0x0205, 26) // ZC_DIVORCE
+#endif
+
+// Packet: 0x0206
+#if PACKETVER >= 20040705
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20040705
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20040705
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20040705
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20040705
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+#endif
+
+// Packet: 0x020d
+#if PACKETVER >= 20040621
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+#endif
+
+// Packet: 0x020e
+#if PACKETVER >= 20040705
+packetLen(0x020e, 24) // ZC_STARSKILL
+#endif
+
+// Packet: 0x020f
+#if PACKETVER >= 20041220
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+#elif PACKETVER >= 20041216
+// removed
+#elif PACKETVER >= 20040817
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+#endif
+
+// Packet: 0x0210
+#if PACKETVER >= 20041220
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+#elif PACKETVER >= 20041216
+// removed
+#elif PACKETVER >= 20040817
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+#endif
+
+// Packet: 0x0212
+#if PACKETVER >= 20040816
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+#endif
+
+// Packet: 0x0213
+#if PACKETVER >= 20040816
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+#endif
+
+// Packet: 0x0214
+#if PACKETVER >= 20040816
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+#endif
+
+// Packet: 0x0215
+#if PACKETVER >= 20041101
+packetLen(0x0215, 6) // ZC_SKILLMSG
+#endif
+
+// Packet: 0x0216
+#if PACKETVER >= 20041108
+packetLen(0x0216, 6) // ZC_BABYMSG
+#endif
+
+// Packet: 0x0217
+#if PACKETVER >= 20041108
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20041108
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20041108
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20041108
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20041108
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20041108
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#endif
+
+// Packet: 0x021d
+#if PACKETVER >= 20041115
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+#endif
+
+// Packet: 0x021e
+#if PACKETVER >= 20041213
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+#endif
+
+// Packet: 0x021f
+#if PACKETVER >= 20041213
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+#endif
+
+// Packet: 0x0220
+#if PACKETVER >= 20041213
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+#endif
+
+// Packet: 0x0221
+#if PACKETVER >= 20041129
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+#endif
+
+// Packet: 0x0222
+#if PACKETVER >= 20041129
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+#endif
+
+// Packet: 0x0223
+#if PACKETVER >= 20041129
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+#endif
+
+
+#endif /* COMMON_PACKETS2004_LEN_MAIN_H */
diff --git a/src/common/packets/packets2004_len_sak.h b/src/common/packets/packets2004_len_sak.h
new file mode 100644
index 000000000..71573c376
--- /dev/null
+++ b/src/common/packets/packets2004_len_sak.h
@@ -0,0 +1,1734 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2004_LEN_SAK_H
+#define COMMON_PACKETS2004_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20041129
+packetLen(0x0072, 22) // CZ_ENTER
+#elif PACKETVER >= 20041025
+packetLen(0x0072, 13) // CZ_ENTER
+#elif PACKETVER >= 20041005
+packetLen(0x0072, 17) // CZ_ENTER
+#elif PACKETVER >= 20040920
+packetLen(0x0072, 18) // CZ_ENTER
+#elif PACKETVER >= 20040906
+packetLen(0x0072, 20) // CZ_ENTER
+#elif PACKETVER >= 20040809
+packetLen(0x0072, 17) // CZ_ENTER
+#elif PACKETVER >= 20040726
+packetLen(0x0072, 14) // CZ_ENTER
+#elif PACKETVER >= 20040713
+packetLen(0x0072, 39) // CZ_ENTER
+#elif PACKETVER >= 20040705
+packetLen(0x0072, 22) // CZ_ENTER
+#elif PACKETVER >= 20040107
+packetLen(0x0072, 19) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20041129
+packetLen(0x007e, 30) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20041025
+packetLen(0x007e, 13) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20041005
+packetLen(0x007e, 16) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040920
+packetLen(0x007e, 25) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040906
+packetLen(0x007e, 19) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040809
+packetLen(0x007e, 37) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040726
+packetLen(0x007e, 33) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040107
+packetLen(0x007e, 6) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20041129
+packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20041025
+packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040920
+packetLen(0x0085, 9) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040906
+packetLen(0x0085, 23) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040809
+packetLen(0x0085, 26) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040726
+packetLen(0x0085, 20) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040713
+packetLen(0x0085, 9) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040705
+packetLen(0x0085, 8) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20040107
+packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20041129
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20041005
+packetLen(0x0089, 6) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040920
+packetLen(0x0089, 14) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040906
+packetLen(0x0089, 9) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040809
+packetLen(0x0089, 12) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040726
+packetLen(0x0089, 15) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20040107
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20041129
+packetLen(0x008c, 13)
+#elif PACKETVER >= 20041025
+packetLen(0x008c, 108)
+#elif PACKETVER >= 20041005
+packetLen(0x008c, 103)
+#elif PACKETVER >= 20040920
+packetLen(0x008c, 109)
+#elif PACKETVER >= 20040906
+packetLen(0x008c, 105)
+#elif PACKETVER >= 20040809
+packetLen(0x008c, 40)
+#elif PACKETVER >= 20040726
+packetLen(0x008c, 23)
+#elif PACKETVER >= 20040107
+packetLen(0x008c, -1) // CZ_REQUEST_CHAT
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20041129
+packetLen(0x0094, 14) // CZ_REQNAME
+#elif PACKETVER >= 20041025
+packetLen(0x0094, 12) // CZ_REQNAME
+#elif PACKETVER >= 20041005
+packetLen(0x0094, 14) // CZ_REQNAME
+#elif PACKETVER >= 20040920
+packetLen(0x0094, 19) // CZ_REQNAME
+#elif PACKETVER >= 20040906
+packetLen(0x0094, 17) // CZ_REQNAME
+#elif PACKETVER >= 20040809
+packetLen(0x0094, 13) // CZ_REQNAME
+#elif PACKETVER >= 20040726
+packetLen(0x0094, 10) // CZ_REQNAME
+#elif PACKETVER >= 20040107
+packetLen(0x0094, 6) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20041129
+packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20041025
+packetLen(0x009b, 10) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20041005
+packetLen(0x009b, 15) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040920
+packetLen(0x009b, 10) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040906
+packetLen(0x009b, 14) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040809
+packetLen(0x009b, 15) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040726
+packetLen(0x009b, 6) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040713
+packetLen(0x009b, 13) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20040107
+packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20041129
+packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040906
+packetLen(0x009f, -1) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040809
+packetLen(0x009f, 12) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040726
+packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040713
+packetLen(0x009f, 10) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20040107
+packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20041129
+packetLen(0x00a2, 7) // CZ_ITEM_THROW
+#elif PACKETVER >= 20041025
+packetLen(0x00a2, 16) // CZ_ITEM_THROW
+#elif PACKETVER >= 20041005
+packetLen(0x00a2, 12) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040920
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040906
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040809
+packetLen(0x00a2, 120) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040726
+packetLen(0x00a2, 103) // CZ_ITEM_THROW
+#elif PACKETVER >= 20040107
+packetLen(0x00a2, 6) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20041129
+packetLen(0x00a7, 7)
+#elif PACKETVER >= 20041025
+packetLen(0x00a7, 28)
+#elif PACKETVER >= 20041005
+packetLen(0x00a7, 23)
+#elif PACKETVER >= 20040920
+packetLen(0x00a7, 29)
+#elif PACKETVER >= 20040906
+packetLen(0x00a7, 25)
+#elif PACKETVER >= 20040809
+packetLen(0x00a7, 11)
+#elif PACKETVER >= 20040726
+packetLen(0x00a7, 12)
+#elif PACKETVER >= 20040713
+packetLen(0x00a7, 17)
+#elif PACKETVER >= 20040705
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20040107
+packetLen(0x00a7, 8) // CZ_USE_ITEM
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+#if PACKETVER >= 20041129
+packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20041025
+packetLen(0x00f3, 15) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20041005
+packetLen(0x00f3, 13) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040920
+packetLen(0x00f3, 18) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040906
+packetLen(0x00f3, 10) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040726
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20040107
+packetLen(0x00f3, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20041025
+packetLen(0x00f5, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20041005
+packetLen(0x00f5, 33) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040920
+packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040906
+packetLen(0x00f5, 34) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040809
+packetLen(0x00f5, 24) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040726
+packetLen(0x00f5, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20040107
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20041129
+packetLen(0x00f7, 14) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040906
+packetLen(0x00f7, 2) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040809
+packetLen(0x00f7, 13) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040726
+packetLen(0x00f7, 10) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20040107
+packetLen(0x00f7, 2) // CZ_CLOSE_STORE
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20041129
+packetLen(0x0113, 110) // CZ_USE_SKILL
+#elif PACKETVER >= 20041025
+packetLen(0x0113, 9) // CZ_USE_SKILL
+#elif PACKETVER >= 20041005
+packetLen(0x0113, 10) // CZ_USE_SKILL
+#elif PACKETVER >= 20040920
+packetLen(0x0113, 14) // CZ_USE_SKILL
+#elif PACKETVER >= 20040906
+packetLen(0x0113, 11) // CZ_USE_SKILL
+#elif PACKETVER >= 20040809
+packetLen(0x0113, 23) // CZ_USE_SKILL
+#elif PACKETVER >= 20040726
+packetLen(0x0113, 16) // CZ_USE_SKILL
+#elif PACKETVER >= 20040713
+packetLen(0x0113, 19) // CZ_USE_SKILL
+#elif PACKETVER >= 20040705
+packetLen(0x0113, 15) // CZ_USE_SKILL
+#elif PACKETVER >= 20040107
+packetLen(0x0113, 10) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20041129
+packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20041025
+packetLen(0x0116, 9) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20041005
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040920
+packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040906
+packetLen(0x0116, 11) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040726
+packetLen(0x0116, 2) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040713
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040705
+packetLen(0x0116, 15) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20040107
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20041129
+packetLen(0x0190, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20041025
+packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20041005
+packetLen(0x0190, 20) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040920
+packetLen(0x0190, 14) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040906
+packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040726
+packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040713
+packetLen(0x0190, 99) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040705
+packetLen(0x0190, 95) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20040107
+packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+#if PACKETVER >= 20041129
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20041025
+packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20041005
+packetLen(0x0193, 26) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040920
+packetLen(0x0193, 12) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040906
+packetLen(0x0193, 17) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040809
+packetLen(0x0193, 18) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040726
+packetLen(0x0193, 9) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20040107
+packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+#endif
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+#if PACKETVER >= 20041213
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20040107
+packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+#endif
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+#if PACKETVER >= 20041213
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+#endif
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+#if PACKETVER >= 20041213
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20040107
+packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+#endif
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+#if PACKETVER >= 20040216
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+#endif
+
+// Packet: 0x01f4
+#if PACKETVER >= 20040302
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20040302
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f6
+#if PACKETVER >= 20040308
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+#endif
+
+// Packet: 0x01f7
+#if PACKETVER >= 20040308
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+#endif
+
+// Packet: 0x01f8
+#if PACKETVER >= 20040308
+packetLen(0x01f8, 2) // ZC_START_BABY
+#endif
+
+// Packet: 0x01f9
+#if PACKETVER >= 20040308
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+#endif
+
+// Packet: 0x01fa
+#if PACKETVER >= 20040322
+packetLen(0x01fa, 48) // CA_LOGIN3
+#endif
+
+// Packet: 0x01fb
+#if PACKETVER >= 20040419
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+#endif
+
+// Packet: 0x01fc
+#if PACKETVER >= 20040420
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20040423
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20040426
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+#endif
+
+// Packet: 0x01ff
+#if PACKETVER >= 20040422
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+#endif
+
+// Packet: 0x0200
+#if PACKETVER >= 20040517
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+#endif
+
+// Packet: 0x0201
+#if PACKETVER >= 20040628
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20040628
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20040628
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#endif
+
+// Packet: 0x0204
+#if PACKETVER >= 20040531
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+#endif
+
+// Packet: 0x0205
+#if PACKETVER >= 20040628
+packetLen(0x0205, 26) // ZC_DIVORCE
+#endif
+
+// Packet: 0x0206
+#if PACKETVER >= 20040628
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20040628
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20040705
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20040628
+packetLen(0x0208, 11) // CZ_ACK_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20040628
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20040628
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+#endif
+
+// Packet: 0x020d
+#if PACKETVER >= 20040621
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+#endif
+
+// Packet: 0x020e
+#if PACKETVER >= 20040705
+packetLen(0x020e, 24) // ZC_STARSKILL
+#endif
+
+// Packet: 0x020f
+#if PACKETVER >= 20040817
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+#endif
+
+// Packet: 0x0210
+#if PACKETVER >= 20040817
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+#endif
+
+// Packet: 0x0212
+#if PACKETVER >= 20040816
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+#endif
+
+// Packet: 0x0213
+#if PACKETVER >= 20040816
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+#endif
+
+// Packet: 0x0214
+#if PACKETVER >= 20040816
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+#endif
+
+// Packet: 0x0215
+#if PACKETVER >= 20041101
+packetLen(0x0215, 6) // ZC_SKILLMSG
+#endif
+
+// Packet: 0x0216
+#if PACKETVER >= 20041108
+packetLen(0x0216, 6) // ZC_BABYMSG
+#endif
+
+// Packet: 0x0217
+#if PACKETVER >= 20041108
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20041108
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20041108
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20041108
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20041108
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20041108
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#endif
+
+// Packet: 0x021d
+#if PACKETVER >= 20041115
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+#endif
+
+// Packet: 0x021e
+#if PACKETVER >= 20041213
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+#endif
+
+// Packet: 0x021f
+#if PACKETVER >= 20041213
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+#endif
+
+// Packet: 0x0220
+#if PACKETVER >= 20041213
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+#endif
+
+// Packet: 0x0221
+#if PACKETVER >= 20041129
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+#endif
+
+// Packet: 0x0222
+#if PACKETVER >= 20041129
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+#endif
+
+// Packet: 0x0223
+#if PACKETVER >= 20041129
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+#endif
+
+
+#endif /* COMMON_PACKETS2004_LEN_SAK_H */
diff --git a/src/common/packets/packets2005_len_ad.h b/src/common/packets/packets2005_len_ad.h
new file mode 100644
index 000000000..fd428cef4
--- /dev/null
+++ b/src/common/packets/packets2005_len_ad.h
@@ -0,0 +1,1927 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2005_LEN_AD_H
+#define COMMON_PACKETS2005_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20051010
+packetLen(0x0072, 20) // CZ_ENTER
+#elif PACKETVER >= 20050719
+packetLen(0x0072, 30) // CZ_ENTER
+#elif PACKETVER >= 20050718
+packetLen(0x0072, 20) // CZ_ENTER
+#elif PACKETVER >= 20050628
+packetLen(0x0072, 30) // CZ_ENTER
+#elif PACKETVER >= 20050509
+packetLen(0x0072, 22) // CZ_ENTER
+#elif PACKETVER >= 20050411
+packetLen(0x0072, 14) // CZ_ENTER
+#elif PACKETVER >= 20050104
+packetLen(0x0072, 26) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20051010
+packetLen(0x007e, 103) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050719
+packetLen(0x007e, 120) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050718
+packetLen(0x007e, 103) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050628
+packetLen(0x007e, 120) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050509
+packetLen(0x007e, 110) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050411
+packetLen(0x007e, 109) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050110
+packetLen(0x007e, 108) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050104
+packetLen(0x007e, 34) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20051010
+packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050719
+packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050718
+packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050628
+packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050509
+packetLen(0x0085, 8) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050411
+packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050110
+packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050104
+packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20051010
+packetLen(0x0089, 10) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050719
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050718
+packetLen(0x0089, 10) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050628
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050509
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050411
+packetLen(0x0089, 14) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050104
+packetLen(0x0089, 9) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20051010
+packetLen(0x008c, 15)
+#elif PACKETVER >= 20050719
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20050718
+packetLen(0x008c, 15)
+#elif PACKETVER >= 20050628
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20050509
+packetLen(0x008c, 13)
+#elif PACKETVER >= 20050110
+packetLen(0x008c, 10)
+#elif PACKETVER >= 20050104
+packetLen(0x008c, 8)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20051010
+packetLen(0x0094, 16) // CZ_REQNAME
+#elif PACKETVER >= 20050719
+packetLen(0x0094, 17) // CZ_REQNAME
+#elif PACKETVER >= 20050718
+packetLen(0x0094, 16) // CZ_REQNAME
+#elif PACKETVER >= 20050628
+packetLen(0x0094, 17) // CZ_REQNAME
+#elif PACKETVER >= 20050509
+packetLen(0x0094, 14) // CZ_REQNAME
+#elif PACKETVER >= 20050411
+packetLen(0x0094, 25) // CZ_REQNAME
+#elif PACKETVER >= 20050110
+packetLen(0x0094, 13) // CZ_REQNAME
+#elif PACKETVER >= 20050104
+packetLen(0x0094, 20) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20051010
+packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050719
+packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050718
+packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050628
+packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050509
+packetLen(0x009b, 29) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050411
+packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050110
+packetLen(0x009b, 29) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050104
+packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20051010
+packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050719
+packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050718
+packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050628
+packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050509
+packetLen(0x009f, 15) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050411
+packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050110
+packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050104
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20051010
+packetLen(0x00a2, 12) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050719
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050718
+packetLen(0x00a2, 12) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050628
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050509
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050411
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050110
+packetLen(0x00a2, 16) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050104
+packetLen(0x00a2, 9) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20051010
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050719
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050718
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050628
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050509
+packetLen(0x00a7, 7)
+#elif PACKETVER >= 20050411
+packetLen(0x00a7, 14)
+#elif PACKETVER >= 20050110
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050104
+packetLen(0x00a7, 13)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+#if PACKETVER >= 20050110
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20050104
+packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20051010
+packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050719
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050718
+packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050628
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050509
+packetLen(0x00f5, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050411
+packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050110
+packetLen(0x00f5, 9) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050104
+packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20051010
+packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050719
+packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050718
+packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050628
+packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050509
+packetLen(0x00f7, 21) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050411
+packetLen(0x00f7, 12) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050110
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050104
+packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20051010
+packetLen(0x0113, 23) // CZ_USE_SKILL
+#elif PACKETVER >= 20050719
+packetLen(0x0113, 40) // CZ_USE_SKILL
+#elif PACKETVER >= 20050718
+packetLen(0x0113, 23) // CZ_USE_SKILL
+#elif PACKETVER >= 20050628
+packetLen(0x0113, 40) // CZ_USE_SKILL
+#elif PACKETVER >= 20050509
+packetLen(0x0113, 30) // CZ_USE_SKILL
+#elif PACKETVER >= 20050411
+packetLen(0x0113, 29) // CZ_USE_SKILL
+#elif PACKETVER >= 20050110
+packetLen(0x0113, 28) // CZ_USE_SKILL
+#elif PACKETVER >= 20050104
+packetLen(0x0113, 114) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20051010
+packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050719
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050718
+packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050628
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050509
+packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050411
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050110
+packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050104
+packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20051010
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050719
+packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050718
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050628
+packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050509
+packetLen(0x0190, 18) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050411
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050110
+packetLen(0x0190, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050104
+packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+#if PACKETVER >= 20050110
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20050104
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#endif
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+#if PACKETVER >= 20051010
+packetLen(0x020e, 32) // ZC_STARSKILL
+#elif PACKETVER >= 20050104
+packetLen(0x020e, 24) // ZC_STARSKILL
+#endif
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+#if PACKETVER >= 20050328
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20050328
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20050328
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20050404
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+#endif
+
+// Packet: 0x0228
+#if PACKETVER >= 20050404
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+#endif
+
+// Packet: 0x0229
+#if PACKETVER >= 20050411
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20050411
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20050411
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20050411
+packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20050425
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20050624
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20050530
+packetLen(0x022e, 69) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20050523
+packetLen(0x022e, 67) // ZC_PROPERTY_HOMUN
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20050608
+packetLen(0x022f, 5) // ZC_FEED_MER
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20050523
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+#endif
+
+// Packet: 0x0231
+#if PACKETVER >= 20050608
+packetLen(0x0231, 26) // CZ_RENAME_MER
+#endif
+
+// Packet: 0x0232
+#if PACKETVER >= 20050425
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20050425
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20050425
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20050530
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#endif
+
+// Packet: 0x0236
+#if PACKETVER >= 20050530
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+#endif
+
+// Packet: 0x0237
+#if PACKETVER >= 20050530
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20050530
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20050530
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20050608
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#endif
+
+// Packet: 0x023b
+#if PACKETVER >= 20050608
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+#if PACKETVER >= 20050608
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#endif
+
+// Packet: 0x023d
+#if PACKETVER >= 20050628
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+#endif
+
+// Packet: 0x023e
+#if PACKETVER >= 20050628
+packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+#endif
+
+// Packet: 0x023f
+#if PACKETVER >= 20050718
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+#endif
+
+// Packet: 0x0240
+#if PACKETVER >= 20050829
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+#elif PACKETVER >= 20050718
+packetLen(0x0240, 8) // ZC_MAIL_REQ_GET_LIST
+#endif
+
+// Packet: 0x0241
+#if PACKETVER >= 20050718
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+#endif
+
+// Packet: 0x0242
+#if PACKETVER >= 20050718
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+#endif
+
+// Packet: 0x0243
+#if PACKETVER >= 20050718
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+#endif
+
+// Packet: 0x0244
+#if PACKETVER >= 20050718
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+#endif
+
+// Packet: 0x0245
+#if PACKETVER >= 20050801
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+#elif PACKETVER >= 20050718
+packetLen(0x0245, 7) // ZC_MAIL_REQ_GET_ITEM
+#endif
+
+// Packet: 0x0246
+#if PACKETVER >= 20050718
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+#endif
+
+// Packet: 0x0247
+#if PACKETVER >= 20050718
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+#endif
+
+// Packet: 0x0248
+#if PACKETVER >= 20050829
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+#elif PACKETVER >= 20050718
+packetLen(0x0248, 68) // CZ_MAIL_SEND
+#endif
+
+// Packet: 0x0249
+#if PACKETVER >= 20050718
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+#endif
+
+// Packet: 0x024a
+#if PACKETVER >= 20050718
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+#endif
+
+// Packet: 0x024b
+#if PACKETVER >= 20050718
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+#endif
+
+// Packet: 0x024c
+#if PACKETVER >= 20050718
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+#endif
+
+// Packet: 0x024d
+#if PACKETVER >= 20050808
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+#elif PACKETVER >= 20050718
+packetLen(0x024d, 14) // CZ_AUCTION_ADD
+#endif
+
+// Packet: 0x024e
+#if PACKETVER >= 20051107
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+#elif PACKETVER >= 20050808
+packetLen(0x024e, 4) // CZ_AUCTION_ADD_CANCEL
+#elif PACKETVER >= 20050718
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+#endif
+
+// Packet: 0x024f
+#if PACKETVER >= 20050718
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+#endif
+
+// Packet: 0x0250
+#if PACKETVER >= 20050718
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+#endif
+
+// Packet: 0x0251
+#if PACKETVER >= 20051107
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+#elif PACKETVER >= 20051013
+packetLen(0x0251, 32) // CZ_AUCTION_ITEM_SEARCH
+#elif PACKETVER >= 20050801
+packetLen(0x0251, 4) // CZ_AUCTION_ITEM_SEARCH
+#elif PACKETVER >= 20050718
+packetLen(0x0251, 2) // CZ_AUCTION_ITEM_SEARCH
+#endif
+
+// Packet: 0x0252
+#if PACKETVER >= 20050718
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+#endif
+
+// Packet: 0x0253
+#if PACKETVER >= 20050822
+packetLen(0x0253, 3) // ZC_STARPLACE
+#endif
+
+// Packet: 0x0254
+#if PACKETVER >= 20050822
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+#endif
+
+// Packet: 0x0255
+#if PACKETVER >= 20050829
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+#endif
+
+// Packet: 0x0256
+#if PACKETVER >= 20050829
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+#endif
+
+// Packet: 0x0257
+#if PACKETVER >= 20050829
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+#endif
+
+// Packet: 0x0258
+#if PACKETVER >= 20050912
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+#endif
+
+// Packet: 0x0259
+#if PACKETVER >= 20050912
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+#endif
+
+// Packet: 0x025a
+#if PACKETVER >= 20051010
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+#endif
+
+// Packet: 0x025b
+#if PACKETVER >= 20051010
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+#endif
+
+// Packet: 0x025c
+#if PACKETVER >= 20051013
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+#endif
+
+// Packet: 0x025d
+#if PACKETVER >= 20051017
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+#endif
+
+// Packet: 0x025e
+#if PACKETVER >= 20051017
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+#endif
+
+// Packet: 0x025f
+#if PACKETVER >= 20051024
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+#endif
+
+// Packet: 0x0260
+#if PACKETVER >= 20051024
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+#endif
+
+
+#endif /* COMMON_PACKETS2005_LEN_AD_H */
diff --git a/src/common/packets/packets2005_len_main.h b/src/common/packets/packets2005_len_main.h
new file mode 100644
index 000000000..bad35d459
--- /dev/null
+++ b/src/common/packets/packets2005_len_main.h
@@ -0,0 +1,1935 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2005_LEN_MAIN_H
+#define COMMON_PACKETS2005_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20051010
+packetLen(0x0072, 20) // CZ_ENTER
+#elif PACKETVER >= 20050719
+packetLen(0x0072, 30) // CZ_ENTER
+#elif PACKETVER >= 20050718
+packetLen(0x0072, 20) // CZ_ENTER
+#elif PACKETVER >= 20050628
+packetLen(0x0072, 30) // CZ_ENTER
+#elif PACKETVER >= 20050509
+packetLen(0x0072, 22) // CZ_ENTER
+#elif PACKETVER >= 20050411
+packetLen(0x0072, 14) // CZ_ENTER
+#elif PACKETVER >= 20050103
+packetLen(0x0072, 26) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20051010
+packetLen(0x007e, 103) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050719
+packetLen(0x007e, 120) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050718
+packetLen(0x007e, 103) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050628
+packetLen(0x007e, 120) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050509
+packetLen(0x007e, 110) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050411
+packetLen(0x007e, 109) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050110
+packetLen(0x007e, 108) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050103
+packetLen(0x007e, 34) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20051010
+packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050719
+packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050718
+packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050628
+packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050509
+packetLen(0x0085, 8) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050411
+packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050110
+packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050103
+packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20051010
+packetLen(0x0089, 10) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050719
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050718
+packetLen(0x0089, 10) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050628
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050509
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050411
+packetLen(0x0089, 14) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050103
+packetLen(0x0089, 9) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20051010
+packetLen(0x008c, 15)
+#elif PACKETVER >= 20050719
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20050718
+packetLen(0x008c, 15)
+#elif PACKETVER >= 20050628
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20050509
+packetLen(0x008c, 13)
+#elif PACKETVER >= 20050110
+packetLen(0x008c, 10)
+#elif PACKETVER >= 20050103
+packetLen(0x008c, 8)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20051010
+packetLen(0x0094, 16) // CZ_REQNAME
+#elif PACKETVER >= 20050719
+packetLen(0x0094, 17) // CZ_REQNAME
+#elif PACKETVER >= 20050718
+packetLen(0x0094, 16) // CZ_REQNAME
+#elif PACKETVER >= 20050628
+packetLen(0x0094, 17) // CZ_REQNAME
+#elif PACKETVER >= 20050509
+packetLen(0x0094, 14) // CZ_REQNAME
+#elif PACKETVER >= 20050411
+packetLen(0x0094, 25) // CZ_REQNAME
+#elif PACKETVER >= 20050110
+packetLen(0x0094, 13) // CZ_REQNAME
+#elif PACKETVER >= 20050103
+packetLen(0x0094, 20) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20051010
+packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050719
+packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050718
+packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050628
+packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050509
+packetLen(0x009b, 29) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050411
+packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050110
+packetLen(0x009b, 29) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050103
+packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20051010
+packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050719
+packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050718
+packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050628
+packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050509
+packetLen(0x009f, 15) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050411
+packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050110
+packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050103
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20051010
+packetLen(0x00a2, 12) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050719
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050718
+packetLen(0x00a2, 12) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050628
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050509
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050411
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050110
+packetLen(0x00a2, 16) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050103
+packetLen(0x00a2, 9) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20051010
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050719
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050718
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050628
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050509
+packetLen(0x00a7, 7)
+#elif PACKETVER >= 20050411
+packetLen(0x00a7, 14)
+#elif PACKETVER >= 20050110
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050103
+packetLen(0x00a7, 13)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+#if PACKETVER >= 20050110
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20050103
+packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20051010
+packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050719
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050718
+packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050628
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050509
+packetLen(0x00f5, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050411
+packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050110
+packetLen(0x00f5, 9) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050103
+packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20051010
+packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050719
+packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050718
+packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050628
+packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050509
+packetLen(0x00f7, 21) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050411
+packetLen(0x00f7, 12) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050110
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050103
+packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20051010
+packetLen(0x0113, 23) // CZ_USE_SKILL
+#elif PACKETVER >= 20050719
+packetLen(0x0113, 40) // CZ_USE_SKILL
+#elif PACKETVER >= 20050718
+packetLen(0x0113, 23) // CZ_USE_SKILL
+#elif PACKETVER >= 20050628
+packetLen(0x0113, 40) // CZ_USE_SKILL
+#elif PACKETVER >= 20050509
+packetLen(0x0113, 30) // CZ_USE_SKILL
+#elif PACKETVER >= 20050411
+packetLen(0x0113, 29) // CZ_USE_SKILL
+#elif PACKETVER >= 20050110
+packetLen(0x0113, 28) // CZ_USE_SKILL
+#elif PACKETVER >= 20050103
+packetLen(0x0113, 114) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20051010
+packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050719
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050718
+packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050628
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050509
+packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050411
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050110
+packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050103
+packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20051010
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050719
+packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050718
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050628
+packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050509
+packetLen(0x0190, 18) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050411
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050110
+packetLen(0x0190, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050103
+packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+#if PACKETVER >= 20050110
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20050103
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#endif
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+#if PACKETVER >= 20051010
+packetLen(0x020e, 32) // ZC_STARSKILL
+#elif PACKETVER >= 20050103
+packetLen(0x020e, 24) // ZC_STARSKILL
+#endif
+
+// Packet: 0x020f
+#if PACKETVER >= 20050221
+// removed
+#elif PACKETVER >= 20050103
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+#endif
+
+// Packet: 0x0210
+#if PACKETVER >= 20050221
+// removed
+#elif PACKETVER >= 20050103
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+#endif
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+#if PACKETVER >= 20050328
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20050328
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20050328
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20050404
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+#endif
+
+// Packet: 0x0228
+#if PACKETVER >= 20050404
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+#endif
+
+// Packet: 0x0229
+#if PACKETVER >= 20050411
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20050411
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20050411
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20050411
+packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20050425
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20050624
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20050530
+packetLen(0x022e, 69) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20050523
+packetLen(0x022e, 67) // ZC_PROPERTY_HOMUN
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20050608
+packetLen(0x022f, 5) // ZC_FEED_MER
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20050523
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+#endif
+
+// Packet: 0x0231
+#if PACKETVER >= 20050608
+packetLen(0x0231, 26) // CZ_RENAME_MER
+#endif
+
+// Packet: 0x0232
+#if PACKETVER >= 20050425
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20050425
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20050425
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20050530
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#endif
+
+// Packet: 0x0236
+#if PACKETVER >= 20050530
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+#endif
+
+// Packet: 0x0237
+#if PACKETVER >= 20050530
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20050530
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20050530
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20050608
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#endif
+
+// Packet: 0x023b
+#if PACKETVER >= 20050608
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+#if PACKETVER >= 20050608
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#endif
+
+// Packet: 0x023d
+#if PACKETVER >= 20050628
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+#endif
+
+// Packet: 0x023e
+#if PACKETVER >= 20050628
+packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+#endif
+
+// Packet: 0x023f
+#if PACKETVER >= 20050718
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+#endif
+
+// Packet: 0x0240
+#if PACKETVER >= 20050829
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+#elif PACKETVER >= 20050718
+packetLen(0x0240, 8) // ZC_MAIL_REQ_GET_LIST
+#endif
+
+// Packet: 0x0241
+#if PACKETVER >= 20050718
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+#endif
+
+// Packet: 0x0242
+#if PACKETVER >= 20050718
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+#endif
+
+// Packet: 0x0243
+#if PACKETVER >= 20050718
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+#endif
+
+// Packet: 0x0244
+#if PACKETVER >= 20050718
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+#endif
+
+// Packet: 0x0245
+#if PACKETVER >= 20050801
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+#elif PACKETVER >= 20050718
+packetLen(0x0245, 7) // ZC_MAIL_REQ_GET_ITEM
+#endif
+
+// Packet: 0x0246
+#if PACKETVER >= 20050718
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+#endif
+
+// Packet: 0x0247
+#if PACKETVER >= 20050718
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+#endif
+
+// Packet: 0x0248
+#if PACKETVER >= 20050829
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+#elif PACKETVER >= 20050718
+packetLen(0x0248, 68) // CZ_MAIL_SEND
+#endif
+
+// Packet: 0x0249
+#if PACKETVER >= 20050718
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+#endif
+
+// Packet: 0x024a
+#if PACKETVER >= 20050718
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+#endif
+
+// Packet: 0x024b
+#if PACKETVER >= 20050718
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+#endif
+
+// Packet: 0x024c
+#if PACKETVER >= 20050718
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+#endif
+
+// Packet: 0x024d
+#if PACKETVER >= 20050808
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+#elif PACKETVER >= 20050718
+packetLen(0x024d, 14) // CZ_AUCTION_ADD
+#endif
+
+// Packet: 0x024e
+#if PACKETVER >= 20051107
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+#elif PACKETVER >= 20050808
+packetLen(0x024e, 4) // CZ_AUCTION_ADD_CANCEL
+#elif PACKETVER >= 20050718
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+#endif
+
+// Packet: 0x024f
+#if PACKETVER >= 20050718
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+#endif
+
+// Packet: 0x0250
+#if PACKETVER >= 20050718
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+#endif
+
+// Packet: 0x0251
+#if PACKETVER >= 20051107
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+#elif PACKETVER >= 20051013
+packetLen(0x0251, 32) // CZ_AUCTION_ITEM_SEARCH
+#elif PACKETVER >= 20050801
+packetLen(0x0251, 4) // CZ_AUCTION_ITEM_SEARCH
+#elif PACKETVER >= 20050718
+packetLen(0x0251, 2) // CZ_AUCTION_ITEM_SEARCH
+#endif
+
+// Packet: 0x0252
+#if PACKETVER >= 20050718
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+#endif
+
+// Packet: 0x0253
+#if PACKETVER >= 20050822
+packetLen(0x0253, 3) // ZC_STARPLACE
+#endif
+
+// Packet: 0x0254
+#if PACKETVER >= 20050822
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+#endif
+
+// Packet: 0x0255
+#if PACKETVER >= 20050829
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+#endif
+
+// Packet: 0x0256
+#if PACKETVER >= 20050829
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+#endif
+
+// Packet: 0x0257
+#if PACKETVER >= 20050829
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+#endif
+
+// Packet: 0x0258
+#if PACKETVER >= 20050912
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+#endif
+
+// Packet: 0x0259
+#if PACKETVER >= 20050912
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+#endif
+
+// Packet: 0x025a
+#if PACKETVER >= 20051010
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+#endif
+
+// Packet: 0x025b
+#if PACKETVER >= 20051010
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+#endif
+
+// Packet: 0x025c
+#if PACKETVER >= 20051013
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+#endif
+
+// Packet: 0x025d
+#if PACKETVER >= 20051017
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+#endif
+
+// Packet: 0x025e
+#if PACKETVER >= 20051017
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+#endif
+
+// Packet: 0x025f
+#if PACKETVER >= 20051024
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+#endif
+
+// Packet: 0x0260
+#if PACKETVER >= 20051024
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+#endif
+
+
+#endif /* COMMON_PACKETS2005_LEN_MAIN_H */
diff --git a/src/common/packets/packets2005_len_sak.h b/src/common/packets/packets2005_len_sak.h
new file mode 100644
index 000000000..7684be048
--- /dev/null
+++ b/src/common/packets/packets2005_len_sak.h
@@ -0,0 +1,1869 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2005_LEN_SAK_H
+#define COMMON_PACKETS2005_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20050719
+packetLen(0x0072, 34) // CZ_ENTER
+#elif PACKETVER >= 20050718
+packetLen(0x0072, 19) // CZ_ENTER
+#elif PACKETVER >= 20050628
+packetLen(0x0072, 34) // CZ_ENTER
+#elif PACKETVER >= 20050509
+packetLen(0x0072, 25) // CZ_ENTER
+#elif PACKETVER >= 20050110
+packetLen(0x0072, 26) // CZ_ENTER
+#elif PACKETVER >= 20050103
+packetLen(0x0072, 22) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20050719
+packetLen(0x007e, 113) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050718
+packetLen(0x007e, 110) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050628
+packetLen(0x007e, 113) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050509
+packetLen(0x007e, 102) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050110
+packetLen(0x007e, 114) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050103
+packetLen(0x007e, 30) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20050719
+packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050718
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050628
+packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050509
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050110
+packetLen(0x0085, 23) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20050103
+packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20050719
+packetLen(0x0089, 13) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050718
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050628
+packetLen(0x0089, 13) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050509
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050110
+packetLen(0x0089, 9) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20050103
+packetLen(0x0089, 7) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20050719
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20050718
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20050628
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20050509
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20050110
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20050103
+packetLen(0x008c, 13)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20050719
+packetLen(0x0094, 31) // CZ_REQNAME
+#elif PACKETVER >= 20050718
+packetLen(0x0094, 21) // CZ_REQNAME
+#elif PACKETVER >= 20050628
+packetLen(0x0094, 31) // CZ_REQNAME
+#elif PACKETVER >= 20050509
+packetLen(0x0094, 14) // CZ_REQNAME
+#elif PACKETVER >= 20050110
+packetLen(0x0094, 20) // CZ_REQNAME
+#elif PACKETVER >= 20050103
+packetLen(0x0094, 14) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20050719
+packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050718
+packetLen(0x009b, 31) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050628
+packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050509
+packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050110
+packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20050103
+packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20050719
+packetLen(0x009f, 19) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050718
+packetLen(0x009f, 12) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050628
+packetLen(0x009f, 19) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050509
+packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050110
+packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20050103
+packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20050719
+packetLen(0x00a2, 9) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050718
+packetLen(0x00a2, 18) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050628
+packetLen(0x00a2, 9) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050509
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050110
+packetLen(0x00a2, 11) // CZ_ITEM_THROW
+#elif PACKETVER >= 20050103
+packetLen(0x00a2, 7) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20050719
+packetLen(0x00a7, 11)
+#elif PACKETVER >= 20050718
+packetLen(0x00a7, 15)
+#elif PACKETVER >= 20050628
+packetLen(0x00a7, 11)
+#elif PACKETVER >= 20050509
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050110
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20050103
+packetLen(0x00a7, 7)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+#if PACKETVER >= 20050110
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+#elif PACKETVER >= 20050103
+packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20050719
+packetLen(0x00f5, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050718
+packetLen(0x00f5, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050628
+packetLen(0x00f5, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050509
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050110
+packetLen(0x00f5, 9) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20050103
+packetLen(0x00f5, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20050719
+packetLen(0x00f7, 18) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050718
+packetLen(0x00f7, 13) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050628
+packetLen(0x00f7, 18) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050509
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050110
+packetLen(0x00f7, 21) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20050103
+packetLen(0x00f7, 14) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20050719
+packetLen(0x0113, 33) // CZ_USE_SKILL
+#elif PACKETVER >= 20050718
+packetLen(0x0113, 30) // CZ_USE_SKILL
+#elif PACKETVER >= 20050628
+packetLen(0x0113, 33) // CZ_USE_SKILL
+#elif PACKETVER >= 20050509
+packetLen(0x0113, 22) // CZ_USE_SKILL
+#elif PACKETVER >= 20050110
+packetLen(0x0113, 34) // CZ_USE_SKILL
+#elif PACKETVER >= 20050103
+packetLen(0x0113, 110) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20050628
+packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050509
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050110
+packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20050103
+packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20050719
+packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050718
+packetLen(0x0190, 21) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050628
+packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050509
+packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050110
+packetLen(0x0190, 20) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20050103
+packetLen(0x0190, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+#if PACKETVER >= 20050110
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+#elif PACKETVER >= 20050103
+packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+#endif
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+#if PACKETVER >= 20051010
+packetLen(0x020e, 32) // ZC_STARSKILL
+#elif PACKETVER >= 20050103
+packetLen(0x020e, 24) // ZC_STARSKILL
+#endif
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+#if PACKETVER >= 20050328
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20050328
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20050328
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20050404
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+#endif
+
+// Packet: 0x0228
+#if PACKETVER >= 20050404
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+#endif
+
+// Packet: 0x0229
+#if PACKETVER >= 20050411
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20050411
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20050411
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20050411
+packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20050425
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20050622
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20050530
+packetLen(0x022e, 69) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20050523
+packetLen(0x022e, 67) // ZC_PROPERTY_HOMUN
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20050608
+packetLen(0x022f, 5) // ZC_FEED_MER
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20050523
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+#endif
+
+// Packet: 0x0231
+#if PACKETVER >= 20050608
+packetLen(0x0231, 26) // CZ_RENAME_MER
+#endif
+
+// Packet: 0x0232
+#if PACKETVER >= 20050425
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20050425
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20050425
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20050530
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#endif
+
+// Packet: 0x0236
+#if PACKETVER >= 20050530
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+#endif
+
+// Packet: 0x0237
+#if PACKETVER >= 20050530
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20050530
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20050531
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20050608
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#endif
+
+// Packet: 0x023b
+#if PACKETVER >= 20050608
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+#if PACKETVER >= 20050608
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#endif
+
+// Packet: 0x023d
+#if PACKETVER >= 20050628
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+#endif
+
+// Packet: 0x023e
+#if PACKETVER >= 20050628
+packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+#endif
+
+// Packet: 0x023f
+#if PACKETVER >= 20050718
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+#endif
+
+// Packet: 0x0240
+#if PACKETVER >= 20050829
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+#elif PACKETVER >= 20050718
+packetLen(0x0240, 8) // ZC_MAIL_REQ_GET_LIST
+#endif
+
+// Packet: 0x0241
+#if PACKETVER >= 20050718
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+#endif
+
+// Packet: 0x0242
+#if PACKETVER >= 20050718
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+#endif
+
+// Packet: 0x0243
+#if PACKETVER >= 20050718
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+#endif
+
+// Packet: 0x0244
+#if PACKETVER >= 20050718
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+#endif
+
+// Packet: 0x0245
+#if PACKETVER >= 20050801
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+#elif PACKETVER >= 20050718
+packetLen(0x0245, 7) // ZC_MAIL_REQ_GET_ITEM
+#endif
+
+// Packet: 0x0246
+#if PACKETVER >= 20050718
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+#endif
+
+// Packet: 0x0247
+#if PACKETVER >= 20050718
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+#endif
+
+// Packet: 0x0248
+#if PACKETVER >= 20050829
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+#elif PACKETVER >= 20050718
+packetLen(0x0248, 68) // CZ_MAIL_SEND
+#endif
+
+// Packet: 0x0249
+#if PACKETVER >= 20050718
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+#endif
+
+// Packet: 0x024a
+#if PACKETVER >= 20050718
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+#endif
+
+// Packet: 0x024b
+#if PACKETVER >= 20050718
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+#endif
+
+// Packet: 0x024c
+#if PACKETVER >= 20050718
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+#endif
+
+// Packet: 0x024d
+#if PACKETVER >= 20050808
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+#elif PACKETVER >= 20050718
+packetLen(0x024d, 14) // CZ_AUCTION_ADD
+#endif
+
+// Packet: 0x024e
+#if PACKETVER >= 20051107
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+#elif PACKETVER >= 20050808
+packetLen(0x024e, 4) // CZ_AUCTION_ADD_CANCEL
+#elif PACKETVER >= 20050718
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+#endif
+
+// Packet: 0x024f
+#if PACKETVER >= 20050718
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+#endif
+
+// Packet: 0x0250
+#if PACKETVER >= 20050718
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+#endif
+
+// Packet: 0x0251
+#if PACKETVER >= 20051107
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+#elif PACKETVER >= 20051013
+packetLen(0x0251, 32) // CZ_AUCTION_ITEM_SEARCH
+#elif PACKETVER >= 20050801
+packetLen(0x0251, 4) // CZ_AUCTION_ITEM_SEARCH
+#elif PACKETVER >= 20050718
+packetLen(0x0251, 2) // CZ_AUCTION_ITEM_SEARCH
+#endif
+
+// Packet: 0x0252
+#if PACKETVER >= 20050718
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+#endif
+
+// Packet: 0x0253
+#if PACKETVER >= 20050817
+packetLen(0x0253, 3) // ZC_STARPLACE
+#endif
+
+// Packet: 0x0254
+#if PACKETVER >= 20050817
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+#endif
+
+// Packet: 0x0255
+#if PACKETVER >= 20050829
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+#endif
+
+// Packet: 0x0256
+#if PACKETVER >= 20050829
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+#endif
+
+// Packet: 0x0257
+#if PACKETVER >= 20050829
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+#endif
+
+// Packet: 0x0258
+#if PACKETVER >= 20050912
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+#endif
+
+// Packet: 0x0259
+#if PACKETVER >= 20050912
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+#endif
+
+// Packet: 0x025a
+#if PACKETVER >= 20051010
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+#endif
+
+// Packet: 0x025b
+#if PACKETVER >= 20051010
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+#endif
+
+// Packet: 0x025c
+#if PACKETVER >= 20051013
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+#endif
+
+// Packet: 0x025d
+#if PACKETVER >= 20051017
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+#endif
+
+// Packet: 0x025e
+#if PACKETVER >= 20051017
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+#endif
+
+// Packet: 0x025f
+#if PACKETVER >= 20051024
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+#endif
+
+// Packet: 0x0260
+#if PACKETVER >= 20051024
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+#endif
+
+
+#endif /* COMMON_PACKETS2005_LEN_SAK_H */
diff --git a/src/common/packets/packets2006_len_ad.h b/src/common/packets/packets2006_len_ad.h
new file mode 100644
index 000000000..a8eef10d5
--- /dev/null
+++ b/src/common/packets/packets2006_len_ad.h
@@ -0,0 +1,1925 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2006_LEN_AD_H
+#define COMMON_PACKETS2006_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20061030
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20060102
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20060327
+packetLen(0x0072, 25) // CZ_ENTER
+#elif PACKETVER >= 20060102
+packetLen(0x0072, 20) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20060327
+packetLen(0x007e, 102) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20060102
+packetLen(0x007e, 103) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20060327
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20060102
+packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20060327
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20060102
+packetLen(0x0089, 10) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20060327
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20060102
+packetLen(0x008c, 15)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20060327
+packetLen(0x0094, 14) // CZ_REQNAME
+#elif PACKETVER >= 20060102
+packetLen(0x0094, 16) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20060327
+packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20060102
+packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20060327
+packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20060102
+packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20060327
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+#elif PACKETVER >= 20060102
+packetLen(0x00a2, 12) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20060327
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x00a7, 6)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20060327
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20060102
+packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20060327
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20060102
+packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20060327
+packetLen(0x0113, 22) // CZ_USE_SKILL
+#elif PACKETVER >= 20060102
+packetLen(0x0113, 23) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20060327
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20060102
+packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20060327
+packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20060102
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+#if PACKETVER >= 20061207
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+#elif PACKETVER >= 20060102
+packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+#endif
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+#if PACKETVER >= 20060109
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+#endif
+
+// Packet: 0x0262
+#if PACKETVER >= 20060109
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+#endif
+
+// Packet: 0x0263
+#if PACKETVER >= 20060109
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+#endif
+
+// Packet: 0x0264
+#if PACKETVER >= 20060109
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+#endif
+
+// Packet: 0x0265
+#if PACKETVER >= 20060109
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+#endif
+
+// Packet: 0x0266
+#if PACKETVER >= 20060109
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+#endif
+
+// Packet: 0x0267
+#if PACKETVER >= 20060109
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+#endif
+
+// Packet: 0x0268
+#if PACKETVER >= 20060109
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+#endif
+
+// Packet: 0x0269
+#if PACKETVER >= 20060109
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+#endif
+
+// Packet: 0x026a
+#if PACKETVER >= 20060109
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+#endif
+
+// Packet: 0x026b
+#if PACKETVER >= 20060109
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+#endif
+
+// Packet: 0x026c
+#if PACKETVER >= 20060109
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+#endif
+
+// Packet: 0x026d
+#if PACKETVER >= 20060109
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+#endif
+
+// Packet: 0x026f
+#if PACKETVER >= 20060109
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+#endif
+
+// Packet: 0x0270
+#if PACKETVER >= 20060109
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+#endif
+
+// Packet: 0x0271
+#if PACKETVER >= 20060126
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+#elif PACKETVER >= 20060109
+packetLen(0x0271, 38) // CA_ACK_LOGIN_ACCOUNT_INFO
+#endif
+
+// Packet: 0x0272
+#if PACKETVER >= 20060109
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+#endif
+
+// Packet: 0x0273
+#if PACKETVER >= 20060313
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+#elif PACKETVER >= 20060306
+packetLen(0x0273, 6) // CZ_REQ_MAIL_RETURN
+#endif
+
+// Packet: 0x0274
+#if PACKETVER >= 20060306
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#endif
+
+// Packet: 0x0277
+#if PACKETVER >= 20060424
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+#endif
+
+// Packet: 0x0278
+#if PACKETVER >= 20060607
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+#endif
+
+// Packet: 0x0279
+#if PACKETVER >= 20060607
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+#endif
+
+// Packet: 0x027a
+#if PACKETVER >= 20060607
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+#endif
+
+// Packet: 0x027b
+#if PACKETVER >= 20060626
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+#endif
+
+// Packet: 0x027c
+#if PACKETVER >= 20060626
+packetLen(0x027c, 60) // CA_LOGIN4
+#endif
+
+// Packet: 0x027d
+#if PACKETVER >= 20060703
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+#endif
+
+// Packet: 0x027e
+#if PACKETVER >= 20060710
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+#endif
+
+// Packet: 0x027f
+#if PACKETVER >= 20060821
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+#elif PACKETVER >= 20060731
+packetLen(0x027f, 4) // CA_CLIENT_TYPE
+#endif
+
+// Packet: 0x0280
+#if PACKETVER >= 20060918
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+#elif PACKETVER >= 20060904
+packetLen(0x0280, 10) // ZC_GANGSI_POINT
+#endif
+
+// Packet: 0x0281
+#if PACKETVER >= 20060918
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20060904
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+#if PACKETVER >= 20060918
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+#elif PACKETVER >= 20060904
+packetLen(0x0282, 282) // ZC_GANGSI_RANK
+#endif
+
+// Packet: 0x0283
+#if PACKETVER >= 20060904
+packetLen(0x0283, 6) // ZC_AID
+#endif
+
+// Packet: 0x0284
+#if PACKETVER >= 20060911
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+#endif
+
+// Packet: 0x0285
+#if PACKETVER >= 20060918
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+#endif
+
+// Packet: 0x0286
+#if PACKETVER >= 20060918
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+#endif
+
+// Packet: 0x028a
+#if PACKETVER >= 20060927
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+#endif
+
+// Packet: 0x028b
+#if PACKETVER >= 20061030
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+#endif
+
+// Packet: 0x028c
+#if PACKETVER >= 20061030
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+#endif
+
+// Packet: 0x028d
+#if PACKETVER >= 20061030
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+#endif
+
+// Packet: 0x028e
+#if PACKETVER >= 20061030
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+#endif
+
+// Packet: 0x028f
+#if PACKETVER >= 20061030
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+#endif
+
+// Packet: 0x0290
+#if PACKETVER >= 20061030
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+#endif
+
+// Packet: 0x0291
+#if PACKETVER >= 20061030
+packetLen(0x0291, 4) // ZC_MSG
+#endif
+
+// Packet: 0x0292
+#if PACKETVER >= 20061030
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+#endif
+
+// Packet: 0x0293
+#if PACKETVER >= 20061204
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+#elif PACKETVER >= 20061030
+packetLen(0x0293, 66) // ZC_BOSS_INFO
+#endif
+
+// Packet: 0x0294
+#if PACKETVER >= 20061204
+packetLen(0x0294, 10) // ZC_READ_BOOK
+#endif
+
+// Packet: 0x0295
+#if PACKETVER >= 20061218
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20061211
+packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20061218
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20061211
+packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20061218
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20061211
+packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0298
+#if PACKETVER >= 20061211
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20061211
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20061218
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#endif
+
+// Packet: 0x029b
+#if PACKETVER >= 20061226
+packetLen(0x029b, 70) // ZC_MER_INIT
+#endif
+
+// Packet: 0x029c
+#if PACKETVER >= 20061226
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+#endif
+
+// Packet: 0x029d
+#if PACKETVER >= 20061226
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+#endif
+
+// Packet: 0x029e
+#if PACKETVER >= 20061226
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+#endif
+
+// Packet: 0x029f
+#if PACKETVER >= 20061226
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+#endif
+
+// Packet: 0x02a0
+#if PACKETVER >= 20061226
+packetLen(0x02a0, 10) // CZ_UNUSED_MER_USE_SKILL
+#endif
+
+// Packet: 0x02a1
+#if PACKETVER >= 20061226
+packetLen(0x02a1, 4) // CZ_UNUSED_MER_UPGRADE_SKILLLEVEL
+#endif
+
+// Packet: 0x02a2
+#if PACKETVER >= 20061226
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+#endif
+
+
+#endif /* COMMON_PACKETS2006_LEN_AD_H */
diff --git a/src/common/packets/packets2006_len_main.h b/src/common/packets/packets2006_len_main.h
new file mode 100644
index 000000000..1b6debfd0
--- /dev/null
+++ b/src/common/packets/packets2006_len_main.h
@@ -0,0 +1,1919 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2006_LEN_MAIN_H
+#define COMMON_PACKETS2006_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20061030
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20060102
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20060327
+packetLen(0x0072, 25) // CZ_ENTER
+#elif PACKETVER >= 20060102
+packetLen(0x0072, 20) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20060327
+packetLen(0x007e, 102) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20060102
+packetLen(0x007e, 103) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20060327
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20060102
+packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20060327
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20060102
+packetLen(0x0089, 10) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20060327
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20060102
+packetLen(0x008c, 15)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20060327
+packetLen(0x0094, 14) // CZ_REQNAME
+#elif PACKETVER >= 20060102
+packetLen(0x0094, 16) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20060327
+packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20060102
+packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20060327
+packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20060102
+packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20060327
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+#elif PACKETVER >= 20060102
+packetLen(0x00a2, 12) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20060327
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x00a7, 6)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20060327
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20060102
+packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20060327
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20060102
+packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20060327
+packetLen(0x0113, 22) // CZ_USE_SKILL
+#elif PACKETVER >= 20060102
+packetLen(0x0113, 23) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20060327
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20060102
+packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20060327
+packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20060102
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+#if PACKETVER >= 20061207
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+#elif PACKETVER >= 20060102
+packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+#endif
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+#if PACKETVER >= 20060109
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+#endif
+
+// Packet: 0x0262
+#if PACKETVER >= 20060109
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+#endif
+
+// Packet: 0x0263
+#if PACKETVER >= 20060109
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+#endif
+
+// Packet: 0x0264
+#if PACKETVER >= 20060109
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+#endif
+
+// Packet: 0x0265
+#if PACKETVER >= 20060109
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+#endif
+
+// Packet: 0x0266
+#if PACKETVER >= 20060109
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+#endif
+
+// Packet: 0x0267
+#if PACKETVER >= 20060109
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+#endif
+
+// Packet: 0x0268
+#if PACKETVER >= 20060109
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+#endif
+
+// Packet: 0x0269
+#if PACKETVER >= 20060109
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+#endif
+
+// Packet: 0x026a
+#if PACKETVER >= 20060109
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+#endif
+
+// Packet: 0x026b
+#if PACKETVER >= 20060109
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+#endif
+
+// Packet: 0x026c
+#if PACKETVER >= 20060109
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+#endif
+
+// Packet: 0x026d
+#if PACKETVER >= 20060109
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+#endif
+
+// Packet: 0x026f
+#if PACKETVER >= 20060109
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+#endif
+
+// Packet: 0x0270
+#if PACKETVER >= 20060109
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+#endif
+
+// Packet: 0x0271
+#if PACKETVER >= 20060126
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+#elif PACKETVER >= 20060109
+packetLen(0x0271, 38) // CA_ACK_LOGIN_ACCOUNT_INFO
+#endif
+
+// Packet: 0x0272
+#if PACKETVER >= 20060109
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+#endif
+
+// Packet: 0x0273
+#if PACKETVER >= 20060313
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+#elif PACKETVER >= 20060306
+packetLen(0x0273, 6) // CZ_REQ_MAIL_RETURN
+#endif
+
+// Packet: 0x0274
+#if PACKETVER >= 20060306
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#endif
+
+// Packet: 0x0277
+#if PACKETVER >= 20060424
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+#endif
+
+// Packet: 0x0278
+#if PACKETVER >= 20060607
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+#endif
+
+// Packet: 0x0279
+#if PACKETVER >= 20060607
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+#endif
+
+// Packet: 0x027a
+#if PACKETVER >= 20060607
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+#endif
+
+// Packet: 0x027b
+#if PACKETVER >= 20060626
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+#endif
+
+// Packet: 0x027c
+#if PACKETVER >= 20060626
+packetLen(0x027c, 60) // CA_LOGIN4
+#endif
+
+// Packet: 0x027d
+#if PACKETVER >= 20060703
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+#endif
+
+// Packet: 0x027e
+#if PACKETVER >= 20060710
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+#endif
+
+// Packet: 0x027f
+#if PACKETVER >= 20060821
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+#elif PACKETVER >= 20060731
+packetLen(0x027f, 4) // CA_CLIENT_TYPE
+#endif
+
+// Packet: 0x0280
+#if PACKETVER >= 20060918
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+#elif PACKETVER >= 20060904
+packetLen(0x0280, 10) // ZC_GANGSI_POINT
+#endif
+
+// Packet: 0x0281
+#if PACKETVER >= 20060918
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20060904
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+#if PACKETVER >= 20060918
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+#elif PACKETVER >= 20060904
+packetLen(0x0282, 282) // ZC_GANGSI_RANK
+#endif
+
+// Packet: 0x0283
+#if PACKETVER >= 20060904
+packetLen(0x0283, 6) // ZC_AID
+#endif
+
+// Packet: 0x0284
+#if PACKETVER >= 20060911
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+#endif
+
+// Packet: 0x0285
+#if PACKETVER >= 20060918
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+#endif
+
+// Packet: 0x0286
+#if PACKETVER >= 20060918
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+#endif
+
+// Packet: 0x028a
+#if PACKETVER >= 20060927
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+#endif
+
+// Packet: 0x028b
+#if PACKETVER >= 20061030
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+#endif
+
+// Packet: 0x028c
+#if PACKETVER >= 20061030
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+#endif
+
+// Packet: 0x028d
+#if PACKETVER >= 20061030
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+#endif
+
+// Packet: 0x028e
+#if PACKETVER >= 20061030
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+#endif
+
+// Packet: 0x028f
+#if PACKETVER >= 20061030
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+#endif
+
+// Packet: 0x0290
+#if PACKETVER >= 20061030
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+#endif
+
+// Packet: 0x0291
+#if PACKETVER >= 20061030
+packetLen(0x0291, 4) // ZC_MSG
+#endif
+
+// Packet: 0x0292
+#if PACKETVER >= 20061030
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+#endif
+
+// Packet: 0x0293
+#if PACKETVER >= 20061204
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+#elif PACKETVER >= 20061030
+packetLen(0x0293, 66) // ZC_BOSS_INFO
+#endif
+
+// Packet: 0x0294
+#if PACKETVER >= 20061204
+packetLen(0x0294, 10) // ZC_READ_BOOK
+#endif
+
+// Packet: 0x0295
+#if PACKETVER >= 20061218
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20061211
+packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20061218
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20061211
+packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20061218
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20061211
+packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0298
+#if PACKETVER >= 20061211
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20061211
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20061218
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#endif
+
+// Packet: 0x029b
+#if PACKETVER >= 20061226
+packetLen(0x029b, 70) // ZC_MER_INIT
+#endif
+
+// Packet: 0x029c
+#if PACKETVER >= 20061226
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+#endif
+
+// Packet: 0x029d
+#if PACKETVER >= 20061226
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+#endif
+
+// Packet: 0x029e
+#if PACKETVER >= 20061226
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+#endif
+
+// Packet: 0x029f
+#if PACKETVER >= 20061226
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+#endif
+
+// Packet: 0x02a0
+#if PACKETVER >= 20061226
+packetLen(0x02a0, 10) // CZ_UNUSED_MER_USE_SKILL
+#endif
+
+// Packet: 0x02a1
+#if PACKETVER >= 20061226
+packetLen(0x02a1, 4) // CZ_UNUSED_MER_UPGRADE_SKILLLEVEL
+#endif
+
+// Packet: 0x02a2
+#if PACKETVER >= 20061226
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+#endif
+
+
+#endif /* COMMON_PACKETS2006_LEN_MAIN_H */
diff --git a/src/common/packets/packets2006_len_sak.h b/src/common/packets/packets2006_len_sak.h
new file mode 100644
index 000000000..8b48e1d1d
--- /dev/null
+++ b/src/common/packets/packets2006_len_sak.h
@@ -0,0 +1,1932 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2006_LEN_SAK_H
+#define COMMON_PACKETS2006_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20061023
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20060102
+packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20060327
+packetLen(0x0072, 26) // CZ_ENTER
+#elif PACKETVER >= 20060102
+packetLen(0x0072, 34) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20060327
+packetLen(0x007e, 120) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20060102
+packetLen(0x007e, 113) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20060327
+packetLen(0x0085, 12) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20060102
+packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 13) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20060327
+packetLen(0x008c, 12)
+#elif PACKETVER >= 20060102
+packetLen(0x008c, 8)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20060327
+packetLen(0x0094, 23) // CZ_REQNAME
+#elif PACKETVER >= 20060102
+packetLen(0x0094, 31) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20060327
+packetLen(0x009b, 37) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20060102
+packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20060327
+packetLen(0x009f, 24) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20060102
+packetLen(0x009f, 19) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20060327
+packetLen(0x00a2, 11) // CZ_ITEM_THROW
+#elif PACKETVER >= 20060102
+packetLen(0x00a2, 9) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20060327
+packetLen(0x00a7, 15)
+#elif PACKETVER >= 20060102
+packetLen(0x00a7, 11)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20060327
+packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20060102
+packetLen(0x00f7, 18) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20060327
+packetLen(0x0113, 40) // CZ_USE_SKILL
+#elif PACKETVER >= 20060102
+packetLen(0x0113, 33) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20060327
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20060102
+packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20060327
+packetLen(0x0190, 18) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20060102
+packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+#if PACKETVER >= 20061207
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+#elif PACKETVER >= 20060102
+packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+#endif
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+#if PACKETVER >= 20060109
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+#endif
+
+// Packet: 0x0262
+#if PACKETVER >= 20060109
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+#endif
+
+// Packet: 0x0263
+#if PACKETVER >= 20060109
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+#endif
+
+// Packet: 0x0264
+#if PACKETVER >= 20060109
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+#endif
+
+// Packet: 0x0265
+#if PACKETVER >= 20060109
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+#endif
+
+// Packet: 0x0266
+#if PACKETVER >= 20060109
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+#endif
+
+// Packet: 0x0267
+#if PACKETVER >= 20060109
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+#endif
+
+// Packet: 0x0268
+#if PACKETVER >= 20060109
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+#endif
+
+// Packet: 0x0269
+#if PACKETVER >= 20060109
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+#endif
+
+// Packet: 0x026a
+#if PACKETVER >= 20060109
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+#endif
+
+// Packet: 0x026b
+#if PACKETVER >= 20060109
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+#endif
+
+// Packet: 0x026c
+#if PACKETVER >= 20060109
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+#endif
+
+// Packet: 0x026d
+#if PACKETVER >= 20060109
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+#endif
+
+// Packet: 0x026f
+#if PACKETVER >= 20060109
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+#endif
+
+// Packet: 0x0270
+#if PACKETVER >= 20060109
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+#endif
+
+// Packet: 0x0271
+#if PACKETVER >= 20060126
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+#elif PACKETVER >= 20060109
+packetLen(0x0271, 38) // CA_ACK_LOGIN_ACCOUNT_INFO
+#endif
+
+// Packet: 0x0272
+#if PACKETVER >= 20060109
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+#endif
+
+// Packet: 0x0273
+#if PACKETVER >= 20060313
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+#elif PACKETVER >= 20060306
+packetLen(0x0273, 6) // CZ_REQ_MAIL_RETURN
+#endif
+
+// Packet: 0x0274
+#if PACKETVER >= 20060306
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#endif
+
+// Packet: 0x0277
+#if PACKETVER >= 20060424
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+#endif
+
+// Packet: 0x0278
+#if PACKETVER >= 20060607
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+#endif
+
+// Packet: 0x0279
+#if PACKETVER >= 20060607
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+#endif
+
+// Packet: 0x027a
+#if PACKETVER >= 20060607
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+#endif
+
+// Packet: 0x027b
+#if PACKETVER >= 20060626
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+#endif
+
+// Packet: 0x027c
+#if PACKETVER >= 20060626
+packetLen(0x027c, 60) // CA_LOGIN4
+#endif
+
+// Packet: 0x027d
+#if PACKETVER >= 20060703
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+#endif
+
+// Packet: 0x027e
+#if PACKETVER >= 20060710
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+#endif
+
+// Packet: 0x027f
+#if PACKETVER >= 20060821
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+#elif PACKETVER >= 20060731
+packetLen(0x027f, 4) // CA_CLIENT_TYPE
+#endif
+
+// Packet: 0x0280
+#if PACKETVER >= 20060918
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+#elif PACKETVER >= 20060904
+packetLen(0x0280, 10) // ZC_GANGSI_POINT
+#endif
+
+// Packet: 0x0281
+#if PACKETVER >= 20060918
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20060904
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+#if PACKETVER >= 20060918
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+#elif PACKETVER >= 20060904
+packetLen(0x0282, 282) // ZC_GANGSI_RANK
+#endif
+
+// Packet: 0x0283
+#if PACKETVER >= 20060904
+packetLen(0x0283, 6) // ZC_AID
+#endif
+
+// Packet: 0x0284
+#if PACKETVER >= 20060911
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+#endif
+
+// Packet: 0x0285
+#if PACKETVER >= 20060918
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+#endif
+
+// Packet: 0x0286
+#if PACKETVER >= 20060918
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+#endif
+
+// Packet: 0x0287
+#if PACKETVER >= 20061204
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#endif
+
+// Packet: 0x0288
+#if PACKETVER >= 20061204
+packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0289
+#if PACKETVER >= 20061204
+packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+#endif
+
+// Packet: 0x028a
+#if PACKETVER >= 20060927
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+#endif
+
+// Packet: 0x028b
+#if PACKETVER >= 20061023
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+#endif
+
+// Packet: 0x028c
+#if PACKETVER >= 20061023
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+#endif
+
+// Packet: 0x028d
+#if PACKETVER >= 20061023
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+#endif
+
+// Packet: 0x028e
+#if PACKETVER >= 20061023
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+#endif
+
+// Packet: 0x028f
+#if PACKETVER >= 20061023
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+#endif
+
+// Packet: 0x0290
+#if PACKETVER >= 20061023
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+#endif
+
+// Packet: 0x0291
+#if PACKETVER >= 20061030
+packetLen(0x0291, 4) // ZC_MSG
+#endif
+
+// Packet: 0x0292
+#if PACKETVER >= 20061030
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+#endif
+
+// Packet: 0x0293
+#if PACKETVER >= 20061204
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+#elif PACKETVER >= 20061030
+packetLen(0x0293, 66) // ZC_BOSS_INFO
+#endif
+
+// Packet: 0x0294
+#if PACKETVER >= 20061204
+packetLen(0x0294, 10) // ZC_READ_BOOK
+#endif
+
+// Packet: 0x0295
+#if PACKETVER >= 20061218
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20061211
+packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20061218
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20061211
+packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20061218
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20061211
+packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0298
+#if PACKETVER >= 20061211
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20061211
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20061218
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#endif
+
+// Packet: 0x029b
+#if PACKETVER >= 20061226
+packetLen(0x029b, 70) // ZC_MER_INIT
+#endif
+
+// Packet: 0x029c
+#if PACKETVER >= 20061226
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+#endif
+
+// Packet: 0x029d
+#if PACKETVER >= 20061226
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+#endif
+
+// Packet: 0x029e
+#if PACKETVER >= 20061226
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+#endif
+
+// Packet: 0x029f
+#if PACKETVER >= 20061226
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+#endif
+
+// Packet: 0x02a0
+#if PACKETVER >= 20061226
+packetLen(0x02a0, 10) // CZ_UNUSED_MER_USE_SKILL
+#endif
+
+// Packet: 0x02a1
+#if PACKETVER >= 20061226
+packetLen(0x02a1, 4) // CZ_UNUSED_MER_UPGRADE_SKILLLEVEL
+#endif
+
+// Packet: 0x02a2
+#if PACKETVER >= 20061226
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+#endif
+
+
+#endif /* COMMON_PACKETS2006_LEN_SAK_H */
diff --git a/src/common/packets/packets2007_len_ad.h b/src/common/packets/packets2007_len_ad.h
new file mode 100644
index 000000000..1d952b2da
--- /dev/null
+++ b/src/common/packets/packets2007_len_ad.h
@@ -0,0 +1,2223 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2007_LEN_AD_H
+#define COMMON_PACKETS2007_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20070212
+packetLen(0x0072, 22) // CZ_ENTER
+#elif PACKETVER >= 20070108
+packetLen(0x0072, 14) // CZ_ENTER
+#elif PACKETVER >= 20070102
+packetLen(0x0072, 25) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+#if PACKETVER >= 20071127
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20070102
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+#endif
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+#if PACKETVER >= 20071127
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20070102
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+#endif
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20070212
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070108
+packetLen(0x007e, 109) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070102
+packetLen(0x007e, 102) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20070212
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20070108
+packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20070102
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20070212
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20070108
+packetLen(0x0089, 14) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20070102
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20070212
+packetLen(0x008c, 14)
+#elif PACKETVER >= 20070108
+packetLen(0x008c, 10)
+#elif PACKETVER >= 20070102
+packetLen(0x008c, 11)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20070212
+packetLen(0x0094, 19) // CZ_REQNAME
+#elif PACKETVER >= 20070108
+packetLen(0x0094, 25) // CZ_REQNAME
+#elif PACKETVER >= 20070102
+packetLen(0x0094, 14) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20070212
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20070108
+packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20070102
+packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20070212
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20070108
+packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20070102
+packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20070212
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+#elif PACKETVER >= 20070108
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20070102
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20070212
+packetLen(0x00a7, 9)
+#elif PACKETVER >= 20070108
+packetLen(0x00a7, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x00a7, 8)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20070212
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20070108
+packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20070102
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20070212
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070108
+packetLen(0x00f7, 12) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070102
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20070212
+packetLen(0x0113, 25) // CZ_USE_SKILL
+#elif PACKETVER >= 20070108
+packetLen(0x0113, 29) // CZ_USE_SKILL
+#elif PACKETVER >= 20070102
+packetLen(0x0113, 22) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20070212
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20070108
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20070102
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20070212
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20070108
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20070102
+packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+#if PACKETVER >= 20070528
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20070102
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+#if PACKETVER >= 20071127
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20070102
+packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+#if PACKETVER >= 20070423
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#endif
+
+// Packet: 0x0288
+#if PACKETVER >= 20070711
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20070423
+packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0289
+#if PACKETVER >= 20070711
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+#elif PACKETVER >= 20070423
+packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+#endif
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+#if PACKETVER >= 20071127
+packetLen(0x029b, 80) // ZC_MER_INIT
+#elif PACKETVER >= 20070122
+packetLen(0x029b, 72) // ZC_MER_INIT
+#elif PACKETVER >= 20070102
+packetLen(0x029b, 70) // ZC_MER_INIT
+#endif
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a3
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a3, 18) // ZC_GAMEGUARD_LINGO_KEY
+#endif
+
+// Packet: 0x02a4
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a4, 2) // CZ_GAMEGUARD_LINGO_READY
+#endif
+
+// Packet: 0x02a5
+#if PACKETVER >= 20070129
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+#endif
+
+// Packet: 0x02a6
+#if PACKETVER >= 20070611
+packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20070611
+packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20070611
+packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20070611
+packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02aa
+#if PACKETVER >= 20070205
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+#endif
+
+// Packet: 0x02ab
+#if PACKETVER >= 20070205
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+#endif
+
+// Packet: 0x02ac
+#if PACKETVER >= 20070205
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+#endif
+
+// Packet: 0x02ad
+#if PACKETVER >= 20070227
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+#endif
+
+// Packet: 0x02ae
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02ae, 10) // ZC_UNUSED_SRPACKET_INIT
+#endif
+
+// Packet: 0x02af
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02af, 2) // CZ_SRPACKET_START
+#endif
+
+// Packet: 0x02b0
+#if PACKETVER >= 20070514
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+#endif
+
+// Packet: 0x02b1
+#if PACKETVER >= 20070724
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+#endif
+
+// Packet: 0x02b2
+#if PACKETVER >= 20070807
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+#endif
+
+// Packet: 0x02b3
+#if PACKETVER >= 20070821
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070813
+packetLen(0x02b3, 103) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070731
+packetLen(0x02b3, 31) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070703
+packetLen(0x02b3, 7) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070622
+packetLen(0x02b3, 26) // ZC_ADD_QUEST
+#endif
+
+// Packet: 0x02b4
+#if PACKETVER >= 20070622
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+#endif
+
+// Packet: 0x02b5
+#if PACKETVER >= 20070813
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+#elif PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070703
+packetLen(0x02b5, 12) // ZC_UPDATE_MISSION_HUNT
+#elif PACKETVER >= 20070622
+packetLen(0x02b5, 18) // ZC_UPDATE_MISSION_HUNT
+#endif
+
+// Packet: 0x02b6
+#if PACKETVER >= 20070622
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+#endif
+
+// Packet: 0x02b7
+#if PACKETVER >= 20070807
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+#elif PACKETVER >= 20070622
+packetLen(0x02b7, 10) // ZC_ACTIVE_QUEST
+#endif
+
+// Packet: 0x02b8
+#if PACKETVER >= 20070604
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+#endif
+
+// Packet: 0x02b9
+#if PACKETVER >= 20070611
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+#endif
+
+// Packet: 0x02ba
+#if PACKETVER >= 20070618
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+#elif PACKETVER >= 20070611
+packetLen(0x02ba, 9) // CZ_SHORTCUT_KEY_CHANGE
+#endif
+
+// Packet: 0x02bb
+#if PACKETVER >= 20070622
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+#elif PACKETVER >= 20070605
+packetLen(0x02bb, 4) // ZC_EQUIPITEM_DAMAGED
+#endif
+
+// Packet: 0x02bc
+#if PACKETVER >= 20070622
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+#endif
+
+// Packet: 0x02bf
+#if PACKETVER >= 20070807
+packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20070807
+packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+#endif
+
+// Packet: 0x02c1
+#if PACKETVER >= 20070813
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+#endif
+
+// Packet: 0x02c2
+#if PACKETVER >= 20070821
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+#endif
+
+// Packet: 0x02c3
+#if PACKETVER >= 20070828
+// removed
+#elif PACKETVER >= 20070821
+packetLen(0x02c3, 4)
+#endif
+
+// Packet: 0x02c4
+#if PACKETVER >= 20070821
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+#if PACKETVER >= 20070821
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+#endif
+
+// Packet: 0x02c6
+#if PACKETVER >= 20070821
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c7
+#if PACKETVER >= 20070821
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+#endif
+
+// Packet: 0x02c8
+#if PACKETVER >= 20070821
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+#endif
+
+// Packet: 0x02c9
+#if PACKETVER >= 20070821
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+#endif
+
+// Packet: 0x02ca
+#if PACKETVER >= 20070821
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+#endif
+
+// Packet: 0x02cb
+#if PACKETVER >= 20071023
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+#elif PACKETVER >= 20070828
+packetLen(0x02cb, 20) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+#endif
+
+// Packet: 0x02cc
+#if PACKETVER >= 20070828
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+#endif
+
+// Packet: 0x02cd
+#if PACKETVER >= 20071023
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+#elif PACKETVER >= 20070828
+packetLen(0x02cd, 26) // ZC_MEMORIALDUNGEON_INFO
+#endif
+
+// Packet: 0x02ce
+#if PACKETVER >= 20070828
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+#endif
+
+// Packet: 0x02cf
+#if PACKETVER >= 20070828
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+#endif
+
+// Packet: 0x02d0
+#if PACKETVER >= 20070904
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+#endif
+
+// Packet: 0x02d1
+#if PACKETVER >= 20070904
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+#endif
+
+// Packet: 0x02d2
+#if PACKETVER >= 20070904
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+#endif
+
+// Packet: 0x02d3
+#if PACKETVER >= 20070904
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+#endif
+
+// Packet: 0x02d4
+#if PACKETVER >= 20070904
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#endif
+
+// Packet: 0x02d5
+#if PACKETVER >= 20070911
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+#endif
+
+// Packet: 0x02d6
+#if PACKETVER >= 20070918
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+#endif
+
+// Packet: 0x02d7
+#if PACKETVER >= 20070918
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+#endif
+
+// Packet: 0x02d8
+#if PACKETVER >= 20070918
+packetLen(0x02d8, 10) // CZ_CONFIG
+#endif
+
+// Packet: 0x02d9
+#if PACKETVER >= 20070918
+packetLen(0x02d9, 10) // ZC_CONFIG
+#endif
+
+// Packet: 0x02da
+#if PACKETVER >= 20070918
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+#endif
+
+// Packet: 0x02db
+#if PACKETVER >= 20071002
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+#endif
+
+// Packet: 0x02dc
+#if PACKETVER >= 20071002
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+#endif
+
+// Packet: 0x02dd
+#if PACKETVER >= 20071002
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+#endif
+
+// Packet: 0x02de
+#if PACKETVER >= 20071002
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+#endif
+
+// Packet: 0x02df
+#if PACKETVER >= 20071002
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+#endif
+
+// Packet: 0x02e0
+#if PACKETVER >= 20071002
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+#endif
+
+// Packet: 0x02e1
+#if PACKETVER >= 20071113
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+#endif
+
+// Packet: 0x02e2
+#if PACKETVER >= 20071120
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+#endif
+
+// Packet: 0x02e3
+#if PACKETVER >= 20071120
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+#endif
+
+// Packet: 0x02e4
+#if PACKETVER >= 20071120
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+#endif
+
+// Packet: 0x02e5
+#if PACKETVER >= 20071120
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+#endif
+
+// Packet: 0x02e6
+#if PACKETVER >= 20071120
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+#endif
+
+// Packet: 0x02e7
+#if PACKETVER >= 20071127
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+#endif
+
+
+#endif /* COMMON_PACKETS2007_LEN_AD_H */
diff --git a/src/common/packets/packets2007_len_main.h b/src/common/packets/packets2007_len_main.h
new file mode 100644
index 000000000..f7c5faaf0
--- /dev/null
+++ b/src/common/packets/packets2007_len_main.h
@@ -0,0 +1,2217 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2007_LEN_MAIN_H
+#define COMMON_PACKETS2007_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20070212
+packetLen(0x0072, 22) // CZ_ENTER
+#elif PACKETVER >= 20070108
+packetLen(0x0072, 14) // CZ_ENTER
+#elif PACKETVER >= 20070102
+packetLen(0x0072, 25) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+#if PACKETVER >= 20071127
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20070102
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+#endif
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+#if PACKETVER >= 20071127
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20070102
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+#endif
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20070212
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070108
+packetLen(0x007e, 109) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070102
+packetLen(0x007e, 102) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20070212
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20070108
+packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20070102
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20070212
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20070108
+packetLen(0x0089, 14) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20070102
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20070212
+packetLen(0x008c, 14)
+#elif PACKETVER >= 20070108
+packetLen(0x008c, 10)
+#elif PACKETVER >= 20070102
+packetLen(0x008c, 11)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20070212
+packetLen(0x0094, 19) // CZ_REQNAME
+#elif PACKETVER >= 20070108
+packetLen(0x0094, 25) // CZ_REQNAME
+#elif PACKETVER >= 20070102
+packetLen(0x0094, 14) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20070212
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20070108
+packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20070102
+packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20070212
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20070108
+packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20070102
+packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20070212
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+#elif PACKETVER >= 20070108
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20070102
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20070212
+packetLen(0x00a7, 9)
+#elif PACKETVER >= 20070108
+packetLen(0x00a7, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x00a7, 8)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20070212
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20070108
+packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20070102
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20070212
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070108
+packetLen(0x00f7, 12) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070102
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20070212
+packetLen(0x0113, 25) // CZ_USE_SKILL
+#elif PACKETVER >= 20070108
+packetLen(0x0113, 29) // CZ_USE_SKILL
+#elif PACKETVER >= 20070102
+packetLen(0x0113, 22) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20070212
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20070108
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20070102
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20070212
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20070108
+packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20070102
+packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+#if PACKETVER >= 20070528
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20070102
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+#if PACKETVER >= 20071127
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20070102
+packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+#if PACKETVER >= 20070423
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#endif
+
+// Packet: 0x0288
+#if PACKETVER >= 20070711
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20070423
+packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0289
+#if PACKETVER >= 20070711
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+#elif PACKETVER >= 20070423
+packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+#endif
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+#if PACKETVER >= 20071127
+packetLen(0x029b, 80) // ZC_MER_INIT
+#elif PACKETVER >= 20070122
+packetLen(0x029b, 72) // ZC_MER_INIT
+#elif PACKETVER >= 20070102
+packetLen(0x029b, 70) // ZC_MER_INIT
+#endif
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a3
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a3, 18) // ZC_GAMEGUARD_LINGO_KEY
+#endif
+
+// Packet: 0x02a4
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a4, 2) // CZ_GAMEGUARD_LINGO_READY
+#endif
+
+// Packet: 0x02a5
+#if PACKETVER >= 20070129
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+#endif
+
+// Packet: 0x02a6
+#if PACKETVER >= 20070611
+packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20070611
+packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20070611
+packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20070611
+packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02aa
+#if PACKETVER >= 20070205
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+#endif
+
+// Packet: 0x02ab
+#if PACKETVER >= 20070205
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+#endif
+
+// Packet: 0x02ac
+#if PACKETVER >= 20070205
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+#endif
+
+// Packet: 0x02ad
+#if PACKETVER >= 20070227
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+#endif
+
+// Packet: 0x02ae
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02ae, 10) // ZC_UNUSED_SRPACKET_INIT
+#endif
+
+// Packet: 0x02af
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02af, 2) // CZ_SRPACKET_START
+#endif
+
+// Packet: 0x02b0
+#if PACKETVER >= 20070514
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+#endif
+
+// Packet: 0x02b1
+#if PACKETVER >= 20070724
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+#endif
+
+// Packet: 0x02b2
+#if PACKETVER >= 20070807
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+#endif
+
+// Packet: 0x02b3
+#if PACKETVER >= 20070821
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070813
+packetLen(0x02b3, 103) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070731
+packetLen(0x02b3, 31) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070703
+packetLen(0x02b3, 7) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070622
+packetLen(0x02b3, 26) // ZC_ADD_QUEST
+#endif
+
+// Packet: 0x02b4
+#if PACKETVER >= 20070622
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+#endif
+
+// Packet: 0x02b5
+#if PACKETVER >= 20070813
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+#elif PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070703
+packetLen(0x02b5, 12) // ZC_UPDATE_MISSION_HUNT
+#elif PACKETVER >= 20070622
+packetLen(0x02b5, 18) // ZC_UPDATE_MISSION_HUNT
+#endif
+
+// Packet: 0x02b6
+#if PACKETVER >= 20070622
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+#endif
+
+// Packet: 0x02b7
+#if PACKETVER >= 20070807
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+#elif PACKETVER >= 20070622
+packetLen(0x02b7, 10) // ZC_ACTIVE_QUEST
+#endif
+
+// Packet: 0x02b8
+#if PACKETVER >= 20070604
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+#endif
+
+// Packet: 0x02b9
+#if PACKETVER >= 20070611
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+#endif
+
+// Packet: 0x02ba
+#if PACKETVER >= 20070618
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+#elif PACKETVER >= 20070611
+packetLen(0x02ba, 9) // CZ_SHORTCUT_KEY_CHANGE
+#endif
+
+// Packet: 0x02bb
+#if PACKETVER >= 20070622
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+#elif PACKETVER >= 20070605
+packetLen(0x02bb, 4) // ZC_EQUIPITEM_DAMAGED
+#endif
+
+// Packet: 0x02bc
+#if PACKETVER >= 20070622
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+#endif
+
+// Packet: 0x02bf
+#if PACKETVER >= 20070807
+packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20070807
+packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+#endif
+
+// Packet: 0x02c1
+#if PACKETVER >= 20070813
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+#endif
+
+// Packet: 0x02c2
+#if PACKETVER >= 20070821
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+#endif
+
+// Packet: 0x02c3
+#if PACKETVER >= 20070828
+// removed
+#elif PACKETVER >= 20070821
+packetLen(0x02c3, 4)
+#endif
+
+// Packet: 0x02c4
+#if PACKETVER >= 20070821
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+#if PACKETVER >= 20070821
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+#endif
+
+// Packet: 0x02c6
+#if PACKETVER >= 20070821
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c7
+#if PACKETVER >= 20070821
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+#endif
+
+// Packet: 0x02c8
+#if PACKETVER >= 20070821
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+#endif
+
+// Packet: 0x02c9
+#if PACKETVER >= 20070821
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+#endif
+
+// Packet: 0x02ca
+#if PACKETVER >= 20070821
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+#endif
+
+// Packet: 0x02cb
+#if PACKETVER >= 20071023
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+#elif PACKETVER >= 20070828
+packetLen(0x02cb, 20) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+#endif
+
+// Packet: 0x02cc
+#if PACKETVER >= 20070828
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+#endif
+
+// Packet: 0x02cd
+#if PACKETVER >= 20071023
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+#elif PACKETVER >= 20070828
+packetLen(0x02cd, 26) // ZC_MEMORIALDUNGEON_INFO
+#endif
+
+// Packet: 0x02ce
+#if PACKETVER >= 20070828
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+#endif
+
+// Packet: 0x02cf
+#if PACKETVER >= 20070828
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+#endif
+
+// Packet: 0x02d0
+#if PACKETVER >= 20070904
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+#endif
+
+// Packet: 0x02d1
+#if PACKETVER >= 20070904
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+#endif
+
+// Packet: 0x02d2
+#if PACKETVER >= 20070904
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+#endif
+
+// Packet: 0x02d3
+#if PACKETVER >= 20070904
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+#endif
+
+// Packet: 0x02d4
+#if PACKETVER >= 20070904
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#endif
+
+// Packet: 0x02d5
+#if PACKETVER >= 20070911
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+#endif
+
+// Packet: 0x02d6
+#if PACKETVER >= 20070918
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+#endif
+
+// Packet: 0x02d7
+#if PACKETVER >= 20070918
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+#endif
+
+// Packet: 0x02d8
+#if PACKETVER >= 20070918
+packetLen(0x02d8, 10) // CZ_CONFIG
+#endif
+
+// Packet: 0x02d9
+#if PACKETVER >= 20070918
+packetLen(0x02d9, 10) // ZC_CONFIG
+#endif
+
+// Packet: 0x02da
+#if PACKETVER >= 20070918
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+#endif
+
+// Packet: 0x02db
+#if PACKETVER >= 20071002
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+#endif
+
+// Packet: 0x02dc
+#if PACKETVER >= 20071002
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+#endif
+
+// Packet: 0x02dd
+#if PACKETVER >= 20071002
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+#endif
+
+// Packet: 0x02de
+#if PACKETVER >= 20071002
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+#endif
+
+// Packet: 0x02df
+#if PACKETVER >= 20071002
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+#endif
+
+// Packet: 0x02e0
+#if PACKETVER >= 20071002
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+#endif
+
+// Packet: 0x02e1
+#if PACKETVER >= 20071113
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+#endif
+
+// Packet: 0x02e2
+#if PACKETVER >= 20071120
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+#endif
+
+// Packet: 0x02e3
+#if PACKETVER >= 20071120
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+#endif
+
+// Packet: 0x02e4
+#if PACKETVER >= 20071120
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+#endif
+
+// Packet: 0x02e5
+#if PACKETVER >= 20071120
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+#endif
+
+// Packet: 0x02e6
+#if PACKETVER >= 20071120
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+#endif
+
+// Packet: 0x02e7
+#if PACKETVER >= 20071127
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+#endif
+
+
+#endif /* COMMON_PACKETS2007_LEN_MAIN_H */
diff --git a/src/common/packets/packets2007_len_sak.h b/src/common/packets/packets2007_len_sak.h
new file mode 100644
index 000000000..61bb5cd6d
--- /dev/null
+++ b/src/common/packets/packets2007_len_sak.h
@@ -0,0 +1,2203 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2007_LEN_SAK_H
+#define COMMON_PACKETS2007_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20070212
+packetLen(0x0072, 25) // CZ_ENTER
+#elif PACKETVER >= 20070108
+packetLen(0x0072, 30) // CZ_ENTER
+#elif PACKETVER >= 20070102
+packetLen(0x0072, 26) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+#if PACKETVER >= 20071106
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20070102
+packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+#endif
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+#if PACKETVER >= 20071106
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20070102
+packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+#endif
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20070212
+packetLen(0x007e, 102) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070102
+packetLen(0x007e, 120) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20070212
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20070108
+packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+#elif PACKETVER >= 20070102
+packetLen(0x0085, 12) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20070212
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20070108
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#elif PACKETVER >= 20070102
+packetLen(0x0089, 13) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20070212
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20070108
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20070102
+packetLen(0x008c, 12)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20070212
+packetLen(0x0094, 14) // CZ_REQNAME
+#elif PACKETVER >= 20070108
+packetLen(0x0094, 17) // CZ_REQNAME
+#elif PACKETVER >= 20070102
+packetLen(0x0094, 23) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20070212
+packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20070108
+packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+#elif PACKETVER >= 20070102
+packetLen(0x009b, 37) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20070212
+packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20070108
+packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+#elif PACKETVER >= 20070102
+packetLen(0x009f, 24) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20070212
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+#elif PACKETVER >= 20070108
+packetLen(0x00a2, 10) // CZ_ITEM_THROW
+#elif PACKETVER >= 20070102
+packetLen(0x00a2, 11) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20070108
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20070102
+packetLen(0x00a7, 15)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20070212
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20070108
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#elif PACKETVER >= 20070102
+packetLen(0x00f5, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20070212
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070108
+packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+#elif PACKETVER >= 20070102
+packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20070212
+packetLen(0x0113, 22) // CZ_USE_SKILL
+#elif PACKETVER >= 20070102
+packetLen(0x0113, 40) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20070212
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20070108
+packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+#elif PACKETVER >= 20070102
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20070212
+packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20070108
+packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#elif PACKETVER >= 20070102
+packetLen(0x0190, 18) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+#if PACKETVER >= 20070507
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20070102
+packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+#if PACKETVER >= 20071106
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20070102
+packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+#if PACKETVER >= 20070711
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20070102
+packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0289
+#if PACKETVER >= 20070711
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+#elif PACKETVER >= 20070102
+packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+#endif
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+#if PACKETVER >= 20071106
+packetLen(0x029b, 80) // ZC_MER_INIT
+#elif PACKETVER >= 20070122
+packetLen(0x029b, 72) // ZC_MER_INIT
+#elif PACKETVER >= 20070102
+packetLen(0x029b, 70) // ZC_MER_INIT
+#endif
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a3
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a3, 18) // ZC_GAMEGUARD_LINGO_KEY
+#endif
+
+// Packet: 0x02a4
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a4, 2) // CZ_GAMEGUARD_LINGO_READY
+#endif
+
+// Packet: 0x02a5
+#if PACKETVER >= 20070129
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+#endif
+
+// Packet: 0x02a6
+#if PACKETVER >= 20070611
+packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20070611
+packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20070611
+packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20070611
+packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02aa
+#if PACKETVER >= 20070205
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+#endif
+
+// Packet: 0x02ab
+#if PACKETVER >= 20070205
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+#endif
+
+// Packet: 0x02ac
+#if PACKETVER >= 20070205
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+#endif
+
+// Packet: 0x02ad
+#if PACKETVER >= 20070227
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+#endif
+
+// Packet: 0x02ae
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02ae, 10) // ZC_UNUSED_SRPACKET_INIT
+#endif
+
+// Packet: 0x02af
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02af, 2) // CZ_SRPACKET_START
+#endif
+
+// Packet: 0x02b0
+#if PACKETVER >= 20070514
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+#endif
+
+// Packet: 0x02b1
+#if PACKETVER >= 20070724
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+#endif
+
+// Packet: 0x02b2
+#if PACKETVER >= 20070807
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+#endif
+
+// Packet: 0x02b3
+#if PACKETVER >= 20070821
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070813
+packetLen(0x02b3, 103) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070731
+packetLen(0x02b3, 31) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070628
+packetLen(0x02b3, 7) // ZC_ADD_QUEST
+#elif PACKETVER >= 20070622
+packetLen(0x02b3, 26) // ZC_ADD_QUEST
+#endif
+
+// Packet: 0x02b4
+#if PACKETVER >= 20070622
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+#endif
+
+// Packet: 0x02b5
+#if PACKETVER >= 20070813
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+#elif PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070628
+packetLen(0x02b5, 12) // ZC_UPDATE_MISSION_HUNT
+#elif PACKETVER >= 20070622
+packetLen(0x02b5, 18) // ZC_UPDATE_MISSION_HUNT
+#endif
+
+// Packet: 0x02b6
+#if PACKETVER >= 20070622
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+#endif
+
+// Packet: 0x02b7
+#if PACKETVER >= 20070807
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+#elif PACKETVER >= 20070622
+packetLen(0x02b7, 10) // ZC_ACTIVE_QUEST
+#endif
+
+// Packet: 0x02b8
+#if PACKETVER >= 20070604
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+#endif
+
+// Packet: 0x02b9
+#if PACKETVER >= 20070611
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+#endif
+
+// Packet: 0x02ba
+#if PACKETVER >= 20070618
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+#elif PACKETVER >= 20070611
+packetLen(0x02ba, 9) // CZ_SHORTCUT_KEY_CHANGE
+#endif
+
+// Packet: 0x02bb
+#if PACKETVER >= 20070622
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+#elif PACKETVER >= 20070605
+packetLen(0x02bb, 4) // ZC_EQUIPITEM_DAMAGED
+#endif
+
+// Packet: 0x02bc
+#if PACKETVER >= 20070622
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+#endif
+
+// Packet: 0x02bf
+#if PACKETVER >= 20070807
+packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20070807
+packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+#endif
+
+// Packet: 0x02c1
+#if PACKETVER >= 20070813
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+#endif
+
+// Packet: 0x02c2
+#if PACKETVER >= 20070821
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+#endif
+
+// Packet: 0x02c3
+#if PACKETVER >= 20070828
+// removed
+#elif PACKETVER >= 20070821
+packetLen(0x02c3, 4)
+#endif
+
+// Packet: 0x02c4
+#if PACKETVER >= 20070821
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+#if PACKETVER >= 20070821
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+#endif
+
+// Packet: 0x02c6
+#if PACKETVER >= 20070821
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c7
+#if PACKETVER >= 20070821
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+#endif
+
+// Packet: 0x02c8
+#if PACKETVER >= 20070821
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+#endif
+
+// Packet: 0x02c9
+#if PACKETVER >= 20070821
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+#endif
+
+// Packet: 0x02ca
+#if PACKETVER >= 20070821
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+#endif
+
+// Packet: 0x02cb
+#if PACKETVER >= 20071023
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+#elif PACKETVER >= 20070828
+packetLen(0x02cb, 20) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+#endif
+
+// Packet: 0x02cc
+#if PACKETVER >= 20070828
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+#endif
+
+// Packet: 0x02cd
+#if PACKETVER >= 20071023
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+#elif PACKETVER >= 20070828
+packetLen(0x02cd, 26) // ZC_MEMORIALDUNGEON_INFO
+#endif
+
+// Packet: 0x02ce
+#if PACKETVER >= 20070828
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+#endif
+
+// Packet: 0x02cf
+#if PACKETVER >= 20070828
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+#endif
+
+// Packet: 0x02d0
+#if PACKETVER >= 20070904
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+#endif
+
+// Packet: 0x02d1
+#if PACKETVER >= 20070904
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+#endif
+
+// Packet: 0x02d2
+#if PACKETVER >= 20070904
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+#endif
+
+// Packet: 0x02d3
+#if PACKETVER >= 20070904
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+#endif
+
+// Packet: 0x02d4
+#if PACKETVER >= 20070904
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#endif
+
+// Packet: 0x02d5
+#if PACKETVER >= 20070911
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+#endif
+
+// Packet: 0x02d6
+#if PACKETVER >= 20070918
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+#endif
+
+// Packet: 0x02d7
+#if PACKETVER >= 20070918
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+#endif
+
+// Packet: 0x02d8
+#if PACKETVER >= 20070918
+packetLen(0x02d8, 10) // CZ_CONFIG
+#endif
+
+// Packet: 0x02d9
+#if PACKETVER >= 20070918
+packetLen(0x02d9, 10) // ZC_CONFIG
+#endif
+
+// Packet: 0x02da
+#if PACKETVER >= 20070918
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+#endif
+
+// Packet: 0x02db
+#if PACKETVER >= 20071002
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+#endif
+
+// Packet: 0x02dc
+#if PACKETVER >= 20071002
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+#endif
+
+// Packet: 0x02dd
+#if PACKETVER >= 20071002
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+#endif
+
+// Packet: 0x02de
+#if PACKETVER >= 20071002
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+#endif
+
+// Packet: 0x02df
+#if PACKETVER >= 20071002
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+#endif
+
+// Packet: 0x02e0
+#if PACKETVER >= 20071002
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+#endif
+
+// Packet: 0x02e1
+#if PACKETVER >= 20071113
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+#endif
+
+// Packet: 0x02e2
+#if PACKETVER >= 20071120
+packetLen(0x02e2, 14) // CZ_USE_ITEM_NEW_JAPEN
+#endif
+
+// Packet: 0x02e3
+#if PACKETVER >= 20071120
+packetLen(0x02e3, 25) // CZ_USE_SKILL_NEW_JAPEN
+#endif
+
+// Packet: 0x02e4
+#if PACKETVER >= 20071120
+packetLen(0x02e4, 8) // CZ_ITEM_PICKUP_NEW_JAPEN
+#endif
+
+// Packet: 0x02e5
+#if PACKETVER >= 20071120
+packetLen(0x02e5, 8) // CZ_REQUEST_MOVE_NEW_JAPEN
+#endif
+
+// Packet: 0x02e6
+#if PACKETVER >= 20071120
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+#endif
+
+// Packet: 0x02e7
+#if PACKETVER >= 20071127
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+#endif
+
+
+#endif /* COMMON_PACKETS2007_LEN_SAK_H */
diff --git a/src/common/packets/packets2008_len_ad.h b/src/common/packets/packets2008_len_ad.h
new file mode 100644
index 000000000..82679ec63
--- /dev/null
+++ b/src/common/packets/packets2008_len_ad.h
@@ -0,0 +1,18487 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2008_LEN_AD_H
+#define COMMON_PACKETS2008_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+#if PACKETVER >= 20080701
+packetLen(0x0073, 71) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080624
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080617
+packetLen(0x0073, 32) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080603
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080528
+packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080520
+packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080513
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080507
+packetLen(0x0073, 97) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080429
+packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080422
+packetLen(0x0073, 4) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080415
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080408
+packetLen(0x0073, 24) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080401
+packetLen(0x0073, 10) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080325
+packetLen(0x0073, 5) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080318
+packetLen(0x0073, 3) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080311
+packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080304
+packetLen(0x0073, 14) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080226
+packetLen(0x0073, 53) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080219
+packetLen(0x0073, 22) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080124
+packetLen(0x0073, 66) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080102
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+#endif
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+#if PACKETVER >= 20080701
+packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080624
+packetLen(0x0075, 5) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080617
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080610
+packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080603
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080528
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080520
+packetLen(0x0075, 12) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080513
+packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080507
+packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080429
+packetLen(0x0075, 26) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080422
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080408
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080401
+packetLen(0x0075, 39) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080325
+packetLen(0x0075, 4) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080318
+packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080311
+packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080304
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080226
+packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080219
+packetLen(0x0075, 28) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080124
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080102
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#endif
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+#if PACKETVER >= 20080701
+packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080624
+packetLen(0x0077, 6) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080617
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080610
+packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080603
+packetLen(0x0077, 86) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080528
+packetLen(0x0077, 8) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080520
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080422
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080415
+packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080408
+packetLen(0x0077, 13) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080401
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080325
+packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080318
+packetLen(0x0077, 8) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080311
+packetLen(0x0077, 30) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080304
+packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080226
+packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080219
+packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080124
+packetLen(0x0077, 3) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080102
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+#endif
+
+// Packet: 0x0078
+#if PACKETVER >= 20080701
+packetLen(0x0078, 20) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x0078, 22) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x0078, 2) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0078, 53) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0078, 11) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x0078, 6) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x0078, 32) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+#endif
+
+// Packet: 0x0079
+#if PACKETVER >= 20080701
+packetLen(0x0079, 4) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x0079, 3) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x0079, 54) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x0079, 57) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x0079, 10) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x0079, 14) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x0079, 6) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x0079, 7) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0079, 8) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0079, 4) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0079, 27) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+#endif
+
+// Packet: 0x007a
+#if PACKETVER >= 20080701
+packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x007a, 53) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x007a, 3) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x007a, 8) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x007a, 114) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x007a, 22) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x007a, 282) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x007a, 5) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x007a, 29) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+#endif
+
+// Packet: 0x007b
+#if PACKETVER >= 20080603
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x007b, 42) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x007b, 11) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x007b, 11) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x007b, 186) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x007b, 30) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x007b, 5) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x007b, 14) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+#endif
+
+// Packet: 0x007c
+#if PACKETVER >= 20080701
+packetLen(0x007c, 5) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080624
+packetLen(0x007c, 16) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080528
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080520
+packetLen(0x007c, 3) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080513
+packetLen(0x007c, 7) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080429
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080422
+packetLen(0x007c, 65) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080415
+packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080408
+packetLen(0x007c, 11) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080401
+packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080325
+packetLen(0x007c, 10) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080318
+packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080311
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080304
+packetLen(0x007c, 3) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080226
+packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080219
+packetLen(0x007c, 186) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080124
+packetLen(0x007c, 31) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080102
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+#endif
+
+// Packet: 0x007d
+#if PACKETVER >= 20080617
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080610
+packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080603
+packetLen(0x007d, 6) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080528
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080520
+packetLen(0x007d, 9) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080513
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080507
+packetLen(0x007d, 10) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080429
+packetLen(0x007d, 11) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080422
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080415
+packetLen(0x007d, 30) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080401
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080325
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080311
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080304
+packetLen(0x007d, 14) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080226
+packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080219
+packetLen(0x007d, 3) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080124
+packetLen(0x007d, 22) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080102
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#endif
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+#if PACKETVER >= 20080624
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080617
+packetLen(0x007f, 5) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080603
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080528
+packetLen(0x007f, 13) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080520
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080513
+packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080507
+packetLen(0x007f, 3) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080429
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080422
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080415
+packetLen(0x007f, 7) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080408
+packetLen(0x007f, 3) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080401
+packetLen(0x007f, 182) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080325
+packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080318
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080311
+packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080304
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080226
+packetLen(0x007f, 54) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080219
+packetLen(0x007f, 4) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080124
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080102
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+#endif
+
+// Packet: 0x0080
+#if PACKETVER >= 20080624
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080617
+packetLen(0x0080, 2) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080603
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080528
+packetLen(0x0080, 22) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080520
+packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080513
+packetLen(0x0080, 6) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080422
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080415
+packetLen(0x0080, 5) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080325
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080318
+packetLen(0x0080, 60) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080311
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080304
+packetLen(0x0080, 28) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080226
+packetLen(0x0080, 4) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080219
+packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080124
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080102
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+#endif
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+#if PACKETVER >= 20080624
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080617
+packetLen(0x0083, 34) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080610
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080603
+packetLen(0x0083, 13) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080528
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080520
+packetLen(0x0083, 4) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080513
+packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080507
+packetLen(0x0083, 30) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080429
+packetLen(0x0083, 282) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080422
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080415
+packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080408
+packetLen(0x0083, 28) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080325
+packetLen(0x0083, 30) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080318
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080311
+packetLen(0x0083, 21) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080304
+packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080226
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080219
+packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080102
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+#endif
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+#if PACKETVER >= 20080701
+packetLen(0x0086, 2) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0086, 3) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0086, 17) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0086, 30) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080507
+packetLen(0x0086, 32) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0086, 24) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0086, 8) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0086, 22) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0086, 2) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080318
+packetLen(0x0086, 22) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0086, 79) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0086, 7) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+#endif
+
+// Packet: 0x0087
+#if PACKETVER >= 20080701
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080624
+packetLen(0x0087, 4) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0087, 27) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0087, 282) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0087, 10) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0087, 2) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0087, 11) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080318
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0087, 26) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0087, 31) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+#endif
+
+// Packet: 0x0088
+#if PACKETVER >= 20080701
+packetLen(0x0088, 19) // ZC_STOPMOVE
+#elif PACKETVER >= 20080624
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080617
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0088, 19) // ZC_STOPMOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0088, 60) // ZC_STOPMOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0088, 15) // ZC_STOPMOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0088, 6) // ZC_STOPMOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0088, 7) // ZC_STOPMOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0088, 3) // ZC_STOPMOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0088, 86) // ZC_STOPMOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0088, 282) // ZC_STOPMOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0088, 3) // ZC_STOPMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0088, 97) // ZC_STOPMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0088, 30) // ZC_STOPMOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0088, 4) // ZC_STOPMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#endif
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+#if PACKETVER >= 20080624
+packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080617
+packetLen(0x008a, 2) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080610
+packetLen(0x008a, 28) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080603
+packetLen(0x008a, 68) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080528
+packetLen(0x008a, 9) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080520
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080513
+packetLen(0x008a, 11) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080507
+packetLen(0x008a, 26) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080429
+packetLen(0x008a, 23) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080422
+packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080408
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080401
+packetLen(0x008a, 28) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080325
+packetLen(0x008a, 30) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080318
+packetLen(0x008a, 5) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080304
+packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080226
+packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080219
+packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080124
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080102
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+#endif
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+#if PACKETVER >= 20080701
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080624
+packetLen(0x008d, 10) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080617
+packetLen(0x008d, 282) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080610
+packetLen(0x008d, 60) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080603
+packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080528
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080520
+packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080513
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080507
+packetLen(0x008d, 66) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080429
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080422
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080415
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080408
+packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080401
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080325
+packetLen(0x008d, 7) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080318
+packetLen(0x008d, 8) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080311
+packetLen(0x008d, 7) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080304
+packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080226
+packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080219
+packetLen(0x008d, 79) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080124
+packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080102
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#endif
+
+// Packet: 0x008e
+#if PACKETVER >= 20080701
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080624
+packetLen(0x008e, 5) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080617
+packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080610
+packetLen(0x008e, 10) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080603
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080528
+packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080520
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080513
+packetLen(0x008e, 282) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080507
+packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080429
+packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080422
+packetLen(0x008e, 3) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080415
+packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080408
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080401
+packetLen(0x008e, 4) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080325
+packetLen(0x008e, 28) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080318
+packetLen(0x008e, 186) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080311
+packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080304
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080226
+packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080219
+packetLen(0x008e, 33) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080102
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#endif
+
+// Packet: 0x0090
+#if PACKETVER >= 20080701
+packetLen(0x0090, 10) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080617
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080610
+packetLen(0x0090, 6) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080528
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080520
+packetLen(0x0090, 3) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080513
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080507
+packetLen(0x0090, 4) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080429
+packetLen(0x0090, 19) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080422
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080415
+packetLen(0x0090, 36) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080408
+packetLen(0x0090, 20) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080401
+packetLen(0x0090, 53) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080325
+packetLen(0x0090, 5) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080318
+packetLen(0x0090, 6) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080311
+packetLen(0x0090, 2) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080304
+packetLen(0x0090, 17) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080226
+packetLen(0x0090, 4) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080219
+packetLen(0x0090, 2) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080124
+packetLen(0x0090, 24) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080102
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+#endif
+
+// Packet: 0x0091
+#if PACKETVER >= 20080701
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080624
+packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080617
+packetLen(0x0091, 2) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0091, 21) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0091, 14) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0091, 5) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080507
+packetLen(0x0091, 6) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0091, 30) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0091, 182) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0091, 58) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0091, 15) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0091, 2) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080318
+packetLen(0x0091, 6) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0091, 57) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0091, 4) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0091, 79) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+#endif
+
+// Packet: 0x0092
+#if PACKETVER >= 20080701
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080624
+packetLen(0x0092, 15) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080617
+packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0092, 20) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080507
+packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0092, 32) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0092, 21) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080318
+packetLen(0x0092, 81) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0092, 10) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0092, 5) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0092, 3) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0092, 4) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+#endif
+
+// Packet: 0x0093
+#if PACKETVER >= 20080701
+packetLen(0x0093, 4) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080624
+packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080617
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080610
+packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080528
+packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080520
+packetLen(0x0093, 22) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080513
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080507
+packetLen(0x0093, 26) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080422
+packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080415
+packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080408
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080401
+packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080325
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080318
+packetLen(0x0093, 8) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080311
+packetLen(0x0093, 11) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080304
+packetLen(0x0093, 26) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080226
+packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080219
+packetLen(0x0093, 67) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080124
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080102
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+#endif
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+#if PACKETVER >= 20080701
+packetLen(0x0095, 6) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080624
+packetLen(0x0095, 10) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080610
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080603
+packetLen(0x0095, 54) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080528
+packetLen(0x0095, 2) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080520
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080513
+packetLen(0x0095, 9) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080507
+packetLen(0x0095, 22) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080408
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080401
+packetLen(0x0095, 10) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080325
+packetLen(0x0095, 4) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080318
+packetLen(0x0095, 3) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080311
+packetLen(0x0095, 59) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080304
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080226
+packetLen(0x0095, 39) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080219
+packetLen(0x0095, 2) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080102
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+#endif
+
+// Packet: 0x0096
+#if PACKETVER >= 20080701
+packetLen(0x0096, 10) // CZ_WHISPER
+#elif PACKETVER >= 20080610
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080603
+packetLen(0x0096, 10) // CZ_WHISPER
+#elif PACKETVER >= 20080528
+packetLen(0x0096, 31) // CZ_WHISPER
+#elif PACKETVER >= 20080513
+packetLen(0x0096, 6) // CZ_WHISPER
+#elif PACKETVER >= 20080422
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080415
+packetLen(0x0096, 26) // CZ_WHISPER
+#elif PACKETVER >= 20080401
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080325
+packetLen(0x0096, 5) // CZ_WHISPER
+#elif PACKETVER >= 20080318
+packetLen(0x0096, 7) // CZ_WHISPER
+#elif PACKETVER >= 20080311
+packetLen(0x0096, 10) // CZ_WHISPER
+#elif PACKETVER >= 20080226
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080219
+packetLen(0x0096, 3) // CZ_WHISPER
+#elif PACKETVER >= 20080124
+packetLen(0x0096, 6) // CZ_WHISPER
+#elif PACKETVER >= 20080102
+packetLen(0x0096, -1) // CZ_WHISPER
+#endif
+
+// Packet: 0x0097
+#if PACKETVER >= 20080701
+packetLen(0x0097, 282) // ZC_WHISPER
+#elif PACKETVER >= 20080624
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20080617
+packetLen(0x0097, 10) // ZC_WHISPER
+#elif PACKETVER >= 20080610
+packetLen(0x0097, 8) // ZC_WHISPER
+#elif PACKETVER >= 20080603
+packetLen(0x0097, 5) // ZC_WHISPER
+#elif PACKETVER >= 20080528
+packetLen(0x0097, 7) // ZC_WHISPER
+#elif PACKETVER >= 20080520
+packetLen(0x0097, 8) // ZC_WHISPER
+#elif PACKETVER >= 20080513
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20080507
+packetLen(0x0097, 30) // ZC_WHISPER
+#elif PACKETVER >= 20080429
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20080422
+packetLen(0x0097, 29) // ZC_WHISPER
+#elif PACKETVER >= 20080415
+packetLen(0x0097, 16) // ZC_WHISPER
+#elif PACKETVER >= 20080408
+packetLen(0x0097, 30) // ZC_WHISPER
+#elif PACKETVER >= 20080401
+packetLen(0x0097, 53) // ZC_WHISPER
+#elif PACKETVER >= 20080325
+packetLen(0x0097, 26) // ZC_WHISPER
+#elif PACKETVER >= 20080318
+packetLen(0x0097, 3) // ZC_WHISPER
+#elif PACKETVER >= 20080311
+packetLen(0x0097, 33) // ZC_WHISPER
+#elif PACKETVER >= 20080304
+packetLen(0x0097, 7) // ZC_WHISPER
+#elif PACKETVER >= 20080219
+packetLen(0x0097, 23) // ZC_WHISPER
+#elif PACKETVER >= 20080102
+packetLen(0x0097, -1) // ZC_WHISPER
+#endif
+
+// Packet: 0x0098
+#if PACKETVER >= 20080701
+packetLen(0x0098, 8) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080624
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080617
+packetLen(0x0098, 24) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080610
+packetLen(0x0098, 26) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080528
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080520
+packetLen(0x0098, 16) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080513
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080507
+packetLen(0x0098, 13) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080429
+packetLen(0x0098, 58) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080408
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080401
+packetLen(0x0098, 26) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080325
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080318
+packetLen(0x0098, 26) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080311
+packetLen(0x0098, 60) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080304
+packetLen(0x0098, 182) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080226
+packetLen(0x0098, 2) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080219
+packetLen(0x0098, 8) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080124
+packetLen(0x0098, 10) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080102
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+#endif
+
+// Packet: 0x0099
+#if PACKETVER >= 20080701
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080624
+packetLen(0x0099, 30) // CZ_BROADCAST
+#elif PACKETVER >= 20080617
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080610
+packetLen(0x0099, 9) // CZ_BROADCAST
+#elif PACKETVER >= 20080603
+packetLen(0x0099, 4) // CZ_BROADCAST
+#elif PACKETVER >= 20080528
+packetLen(0x0099, 60) // CZ_BROADCAST
+#elif PACKETVER >= 20080520
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080507
+packetLen(0x0099, 8) // CZ_BROADCAST
+#elif PACKETVER >= 20080429
+packetLen(0x0099, 2) // CZ_BROADCAST
+#elif PACKETVER >= 20080408
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080401
+packetLen(0x0099, 6) // CZ_BROADCAST
+#elif PACKETVER >= 20080325
+packetLen(0x0099, 54) // CZ_BROADCAST
+#elif PACKETVER >= 20080318
+packetLen(0x0099, 6) // CZ_BROADCAST
+#elif PACKETVER >= 20080311
+packetLen(0x0099, 66) // CZ_BROADCAST
+#elif PACKETVER >= 20080304
+packetLen(0x0099, 10) // CZ_BROADCAST
+#elif PACKETVER >= 20080226
+packetLen(0x0099, 34) // CZ_BROADCAST
+#elif PACKETVER >= 20080219
+packetLen(0x0099, 2) // CZ_BROADCAST
+#elif PACKETVER >= 20080102
+packetLen(0x0099, -1) // CZ_BROADCAST
+#endif
+
+// Packet: 0x009a
+#if PACKETVER >= 20080701
+packetLen(0x009a, 3) // ZC_BROADCAST
+#elif PACKETVER >= 20080617
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080610
+packetLen(0x009a, 90) // ZC_BROADCAST
+#elif PACKETVER >= 20080603
+packetLen(0x009a, 29) // ZC_BROADCAST
+#elif PACKETVER >= 20080528
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080520
+packetLen(0x009a, 10) // ZC_BROADCAST
+#elif PACKETVER >= 20080513
+packetLen(0x009a, 28) // ZC_BROADCAST
+#elif PACKETVER >= 20080422
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080415
+packetLen(0x009a, 33) // ZC_BROADCAST
+#elif PACKETVER >= 20080408
+packetLen(0x009a, 9) // ZC_BROADCAST
+#elif PACKETVER >= 20080325
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080318
+packetLen(0x009a, 59) // ZC_BROADCAST
+#elif PACKETVER >= 20080311
+packetLen(0x009a, 57) // ZC_BROADCAST
+#elif PACKETVER >= 20080304
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080226
+packetLen(0x009a, 4) // ZC_BROADCAST
+#elif PACKETVER >= 20080219
+packetLen(0x009a, 10) // ZC_BROADCAST
+#elif PACKETVER >= 20080124
+packetLen(0x009a, 4) // ZC_BROADCAST
+#elif PACKETVER >= 20080102
+packetLen(0x009a, -1) // ZC_BROADCAST
+#endif
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+#if PACKETVER >= 20080701
+packetLen(0x009c, 67) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080617
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080610
+packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080603
+packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080528
+packetLen(0x009c, 26) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080520
+packetLen(0x009c, 67) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080513
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080507
+packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080429
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080422
+packetLen(0x009c, 10) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080415
+packetLen(0x009c, 66) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080408
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080401
+packetLen(0x009c, 8) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080325
+packetLen(0x009c, 3) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080318
+packetLen(0x009c, 282) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080311
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080304
+packetLen(0x009c, 71) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080226
+packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080219
+packetLen(0x009c, 7) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080124
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080102
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009d
+#if PACKETVER >= 20080701
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x009d, 13) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x009d, 3) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x009d, 8) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x009d, 29) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x009d, 59) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x009d, 32) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x009d, 26) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x009d, 13) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20080701
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x009e, 4) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x009e, 186) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x009e, 2) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x009e, 9) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x009e, 39) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x009e, 5) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x009e, 282) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x009e, 97) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+#if PACKETVER >= 20080701
+packetLen(0x00a0, 30) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080617
+packetLen(0x00a0, 6) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00a0, 26) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00a0, 3) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00a0, 14) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00a0, 12) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00a0, 6) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00a0, 13) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00a0, 28) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00a0, 27) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00a0, 39) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00a0, 5) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#endif
+
+// Packet: 0x00a1
+#if PACKETVER >= 20080701
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080624
+packetLen(0x00a1, 44) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080617
+packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080528
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080520
+packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080513
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080507
+packetLen(0x00a1, 11) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080422
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080415
+packetLen(0x00a1, 16) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080408
+packetLen(0x00a1, 3) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080401
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080325
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080318
+packetLen(0x00a1, 53) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080311
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080304
+packetLen(0x00a1, 21) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080226
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080219
+packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080124
+packetLen(0x00a1, 30) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080102
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#endif
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+#if PACKETVER >= 20080701
+packetLen(0x00a3, 28) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00a3, 3) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00a3, 15) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x00a3, 16) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00a3, 8) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x00a3, 28) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00a3, 2) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a3, 65) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00a3, 6) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a3, 30) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a3, 44) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x00a4
+#if PACKETVER >= 20080701
+packetLen(0x00a4, 86) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00a4, 3) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00a4, 14) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00a4, 33) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x00a4, 60) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00a4, 22) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00a4, 2) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00a4, 7) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00a4, 27) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a4, 15) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a4, 30) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#endif
+
+// Packet: 0x00a5
+#if PACKETVER >= 20080617
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a5, 7) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00a5, 9) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00a5, 4) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x00a5, 8) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00a5, 9) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a5, 282) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00a5, 30) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00a5, 4) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x00a6
+#if PACKETVER >= 20080701
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00a6, 30) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00a6, 282) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00a6, 59) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x00a6, 7) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00a6, 3) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a6, 26) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#endif
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+#if PACKETVER >= 20080701
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00a8, 90) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00a8, 13) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00a8, 4) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00a8, 2) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00a8, 30) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00a8, 20) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+#endif
+
+// Packet: 0x00a9
+#if PACKETVER >= 20080701
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080617
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080610
+packetLen(0x00a9, 282) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080603
+packetLen(0x00a9, 114) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080528
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080520
+packetLen(0x00a9, 79) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080513
+packetLen(0x00a9, 3) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080507
+packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080429
+packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080422
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080415
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080408
+packetLen(0x00a9, 2) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080401
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080325
+packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080311
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080304
+packetLen(0x00a9, 11) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080226
+packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080219
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080124
+packetLen(0x00a9, 10) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080102
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#endif
+
+// Packet: 0x00aa
+#if PACKETVER >= 20080624
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00aa, 10) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080415
+packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00aa, 31) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00aa, 16) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00aa, 55) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00aa, 11) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+#endif
+
+// Packet: 0x00ab
+#if PACKETVER >= 20080701
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080617
+packetLen(0x00ab, 6) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080610
+packetLen(0x00ab, 16) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080603
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080528
+packetLen(0x00ab, 53) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080520
+packetLen(0x00ab, 36) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080513
+packetLen(0x00ab, 26) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080507
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080429
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080422
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080415
+packetLen(0x00ab, 7) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080401
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080325
+packetLen(0x00ab, 8) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080318
+packetLen(0x00ab, 9) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080311
+packetLen(0x00ab, 14) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080304
+packetLen(0x00ab, 2) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080226
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080219
+packetLen(0x00ab, 57) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080124
+packetLen(0x00ab, 86) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080102
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#endif
+
+// Packet: 0x00ac
+#if PACKETVER >= 20080701
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00ac, 8) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080617
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00ac, 67) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080415
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00ac, 8) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#endif
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+#if PACKETVER >= 20080701
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00af, 5) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00af, 10) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00af, 29) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00af, 10) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00af, 26) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00af, 7) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00af, 4) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#endif
+
+// Packet: 0x00b0
+#if PACKETVER >= 20080701
+packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00b0, 6) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x00b0, 6) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00b0, 28) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00b0, 12) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00b0, 4) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00b0, 2) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00b0, 10) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00b0, 11) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00b0, 2) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+#endif
+
+// Packet: 0x00b1
+#if PACKETVER >= 20080701
+packetLen(0x00b1, 3) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00b1, 11) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00b1, 2) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00b1, 6) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00b1, 97) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00b1, 26) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00b1, 58) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00b1, 2) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00b1, 14) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00b1, 9) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+#endif
+
+// Packet: 0x00b2
+#if PACKETVER >= 20080624
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080617
+packetLen(0x00b2, 10) // CZ_RESTART
+#elif PACKETVER >= 20080610
+packetLen(0x00b2, 13) // CZ_RESTART
+#elif PACKETVER >= 20080603
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080528
+packetLen(0x00b2, 2) // CZ_RESTART
+#elif PACKETVER >= 20080520
+packetLen(0x00b2, 6) // CZ_RESTART
+#elif PACKETVER >= 20080513
+packetLen(0x00b2, 58) // CZ_RESTART
+#elif PACKETVER >= 20080507
+packetLen(0x00b2, 6) // CZ_RESTART
+#elif PACKETVER >= 20080429
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080422
+packetLen(0x00b2, 3) // CZ_RESTART
+#elif PACKETVER >= 20080415
+packetLen(0x00b2, 14) // CZ_RESTART
+#elif PACKETVER >= 20080408
+packetLen(0x00b2, 67) // CZ_RESTART
+#elif PACKETVER >= 20080401
+packetLen(0x00b2, 4) // CZ_RESTART
+#elif PACKETVER >= 20080325
+packetLen(0x00b2, 5) // CZ_RESTART
+#elif PACKETVER >= 20080318
+packetLen(0x00b2, 3) // CZ_RESTART
+#elif PACKETVER >= 20080311
+packetLen(0x00b2, 5) // CZ_RESTART
+#elif PACKETVER >= 20080304
+packetLen(0x00b2, 8) // CZ_RESTART
+#elif PACKETVER >= 20080226
+packetLen(0x00b2, 9) // CZ_RESTART
+#elif PACKETVER >= 20080219
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080124
+packetLen(0x00b2, 2) // CZ_RESTART
+#elif PACKETVER >= 20080102
+packetLen(0x00b2, 3) // CZ_RESTART
+#endif
+
+// Packet: 0x00b3
+#if PACKETVER >= 20080701
+packetLen(0x00b3, 14) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080617
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00b3, 6) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00b3, 30) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00b3, 6) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00b3, 2) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00b3, 4) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080415
+packetLen(0x00b3, 6) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00b3, 5) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00b3, 35) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00b3, 7) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00b3, 10) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00b3, 55) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00b3, 28) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+#endif
+
+// Packet: 0x00b4
+#if PACKETVER >= 20080617
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080610
+packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080603
+packetLen(0x00b4, 33) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080528
+packetLen(0x00b4, 3) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080520
+packetLen(0x00b4, 10) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080513
+packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080429
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080422
+packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080415
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080408
+packetLen(0x00b4, 282) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080401
+packetLen(0x00b4, 34) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080325
+packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080318
+packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x00b4, 36) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x00b4, 43) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#endif
+
+// Packet: 0x00b5
+#if PACKETVER >= 20080701
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080624
+packetLen(0x00b5, 12) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080617
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080610
+packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080603
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080528
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080520
+packetLen(0x00b5, 2) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080513
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080507
+packetLen(0x00b5, 5) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080429
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080422
+packetLen(0x00b5, 19) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080415
+packetLen(0x00b5, 14) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080408
+packetLen(0x00b5, 90) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080401
+packetLen(0x00b5, 14) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080325
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080318
+packetLen(0x00b5, 11) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x00b5, 8) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x00b5, 30) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080124
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#endif
+
+// Packet: 0x00b6
+#if PACKETVER >= 20080701
+packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080624
+packetLen(0x00b6, 7) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080617
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080610
+packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080603
+packetLen(0x00b6, 39) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080528
+packetLen(0x00b6, 11) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080429
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080422
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080415
+packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080408
+packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080401
+packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080325
+packetLen(0x00b6, 16) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080318
+packetLen(0x00b6, 12) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x00b6, 4) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080124
+packetLen(0x00b6, 14) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#endif
+
+// Packet: 0x00b7
+#if PACKETVER >= 20080701
+packetLen(0x00b7, 22) // ZC_MENU_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x00b7, 2) // ZC_MENU_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x00b7, 58) // ZC_MENU_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x00b7, 6) // ZC_MENU_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x00b7, 20) // ZC_MENU_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x00b7, 2) // ZC_MENU_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x00b7, 5) // ZC_MENU_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x00b7, 14) // ZC_MENU_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x00b7, 8) // ZC_MENU_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x00b7, 6) // ZC_MENU_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x00b7, 42) // ZC_MENU_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x00b7, 13) // ZC_MENU_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x00b7, 32) // ZC_MENU_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x00b7, 3) // ZC_MENU_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x00b7, 21) // ZC_MENU_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#endif
+
+// Packet: 0x00b8
+#if PACKETVER >= 20080701
+packetLen(0x00b8, 20) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080624
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080617
+packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080610
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080603
+packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080528
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080520
+packetLen(0x00b8, 53) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080513
+packetLen(0x00b8, 8) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080507
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080429
+packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080422
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080415
+packetLen(0x00b8, 11) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080408
+packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080401
+packetLen(0x00b8, 30) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080325
+packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080318
+packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080311
+packetLen(0x00b8, 16) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080304
+packetLen(0x00b8, 28) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080226
+packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080219
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080124
+packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080102
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+#endif
+
+// Packet: 0x00b9
+#if PACKETVER >= 20080701
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080624
+packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080617
+packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080610
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080603
+packetLen(0x00b9, 66) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080513
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080507
+packetLen(0x00b9, 30) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080429
+packetLen(0x00b9, 26) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080415
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080408
+packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080401
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080325
+packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080318
+packetLen(0x00b9, 11) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080311
+packetLen(0x00b9, 29) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080304
+packetLen(0x00b9, 10) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080226
+packetLen(0x00b9, 58) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080219
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080124
+packetLen(0x00b9, 8) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080102
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#endif
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+#if PACKETVER >= 20080701
+packetLen(0x00bb, 60) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x00bb, 4) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00bb, 36) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00bb, 6) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00bb, 10) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00bb, 13) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00bb, 55) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00bb, 6) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00bb, 3) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00bb, 20) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00bb, 2) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00bb, 182) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00bb, 12) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+#endif
+
+// Packet: 0x00bc
+#if PACKETVER >= 20080701
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00bc, 4) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080617
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00bc, 26) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00bc, 22) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080415
+packetLen(0x00bc, 44) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00bc, 11) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00bc, 7) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#endif
+
+// Packet: 0x00bd
+#if PACKETVER >= 20080701
+packetLen(0x00bd, 60) // ZC_STATUS
+#elif PACKETVER >= 20080624
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080617
+packetLen(0x00bd, 79) // ZC_STATUS
+#elif PACKETVER >= 20080610
+packetLen(0x00bd, 18) // ZC_STATUS
+#elif PACKETVER >= 20080603
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20080528
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080520
+packetLen(0x00bd, 26) // ZC_STATUS
+#elif PACKETVER >= 20080513
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080507
+packetLen(0x00bd, 7) // ZC_STATUS
+#elif PACKETVER >= 20080422
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080415
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20080401
+packetLen(0x00bd, 4) // ZC_STATUS
+#elif PACKETVER >= 20080325
+packetLen(0x00bd, 7) // ZC_STATUS
+#elif PACKETVER >= 20080318
+packetLen(0x00bd, 12) // ZC_STATUS
+#elif PACKETVER >= 20080304
+packetLen(0x00bd, 2) // ZC_STATUS
+#elif PACKETVER >= 20080226
+packetLen(0x00bd, 58) // ZC_STATUS
+#elif PACKETVER >= 20080219
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20080124
+packetLen(0x00bd, 4) // ZC_STATUS
+#elif PACKETVER >= 20080102
+packetLen(0x00bd, 44) // ZC_STATUS
+#endif
+
+// Packet: 0x00be
+#if PACKETVER >= 20080701
+packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x00be, 57) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00be, 44) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00be, 3) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00be, 54) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00be, 8) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00be, 30) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00be, 4) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00be, 4) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00be, 11) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00be, 10) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+#endif
+
+// Packet: 0x00bf
+#if PACKETVER >= 20080610
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080603
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080528
+packetLen(0x00bf, 65) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080520
+packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080513
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080507
+packetLen(0x00bf, 11) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080429
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080422
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080408
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080401
+packetLen(0x00bf, 32) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080325
+packetLen(0x00bf, 60) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080304
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080226
+packetLen(0x00bf, 29) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080219
+packetLen(0x00bf, 12) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080124
+packetLen(0x00bf, 6) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080102
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#endif
+
+// Packet: 0x00c0
+#if PACKETVER >= 20080701
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080624
+packetLen(0x00c0, 10) // ZC_EMOTION
+#elif PACKETVER >= 20080617
+packetLen(0x00c0, 60) // ZC_EMOTION
+#elif PACKETVER >= 20080610
+packetLen(0x00c0, 39) // ZC_EMOTION
+#elif PACKETVER >= 20080603
+packetLen(0x00c0, 26) // ZC_EMOTION
+#elif PACKETVER >= 20080528
+packetLen(0x00c0, 30) // ZC_EMOTION
+#elif PACKETVER >= 20080520
+packetLen(0x00c0, 2) // ZC_EMOTION
+#elif PACKETVER >= 20080513
+packetLen(0x00c0, 186) // ZC_EMOTION
+#elif PACKETVER >= 20080507
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080429
+packetLen(0x00c0, 13) // ZC_EMOTION
+#elif PACKETVER >= 20080422
+packetLen(0x00c0, 9) // ZC_EMOTION
+#elif PACKETVER >= 20080415
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080408
+packetLen(0x00c0, 7) // ZC_EMOTION
+#elif PACKETVER >= 20080401
+packetLen(0x00c0, 2) // ZC_EMOTION
+#elif PACKETVER >= 20080325
+packetLen(0x00c0, 10) // ZC_EMOTION
+#elif PACKETVER >= 20080318
+packetLen(0x00c0, 26) // ZC_EMOTION
+#elif PACKETVER >= 20080304
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080226
+packetLen(0x00c0, 21) // ZC_EMOTION
+#elif PACKETVER >= 20080219
+packetLen(0x00c0, 6) // ZC_EMOTION
+#elif PACKETVER >= 20080124
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080102
+packetLen(0x00c0, 7) // ZC_EMOTION
+#endif
+
+// Packet: 0x00c1
+#if PACKETVER >= 20080701
+packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080610
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080603
+packetLen(0x00c1, 81) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080507
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080422
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080415
+packetLen(0x00c1, 57) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080401
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080325
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080318
+packetLen(0x00c1, 4) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080311
+packetLen(0x00c1, 16) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080304
+packetLen(0x00c1, 9) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080226
+packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080219
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080124
+packetLen(0x00c1, 282) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080102
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#endif
+
+// Packet: 0x00c2
+#if PACKETVER >= 20080701
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080624
+packetLen(0x00c2, 8) // ZC_USER_COUNT
+#elif PACKETVER >= 20080617
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080610
+packetLen(0x00c2, 2) // ZC_USER_COUNT
+#elif PACKETVER >= 20080603
+packetLen(0x00c2, 90) // ZC_USER_COUNT
+#elif PACKETVER >= 20080507
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080429
+packetLen(0x00c2, 16) // ZC_USER_COUNT
+#elif PACKETVER >= 20080422
+packetLen(0x00c2, 4) // ZC_USER_COUNT
+#elif PACKETVER >= 20080415
+packetLen(0x00c2, 5) // ZC_USER_COUNT
+#elif PACKETVER >= 20080408
+packetLen(0x00c2, 2) // ZC_USER_COUNT
+#elif PACKETVER >= 20080401
+packetLen(0x00c2, 26) // ZC_USER_COUNT
+#elif PACKETVER >= 20080325
+packetLen(0x00c2, 10) // ZC_USER_COUNT
+#elif PACKETVER >= 20080318
+packetLen(0x00c2, 54) // ZC_USER_COUNT
+#elif PACKETVER >= 20080311
+packetLen(0x00c2, 4) // ZC_USER_COUNT
+#elif PACKETVER >= 20080304
+packetLen(0x00c2, 39) // ZC_USER_COUNT
+#elif PACKETVER >= 20080226
+packetLen(0x00c2, 282) // ZC_USER_COUNT
+#elif PACKETVER >= 20080219
+packetLen(0x00c2, 4) // ZC_USER_COUNT
+#elif PACKETVER >= 20080124
+packetLen(0x00c2, 3) // ZC_USER_COUNT
+#elif PACKETVER >= 20080102
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+#endif
+
+// Packet: 0x00c3
+#if PACKETVER >= 20080701
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x00c3, 3) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00c3, 42) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00c3, 4) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00c3, 66) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00c3, 3) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00c3, 68) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00c3, 26) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00c3, 28) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+#endif
+
+// Packet: 0x00c4
+#if PACKETVER >= 20080701
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080624
+packetLen(0x00c4, 14) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080617
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080603
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080528
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080520
+packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080513
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080507
+packetLen(0x00c4, 29) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080429
+packetLen(0x00c4, 71) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080422
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080415
+packetLen(0x00c4, 11) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080408
+packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080401
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080325
+packetLen(0x00c4, 3) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080318
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080304
+packetLen(0x00c4, 4) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080226
+packetLen(0x00c4, 114) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080219
+packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080124
+packetLen(0x00c4, 4) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080102
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#endif
+
+// Packet: 0x00c5
+#if PACKETVER >= 20080624
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080617
+packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080610
+packetLen(0x00c5, 114) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080603
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080528
+packetLen(0x00c5, 10) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080520
+packetLen(0x00c5, 4) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080513
+packetLen(0x00c5, 6) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080507
+packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080429
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080422
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080401
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080325
+packetLen(0x00c5, 30) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080318
+packetLen(0x00c5, 3) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080311
+packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080124
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080102
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+#endif
+
+// Packet: 0x00c6
+#if PACKETVER >= 20080617
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00c6, 21) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x00c6, 4) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00c6, 31) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c6, 5) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c6, 13) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c6, 3) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#endif
+
+// Packet: 0x00c7
+#if PACKETVER >= 20080701
+packetLen(0x00c7, 182) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00c7, 3) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00c7, 22) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00c7, 4) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x00c7, 53) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00c7, 26) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00c7, 58) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c7, 67) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c7, 5) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#endif
+
+// Packet: 0x00c8
+#if PACKETVER >= 20080701
+packetLen(0x00c8, 2) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00c8, 4) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00c8, 15) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00c8, 66) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00c8, 2) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00c8, 14) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c8, 53) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c8, 10) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#endif
+
+// Packet: 0x00c9
+#if PACKETVER >= 20080701
+packetLen(0x00c9, 39) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00c9, 36) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00c9, 9) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00c9, 30) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00c9, 5) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#endif
+
+// Packet: 0x00ca
+#if PACKETVER >= 20080610
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080603
+packetLen(0x00ca, 31) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080513
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080507
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080429
+packetLen(0x00ca, 7) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080422
+packetLen(0x00ca, 6) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080415
+packetLen(0x00ca, 17) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080408
+packetLen(0x00ca, 14) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080401
+packetLen(0x00ca, 2) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080325
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080318
+packetLen(0x00ca, 4) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080311
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080304
+packetLen(0x00ca, 9) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080226
+packetLen(0x00ca, 23) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080219
+packetLen(0x00ca, 86) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080124
+packetLen(0x00ca, 36) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080102
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#endif
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+#if PACKETVER >= 20080701
+packetLen(0x00cc, 33) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080617
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080610
+packetLen(0x00cc, 28) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080603
+packetLen(0x00cc, 2) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080520
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080513
+packetLen(0x00cc, 26) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080507
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080429
+packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080422
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080415
+packetLen(0x00cc, 2) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080401
+packetLen(0x00cc, 3) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080325
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080318
+packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080311
+packetLen(0x00cc, 14) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080304
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080226
+packetLen(0x00cc, 7) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080124
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080102
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#endif
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+#if PACKETVER >= 20080701
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080624
+packetLen(0x00ce, 4) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080617
+packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080610
+packetLen(0x00ce, 22) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080603
+packetLen(0x00ce, 102) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080528
+packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080520
+packetLen(0x00ce, 3) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080513
+packetLen(0x00ce, 9) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080507
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080429
+packetLen(0x00ce, 114) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080422
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080415
+packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080408
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080401
+packetLen(0x00ce, 30) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080325
+packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080318
+packetLen(0x00ce, 7) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080311
+packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080304
+packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080226
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080124
+packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080102
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+#endif
+
+// Packet: 0x00cf
+#if PACKETVER >= 20080624
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080617
+packetLen(0x00cf, 30) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080610
+packetLen(0x00cf, 57) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080603
+packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080528
+packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080520
+packetLen(0x00cf, 8) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080513
+packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080507
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080429
+packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080422
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080415
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080408
+packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080401
+packetLen(0x00cf, 60) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080325
+packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080318
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080311
+packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080304
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080226
+packetLen(0x00cf, 16) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080219
+packetLen(0x00cf, 9) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080124
+packetLen(0x00cf, 11) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080102
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+#endif
+
+// Packet: 0x00d0
+#if PACKETVER >= 20080610
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080603
+packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080528
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080520
+packetLen(0x00d0, 30) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080513
+packetLen(0x00d0, 114) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080507
+packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080429
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080422
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080415
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080408
+packetLen(0x00d0, 4) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080401
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080325
+packetLen(0x00d0, 8) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080318
+packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080311
+packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080226
+packetLen(0x00d0, 2) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080219
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080124
+packetLen(0x00d0, 182) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080102
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#endif
+
+// Packet: 0x00d1
+#if PACKETVER >= 20080701
+packetLen(0x00d1, 26) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080624
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080610
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080603
+packetLen(0x00d1, 5) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080528
+packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080520
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080513
+packetLen(0x00d1, 54) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080507
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080429
+packetLen(0x00d1, 3) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080422
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080415
+packetLen(0x00d1, 43) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080408
+packetLen(0x00d1, 67) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080401
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080325
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080318
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080304
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080226
+packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080219
+packetLen(0x00d1, 13) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080124
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080102
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+#endif
+
+// Packet: 0x00d2
+#if PACKETVER >= 20080701
+packetLen(0x00d2, 16) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080610
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080603
+packetLen(0x00d2, 7) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080528
+packetLen(0x00d2, 11) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080520
+packetLen(0x00d2, 9) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080513
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080507
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080422
+packetLen(0x00d2, 10) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080415
+packetLen(0x00d2, 8) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080408
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080401
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080325
+packetLen(0x00d2, 7) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080318
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080311
+packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080304
+packetLen(0x00d2, 16) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080226
+packetLen(0x00d2, 14) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080219
+packetLen(0x00d2, 20) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080102
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+#endif
+
+// Packet: 0x00d3
+#if PACKETVER >= 20080701
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x00d3, 20) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x00d3, 19) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x00d3, 33) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x00d3, 12) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x00d3, 14) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#endif
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+#if PACKETVER >= 20080701
+packetLen(0x00d5, 7) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00d5, 81) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00d5, 8) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00d5, 26) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00d5, 60) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00d5, 21) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00d5, 114) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d5, 2) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d5, 3) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00d5, 7) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#endif
+
+// Packet: 0x00d6
+#if PACKETVER >= 20080701
+packetLen(0x00d6, 15) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080617
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00d6, 26) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00d6, 26) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00d6, 16) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00d6, 282) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00d6, 21) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00d6, 10) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00d6, 58) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d6, 68) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d6, 30) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#endif
+
+// Packet: 0x00d7
+#if PACKETVER >= 20080701
+packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x00d7, 26) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x00d7, 9) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x00d7, 39) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x00d7, 5) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x00d7, 4) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x00d7, 67) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x00d7, 24) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x00d7, 28) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x00d7, 3) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#endif
+
+// Packet: 0x00d8
+#if PACKETVER >= 20080617
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00d8, 30) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00d8, 5) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00d8, 7) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00d8, 53) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00d8, 17) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00d8, 9) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00d8, 26) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00d8, 30) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d8, 16) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00d8, 4) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+#endif
+
+// Packet: 0x00d9
+#if PACKETVER >= 20080603
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00d9, 4) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00d9, 5) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00d9, 10) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d9, 7) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00d9, 282) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#endif
+
+// Packet: 0x00da
+#if PACKETVER >= 20080701
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00da, 53) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00da, 24) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00da, 31) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00da, 13) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00da, 30) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00da, 8) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00da, 14) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00da, 54) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00da, 18) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+#endif
+
+// Packet: 0x00db
+#if PACKETVER >= 20080701
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00db, 7) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00db, 3) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00db, 4) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00db, 30) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00db, 2) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00db, 67) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00db, 33) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00db, 18) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00db, 2) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00db, 6) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00db, 31) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00db, 26) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00db, 4) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#endif
+
+// Packet: 0x00dc
+#if PACKETVER >= 20080701
+packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x00dc, 2) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x00dc, 11) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x00dc, 27) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x00dc, 30) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x00dc, 12) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x00dc, 32) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x00dc, 30) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x00dc, 3) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x00dc, 13) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+#endif
+
+// Packet: 0x00dd
+#if PACKETVER >= 20080701
+packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080610
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080603
+packetLen(0x00dd, 20) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080528
+packetLen(0x00dd, 7) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080520
+packetLen(0x00dd, 28) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080429
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080422
+packetLen(0x00dd, 28) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080415
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080408
+packetLen(0x00dd, 15) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080325
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080318
+packetLen(0x00dd, 22) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080311
+packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080304
+packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080226
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080219
+packetLen(0x00dd, 3) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080124
+packetLen(0x00dd, 8) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080102
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+#endif
+
+// Packet: 0x00de
+#if PACKETVER >= 20080701
+packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00de, 54) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00de, 57) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00de, 4) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00de, 15) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00de, 11) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00de, 18) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00de, 8) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00de, 34) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00de, 3) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#endif
+
+// Packet: 0x00df
+#if PACKETVER >= 20080701
+packetLen(0x00df, 34) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00df, 11) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080617
+packetLen(0x00df, 30) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00df, 10) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00df, 4) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00df, 90) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00df, 23) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00df, 8) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00df, 12) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00df, 282) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00df, 5) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00df, 23) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00df, 9) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00df, 7) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00df, 27) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#endif
+
+// Packet: 0x00e0
+#if PACKETVER >= 20080701
+packetLen(0x00e0, 9) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00e0, 6) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x00e0, 10) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00e0, 4) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00e0, 21) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00e0, 71) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00e0, 7) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00e0, 43) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00e0, 31) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00e0, 18) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+#endif
+
+// Packet: 0x00e1
+#if PACKETVER >= 20080610
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00e1, 20) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x00e1, 4) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00e1, 6) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00e1, 43) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00e1, 60) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00e1, 22) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00e1, 21) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00e1, 60) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00e1, 81) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00e1, 12) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+#endif
+
+// Packet: 0x00e2
+#if PACKETVER >= 20080624
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080617
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080610
+packetLen(0x00e2, 282) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080603
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080528
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080520
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080513
+packetLen(0x00e2, 2) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080507
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080429
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080422
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080415
+packetLen(0x00e2, 282) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080408
+packetLen(0x00e2, 11) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080401
+packetLen(0x00e2, 5) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080325
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080318
+packetLen(0x00e2, 79) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080311
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080304
+packetLen(0x00e2, 31) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080226
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080219
+packetLen(0x00e2, 30) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080124
+packetLen(0x00e2, 10) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080102
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#endif
+
+// Packet: 0x00e3
+#if PACKETVER >= 20080701
+packetLen(0x00e3, 26) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080617
+packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00e3, 30) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00e3, 35) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00e3, 8) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00e3, 10) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00e3, 7) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00e3, 12) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00e3, 14) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+#endif
+
+// Packet: 0x00e4
+#if PACKETVER >= 20080701
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e4, 36) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00e4, 86) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e4, 33) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e4, 58) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e4, 13) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e4, 54) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e4, 7) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e5
+#if PACKETVER >= 20080701
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e5, 10) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e5, 10) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e5, 11) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e5, 29) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e6
+#if PACKETVER >= 20080701
+packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e6, 14) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00e6, 9) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e6, 2) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e6, 43) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e6, 26) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e6, 79) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e6, 11) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e6, 67) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e6, 15) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e6, 16) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e6, 53) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e6, 10) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e6, 114) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e7
+#if PACKETVER >= 20080701
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e7, 30) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e7, 14) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00e7, 182) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e7, 14) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e7, 90) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e7, 182) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e7, 4) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e7, 8) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e7, 68) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e8
+#if PACKETVER >= 20080701
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e8, 114) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00e8, 5) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e8, 66) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e8, 86) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e8, 30) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e8, 4) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e8, 26) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e9
+#if PACKETVER >= 20080617
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e9, 8) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e9, 7) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e9, 8) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e9, 30) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e9, 21) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ea
+#if PACKETVER >= 20080701
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ea, 39) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00ea, 90) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ea, 30) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00ea, 26) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00ea, 4) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ea, 15) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ea, 2) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ea, 10) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ea, 14) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00eb
+#if PACKETVER >= 20080624
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00eb, 54) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00eb, 11) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00eb, 36) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00eb, 15) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00eb, 86) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00eb, 12) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00eb, 19) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00eb, 17) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ec
+#if PACKETVER >= 20080701
+packetLen(0x00ec, 55) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00ec, 6) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ec, 81) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ec, 34) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ec, 10) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ec, 9) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ec, 20) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ec, 2) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ec, 9) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ed
+#if PACKETVER >= 20080701
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ed, 20) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00ed, 8) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00ed, 6) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ed, 5) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ed, 4) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ed, 86) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ed, 30) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ee
+#if PACKETVER >= 20080701
+packetLen(0x00ee, 14) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00ee, 81) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ee, 6) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ee, 18) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ee, 3) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ee, 3) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00ee, 30) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ee, 26) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ee, 5) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ee, 11) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ee, 10) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ee, 90) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ee, 4) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ef
+#if PACKETVER >= 20080701
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00ef, 9) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ef, 11) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ef, 26) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00ef, 28) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00ef, 4) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ef, 57) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ef, 90) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00f0
+#if PACKETVER >= 20080701
+packetLen(0x00f0, 11) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00f0, 60) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00f0, 14) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00f0, 43) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00f0, 30) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00f0, 90) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00f0, 24) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00f0, 7) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00f0, 27) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+#if PACKETVER >= 20080701
+packetLen(0x00f2, 4) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080624
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080617
+packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080610
+packetLen(0x00f2, 39) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080603
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080528
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080520
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080513
+packetLen(0x00f2, 39) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080507
+packetLen(0x00f2, 54) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080429
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080422
+packetLen(0x00f2, 31) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080415
+packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080408
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080401
+packetLen(0x00f2, 86) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080325
+packetLen(0x00f2, 60) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080318
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080311
+packetLen(0x00f2, 26) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080304
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080226
+packetLen(0x00f2, 14) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080219
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080124
+packetLen(0x00f2, 13) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080102
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#endif
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+#if PACKETVER >= 20080624
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080617
+packetLen(0x00f4, 11) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080528
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080513
+packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080507
+packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080429
+packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080422
+packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080415
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080408
+packetLen(0x00f4, 35) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080401
+packetLen(0x00f4, 282) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080325
+packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080318
+packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080124
+packetLen(0x00f4, 10) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+#if PACKETVER >= 20080701
+packetLen(0x00f6, 11) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080624
+packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080617
+packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080610
+packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080603
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080528
+packetLen(0x00f6, 10) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080520
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080513
+packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080422
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080415
+packetLen(0x00f6, 4) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080408
+packetLen(0x00f6, 65) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080401
+packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080325
+packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080318
+packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x00f6, 65) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x00f6, 23) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080124
+packetLen(0x00f6, 39) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+#endif
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+#if PACKETVER >= 20080701
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080624
+packetLen(0x00f8, 26) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080617
+packetLen(0x00f8, 17) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080610
+packetLen(0x00f8, 30) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080603
+packetLen(0x00f8, 10) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080528
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080513
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080507
+packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080422
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080415
+packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080408
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080401
+packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080325
+packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080318
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080124
+packetLen(0x00f8, 43) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#endif
+
+// Packet: 0x00f9
+#if PACKETVER >= 20080701
+packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00f9, 3) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00f9, 5) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x00f9, 13) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00f9, 114) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00f9, 12) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00f9, 4) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#endif
+
+// Packet: 0x00fa
+#if PACKETVER >= 20080603
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00fa, 8) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00fa, 4) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00fa, 26) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x00fa, 15) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00fa, 29) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fa, 20) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00fa, 6) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#endif
+
+// Packet: 0x00fb
+#if PACKETVER >= 20080701
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x00fb, 26) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x00fb, 3) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x00fb, 4) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x00fb, 17) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x00fb, 4) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x00fb, 29) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x00fb, 28) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x00fb, 6) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x00fb, 3) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x00fb, 26) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x00fb, 2) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x00fb, 4) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x00fb, 5) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x00fb, 10) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x00fb, 5) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#endif
+
+// Packet: 0x00fc
+#if PACKETVER >= 20080701
+packetLen(0x00fc, 22) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x00fc, 18) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00fc, 53) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00fc, 17) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00fc, 27) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fc, 24) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fc, 30) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fc, 19) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00fc, 2) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00fd
+#if PACKETVER >= 20080617
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00fd, 6) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x00fd, 97) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00fd, 8) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00fd, 8) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00fd, 18) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fd, 20) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fd, 11) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00fd, 42) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00fe
+#if PACKETVER >= 20080617
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00fe, 2) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00fe, 186) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00fe, 32) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fe, 186) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fe, 7) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00ff
+#if PACKETVER >= 20080701
+packetLen(0x00ff, 5) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x00ff, 7) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00ff, 4) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00ff, 22) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00ff, 79) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00ff, 2) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00ff, 3) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00ff, 59) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00ff, 32) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#endif
+
+// Packet: 0x0100
+#if PACKETVER >= 20080617
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x0100, 186) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x0100, 14) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x0100, 27) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x0100, 8) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x0100, 17) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x0100, 30) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x0100, 28) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x0100, 54) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x0100, 54) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#endif
+
+// Packet: 0x0101
+#if PACKETVER >= 20080701
+packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x0101, 24) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x0101, 58) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x0101, 26) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x0101, 97) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x0101, 23) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x0101, 10) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x0101, 4) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#endif
+
+// Packet: 0x0102
+#if PACKETVER >= 20080610
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080603
+packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080528
+packetLen(0x0102, 17) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080520
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080513
+packetLen(0x0102, 11) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080422
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080415
+packetLen(0x0102, 81) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080408
+packetLen(0x0102, 2) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080401
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080325
+packetLen(0x0102, 54) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080318
+packetLen(0x0102, 4) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080311
+packetLen(0x0102, 2) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080304
+packetLen(0x0102, 14) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080226
+packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080219
+packetLen(0x0102, 68) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080124
+packetLen(0x0102, 15) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#endif
+
+// Packet: 0x0103
+#if PACKETVER >= 20080701
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080624
+packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080617
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080610
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080603
+packetLen(0x0103, 10) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080528
+packetLen(0x0103, 79) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080520
+packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080513
+packetLen(0x0103, 16) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080507
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080429
+packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080422
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080415
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080408
+packetLen(0x0103, 11) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080401
+packetLen(0x0103, 4) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080318
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080311
+packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080226
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080219
+packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080124
+packetLen(0x0103, 58) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080102
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#endif
+
+// Packet: 0x0104
+#if PACKETVER >= 20080701
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080624
+packetLen(0x0104, 60) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x0104, 3) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x0104, 17) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x0104, 282) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x0104, 12) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x0104, 30) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x0104, 11) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x0104, 15) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x0104, 21) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0105
+#if PACKETVER >= 20080617
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x0105, 5) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x0105, 4) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x0105, 23) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x0105, 4) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x0105, 10) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+#endif
+
+// Packet: 0x0106
+#if PACKETVER >= 20080701
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080617
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080610
+packetLen(0x0106, 9) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080528
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080513
+packetLen(0x0106, 2) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080507
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080429
+packetLen(0x0106, 27) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080422
+packetLen(0x0106, 29) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080415
+packetLen(0x0106, 282) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080408
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080401
+packetLen(0x0106, 5) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080325
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080318
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080311
+packetLen(0x0106, 26) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080226
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080219
+packetLen(0x0106, 21) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080124
+packetLen(0x0106, 8) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080102
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#endif
+
+// Packet: 0x0107
+#if PACKETVER >= 20080624
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080617
+packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080603
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080528
+packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080520
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080513
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080507
+packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080429
+packetLen(0x0107, 2) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080325
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080318
+packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080226
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080219
+packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080124
+packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080102
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+#endif
+
+// Packet: 0x0108
+#if PACKETVER >= 20080624
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080617
+packetLen(0x0108, 54) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080610
+packetLen(0x0108, 2) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080528
+packetLen(0x0108, 11) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080520
+packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080513
+packetLen(0x0108, 30) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080507
+packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080429
+packetLen(0x0108, 32) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080415
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080408
+packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080401
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080325
+packetLen(0x0108, 7) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080318
+packetLen(0x0108, 182) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080311
+packetLen(0x0108, 4) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080226
+packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080219
+packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080124
+packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080102
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#endif
+
+// Packet: 0x0109
+#if PACKETVER >= 20080701
+packetLen(0x0109, 31) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080624
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080617
+packetLen(0x0109, 7) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080610
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080603
+packetLen(0x0109, 5) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080528
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080513
+packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080507
+packetLen(0x0109, 26) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080429
+packetLen(0x0109, 67) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080422
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080415
+packetLen(0x0109, 102) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080408
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080401
+packetLen(0x0109, 33) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080325
+packetLen(0x0109, 26) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080318
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080311
+packetLen(0x0109, 10) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080304
+packetLen(0x0109, 4) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080226
+packetLen(0x0109, 2) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080219
+packetLen(0x0109, 14) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080124
+packetLen(0x0109, 12) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080102
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#endif
+
+// Packet: 0x010a
+#if PACKETVER >= 20080610
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x010a, 34) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x010a, 102) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x010a, 3) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x010a, 30) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x010a, 31) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x010a, 114) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x010a, 27) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x010a, 12) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x010a, 8) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#endif
+
+// Packet: 0x010b
+#if PACKETVER >= 20080701
+packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080624
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080617
+packetLen(0x010b, 8) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080610
+packetLen(0x010b, 26) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080603
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080520
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080513
+packetLen(0x010b, 4) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080429
+packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080422
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080415
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080408
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080401
+packetLen(0x010b, 28) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080325
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080318
+packetLen(0x010b, 17) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080311
+packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080304
+packetLen(0x010b, 114) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080226
+packetLen(0x010b, 9) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080219
+packetLen(0x010b, 24) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080102
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#endif
+
+// Packet: 0x010c
+#if PACKETVER >= 20080701
+packetLen(0x010c, 7) // ZC_MVP
+#elif PACKETVER >= 20080624
+packetLen(0x010c, 23) // ZC_MVP
+#elif PACKETVER >= 20080610
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080603
+packetLen(0x010c, 31) // ZC_MVP
+#elif PACKETVER >= 20080528
+packetLen(0x010c, 30) // ZC_MVP
+#elif PACKETVER >= 20080520
+packetLen(0x010c, 8) // ZC_MVP
+#elif PACKETVER >= 20080507
+packetLen(0x010c, 2) // ZC_MVP
+#elif PACKETVER >= 20080429
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080422
+packetLen(0x010c, 26) // ZC_MVP
+#elif PACKETVER >= 20080408
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080401
+packetLen(0x010c, 6) // ZC_MVP
+#elif PACKETVER >= 20080325
+packetLen(0x010c, 11) // ZC_MVP
+#elif PACKETVER >= 20080318
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080311
+packetLen(0x010c, 282) // ZC_MVP
+#elif PACKETVER >= 20080304
+packetLen(0x010c, 2) // ZC_MVP
+#elif PACKETVER >= 20080226
+packetLen(0x010c, 14) // ZC_MVP
+#elif PACKETVER >= 20080219
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080124
+packetLen(0x010c, 4) // ZC_MVP
+#elif PACKETVER >= 20080102
+packetLen(0x010c, 6) // ZC_MVP
+#endif
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+#if PACKETVER >= 20080701
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080624
+packetLen(0x010e, 33) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080617
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080610
+packetLen(0x010e, 8) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080603
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080528
+packetLen(0x010e, 2) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080520
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080513
+packetLen(0x010e, 14) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080507
+packetLen(0x010e, 10) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080429
+packetLen(0x010e, 67) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080415
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080408
+packetLen(0x010e, 12) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080401
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080325
+packetLen(0x010e, 30) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080318
+packetLen(0x010e, 53) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080311
+packetLen(0x010e, 71) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080304
+packetLen(0x010e, 26) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080226
+packetLen(0x010e, 7) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080219
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080124
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080102
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+#endif
+
+// Packet: 0x010f
+#if PACKETVER >= 20080701
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x010f, 5) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x010f, 17) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x010f, 11) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x010f, 4) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x010f, 8) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x010f, 17) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x010f, 11) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#endif
+
+// Packet: 0x0110
+#if PACKETVER >= 20080617
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080610
+packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080603
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080520
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080513
+packetLen(0x0110, 4) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080408
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0110, 6) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0110, 35) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080318
+packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0110, 4) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0110, 2) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#endif
+
+// Packet: 0x0111
+#if PACKETVER >= 20080701
+packetLen(0x0111, 17) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080624
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080617
+packetLen(0x0111, 2) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080610
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080603
+packetLen(0x0111, 11) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0111, 23) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080429
+packetLen(0x0111, 10) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080422
+packetLen(0x0111, 4) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080415
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080408
+packetLen(0x0111, 26) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0111, 282) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080318
+packetLen(0x0111, 23) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0111, 6) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0111, 4) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0111, 60) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0111, 32) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+#endif
+
+// Packet: 0x0112
+#if PACKETVER >= 20080701
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080624
+packetLen(0x0112, 15) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080617
+packetLen(0x0112, 59) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080610
+packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080603
+packetLen(0x0112, 14) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080528
+packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080520
+packetLen(0x0112, 30) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080513
+packetLen(0x0112, 10) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080429
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080422
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080408
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080401
+packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080325
+packetLen(0x0112, 11) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080318
+packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080311
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080304
+packetLen(0x0112, 29) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080226
+packetLen(0x0112, 13) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080219
+packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080124
+packetLen(0x0112, 26) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080102
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+#endif
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+#if PACKETVER >= 20080701
+packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080624
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080617
+packetLen(0x0114, 15) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080610
+packetLen(0x0114, 11) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080603
+packetLen(0x0114, 7) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080520
+packetLen(0x0114, 30) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080513
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0114, 4) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080429
+packetLen(0x0114, 3) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080408
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0114, 26) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0114, 182) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080318
+packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0114, 29) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0114, 8) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+#endif
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+#if PACKETVER >= 20080603
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080520
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080513
+packetLen(0x0117, 5) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080422
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080415
+packetLen(0x0117, 29) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080408
+packetLen(0x0117, 28) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0117, 26) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0117, 29) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080318
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0117, 11) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0117, 10) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0117, 8) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+#endif
+
+// Packet: 0x0118
+#if PACKETVER >= 20080701
+packetLen(0x0118, 67) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080617
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080610
+packetLen(0x0118, 22) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080603
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080528
+packetLen(0x0118, 8) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080520
+packetLen(0x0118, 90) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080513
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080507
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080429
+packetLen(0x0118, 29) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080422
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080401
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080325
+packetLen(0x0118, 14) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080318
+packetLen(0x0118, 5) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080311
+packetLen(0x0118, 282) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080304
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080226
+packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080219
+packetLen(0x0118, 7) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080124
+packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080102
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#endif
+
+// Packet: 0x0119
+#if PACKETVER >= 20080603
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x0119, 10) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x0119, 4) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x0119, 23) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x0119, 6) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x0119, 17) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x0119, 2) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x0119, 3) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x0119, 8) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x0119, 282) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x0119, 2) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x0119, 58) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x0119, 6) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+#endif
+
+// Packet: 0x011a
+#if PACKETVER >= 20080701
+packetLen(0x011a, 11) // ZC_USE_SKILL
+#elif PACKETVER >= 20080624
+packetLen(0x011a, 3) // ZC_USE_SKILL
+#elif PACKETVER >= 20080617
+packetLen(0x011a, 6) // ZC_USE_SKILL
+#elif PACKETVER >= 20080610
+packetLen(0x011a, 26) // ZC_USE_SKILL
+#elif PACKETVER >= 20080603
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080528
+packetLen(0x011a, 8) // ZC_USE_SKILL
+#elif PACKETVER >= 20080520
+packetLen(0x011a, 6) // ZC_USE_SKILL
+#elif PACKETVER >= 20080513
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080507
+packetLen(0x011a, 3) // ZC_USE_SKILL
+#elif PACKETVER >= 20080429
+packetLen(0x011a, 17) // ZC_USE_SKILL
+#elif PACKETVER >= 20080408
+packetLen(0x011a, 4) // ZC_USE_SKILL
+#elif PACKETVER >= 20080401
+packetLen(0x011a, 8) // ZC_USE_SKILL
+#elif PACKETVER >= 20080325
+packetLen(0x011a, 36) // ZC_USE_SKILL
+#elif PACKETVER >= 20080318
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x011a, 6) // ZC_USE_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x011a, 2) // ZC_USE_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x011a, 10) // ZC_USE_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x011a, 11) // ZC_USE_SKILL
+#elif PACKETVER >= 20080124
+packetLen(0x011a, 2) // ZC_USE_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x011a, 15) // ZC_USE_SKILL
+#endif
+
+// Packet: 0x011b
+#if PACKETVER >= 20080528
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080520
+packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080513
+packetLen(0x011b, 58) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080507
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080429
+packetLen(0x011b, 10) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080422
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080415
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080408
+packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080401
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080325
+packetLen(0x011b, 39) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080311
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080304
+packetLen(0x011b, 58) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080226
+packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080124
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080102
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+#endif
+
+// Packet: 0x011c
+#if PACKETVER >= 20080617
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080610
+packetLen(0x011c, 14) // ZC_WARPLIST
+#elif PACKETVER >= 20080603
+packetLen(0x011c, 8) // ZC_WARPLIST
+#elif PACKETVER >= 20080528
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080520
+packetLen(0x011c, 2) // ZC_WARPLIST
+#elif PACKETVER >= 20080513
+packetLen(0x011c, 8) // ZC_WARPLIST
+#elif PACKETVER >= 20080507
+packetLen(0x011c, 282) // ZC_WARPLIST
+#elif PACKETVER >= 20080429
+packetLen(0x011c, 5) // ZC_WARPLIST
+#elif PACKETVER >= 20080422
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080415
+packetLen(0x011c, 31) // ZC_WARPLIST
+#elif PACKETVER >= 20080408
+packetLen(0x011c, 3) // ZC_WARPLIST
+#elif PACKETVER >= 20080401
+packetLen(0x011c, 7) // ZC_WARPLIST
+#elif PACKETVER >= 20080325
+packetLen(0x011c, 26) // ZC_WARPLIST
+#elif PACKETVER >= 20080318
+packetLen(0x011c, 6) // ZC_WARPLIST
+#elif PACKETVER >= 20080311
+packetLen(0x011c, 3) // ZC_WARPLIST
+#elif PACKETVER >= 20080304
+packetLen(0x011c, 32) // ZC_WARPLIST
+#elif PACKETVER >= 20080226
+packetLen(0x011c, 6) // ZC_WARPLIST
+#elif PACKETVER >= 20080219
+packetLen(0x011c, 4) // ZC_WARPLIST
+#elif PACKETVER >= 20080124
+packetLen(0x011c, 2) // ZC_WARPLIST
+#elif PACKETVER >= 20080102
+packetLen(0x011c, 68) // ZC_WARPLIST
+#endif
+
+// Packet: 0x011d
+#if PACKETVER >= 20080624
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080617
+packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080610
+packetLen(0x011d, 28) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080603
+packetLen(0x011d, 3) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080528
+packetLen(0x011d, 14) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080520
+packetLen(0x011d, 23) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080513
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080507
+packetLen(0x011d, 81) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080422
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080415
+packetLen(0x011d, 6) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080408
+packetLen(0x011d, 4) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080325
+packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080318
+packetLen(0x011d, 7) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080311
+packetLen(0x011d, 3) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080304
+packetLen(0x011d, 7) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080219
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080124
+packetLen(0x011d, 26) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080102
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+#endif
+
+// Packet: 0x011e
+#if PACKETVER >= 20080624
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080617
+packetLen(0x011e, 33) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080610
+packetLen(0x011e, 5) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080603
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080528
+packetLen(0x011e, 6) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080513
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080507
+packetLen(0x011e, 9) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080429
+packetLen(0x011e, 10) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080422
+packetLen(0x011e, 282) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080415
+packetLen(0x011e, 30) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080408
+packetLen(0x011e, 32) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080401
+packetLen(0x011e, 9) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080325
+packetLen(0x011e, 18) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080318
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080311
+packetLen(0x011e, 6) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080304
+packetLen(0x011e, 18) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080219
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080124
+packetLen(0x011e, 7) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080102
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+#endif
+
+// Packet: 0x011f
+#if PACKETVER >= 20080701
+packetLen(0x011f, 11) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x011f, 3) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x011f, 282) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x011f, 12) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x011f, 60) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x011f, 8) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x011f, 5) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+#endif
+
+// Packet: 0x0120
+#if PACKETVER >= 20080701
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080624
+packetLen(0x0120, 27) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080617
+packetLen(0x0120, 14) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080610
+packetLen(0x0120, 79) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080603
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080528
+packetLen(0x0120, 28) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080520
+packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080513
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080507
+packetLen(0x0120, 54) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080429
+packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080422
+packetLen(0x0120, 4) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080408
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080401
+packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080318
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080311
+packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080304
+packetLen(0x0120, 54) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080226
+packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080219
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080124
+packetLen(0x0120, 39) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080102
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+#endif
+
+// Packet: 0x0121
+#if PACKETVER >= 20080701
+packetLen(0x0121, 8) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080624
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080610
+packetLen(0x0121, 5) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080603
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080528
+packetLen(0x0121, 4) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080520
+packetLen(0x0121, 26) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080513
+packetLen(0x0121, 27) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080507
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080429
+packetLen(0x0121, 60) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080415
+packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080408
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080401
+packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080325
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080318
+packetLen(0x0121, 29) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0121, 29) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0121, 282) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080124
+packetLen(0x0121, 60) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#endif
+
+// Packet: 0x0122
+#if PACKETVER >= 20080701
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x0122, 58) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x0122, 12) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x0122, 15) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x0122, 4) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x0122, 10) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x0122, 186) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x0122, 16) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0122, 7) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0122, 28) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0122, 8) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#endif
+
+// Packet: 0x0123
+#if PACKETVER >= 20080701
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x0123, 23) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x0123, 30) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x0123, 28) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x0123, 2) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x0123, 8) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x0123, 35) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x0123, 33) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x0123, 14) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0123, 5) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0123, 9) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0123, 16) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x0123, 58) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x0124
+#if PACKETVER >= 20080701
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080624
+packetLen(0x0124, 26) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080617
+packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080610
+packetLen(0x0124, 58) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080603
+packetLen(0x0124, 54) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080528
+packetLen(0x0124, 32) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080520
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080513
+packetLen(0x0124, 22) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080507
+packetLen(0x0124, 2) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080429
+packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080422
+packetLen(0x0124, 71) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080415
+packetLen(0x0124, 22) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080408
+packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080325
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080318
+packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0124, 3) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x0124, 36) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080124
+packetLen(0x0124, 11) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+#endif
+
+// Packet: 0x0125
+#if PACKETVER >= 20080701
+packetLen(0x0125, 10) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080624
+packetLen(0x0125, 7) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080617
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080610
+packetLen(0x0125, 86) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080603
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080528
+packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080520
+packetLen(0x0125, 44) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080513
+packetLen(0x0125, 57) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080507
+packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080429
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080422
+packetLen(0x0125, 32) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080415
+packetLen(0x0125, 29) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080408
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080401
+packetLen(0x0125, 11) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080325
+packetLen(0x0125, 53) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080318
+packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080124
+packetLen(0x0125, 26) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+#endif
+
+// Packet: 0x0126
+#if PACKETVER >= 20080701
+packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080624
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080617
+packetLen(0x0126, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080610
+packetLen(0x0126, 97) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080603
+packetLen(0x0126, 12) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080507
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080429
+packetLen(0x0126, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080422
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080415
+packetLen(0x0126, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080408
+packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080401
+packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080325
+packetLen(0x0126, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080318
+packetLen(0x0126, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0126, 7) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0126, 27) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0126, 11) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080124
+packetLen(0x0126, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#endif
+
+// Packet: 0x0127
+#if PACKETVER >= 20080701
+packetLen(0x0127, 9) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080528
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080520
+packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080513
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080507
+packetLen(0x0127, 6) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080429
+packetLen(0x0127, 10) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080422
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080415
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080408
+packetLen(0x0127, 26) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080401
+packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080325
+packetLen(0x0127, 6) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080318
+packetLen(0x0127, 67) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080311
+packetLen(0x0127, 5) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080304
+packetLen(0x0127, 18) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080226
+packetLen(0x0127, 12) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080219
+packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080124
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080102
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#endif
+
+// Packet: 0x0128
+#if PACKETVER >= 20080701
+packetLen(0x0128, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080624
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080617
+packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080610
+packetLen(0x0128, 31) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080603
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080528
+packetLen(0x0128, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080520
+packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080507
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080429
+packetLen(0x0128, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080422
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080415
+packetLen(0x0128, 22) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080408
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080401
+packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080318
+packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0128, 58) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x0128, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080124
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#endif
+
+// Packet: 0x0129
+#if PACKETVER >= 20080701
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080624
+packetLen(0x0129, 182) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080617
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080610
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080603
+packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080520
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080513
+packetLen(0x0129, 7) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080507
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080429
+packetLen(0x0129, 4) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080422
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080415
+packetLen(0x0129, 60) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080408
+packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080401
+packetLen(0x0129, 14) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080325
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080318
+packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x0129, 4) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080124
+packetLen(0x0129, 28) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#endif
+
+// Packet: 0x012a
+#if PACKETVER >= 20080624
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080617
+packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080610
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080603
+packetLen(0x012a, 11) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080528
+packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080520
+packetLen(0x012a, 9) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080513
+packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080507
+packetLen(0x012a, 14) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080429
+packetLen(0x012a, 22) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080422
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080415
+packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080408
+packetLen(0x012a, 282) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080401
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080325
+packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080318
+packetLen(0x012a, 4) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080304
+packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080226
+packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080219
+packetLen(0x012a, 5) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080102
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+#endif
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+#if PACKETVER >= 20080610
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080603
+packetLen(0x012c, 5) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080528
+packetLen(0x012c, 58) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080520
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080513
+packetLen(0x012c, 2) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080507
+packetLen(0x012c, 10) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080429
+packetLen(0x012c, 39) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080422
+packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080415
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080408
+packetLen(0x012c, 30) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080401
+packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080325
+packetLen(0x012c, 4) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080318
+packetLen(0x012c, 10) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x012c, 14) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x012c, 30) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x012c, 20) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x012c, 9) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080124
+packetLen(0x012c, 19) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+#endif
+
+// Packet: 0x012d
+#if PACKETVER >= 20080701
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080624
+packetLen(0x012d, 26) // ZC_OPENSTORE
+#elif PACKETVER >= 20080617
+packetLen(0x012d, 3) // ZC_OPENSTORE
+#elif PACKETVER >= 20080610
+packetLen(0x012d, 8) // ZC_OPENSTORE
+#elif PACKETVER >= 20080603
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080528
+packetLen(0x012d, 30) // ZC_OPENSTORE
+#elif PACKETVER >= 20080520
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080513
+packetLen(0x012d, 34) // ZC_OPENSTORE
+#elif PACKETVER >= 20080507
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080429
+packetLen(0x012d, 4) // ZC_OPENSTORE
+#elif PACKETVER >= 20080422
+packetLen(0x012d, 81) // ZC_OPENSTORE
+#elif PACKETVER >= 20080415
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080408
+packetLen(0x012d, 33) // ZC_OPENSTORE
+#elif PACKETVER >= 20080401
+packetLen(0x012d, 3) // ZC_OPENSTORE
+#elif PACKETVER >= 20080325
+packetLen(0x012d, 6) // ZC_OPENSTORE
+#elif PACKETVER >= 20080318
+packetLen(0x012d, 2) // ZC_OPENSTORE
+#elif PACKETVER >= 20080311
+packetLen(0x012d, 30) // ZC_OPENSTORE
+#elif PACKETVER >= 20080304
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080219
+packetLen(0x012d, 14) // ZC_OPENSTORE
+#elif PACKETVER >= 20080124
+packetLen(0x012d, 26) // ZC_OPENSTORE
+#elif PACKETVER >= 20080102
+packetLen(0x012d, 4) // ZC_OPENSTORE
+#endif
+
+// Packet: 0x012e
+#if PACKETVER >= 20080701
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080624
+packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080617
+packetLen(0x012e, 31) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080520
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080513
+packetLen(0x012e, 5) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080507
+packetLen(0x012e, 102) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080429
+packetLen(0x012e, 3) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080422
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080415
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080408
+packetLen(0x012e, 26) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080401
+packetLen(0x012e, 7) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080325
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080318
+packetLen(0x012e, 4) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080311
+packetLen(0x012e, 14) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080304
+packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080219
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080102
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#endif
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+#if PACKETVER >= 20080617
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080610
+packetLen(0x0130, 30) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080603
+packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080528
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080520
+packetLen(0x0130, 282) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080507
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080429
+packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080422
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080415
+packetLen(0x0130, 2) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080408
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080401
+packetLen(0x0130, 81) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080325
+packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080318
+packetLen(0x0130, 66) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080304
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0130, 28) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0130, 5) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080124
+packetLen(0x0130, 8) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#endif
+
+// Packet: 0x0131
+#if PACKETVER >= 20080624
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x0131, 3) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x0131, 12) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x0131, 35) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x0131, 3) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x0131, 35) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x0131, 14) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x0131, 8) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x0131, 3) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x0131, 11) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x0131, 4) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x0131, 6) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0131, 14) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x0131, 29) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0131, 26) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+#endif
+
+// Packet: 0x0132
+#if PACKETVER >= 20080701
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x0132, 4) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x0132, 10) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x0132, 14) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x0132, 16) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x0132, 30) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x0132, 11) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0132, 36) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x0132, 2) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+#endif
+
+// Packet: 0x0133
+#if PACKETVER >= 20080701
+packetLen(0x0133, 11) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080617
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080610
+packetLen(0x0133, 7) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080603
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080528
+packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080520
+packetLen(0x0133, 57) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080513
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080507
+packetLen(0x0133, 26) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080429
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080422
+packetLen(0x0133, 14) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080415
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080408
+packetLen(0x0133, 5) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080401
+packetLen(0x0133, 24) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080304
+packetLen(0x0133, 26) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0133, 10) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080124
+packetLen(0x0133, 3) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#endif
+
+// Packet: 0x0134
+#if PACKETVER >= 20080701
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080624
+packetLen(0x0134, 29) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080617
+packetLen(0x0134, 8) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080610
+packetLen(0x0134, 67) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080603
+packetLen(0x0134, 30) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080528
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080520
+packetLen(0x0134, 7) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080513
+packetLen(0x0134, 282) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080507
+packetLen(0x0134, 16) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080422
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080415
+packetLen(0x0134, 71) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080408
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080401
+packetLen(0x0134, 28) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080325
+packetLen(0x0134, 7) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080318
+packetLen(0x0134, 20) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0134, 26) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0134, 3) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#endif
+
+// Packet: 0x0135
+#if PACKETVER >= 20080624
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080617
+packetLen(0x0135, 13) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080610
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080603
+packetLen(0x0135, 60) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080520
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080513
+packetLen(0x0135, 9) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080507
+packetLen(0x0135, 8) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080429
+packetLen(0x0135, 29) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080422
+packetLen(0x0135, 4) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080415
+packetLen(0x0135, 2) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080401
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080325
+packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0135, 2) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0135, 65) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080124
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+#endif
+
+// Packet: 0x0136
+#if PACKETVER >= 20080701
+packetLen(0x0136, 54) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x0136, 5) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x0136, 8) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x0136, 11) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x0136, 3) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x0136, 28) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0136, 2) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#endif
+
+// Packet: 0x0137
+#if PACKETVER >= 20080701
+packetLen(0x0137, 9) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080624
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080617
+packetLen(0x0137, 71) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080610
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080603
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080528
+packetLen(0x0137, 8) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080429
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080422
+packetLen(0x0137, 30) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080415
+packetLen(0x0137, 27) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080408
+packetLen(0x0137, 7) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080401
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080325
+packetLen(0x0137, 32) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080318
+packetLen(0x0137, 22) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080311
+packetLen(0x0137, 86) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080226
+packetLen(0x0137, 5) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080219
+packetLen(0x0137, 10) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080124
+packetLen(0x0137, 7) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080102
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#endif
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+#if PACKETVER >= 20080701
+packetLen(0x0139, 26) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080624
+packetLen(0x0139, 10) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080617
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080610
+packetLen(0x0139, 5) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080603
+packetLen(0x0139, 2) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080513
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080507
+packetLen(0x0139, 9) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080429
+packetLen(0x0139, 28) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080422
+packetLen(0x0139, 29) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080415
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080408
+packetLen(0x0139, 11) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080401
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080325
+packetLen(0x0139, 3) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080318
+packetLen(0x0139, 14) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080311
+packetLen(0x0139, 31) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080304
+packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080226
+packetLen(0x0139, 81) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080219
+packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080124
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080102
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#endif
+
+// Packet: 0x013a
+#if PACKETVER >= 20080701
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080624
+packetLen(0x013a, 2) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080617
+packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080610
+packetLen(0x013a, 30) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080603
+packetLen(0x013a, 39) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080513
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080507
+packetLen(0x013a, 182) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080429
+packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080422
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080415
+packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080408
+packetLen(0x013a, 55) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080401
+packetLen(0x013a, 12) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080325
+packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080318
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080311
+packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080304
+packetLen(0x013a, 32) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080226
+packetLen(0x013a, 58) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080124
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080102
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+#endif
+
+// Packet: 0x013b
+#if PACKETVER >= 20080701
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080624
+packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080617
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080610
+packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080603
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080528
+packetLen(0x013b, 5) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080520
+packetLen(0x013b, 10) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080513
+packetLen(0x013b, 18) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080507
+packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080429
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080422
+packetLen(0x013b, 15) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080415
+packetLen(0x013b, 7) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080408
+packetLen(0x013b, 30) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080401
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080325
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080318
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080311
+packetLen(0x013b, 23) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080304
+packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080226
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080219
+packetLen(0x013b, 16) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080124
+packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080102
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#endif
+
+// Packet: 0x013c
+#if PACKETVER >= 20080701
+packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080624
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080617
+packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080610
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080603
+packetLen(0x013c, 53) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080528
+packetLen(0x013c, 8) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080520
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080513
+packetLen(0x013c, 11) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080507
+packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080429
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080422
+packetLen(0x013c, 33) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080415
+packetLen(0x013c, 8) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080408
+packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080401
+packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080325
+packetLen(0x013c, 3) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080318
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080311
+packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080304
+packetLen(0x013c, 66) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080226
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080219
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080124
+packetLen(0x013c, 11) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080102
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+#endif
+
+// Packet: 0x013d
+#if PACKETVER >= 20080701
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080624
+packetLen(0x013d, 3) // ZC_RECOVERY
+#elif PACKETVER >= 20080617
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080610
+packetLen(0x013d, 7) // ZC_RECOVERY
+#elif PACKETVER >= 20080603
+packetLen(0x013d, 2) // ZC_RECOVERY
+#elif PACKETVER >= 20080528
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080520
+packetLen(0x013d, 8) // ZC_RECOVERY
+#elif PACKETVER >= 20080513
+packetLen(0x013d, 31) // ZC_RECOVERY
+#elif PACKETVER >= 20080507
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080429
+packetLen(0x013d, 10) // ZC_RECOVERY
+#elif PACKETVER >= 20080422
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080415
+packetLen(0x013d, 26) // ZC_RECOVERY
+#elif PACKETVER >= 20080408
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080401
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080325
+packetLen(0x013d, 3) // ZC_RECOVERY
+#elif PACKETVER >= 20080318
+packetLen(0x013d, 282) // ZC_RECOVERY
+#elif PACKETVER >= 20080311
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080304
+packetLen(0x013d, 3) // ZC_RECOVERY
+#elif PACKETVER >= 20080226
+packetLen(0x013d, 2) // ZC_RECOVERY
+#elif PACKETVER >= 20080219
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080124
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080102
+packetLen(0x013d, 6) // ZC_RECOVERY
+#endif
+
+// Packet: 0x013e
+#if PACKETVER >= 20080701
+packetLen(0x013e, 26) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x013e, 3) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x013e, 6) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x013e, 20) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x013e, 7) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x013e, 21) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x013e, 8) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x013e, 7) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x013e, 6) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x013e, 15) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x013e, 11) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x013e, 2) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x013e, 4) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x013e, 30) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+#endif
+
+// Packet: 0x013f
+#if PACKETVER >= 20080701
+packetLen(0x013f, 30) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080624
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080617
+packetLen(0x013f, 2) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080610
+packetLen(0x013f, 7) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080603
+packetLen(0x013f, 11) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080528
+packetLen(0x013f, 2) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080520
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080513
+packetLen(0x013f, 29) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080507
+packetLen(0x013f, 20) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080422
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080415
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080408
+packetLen(0x013f, 8) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080401
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080325
+packetLen(0x013f, 28) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080318
+packetLen(0x013f, 54) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080311
+packetLen(0x013f, 282) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080304
+packetLen(0x013f, 6) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080226
+packetLen(0x013f, 5) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080219
+packetLen(0x013f, 58) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080124
+packetLen(0x013f, 9) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080102
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+#endif
+
+// Packet: 0x0140
+#if PACKETVER >= 20080701
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080624
+packetLen(0x0140, 2) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080617
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080610
+packetLen(0x0140, 11) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080603
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080528
+packetLen(0x0140, 6) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080520
+packetLen(0x0140, 8) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080513
+packetLen(0x0140, 6) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080507
+packetLen(0x0140, 4) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080429
+packetLen(0x0140, 3) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080422
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080415
+packetLen(0x0140, 7) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080408
+packetLen(0x0140, 53) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080401
+packetLen(0x0140, 10) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080325
+packetLen(0x0140, 27) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080318
+packetLen(0x0140, 33) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080311
+packetLen(0x0140, 3) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080304
+packetLen(0x0140, 6) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080226
+packetLen(0x0140, 11) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080219
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080124
+packetLen(0x0140, 2) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080102
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+#endif
+
+// Packet: 0x0141
+#if PACKETVER >= 20080624
+packetLen(0x0141, 4) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080617
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080610
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080603
+packetLen(0x0141, 5) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080528
+packetLen(0x0141, 18) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080520
+packetLen(0x0141, 4) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080513
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080507
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080429
+packetLen(0x0141, 60) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080422
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080415
+packetLen(0x0141, 7) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080408
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080401
+packetLen(0x0141, 3) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080325
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080318
+packetLen(0x0141, 11) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080311
+packetLen(0x0141, 9) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080304
+packetLen(0x0141, 30) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080226
+packetLen(0x0141, 22) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080219
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080124
+packetLen(0x0141, 35) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080102
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+#endif
+
+// Packet: 0x0142
+#if PACKETVER >= 20080701
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080617
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080610
+packetLen(0x0142, 32) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080603
+packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080528
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080520
+packetLen(0x0142, 7) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080513
+packetLen(0x0142, 15) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080422
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080408
+packetLen(0x0142, 11) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080401
+packetLen(0x0142, 9) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080325
+packetLen(0x0142, 67) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080318
+packetLen(0x0142, 26) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080311
+packetLen(0x0142, 30) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080304
+packetLen(0x0142, 4) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080226
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080219
+packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080124
+packetLen(0x0142, 3) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080102
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+#endif
+
+// Packet: 0x0143
+#if PACKETVER >= 20080617
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080610
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080603
+packetLen(0x0143, 7) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080528
+packetLen(0x0143, 26) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080520
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080513
+packetLen(0x0143, 97) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080507
+packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080422
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080415
+packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080408
+packetLen(0x0143, 53) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080401
+packetLen(0x0143, 27) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080325
+packetLen(0x0143, 28) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080318
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080304
+packetLen(0x0143, 3) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080226
+packetLen(0x0143, 8) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080219
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080124
+packetLen(0x0143, 67) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080102
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+#endif
+
+// Packet: 0x0144
+#if PACKETVER >= 20080701
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080624
+packetLen(0x0144, 2) // ZC_COMPASS
+#elif PACKETVER >= 20080617
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080610
+packetLen(0x0144, 81) // ZC_COMPASS
+#elif PACKETVER >= 20080603
+packetLen(0x0144, 22) // ZC_COMPASS
+#elif PACKETVER >= 20080528
+packetLen(0x0144, 3) // ZC_COMPASS
+#elif PACKETVER >= 20080520
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080513
+packetLen(0x0144, 4) // ZC_COMPASS
+#elif PACKETVER >= 20080507
+packetLen(0x0144, 7) // ZC_COMPASS
+#elif PACKETVER >= 20080415
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080408
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20080401
+packetLen(0x0144, 65) // ZC_COMPASS
+#elif PACKETVER >= 20080325
+packetLen(0x0144, 282) // ZC_COMPASS
+#elif PACKETVER >= 20080318
+packetLen(0x0144, 7) // ZC_COMPASS
+#elif PACKETVER >= 20080311
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20080304
+packetLen(0x0144, 2) // ZC_COMPASS
+#elif PACKETVER >= 20080226
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20080219
+packetLen(0x0144, 10) // ZC_COMPASS
+#elif PACKETVER >= 20080124
+packetLen(0x0144, 2) // ZC_COMPASS
+#elif PACKETVER >= 20080102
+packetLen(0x0144, 23) // ZC_COMPASS
+#endif
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+#if PACKETVER >= 20080624
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080617
+packetLen(0x0146, 23) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080610
+packetLen(0x0146, 5) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080603
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080528
+packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080513
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080507
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080429
+packetLen(0x0146, 65) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080422
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080408
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080401
+packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080325
+packetLen(0x0146, 2) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080318
+packetLen(0x0146, 42) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x0146, 7) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080124
+packetLen(0x0146, 8) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#endif
+
+// Packet: 0x0147
+#if PACKETVER >= 20080701
+packetLen(0x0147, 282) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080624
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080617
+packetLen(0x0147, 18) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080610
+packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080520
+packetLen(0x0147, 114) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080513
+packetLen(0x0147, 282) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0147, 4) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080429
+packetLen(0x0147, 20) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080422
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080415
+packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0147, 90) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0147, 6) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0147, 16) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0147, 11) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0147, 2) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+#endif
+
+// Packet: 0x0148
+#if PACKETVER >= 20080617
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20080610
+packetLen(0x0148, 2) // ZC_RESURRECTION
+#elif PACKETVER >= 20080528
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20080513
+packetLen(0x0148, 6) // ZC_RESURRECTION
+#elif PACKETVER >= 20080507
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20080429
+packetLen(0x0148, 14) // ZC_RESURRECTION
+#elif PACKETVER >= 20080422
+packetLen(0x0148, 2) // ZC_RESURRECTION
+#elif PACKETVER >= 20080415
+packetLen(0x0148, 39) // ZC_RESURRECTION
+#elif PACKETVER >= 20080408
+packetLen(0x0148, 10) // ZC_RESURRECTION
+#elif PACKETVER >= 20080401
+packetLen(0x0148, 7) // ZC_RESURRECTION
+#elif PACKETVER >= 20080325
+packetLen(0x0148, 10) // ZC_RESURRECTION
+#elif PACKETVER >= 20080318
+packetLen(0x0148, 6) // ZC_RESURRECTION
+#elif PACKETVER >= 20080311
+packetLen(0x0148, 54) // ZC_RESURRECTION
+#elif PACKETVER >= 20080304
+packetLen(0x0148, 282) // ZC_RESURRECTION
+#elif PACKETVER >= 20080226
+packetLen(0x0148, 6) // ZC_RESURRECTION
+#elif PACKETVER >= 20080219
+packetLen(0x0148, 4) // ZC_RESURRECTION
+#elif PACKETVER >= 20080124
+packetLen(0x0148, 3) // ZC_RESURRECTION
+#elif PACKETVER >= 20080102
+packetLen(0x0148, 8) // ZC_RESURRECTION
+#endif
+
+// Packet: 0x0149
+#if PACKETVER >= 20080701
+packetLen(0x0149, 14) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080624
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080610
+packetLen(0x0149, 8) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080603
+packetLen(0x0149, 7) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080528
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080520
+packetLen(0x0149, 27) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080513
+packetLen(0x0149, 71) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080429
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080422
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080415
+packetLen(0x0149, 5) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080408
+packetLen(0x0149, 17) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080401
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080325
+packetLen(0x0149, 2) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080318
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x0149, 5) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x0149, 53) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080124
+packetLen(0x0149, 4) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+#endif
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+#if PACKETVER >= 20080701
+packetLen(0x014c, 26) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080624
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x014c, 16) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080429
+packetLen(0x014c, 12) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080415
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080408
+packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x014c, 55) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x014c, 10) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x014c, 9) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080311
+packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#endif
+
+// Packet: 0x014d
+#if PACKETVER >= 20080701
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080624
+packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080603
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080528
+packetLen(0x014d, 30) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080520
+packetLen(0x014d, 282) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080513
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080507
+packetLen(0x014d, 3) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080429
+packetLen(0x014d, 4) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080422
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080415
+packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080401
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080318
+packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080311
+packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080304
+packetLen(0x014d, 11) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080226
+packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080219
+packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080124
+packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080102
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#endif
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+#if PACKETVER >= 20080617
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080603
+packetLen(0x014f, 3) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080528
+packetLen(0x014f, 13) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080507
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080429
+packetLen(0x014f, 23) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080422
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080408
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080401
+packetLen(0x014f, 58) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080325
+packetLen(0x014f, 4) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080318
+packetLen(0x014f, 3) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080304
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080226
+packetLen(0x014f, 97) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080219
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080124
+packetLen(0x014f, 30) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080102
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#endif
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+#if PACKETVER >= 20080701
+packetLen(0x0154, 11) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x0154, 13) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x0154, 5) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080513
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x0154, 16) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080422
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080415
+packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080408
+packetLen(0x0154, 10) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x0154, 39) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x0154, 30) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080311
+packetLen(0x0154, 7) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x0154, 8) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#endif
+
+// Packet: 0x0155
+#if PACKETVER >= 20080624
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080617
+packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080610
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080603
+packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080520
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080513
+packetLen(0x0155, 27) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080507
+packetLen(0x0155, 10) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080422
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080408
+packetLen(0x0155, 6) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080325
+packetLen(0x0155, 22) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080311
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080304
+packetLen(0x0155, 8) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080226
+packetLen(0x0155, 66) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080219
+packetLen(0x0155, 15) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080102
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#endif
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+#if PACKETVER >= 20080701
+packetLen(0x0159, 7) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x0159, 26) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0159, 3) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0159, 27) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0159, 15) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0159, 30) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0159, 29) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0159, 10) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0159, 39) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0159, 6) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0159, 186) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0159, 33) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+#endif
+
+// Packet: 0x015a
+#if PACKETVER >= 20080617
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x015a, 24) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x015a, 2) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x015a, 31) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x015a, 15) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x015a, 4) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x015a, 14) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x015a, 23) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x015a, 33) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x015a, 27) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+#endif
+
+// Packet: 0x015b
+#if PACKETVER >= 20080701
+packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x015b, 20) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x015b, 32) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x015b, 59) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x015b, 79) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x015b, 97) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x015b, 26) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x015b, 30) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x015b, 2) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x015b, 24) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x015b, 33) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x015b, 22) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#endif
+
+// Packet: 0x015c
+#if PACKETVER >= 20080624
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x015c, 7) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x015c, 2) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x015c, 8) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x015c, 18) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x015c, 57) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x015c, 30) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x015c, 15) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x015c, 3) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x015c, 5) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x015c, 14) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+#endif
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+#if PACKETVER >= 20080701
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080624
+packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080610
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080603
+packetLen(0x015e, 4) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080520
+packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080513
+packetLen(0x015e, 2) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080507
+packetLen(0x015e, 9) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080429
+packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080422
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080415
+packetLen(0x015e, 32) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080408
+packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080401
+packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080325
+packetLen(0x015e, 15) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080318
+packetLen(0x015e, 28) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080311
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080304
+packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080226
+packetLen(0x015e, 54) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080219
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080124
+packetLen(0x015e, 16) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080102
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#endif
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+#if PACKETVER >= 20080701
+packetLen(0x0160, 5) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080624
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x0160, 11) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x0160, 5) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x0160, 186) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x0160, 2) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080520
+packetLen(0x0160, 8) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080429
+packetLen(0x0160, 6) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080408
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x0160, 8) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x0160, 4) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x0160, 14) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x0160, 26) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x0160, 2) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x0160, 102) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080124
+packetLen(0x0160, 6) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#endif
+
+// Packet: 0x0161
+#if PACKETVER >= 20080701
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080624
+packetLen(0x0161, 16) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080617
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080610
+packetLen(0x0161, 5) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080603
+packetLen(0x0161, 16) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080528
+packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080520
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080513
+packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080507
+packetLen(0x0161, 4) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080422
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080415
+packetLen(0x0161, 15) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080408
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080401
+packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080325
+packetLen(0x0161, 282) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080318
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0161, 30) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0161, 7) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0161, 21) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080124
+packetLen(0x0161, 8) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#endif
+
+// Packet: 0x0162
+#if PACKETVER >= 20080701
+packetLen(0x0162, 81) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080624
+packetLen(0x0162, 23) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080617
+packetLen(0x0162, 22) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080610
+packetLen(0x0162, 18) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080603
+packetLen(0x0162, 30) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080528
+packetLen(0x0162, 66) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080520
+packetLen(0x0162, 10) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080513
+packetLen(0x0162, 3) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080507
+packetLen(0x0162, 30) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080429
+packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080422
+packetLen(0x0162, 13) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080415
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080408
+packetLen(0x0162, 3) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080401
+packetLen(0x0162, 282) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080325
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0162, 26) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080124
+packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#endif
+
+// Packet: 0x0163
+#if PACKETVER >= 20080610
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0163, 44) // ZC_BAN_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0163, 68) // ZC_BAN_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x0163, 42) // ZC_BAN_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x0163, 2) // ZC_BAN_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0163, 86) // ZC_BAN_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0163, 8) // ZC_BAN_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0163, 4) // ZC_BAN_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0163, 30) // ZC_BAN_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#endif
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+#if PACKETVER >= 20080701
+packetLen(0x0165, 54) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0165, 114) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0165, 11) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0165, 10) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0165, 182) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0165, 5) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0165, 97) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0165, 26) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0165, 102) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0165, 29) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0165, 6) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+#endif
+
+// Packet: 0x0166
+#if PACKETVER >= 20080701
+packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x0166, 27) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080520
+packetLen(0x0166, 16) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080513
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x0166, 7) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080429
+packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080415
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x0166, 3) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x0166, 68) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080311
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x0166, 5) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x0166, 18) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#endif
+
+// Packet: 0x0167
+#if PACKETVER >= 20080617
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0167, 9) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0167, 67) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0167, 26) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0167, 86) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0167, 4) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0167, 42) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0167, 4) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0167, 14) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0167, 71) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0167, 2) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0167, 58) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+#endif
+
+// Packet: 0x0168
+#if PACKETVER >= 20080701
+packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x0168, 9) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0168, 282) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0168, 15) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0168, 22) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0168, 3) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0168, 4) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+#endif
+
+// Packet: 0x0169
+#if PACKETVER >= 20080701
+packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0169, 9) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0169, 282) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#endif
+
+// Packet: 0x016a
+#if PACKETVER >= 20080701
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x016a, 10) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x016a, 24) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x016a, 22) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x016a, 97) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x016a, 7) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x016a, 44) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x016a, 32) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x016a, 26) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x016a, 2) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x016a, 3) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+#endif
+
+// Packet: 0x016b
+#if PACKETVER >= 20080624
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x016b, 6) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x016b, 4) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x016b, 8) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x016b, 27) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x016b, 22) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x016b, 20) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x016b, 6) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x016b, 11) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+#endif
+
+// Packet: 0x016c
+#if PACKETVER >= 20080701
+packetLen(0x016c, 7) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080624
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080617
+packetLen(0x016c, 10) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080610
+packetLen(0x016c, 28) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080603
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080528
+packetLen(0x016c, 54) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080520
+packetLen(0x016c, 30) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080513
+packetLen(0x016c, 14) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080507
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080429
+packetLen(0x016c, 57) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080422
+packetLen(0x016c, 10) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080408
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080401
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080325
+packetLen(0x016c, 32) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080318
+packetLen(0x016c, 22) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080311
+packetLen(0x016c, 4) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080304
+packetLen(0x016c, 2) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080226
+packetLen(0x016c, 8) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080219
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080124
+packetLen(0x016c, 9) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080102
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+#endif
+
+// Packet: 0x016d
+#if PACKETVER >= 20080701
+packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080617
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080610
+packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080603
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080528
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080520
+packetLen(0x016d, 13) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080507
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080429
+packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080422
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080415
+packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080408
+packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080401
+packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080325
+packetLen(0x016d, 6) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080318
+packetLen(0x016d, 19) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080311
+packetLen(0x016d, 22) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080304
+packetLen(0x016d, 8) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080226
+packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080219
+packetLen(0x016d, 30) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080124
+packetLen(0x016d, 2) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080102
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+#endif
+
+// Packet: 0x016e
+#if PACKETVER >= 20080701
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080624
+packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080617
+packetLen(0x016e, 39) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080520
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080513
+packetLen(0x016e, 15) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080429
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080422
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080415
+packetLen(0x016e, 42) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080401
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080325
+packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080318
+packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080311
+packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080304
+packetLen(0x016e, 30) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080226
+packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080219
+packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080124
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080102
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+#endif
+
+// Packet: 0x016f
+#if PACKETVER >= 20080701
+packetLen(0x016f, 44) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080624
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080617
+packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080603
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080528
+packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080507
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080429
+packetLen(0x016f, 14) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080422
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080415
+packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080408
+packetLen(0x016f, 7) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080401
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080325
+packetLen(0x016f, 22) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080318
+packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080311
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080304
+packetLen(0x016f, 12) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080226
+packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080219
+packetLen(0x016f, 4) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080124
+packetLen(0x016f, 29) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080102
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+#endif
+
+// Packet: 0x0170
+#if PACKETVER >= 20080701
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x0170, 20) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0170, 102) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0170, 26) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0170, 22) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0170, 282) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0170, 4) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0170, 81) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0170, 60) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#endif
+
+// Packet: 0x0171
+#if PACKETVER >= 20080701
+packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x0171, 3) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0171, 282) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0171, 7) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0171, 5) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0171, 23) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0171, 3) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+#endif
+
+// Packet: 0x0172
+#if PACKETVER >= 20080624
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0172, 102) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0172, 3) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0172, 6) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0172, 28) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0172, 2) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0172, 6) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0172, 14) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0172, 3) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0172, 53) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0172, 22) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0172, 14) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+#endif
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+#if PACKETVER >= 20080701
+packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0177, 31) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0177, 58) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x0177, 30) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x0177, 26) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0177, 28) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0177, 114) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x0177, 10) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0177, 11) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0177, 27) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0177, 34) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0177, 30) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#endif
+
+// Packet: 0x0178
+#if PACKETVER >= 20080624
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080617
+packetLen(0x0178, 10) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080603
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080528
+packetLen(0x0178, 33) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080520
+packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080513
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080429
+packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080415
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080408
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080401
+packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080325
+packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080318
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080311
+packetLen(0x0178, 11) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080304
+packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080226
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080219
+packetLen(0x0178, 30) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080124
+packetLen(0x0178, 68) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080102
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+#endif
+
+// Packet: 0x0179
+#if PACKETVER >= 20080701
+packetLen(0x0179, 59) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080624
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080617
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080610
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080603
+packetLen(0x0179, 27) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080528
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080520
+packetLen(0x0179, 11) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080513
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080507
+packetLen(0x0179, 43) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080429
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080422
+packetLen(0x0179, 55) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080415
+packetLen(0x0179, 4) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080408
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080401
+packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080325
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080318
+packetLen(0x0179, 8) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080311
+packetLen(0x0179, 2) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080304
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080219
+packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080124
+packetLen(0x0179, 15) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080102
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+#endif
+
+// Packet: 0x017a
+#if PACKETVER >= 20080701
+packetLen(0x017a, 29) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x017a, 28) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x017a, 5) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x017a, 2) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x017a, 31) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x017a, 8) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x017a, 13) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x017a, 30) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x017a, 7) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#endif
+
+// Packet: 0x017b
+#if PACKETVER >= 20080701
+packetLen(0x017b, 2) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x017b, 2) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x017b, 68) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x017b, 53) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x017b, 8) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x017b, 11) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x017b, 9) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x017b, 18) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#endif
+
+// Packet: 0x017c
+#if PACKETVER >= 20080701
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080624
+packetLen(0x017c, 55) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080617
+packetLen(0x017c, 26) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080610
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080603
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080528
+packetLen(0x017c, 21) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080520
+packetLen(0x017c, 39) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080513
+packetLen(0x017c, 7) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080422
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080408
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080401
+packetLen(0x017c, 31) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080311
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080304
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080226
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080219
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080124
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080102
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#endif
+
+// Packet: 0x017d
+#if PACKETVER >= 20080701
+packetLen(0x017d, 33) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080610
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080603
+packetLen(0x017d, 3) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080528
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080520
+packetLen(0x017d, 4) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080422
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080415
+packetLen(0x017d, 11) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080408
+packetLen(0x017d, 6) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080401
+packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080325
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080318
+packetLen(0x017d, 28) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080311
+packetLen(0x017d, 34) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080304
+packetLen(0x017d, 30) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080219
+packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080124
+packetLen(0x017d, 10) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080102
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+#endif
+
+// Packet: 0x017e
+#if PACKETVER >= 20080701
+packetLen(0x017e, 4) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080624
+packetLen(0x017e, 6) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080617
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080610
+packetLen(0x017e, 2) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080603
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080528
+packetLen(0x017e, 29) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080520
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080513
+packetLen(0x017e, 3) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080507
+packetLen(0x017e, 32) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080429
+packetLen(0x017e, 3) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080422
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080415
+packetLen(0x017e, 14) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080408
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080401
+packetLen(0x017e, 4) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080325
+packetLen(0x017e, 14) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080318
+packetLen(0x017e, 3) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080311
+packetLen(0x017e, 31) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080304
+packetLen(0x017e, 10) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080226
+packetLen(0x017e, 7) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080219
+packetLen(0x017e, 28) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080124
+packetLen(0x017e, 7) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080102
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#endif
+
+// Packet: 0x017f
+#if PACKETVER >= 20080624
+packetLen(0x017f, 2) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080520
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080513
+packetLen(0x017f, 54) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080507
+packetLen(0x017f, 11) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080429
+packetLen(0x017f, 4) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080415
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080408
+packetLen(0x017f, 20) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080401
+packetLen(0x017f, 6) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080325
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080318
+packetLen(0x017f, 4) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080311
+packetLen(0x017f, 35) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080304
+packetLen(0x017f, 14) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080226
+packetLen(0x017f, 30) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080219
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080124
+packetLen(0x017f, 30) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080102
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#endif
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+#if PACKETVER >= 20080617
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080610
+packetLen(0x0188, 29) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080603
+packetLen(0x0188, 14) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080528
+packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080520
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080513
+packetLen(0x0188, 10) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080507
+packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080415
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080408
+packetLen(0x0188, 7) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080401
+packetLen(0x0188, 6) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080325
+packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080318
+packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080311
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080304
+packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080226
+packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080219
+packetLen(0x0188, 27) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080124
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080102
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+#endif
+
+// Packet: 0x0189
+#if PACKETVER >= 20080624
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080617
+packetLen(0x0189, 55) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080610
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080603
+packetLen(0x0189, 7) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080528
+packetLen(0x0189, 24) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080520
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080513
+packetLen(0x0189, 10) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080415
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080408
+packetLen(0x0189, 58) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080401
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080325
+packetLen(0x0189, 31) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080318
+packetLen(0x0189, 30) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0189, 17) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0189, 8) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080124
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+#endif
+
+// Packet: 0x018a
+#if PACKETVER >= 20080701
+packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080624
+packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080617
+packetLen(0x018a, 18) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080610
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080603
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080528
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080520
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080429
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080422
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080415
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080408
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080401
+packetLen(0x018a, 32) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080325
+packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080318
+packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080311
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080304
+packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080226
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080219
+packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080124
+packetLen(0x018a, 5) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080102
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#endif
+
+// Packet: 0x018b
+#if PACKETVER >= 20080701
+packetLen(0x018b, 66) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080610
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080603
+packetLen(0x018b, 182) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080528
+packetLen(0x018b, 12) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080520
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080513
+packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080507
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080429
+packetLen(0x018b, 102) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080408
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080401
+packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080325
+packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080318
+packetLen(0x018b, 30) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080311
+packetLen(0x018b, 7) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080304
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080226
+packetLen(0x018b, 10) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080124
+packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080102
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+#endif
+
+// Packet: 0x018c
+#if PACKETVER >= 20080701
+packetLen(0x018c, 14) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080624
+packetLen(0x018c, 8) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x018c, 31) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x018c, 282) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x018c, 8) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080520
+packetLen(0x018c, 102) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080513
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x018c, 21) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x018c, 8) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x018c, 6) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x018c, 2) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080124
+packetLen(0x018c, 6) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+#endif
+
+// Packet: 0x018d
+#if PACKETVER >= 20080701
+packetLen(0x018d, 2) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x018d, 65) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x018d, 9) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x018d, 2) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x018d, 59) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x018d, 79) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x018d, 7) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x018d, 39) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x018d, 22) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x018d, 4) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#endif
+
+// Packet: 0x018e
+#if PACKETVER >= 20080701
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080624
+packetLen(0x018e, 14) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080617
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080610
+packetLen(0x018e, 59) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080603
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080528
+packetLen(0x018e, 5) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080520
+packetLen(0x018e, 11) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080513
+packetLen(0x018e, 2) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080429
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080422
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080415
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080408
+packetLen(0x018e, 27) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080401
+packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080325
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080318
+packetLen(0x018e, 65) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080311
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080304
+packetLen(0x018e, 58) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080226
+packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080219
+packetLen(0x018e, 39) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080124
+packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080102
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20080617
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080610
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080603
+packetLen(0x018f, 12) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080520
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080513
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080507
+packetLen(0x018f, 7) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080429
+packetLen(0x018f, 14) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080422
+packetLen(0x018f, 10) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080415
+packetLen(0x018f, 30) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080408
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080401
+packetLen(0x018f, 11) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080325
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080318
+packetLen(0x018f, 7) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080311
+packetLen(0x018f, 11) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080304
+packetLen(0x018f, 3) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080226
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080219
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080124
+packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080102
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+#if PACKETVER >= 20080701
+packetLen(0x0194, 42) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080624
+packetLen(0x0194, 26) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080617
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080610
+packetLen(0x0194, 2) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080528
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080520
+packetLen(0x0194, 2) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080513
+packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080507
+packetLen(0x0194, 53) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080429
+packetLen(0x0194, 59) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080422
+packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080415
+packetLen(0x0194, 11) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080408
+packetLen(0x0194, 21) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080401
+packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080325
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080318
+packetLen(0x0194, 16) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080311
+packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080304
+packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080226
+packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080219
+packetLen(0x0194, 14) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080124
+packetLen(0x0194, 282) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080102
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+#endif
+
+// Packet: 0x0195
+#if PACKETVER >= 20080701
+packetLen(0x0195, 26) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080610
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080603
+packetLen(0x0195, 53) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080528
+packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080513
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080507
+packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080429
+packetLen(0x0195, 31) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080422
+packetLen(0x0195, 66) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080415
+packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080408
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080401
+packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080325
+packetLen(0x0195, 60) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080318
+packetLen(0x0195, 29) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080311
+packetLen(0x0195, 15) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080304
+packetLen(0x0195, 28) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080226
+packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080219
+packetLen(0x0195, 43) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080124
+packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080102
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+#endif
+
+// Packet: 0x0196
+#if PACKETVER >= 20080701
+packetLen(0x0196, 15) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x0196, 67) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x0196, 22) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x0196, 3) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x0196, 31) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x0196, 30) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x0196, 11) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x0196, 6) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x0196, 27) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x0196, 6) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x0196, 2) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x0196, 26) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+#endif
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+#if PACKETVER >= 20080701
+packetLen(0x0199, 7) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080624
+packetLen(0x0199, 29) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080617
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080610
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080603
+packetLen(0x0199, 33) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080528
+packetLen(0x0199, 11) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080520
+packetLen(0x0199, 5) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080513
+packetLen(0x0199, 28) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080507
+packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080415
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080408
+packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080401
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080325
+packetLen(0x0199, 44) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080318
+packetLen(0x0199, 2) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080311
+packetLen(0x0199, 17) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080304
+packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080226
+packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080219
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080124
+packetLen(0x0199, 5) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080102
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+#endif
+
+// Packet: 0x019a
+#if PACKETVER >= 20080701
+packetLen(0x019a, 58) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080624
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080617
+packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080610
+packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080603
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080528
+packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080520
+packetLen(0x019a, 17) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080513
+packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080507
+packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080429
+packetLen(0x019a, 2) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080415
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080408
+packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080401
+packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080325
+packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080318
+packetLen(0x019a, 4) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080311
+packetLen(0x019a, 30) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080304
+packetLen(0x019a, 35) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080226
+packetLen(0x019a, 42) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080219
+packetLen(0x019a, 10) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080124
+packetLen(0x019a, 57) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080102
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+#endif
+
+// Packet: 0x019b
+#if PACKETVER >= 20080624
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080617
+packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080610
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080603
+packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080528
+packetLen(0x019b, 27) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080520
+packetLen(0x019b, 18) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080513
+packetLen(0x019b, 68) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080507
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080429
+packetLen(0x019b, 17) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080415
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080408
+packetLen(0x019b, 29) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080401
+packetLen(0x019b, 54) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080318
+packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080311
+packetLen(0x019b, 6) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080304
+packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080226
+packetLen(0x019b, 65) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080219
+packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080124
+packetLen(0x019b, 30) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080102
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+#endif
+
+// Packet: 0x019c
+#if PACKETVER >= 20080701
+packetLen(0x019c, 282) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080624
+packetLen(0x019c, 29) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080617
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080610
+packetLen(0x019c, 6) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080603
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080528
+packetLen(0x019c, 55) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080520
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080513
+packetLen(0x019c, 81) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080507
+packetLen(0x019c, 18) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080429
+packetLen(0x019c, 79) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080422
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080415
+packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080408
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080401
+packetLen(0x019c, 54) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080325
+packetLen(0x019c, 23) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080318
+packetLen(0x019c, 43) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080311
+packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080226
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080219
+packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080124
+packetLen(0x019c, 186) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080102
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#endif
+
+// Packet: 0x019d
+#if PACKETVER >= 20080701
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080624
+packetLen(0x019d, 30) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080603
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080528
+packetLen(0x019d, 2) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080520
+packetLen(0x019d, 8) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080513
+packetLen(0x019d, 11) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080429
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080422
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080415
+packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080408
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080401
+packetLen(0x019d, 68) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080325
+packetLen(0x019d, 4) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080318
+packetLen(0x019d, 14) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080311
+packetLen(0x019d, 4) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080226
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080219
+packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080124
+packetLen(0x019d, 22) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080102
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+#endif
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+#if PACKETVER >= 20080701
+packetLen(0x019f, 36) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080610
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080603
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080528
+packetLen(0x019f, 20) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080520
+packetLen(0x019f, 18) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080513
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080507
+packetLen(0x019f, 26) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080429
+packetLen(0x019f, 3) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080422
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080415
+packetLen(0x019f, 8) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080408
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080401
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080325
+packetLen(0x019f, 34) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080318
+packetLen(0x019f, 10) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080311
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080304
+packetLen(0x019f, 23) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080226
+packetLen(0x019f, 79) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080124
+packetLen(0x019f, 2) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080102
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#endif
+
+// Packet: 0x01a0
+#if PACKETVER >= 20080701
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080624
+packetLen(0x01a0, 5) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080617
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080610
+packetLen(0x01a0, 11) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080603
+packetLen(0x01a0, 29) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080528
+packetLen(0x01a0, 4) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080520
+packetLen(0x01a0, 42) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080513
+packetLen(0x01a0, 24) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080507
+packetLen(0x01a0, 23) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080429
+packetLen(0x01a0, 11) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080408
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080401
+packetLen(0x01a0, 30) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080325
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080318
+packetLen(0x01a0, 17) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080311
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080304
+packetLen(0x01a0, 22) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080226
+packetLen(0x01a0, 8) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080219
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080124
+packetLen(0x01a0, 7) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080102
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+#endif
+
+// Packet: 0x01a1
+#if PACKETVER >= 20080701
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080617
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080610
+packetLen(0x01a1, 10) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080603
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080528
+packetLen(0x01a1, 7) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080520
+packetLen(0x01a1, 21) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080507
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080429
+packetLen(0x01a1, 7) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080422
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080415
+packetLen(0x01a1, 28) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080408
+packetLen(0x01a1, 282) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080401
+packetLen(0x01a1, 30) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080325
+packetLen(0x01a1, 7) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080318
+packetLen(0x01a1, 4) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a1, 53) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a1, 26) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a1, 6) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080124
+packetLen(0x01a1, 5) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#endif
+
+// Packet: 0x01a2
+#if PACKETVER >= 20080701
+packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080624
+packetLen(0x01a2, 3) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080610
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080603
+packetLen(0x01a2, 28) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080520
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080513
+packetLen(0x01a2, 54) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080507
+packetLen(0x01a2, 27) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080429
+packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080422
+packetLen(0x01a2, 30) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080415
+packetLen(0x01a2, 68) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080408
+packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080401
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080318
+packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a2, 4) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a2, 8) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080124
+packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+#endif
+
+// Packet: 0x01a3
+#if PACKETVER >= 20080701
+packetLen(0x01a3, 31) // ZC_FEED_PET
+#elif PACKETVER >= 20080624
+packetLen(0x01a3, 8) // ZC_FEED_PET
+#elif PACKETVER >= 20080610
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080603
+packetLen(0x01a3, 26) // ZC_FEED_PET
+#elif PACKETVER >= 20080528
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080520
+packetLen(0x01a3, 26) // ZC_FEED_PET
+#elif PACKETVER >= 20080513
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080507
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#elif PACKETVER >= 20080429
+packetLen(0x01a3, 9) // ZC_FEED_PET
+#elif PACKETVER >= 20080422
+packetLen(0x01a3, 30) // ZC_FEED_PET
+#elif PACKETVER >= 20080415
+packetLen(0x01a3, 3) // ZC_FEED_PET
+#elif PACKETVER >= 20080318
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a3, 32) // ZC_FEED_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a3, 6) // ZC_FEED_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a3, 4) // ZC_FEED_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a3, 11) // ZC_FEED_PET
+#elif PACKETVER >= 20080124
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#endif
+
+// Packet: 0x01a4
+#if PACKETVER >= 20080617
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080610
+packetLen(0x01a4, 4) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080603
+packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080528
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080520
+packetLen(0x01a4, 34) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080513
+packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080507
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080429
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080422
+packetLen(0x01a4, 102) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080415
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080408
+packetLen(0x01a4, 16) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080401
+packetLen(0x01a4, 36) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080325
+packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080318
+packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a4, 4) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080124
+packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+#endif
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+#if PACKETVER >= 20080701
+packetLen(0x01a6, 4) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x01a6, 4) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x01a6, 30) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x01a6, 26) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x01a6, 27) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#endif
+
+// Packet: 0x01a7
+#if PACKETVER >= 20080701
+packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080617
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080603
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080528
+packetLen(0x01a7, 30) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080520
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080513
+packetLen(0x01a7, 18) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080507
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080429
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080422
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080415
+packetLen(0x01a7, 18) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080408
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080401
+packetLen(0x01a7, 22) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080325
+packetLen(0x01a7, 16) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080318
+packetLen(0x01a7, 26) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080311
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080226
+packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080219
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080124
+packetLen(0x01a7, 3) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080102
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#endif
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+#if PACKETVER >= 20080624
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080610
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080603
+packetLen(0x01aa, 43) // ZC_PET_ACT
+#elif PACKETVER >= 20080528
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080520
+packetLen(0x01aa, 28) // ZC_PET_ACT
+#elif PACKETVER >= 20080513
+packetLen(0x01aa, 60) // ZC_PET_ACT
+#elif PACKETVER >= 20080507
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080422
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080415
+packetLen(0x01aa, 8) // ZC_PET_ACT
+#elif PACKETVER >= 20080408
+packetLen(0x01aa, 28) // ZC_PET_ACT
+#elif PACKETVER >= 20080401
+packetLen(0x01aa, 7) // ZC_PET_ACT
+#elif PACKETVER >= 20080318
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080311
+packetLen(0x01aa, 9) // ZC_PET_ACT
+#elif PACKETVER >= 20080304
+packetLen(0x01aa, 67) // ZC_PET_ACT
+#elif PACKETVER >= 20080219
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080124
+packetLen(0x01aa, 54) // ZC_PET_ACT
+#elif PACKETVER >= 20080102
+packetLen(0x01aa, 10) // ZC_PET_ACT
+#endif
+
+// Packet: 0x01ab
+#if PACKETVER >= 20080701
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080624
+packetLen(0x01ab, 60) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080617
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080610
+packetLen(0x01ab, 11) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080528
+packetLen(0x01ab, 6) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080520
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080513
+packetLen(0x01ab, 30) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080507
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080429
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080422
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080415
+packetLen(0x01ab, 35) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080408
+packetLen(0x01ab, 79) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080401
+packetLen(0x01ab, 18) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080325
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080311
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080304
+packetLen(0x01ab, 4) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080226
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080219
+packetLen(0x01ab, 3) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080124
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080102
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+#endif
+
+// Packet: 0x01ac
+#if PACKETVER >= 20080610
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080603
+packetLen(0x01ac, 59) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080528
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080520
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080513
+packetLen(0x01ac, 44) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080507
+packetLen(0x01ac, 10) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080429
+packetLen(0x01ac, 14) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080422
+packetLen(0x01ac, 3) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080415
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080408
+packetLen(0x01ac, 29) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080325
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080318
+packetLen(0x01ac, 97) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080311
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080304
+packetLen(0x01ac, 2) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080226
+packetLen(0x01ac, 4) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080219
+packetLen(0x01ac, 26) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080124
+packetLen(0x01ac, 17) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080102
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#endif
+
+// Packet: 0x01ad
+#if PACKETVER >= 20080624
+packetLen(0x01ad, 2) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x01ad, 8) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x01ad, 6) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x01ad, 26) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x01ad, 14) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x01ad, 39) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x01ad, 6) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x01ad, 54) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x01ad, 5) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#endif
+
+// Packet: 0x01ae
+#if PACKETVER >= 20080701
+packetLen(0x01ae, 7) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080624
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080617
+packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080610
+packetLen(0x01ae, 43) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080528
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080520
+packetLen(0x01ae, 8) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080429
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080422
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080415
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080408
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080401
+packetLen(0x01ae, 14) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080318
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080311
+packetLen(0x01ae, 26) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080304
+packetLen(0x01ae, 15) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080226
+packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080219
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080124
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080102
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+#if PACKETVER >= 20080701
+packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x01b0, 4) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x01b0, 21) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x01b0, 16) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+#endif
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+#if PACKETVER >= 20080624
+packetLen(0x01b2, 6) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080617
+packetLen(0x01b2, 3) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080610
+packetLen(0x01b2, 2) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080603
+packetLen(0x01b2, 57) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080528
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080520
+packetLen(0x01b2, 54) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080507
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080429
+packetLen(0x01b2, 14) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080401
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080325
+packetLen(0x01b2, 14) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080318
+packetLen(0x01b2, 28) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080311
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080304
+packetLen(0x01b2, 10) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080226
+packetLen(0x01b2, 282) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080219
+packetLen(0x01b2, 26) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080124
+packetLen(0x01b2, 11) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080102
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#endif
+
+// Packet: 0x01b3
+#if PACKETVER >= 20080610
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080603
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080528
+packetLen(0x01b3, 60) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080520
+packetLen(0x01b3, 71) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080513
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080507
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080422
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080415
+packetLen(0x01b3, 22) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080408
+packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080401
+packetLen(0x01b3, 4) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080325
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080318
+packetLen(0x01b3, 33) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080311
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080304
+packetLen(0x01b3, 9) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080226
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080219
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080124
+packetLen(0x01b3, 20) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080102
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+#endif
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+#if PACKETVER >= 20080701
+packetLen(0x01b6, 12) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080624
+packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080617
+packetLen(0x01b6, 26) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080610
+packetLen(0x01b6, 55) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080603
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080528
+packetLen(0x01b6, 33) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080513
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080507
+packetLen(0x01b6, 7) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080429
+packetLen(0x01b6, 86) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080422
+packetLen(0x01b6, 23) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080408
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080401
+packetLen(0x01b6, 60) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080325
+packetLen(0x01b6, 12) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080318
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080311
+packetLen(0x01b6, 3) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080304
+packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080226
+packetLen(0x01b6, 18) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080219
+packetLen(0x01b6, 22) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080124
+packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080102
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+#endif
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+#if PACKETVER >= 20080701
+packetLen(0x01b9, 14) // ZC_DISPEL
+#elif PACKETVER >= 20080617
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080610
+packetLen(0x01b9, 6) // ZC_DISPEL
+#elif PACKETVER >= 20080603
+packetLen(0x01b9, 8) // ZC_DISPEL
+#elif PACKETVER >= 20080429
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080422
+packetLen(0x01b9, 7) // ZC_DISPEL
+#elif PACKETVER >= 20080415
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080408
+packetLen(0x01b9, 4) // ZC_DISPEL
+#elif PACKETVER >= 20080401
+packetLen(0x01b9, 10) // ZC_DISPEL
+#elif PACKETVER >= 20080325
+packetLen(0x01b9, 26) // ZC_DISPEL
+#elif PACKETVER >= 20080318
+packetLen(0x01b9, 9) // ZC_DISPEL
+#elif PACKETVER >= 20080311
+packetLen(0x01b9, 3) // ZC_DISPEL
+#elif PACKETVER >= 20080304
+packetLen(0x01b9, 30) // ZC_DISPEL
+#elif PACKETVER >= 20080226
+packetLen(0x01b9, 60) // ZC_DISPEL
+#elif PACKETVER >= 20080219
+packetLen(0x01b9, 2) // ZC_DISPEL
+#elif PACKETVER >= 20080124
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080102
+packetLen(0x01b9, 6) // ZC_DISPEL
+#endif
+
+// Packet: 0x01ba
+#if PACKETVER >= 20080701
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080624
+packetLen(0x01ba, 6) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080617
+packetLen(0x01ba, 3) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080528
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080520
+packetLen(0x01ba, 7) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080513
+packetLen(0x01ba, 22) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080507
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080429
+packetLen(0x01ba, 3) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080415
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080408
+packetLen(0x01ba, 6) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080401
+packetLen(0x01ba, 4) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080325
+packetLen(0x01ba, 81) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080311
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080304
+packetLen(0x01ba, 8) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080226
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080219
+packetLen(0x01ba, 14) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080124
+packetLen(0x01ba, 60) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080102
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+#endif
+
+// Packet: 0x01bb
+#if PACKETVER >= 20080603
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080528
+packetLen(0x01bb, 16) // CZ_SHIFT
+#elif PACKETVER >= 20080513
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080429
+packetLen(0x01bb, 2) // CZ_SHIFT
+#elif PACKETVER >= 20080422
+packetLen(0x01bb, 26) // CZ_SHIFT
+#elif PACKETVER >= 20080415
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080408
+packetLen(0x01bb, 3) // CZ_SHIFT
+#elif PACKETVER >= 20080401
+packetLen(0x01bb, 4) // CZ_SHIFT
+#elif PACKETVER >= 20080325
+packetLen(0x01bb, 43) // CZ_SHIFT
+#elif PACKETVER >= 20080318
+packetLen(0x01bb, 31) // CZ_SHIFT
+#elif PACKETVER >= 20080311
+packetLen(0x01bb, 4) // CZ_SHIFT
+#elif PACKETVER >= 20080304
+packetLen(0x01bb, 8) // CZ_SHIFT
+#elif PACKETVER >= 20080226
+packetLen(0x01bb, 6) // CZ_SHIFT
+#elif PACKETVER >= 20080219
+packetLen(0x01bb, 3) // CZ_SHIFT
+#elif PACKETVER >= 20080124
+packetLen(0x01bb, 81) // CZ_SHIFT
+#elif PACKETVER >= 20080102
+packetLen(0x01bb, 26) // CZ_SHIFT
+#endif
+
+// Packet: 0x01bc
+#if PACKETVER >= 20080617
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080610
+packetLen(0x01bc, 2) // CZ_RECALL
+#elif PACKETVER >= 20080603
+packetLen(0x01bc, 282) // CZ_RECALL
+#elif PACKETVER >= 20080528
+packetLen(0x01bc, 7) // CZ_RECALL
+#elif PACKETVER >= 20080520
+packetLen(0x01bc, 10) // CZ_RECALL
+#elif PACKETVER >= 20080513
+packetLen(0x01bc, 20) // CZ_RECALL
+#elif PACKETVER >= 20080507
+packetLen(0x01bc, 39) // CZ_RECALL
+#elif PACKETVER >= 20080429
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080422
+packetLen(0x01bc, 26) // CZ_RECALL
+#elif PACKETVER >= 20080415
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080408
+packetLen(0x01bc, 8) // CZ_RECALL
+#elif PACKETVER >= 20080401
+packetLen(0x01bc, 4) // CZ_RECALL
+#elif PACKETVER >= 20080325
+packetLen(0x01bc, 26) // CZ_RECALL
+#elif PACKETVER >= 20080318
+packetLen(0x01bc, 4) // CZ_RECALL
+#elif PACKETVER >= 20080311
+packetLen(0x01bc, 9) // CZ_RECALL
+#elif PACKETVER >= 20080304
+packetLen(0x01bc, 6) // CZ_RECALL
+#elif PACKETVER >= 20080226
+packetLen(0x01bc, 86) // CZ_RECALL
+#elif PACKETVER >= 20080219
+packetLen(0x01bc, 9) // CZ_RECALL
+#elif PACKETVER >= 20080124
+packetLen(0x01bc, 10) // CZ_RECALL
+#elif PACKETVER >= 20080102
+packetLen(0x01bc, 26) // CZ_RECALL
+#endif
+
+// Packet: 0x01bd
+#if PACKETVER >= 20080701
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20080624
+packetLen(0x01bd, 22) // CZ_RECALL_GID
+#elif PACKETVER >= 20080617
+packetLen(0x01bd, 44) // CZ_RECALL_GID
+#elif PACKETVER >= 20080610
+packetLen(0x01bd, 3) // CZ_RECALL_GID
+#elif PACKETVER >= 20080603
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080528
+packetLen(0x01bd, 9) // CZ_RECALL_GID
+#elif PACKETVER >= 20080520
+packetLen(0x01bd, 35) // CZ_RECALL_GID
+#elif PACKETVER >= 20080507
+packetLen(0x01bd, 4) // CZ_RECALL_GID
+#elif PACKETVER >= 20080429
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080422
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+#elif PACKETVER >= 20080415
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080408
+packetLen(0x01bd, 102) // CZ_RECALL_GID
+#elif PACKETVER >= 20080401
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080325
+packetLen(0x01bd, 21) // CZ_RECALL_GID
+#elif PACKETVER >= 20080311
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20080304
+packetLen(0x01bd, 102) // CZ_RECALL_GID
+#elif PACKETVER >= 20080226
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080219
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20080124
+packetLen(0x01bd, 2) // CZ_RECALL_GID
+#elif PACKETVER >= 20080102
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+#endif
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+#if PACKETVER >= 20080701
+packetLen(0x01c3, 10) // ZC_BROADCAST2
+#elif PACKETVER >= 20080624
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080617
+packetLen(0x01c3, 6) // ZC_BROADCAST2
+#elif PACKETVER >= 20080610
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080603
+packetLen(0x01c3, 58) // ZC_BROADCAST2
+#elif PACKETVER >= 20080520
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080513
+packetLen(0x01c3, 66) // ZC_BROADCAST2
+#elif PACKETVER >= 20080507
+packetLen(0x01c3, 7) // ZC_BROADCAST2
+#elif PACKETVER >= 20080429
+packetLen(0x01c3, 3) // ZC_BROADCAST2
+#elif PACKETVER >= 20080422
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080415
+packetLen(0x01c3, 30) // ZC_BROADCAST2
+#elif PACKETVER >= 20080408
+packetLen(0x01c3, 6) // ZC_BROADCAST2
+#elif PACKETVER >= 20080401
+packetLen(0x01c3, 14) // ZC_BROADCAST2
+#elif PACKETVER >= 20080325
+packetLen(0x01c3, 30) // ZC_BROADCAST2
+#elif PACKETVER >= 20080318
+packetLen(0x01c3, 9) // ZC_BROADCAST2
+#elif PACKETVER >= 20080311
+packetLen(0x01c3, 58) // ZC_BROADCAST2
+#elif PACKETVER >= 20080304
+packetLen(0x01c3, 4) // ZC_BROADCAST2
+#elif PACKETVER >= 20080226
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080219
+packetLen(0x01c3, 14) // ZC_BROADCAST2
+#elif PACKETVER >= 20080124
+packetLen(0x01c3, 3) // ZC_BROADCAST2
+#elif PACKETVER >= 20080102
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#endif
+
+// Packet: 0x01c4
+#if PACKETVER >= 20080617
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080610
+packetLen(0x01c4, 33) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080528
+packetLen(0x01c4, 6) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080520
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080513
+packetLen(0x01c4, 3) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080507
+packetLen(0x01c4, 31) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080429
+packetLen(0x01c4, 53) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080422
+packetLen(0x01c4, 34) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080415
+packetLen(0x01c4, 11) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080408
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080401
+packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080325
+packetLen(0x01c4, 21) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080311
+packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080219
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080124
+packetLen(0x01c4, 28) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080102
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20080624
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080617
+packetLen(0x01c5, 8) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080610
+packetLen(0x01c5, 26) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080603
+packetLen(0x01c5, 30) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080528
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080520
+packetLen(0x01c5, 11) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080513
+packetLen(0x01c5, 3) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080429
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080422
+packetLen(0x01c5, 4) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080415
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080408
+packetLen(0x01c5, 7) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080401
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080325
+packetLen(0x01c5, 31) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080318
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080311
+packetLen(0x01c5, 10) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080226
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080219
+packetLen(0x01c5, 28) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080124
+packetLen(0x01c5, 90) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080102
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+#if PACKETVER >= 20080624
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080617
+packetLen(0x01c8, 65) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080610
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080603
+packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080513
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080507
+packetLen(0x01c8, 29) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080429
+packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080415
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080408
+packetLen(0x01c8, 26) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080401
+packetLen(0x01c8, 2) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080325
+packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080318
+packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080311
+packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080304
+packetLen(0x01c8, 11) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080226
+packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080219
+packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080124
+packetLen(0x01c8, 5) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080102
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+#endif
+
+// Packet: 0x01c9
+#if PACKETVER >= 20080701
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080624
+packetLen(0x01c9, 11) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080617
+packetLen(0x01c9, 3) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080610
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080603
+packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080528
+packetLen(0x01c9, 14) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080513
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080507
+packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080429
+packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080415
+packetLen(0x01c9, 58) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080408
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080401
+packetLen(0x01c9, 7) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080325
+packetLen(0x01c9, 2) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080318
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01c9, 2) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01c9, 22) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01c9, 26) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080124
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+#endif
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+#if PACKETVER >= 20080701
+packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080617
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080610
+packetLen(0x01cd, 102) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080603
+packetLen(0x01cd, 4) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080513
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080507
+packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080429
+packetLen(0x01cd, 3) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080422
+packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080415
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080408
+packetLen(0x01cd, 12) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080401
+packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080325
+packetLen(0x01cd, 14) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080318
+packetLen(0x01cd, 2) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080311
+packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080304
+packetLen(0x01cd, 5) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080226
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080219
+packetLen(0x01cd, 8) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080124
+packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080102
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+#endif
+
+// Packet: 0x01ce
+#if PACKETVER >= 20080624
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080617
+packetLen(0x01ce, 27) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080610
+packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080603
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080528
+packetLen(0x01ce, 22) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080520
+packetLen(0x01ce, 53) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080513
+packetLen(0x01ce, 4) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080507
+packetLen(0x01ce, 65) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080429
+packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080422
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080408
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080401
+packetLen(0x01ce, 26) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080325
+packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080318
+packetLen(0x01ce, 21) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080304
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080226
+packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080219
+packetLen(0x01ce, 28) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080102
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#endif
+
+// Packet: 0x01cf
+#if PACKETVER >= 20080701
+packetLen(0x01cf, 3) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080624
+packetLen(0x01cf, 11) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080617
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080610
+packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080603
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080528
+packetLen(0x01cf, 15) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080520
+packetLen(0x01cf, 26) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080513
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080507
+packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080415
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080408
+packetLen(0x01cf, 39) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080401
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080325
+packetLen(0x01cf, 186) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080318
+packetLen(0x01cf, 6) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080311
+packetLen(0x01cf, 23) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080304
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080226
+packetLen(0x01cf, 102) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080124
+packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080102
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+#endif
+
+// Packet: 0x01d0
+#if PACKETVER >= 20080701
+packetLen(0x01d0, 3) // ZC_SPIRITS
+#elif PACKETVER >= 20080624
+packetLen(0x01d0, 9) // ZC_SPIRITS
+#elif PACKETVER >= 20080617
+packetLen(0x01d0, 53) // ZC_SPIRITS
+#elif PACKETVER >= 20080610
+packetLen(0x01d0, 7) // ZC_SPIRITS
+#elif PACKETVER >= 20080603
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080528
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080520
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080513
+packetLen(0x01d0, 10) // ZC_SPIRITS
+#elif PACKETVER >= 20080422
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080415
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080408
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080401
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080325
+packetLen(0x01d0, 65) // ZC_SPIRITS
+#elif PACKETVER >= 20080318
+packetLen(0x01d0, 39) // ZC_SPIRITS
+#elif PACKETVER >= 20080304
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080226
+packetLen(0x01d0, 26) // ZC_SPIRITS
+#elif PACKETVER >= 20080219
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080124
+packetLen(0x01d0, 6) // ZC_SPIRITS
+#elif PACKETVER >= 20080102
+packetLen(0x01d0, 8) // ZC_SPIRITS
+#endif
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+#if PACKETVER >= 20080701
+packetLen(0x01d2, 2) // ZC_COMBODELAY
+#elif PACKETVER >= 20080624
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080617
+packetLen(0x01d2, 7) // ZC_COMBODELAY
+#elif PACKETVER >= 20080603
+packetLen(0x01d2, 4) // ZC_COMBODELAY
+#elif PACKETVER >= 20080520
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080513
+packetLen(0x01d2, 8) // ZC_COMBODELAY
+#elif PACKETVER >= 20080507
+packetLen(0x01d2, 58) // ZC_COMBODELAY
+#elif PACKETVER >= 20080415
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080408
+packetLen(0x01d2, 18) // ZC_COMBODELAY
+#elif PACKETVER >= 20080401
+packetLen(0x01d2, 6) // ZC_COMBODELAY
+#elif PACKETVER >= 20080325
+packetLen(0x01d2, 12) // ZC_COMBODELAY
+#elif PACKETVER >= 20080318
+packetLen(0x01d2, 30) // ZC_COMBODELAY
+#elif PACKETVER >= 20080311
+packetLen(0x01d2, 19) // ZC_COMBODELAY
+#elif PACKETVER >= 20080304
+packetLen(0x01d2, 6) // ZC_COMBODELAY
+#elif PACKETVER >= 20080226
+packetLen(0x01d2, 8) // ZC_COMBODELAY
+#elif PACKETVER >= 20080219
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080124
+packetLen(0x01d2, 53) // ZC_COMBODELAY
+#elif PACKETVER >= 20080102
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+#endif
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+#if PACKETVER >= 20080701
+packetLen(0x01d4, 8) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080624
+packetLen(0x01d4, 54) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080617
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080610
+packetLen(0x01d4, 20) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080520
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080513
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080401
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080325
+packetLen(0x01d4, 19) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080318
+packetLen(0x01d4, 60) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080311
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080304
+packetLen(0x01d4, 3) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080226
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080219
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080124
+packetLen(0x01d4, 15) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080102
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#endif
+
+// Packet: 0x01d5
+#if PACKETVER >= 20080701
+packetLen(0x01d5, 3) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080624
+packetLen(0x01d5, 27) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080610
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080603
+packetLen(0x01d5, 9) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080528
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080520
+packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080507
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080429
+packetLen(0x01d5, 4) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080408
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080401
+packetLen(0x01d5, 97) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080325
+packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080318
+packetLen(0x01d5, 34) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080311
+packetLen(0x01d5, 13) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080304
+packetLen(0x01d5, 5) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080226
+packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080219
+packetLen(0x01d5, 16) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080102
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#endif
+
+// Packet: 0x01d6
+#if PACKETVER >= 20080701
+packetLen(0x01d6, 30) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080624
+packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080617
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080610
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080603
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080528
+packetLen(0x01d6, 8) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080520
+packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080513
+packetLen(0x01d6, 35) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080507
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080429
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080422
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080415
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080408
+packetLen(0x01d6, 54) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080401
+packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080325
+packetLen(0x01d6, 54) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080318
+packetLen(0x01d6, 58) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080311
+packetLen(0x01d6, 5) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080304
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080226
+packetLen(0x01d6, 10) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080219
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080124
+packetLen(0x01d6, 16) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080102
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+#endif
+
+// Packet: 0x01d7
+#if PACKETVER >= 20080701
+packetLen(0x01d7, 14) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080624
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080617
+packetLen(0x01d7, 8) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080610
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080603
+packetLen(0x01d7, 5) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080528
+packetLen(0x01d7, 9) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080520
+packetLen(0x01d7, 282) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080513
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080507
+packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080408
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080401
+packetLen(0x01d7, 3) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080325
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080318
+packetLen(0x01d7, 4) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080311
+packetLen(0x01d7, 28) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080304
+packetLen(0x01d7, 54) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080226
+packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080219
+packetLen(0x01d7, 35) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080124
+packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080102
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20080701
+packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080624
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080617
+packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080610
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080603
+packetLen(0x01d8, 11) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080528
+packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080520
+packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080513
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080507
+packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080429
+packetLen(0x01d8, 186) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080415
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080408
+packetLen(0x01d8, 4) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080401
+packetLen(0x01d8, 27) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080325
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080318
+packetLen(0x01d8, 5) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01d8, 2) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01d8, 10) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01d8, 15) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080124
+packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20080701
+packetLen(0x01d9, 39) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080624
+packetLen(0x01d9, 15) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080617
+packetLen(0x01d9, 22) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080610
+packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080528
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080520
+packetLen(0x01d9, 4) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080513
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080507
+packetLen(0x01d9, 60) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080429
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080422
+packetLen(0x01d9, 6) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080415
+packetLen(0x01d9, 26) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080408
+packetLen(0x01d9, 2) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080325
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080318
+packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01d9, 28) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01d9, 42) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080124
+packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20080701
+packetLen(0x01da, 32) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080624
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080617
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080610
+packetLen(0x01da, 12) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080603
+packetLen(0x01da, 10) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080528
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080520
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080513
+packetLen(0x01da, 5) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080507
+packetLen(0x01da, 10) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080429
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080422
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080415
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080408
+packetLen(0x01da, 8) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080401
+packetLen(0x01da, 9) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080325
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080318
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01da, 79) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080124
+packetLen(0x01da, 12) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+#if PACKETVER >= 20080701
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080624
+packetLen(0x01de, 22) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080617
+packetLen(0x01de, 14) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080603
+packetLen(0x01de, 6) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080528
+packetLen(0x01de, 14) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080520
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080513
+packetLen(0x01de, 8) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080507
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080429
+packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080422
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080415
+packetLen(0x01de, 30) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080408
+packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080401
+packetLen(0x01de, 15) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080325
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080318
+packetLen(0x01de, 15) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080311
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080304
+packetLen(0x01de, 7) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080226
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080219
+packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080124
+packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080102
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+#endif
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+#if PACKETVER >= 20080701
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080624
+packetLen(0x01e1, 6) // ZC_SPIRITS2
+#elif PACKETVER >= 20080603
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080528
+packetLen(0x01e1, 43) // ZC_SPIRITS2
+#elif PACKETVER >= 20080520
+packetLen(0x01e1, 32) // ZC_SPIRITS2
+#elif PACKETVER >= 20080513
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080507
+packetLen(0x01e1, 3) // ZC_SPIRITS2
+#elif PACKETVER >= 20080429
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080422
+packetLen(0x01e1, 6) // ZC_SPIRITS2
+#elif PACKETVER >= 20080415
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+#elif PACKETVER >= 20080408
+packetLen(0x01e1, 71) // ZC_SPIRITS2
+#elif PACKETVER >= 20080401
+packetLen(0x01e1, 2) // ZC_SPIRITS2
+#elif PACKETVER >= 20080325
+packetLen(0x01e1, 17) // ZC_SPIRITS2
+#elif PACKETVER >= 20080318
+packetLen(0x01e1, 60) // ZC_SPIRITS2
+#elif PACKETVER >= 20080304
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080226
+packetLen(0x01e1, 32) // ZC_SPIRITS2
+#elif PACKETVER >= 20080219
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080124
+packetLen(0x01e1, 11) // ZC_SPIRITS2
+#elif PACKETVER >= 20080102
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+#endif
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+#if PACKETVER >= 20080624
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080617
+packetLen(0x01e7, 6) // CZ_DORIDORI
+#elif PACKETVER >= 20080610
+packetLen(0x01e7, 4) // CZ_DORIDORI
+#elif PACKETVER >= 20080603
+packetLen(0x01e7, 14) // CZ_DORIDORI
+#elif PACKETVER >= 20080528
+packetLen(0x01e7, 39) // CZ_DORIDORI
+#elif PACKETVER >= 20080520
+packetLen(0x01e7, 22) // CZ_DORIDORI
+#elif PACKETVER >= 20080513
+packetLen(0x01e7, 6) // CZ_DORIDORI
+#elif PACKETVER >= 20080507
+packetLen(0x01e7, 54) // CZ_DORIDORI
+#elif PACKETVER >= 20080429
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080422
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#elif PACKETVER >= 20080415
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080408
+packetLen(0x01e7, 60) // CZ_DORIDORI
+#elif PACKETVER >= 20080401
+packetLen(0x01e7, 5) // CZ_DORIDORI
+#elif PACKETVER >= 20080325
+packetLen(0x01e7, 20) // CZ_DORIDORI
+#elif PACKETVER >= 20080318
+packetLen(0x01e7, 18) // CZ_DORIDORI
+#elif PACKETVER >= 20080311
+packetLen(0x01e7, 55) // CZ_DORIDORI
+#elif PACKETVER >= 20080304
+packetLen(0x01e7, 26) // CZ_DORIDORI
+#elif PACKETVER >= 20080219
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#elif PACKETVER >= 20080124
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080102
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20080701
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080624
+packetLen(0x01e8, 22) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080617
+packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080610
+packetLen(0x01e8, 27) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080603
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080528
+packetLen(0x01e8, 53) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080520
+packetLen(0x01e8, 3) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080513
+packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080507
+packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080429
+packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080422
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080415
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080408
+packetLen(0x01e8, 16) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080401
+packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080318
+packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080311
+packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080304
+packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080226
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080219
+packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080124
+packetLen(0x01e8, 44) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080102
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20080701
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080624
+packetLen(0x01e9, 282) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080617
+packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080610
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080528
+packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080507
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080429
+packetLen(0x01e9, 5) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080422
+packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080415
+packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080408
+packetLen(0x01e9, 34) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080401
+packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080325
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080318
+packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080311
+packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080304
+packetLen(0x01e9, 4) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080226
+packetLen(0x01e9, 12) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080219
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080124
+packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080102
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20080701
+packetLen(0x01ea, 97) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080624
+packetLen(0x01ea, 79) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080617
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080610
+packetLen(0x01ea, 4) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080603
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080528
+packetLen(0x01ea, 2) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080513
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080507
+packetLen(0x01ea, 12) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080429
+packetLen(0x01ea, 22) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080422
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080415
+packetLen(0x01ea, 282) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080401
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080325
+packetLen(0x01ea, 27) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080318
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080311
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080304
+packetLen(0x01ea, 60) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080219
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080124
+packetLen(0x01ea, 10) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080102
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20080624
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080617
+packetLen(0x01eb, 7) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080610
+packetLen(0x01eb, 4) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080528
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080520
+packetLen(0x01eb, 4) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080513
+packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080507
+packetLen(0x01eb, 114) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080429
+packetLen(0x01eb, 27) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080422
+packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080415
+packetLen(0x01eb, 9) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080408
+packetLen(0x01eb, 13) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080401
+packetLen(0x01eb, 5) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080311
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080304
+packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080226
+packetLen(0x01eb, 11) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080219
+packetLen(0x01eb, 26) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080124
+packetLen(0x01eb, 53) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080102
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+#endif
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+#if PACKETVER >= 20080701
+packetLen(0x01ed, 14) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080624
+packetLen(0x01ed, 6) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080610
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080603
+packetLen(0x01ed, 30) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080528
+packetLen(0x01ed, 4) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080520
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080513
+packetLen(0x01ed, 14) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080507
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080429
+packetLen(0x01ed, 30) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080422
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080415
+packetLen(0x01ed, 3) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080408
+packetLen(0x01ed, 22) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080325
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080318
+packetLen(0x01ed, 10) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080311
+packetLen(0x01ed, 5) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080304
+packetLen(0x01ed, 4) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080226
+packetLen(0x01ed, 10) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080219
+packetLen(0x01ed, 22) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080124
+packetLen(0x01ed, 6) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080102
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20080701
+packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080617
+packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080610
+packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080528
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080520
+packetLen(0x01ee, 26) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x01ee, 71) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x01ee, 11) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20080701
+packetLen(0x01ef, 7) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080617
+packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080603
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080528
+packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080520
+packetLen(0x01ef, 14) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x01ef, 8) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x01ef, 7) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080429
+packetLen(0x01ef, 30) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x01ef, 16) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080415
+packetLen(0x01ef, 3) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x01ef, 29) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x01ef, 8) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x01ef, 35) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20080701
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x01f0, 8) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080617
+packetLen(0x01f0, 16) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080603
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080528
+packetLen(0x01f0, 8) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080520
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x01f0, 26) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080429
+packetLen(0x01f0, 7) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080415
+packetLen(0x01f0, 53) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x01f0, 22) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x01f0, 44) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x01f0, 13) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x01f0, 39) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x01f0, 2) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x01f0, 30) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+#if PACKETVER >= 20080701
+packetLen(0x01f2, 12) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080603
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080528
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080513
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080507
+packetLen(0x01f2, 22) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080429
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080422
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080415
+packetLen(0x01f2, 8) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080408
+packetLen(0x01f2, 186) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080401
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080325
+packetLen(0x01f2, 6) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080318
+packetLen(0x01f2, 2) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080311
+packetLen(0x01f2, 28) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080304
+packetLen(0x01f2, 26) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080226
+packetLen(0x01f2, 27) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080219
+packetLen(0x01f2, 31) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080124
+packetLen(0x01f2, 14) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080102
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#endif
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+#if PACKETVER >= 20080701
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080624
+packetLen(0x01f4, 54) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080610
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080603
+packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080520
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080513
+packetLen(0x01f4, 67) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080507
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080429
+packetLen(0x01f4, 28) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080422
+packetLen(0x01f4, 22) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080415
+packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080408
+packetLen(0x01f4, 14) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080401
+packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080325
+packetLen(0x01f4, 3) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080318
+packetLen(0x01f4, 10) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080311
+packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080304
+packetLen(0x01f4, 12) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080226
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080124
+packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080102
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20080624
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080617
+packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080603
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080528
+packetLen(0x01f5, 60) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080520
+packetLen(0x01f5, 5) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080513
+packetLen(0x01f5, 60) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080507
+packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080429
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080422
+packetLen(0x01f5, 11) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080415
+packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080408
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080401
+packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080325
+packetLen(0x01f5, 14) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080318
+packetLen(0x01f5, 55) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080311
+packetLen(0x01f5, 30) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080304
+packetLen(0x01f5, 3) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080226
+packetLen(0x01f5, 10) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080219
+packetLen(0x01f5, 114) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080124
+packetLen(0x01f5, 7) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080102
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+#if PACKETVER >= 20080701
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x01fc, 7) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x01fc, 186) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x01fc, 71) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x01fc, 26) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x01fc, 59) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x01fc, 7) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x01fc, 6) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x01fc, 282) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20080701
+packetLen(0x01fd, 13) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080617
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080610
+packetLen(0x01fd, 10) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080603
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080528
+packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080520
+packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080513
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080507
+packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080429
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080422
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080415
+packetLen(0x01fd, 54) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080408
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080401
+packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080325
+packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080318
+packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080311
+packetLen(0x01fd, 39) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080304
+packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080226
+packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080219
+packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080124
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080102
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20080701
+packetLen(0x01fe, 30) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080624
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080617
+packetLen(0x01fe, 11) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080610
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080603
+packetLen(0x01fe, 4) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080513
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080507
+packetLen(0x01fe, 7) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080415
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080408
+packetLen(0x01fe, 8) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080401
+packetLen(0x01fe, 54) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080325
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080318
+packetLen(0x01fe, 20) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080311
+packetLen(0x01fe, 18) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080304
+packetLen(0x01fe, 22) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080226
+packetLen(0x01fe, 2) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080219
+packetLen(0x01fe, 13) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080124
+packetLen(0x01fe, 16) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080102
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+#endif
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+#if PACKETVER >= 20080701
+packetLen(0x0201, 9) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x0201, 3) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0201, 29) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0201, 26) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x0201, 67) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x0201, 33) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0201, 68) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0201, 58) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x0201, 54) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x0201, 5) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0201, 11) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0201, 282) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0201, 6) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0201, 282) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20080610
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080603
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x0202, 3) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x0202, 19) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080429
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080422
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080415
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080408
+packetLen(0x0202, 3) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0202, 33) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0202, 44) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20080701
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080624
+packetLen(0x0203, 3) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080603
+packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x0203, 34) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080429
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080422
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080401
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x0203, 3) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x0203, 67) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0203, 60) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#endif
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+#if PACKETVER >= 20080701
+packetLen(0x0206, 2) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080624
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080617
+packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080603
+packetLen(0x0206, 3) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080520
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080513
+packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080429
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080422
+packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080415
+packetLen(0x0206, 4) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080408
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080401
+packetLen(0x0206, 59) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080325
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080318
+packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080311
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080304
+packetLen(0x0206, 9) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080226
+packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080219
+packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080124
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080102
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20080701
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080624
+packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080617
+packetLen(0x0207, 11) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x0207, 28) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080429
+packetLen(0x0207, 5) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080422
+packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080408
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080401
+packetLen(0x0207, 102) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x0207, 8) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x0207, 6) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0207, 26) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0207, 66) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x0207, 28) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20080701
+packetLen(0x0208, 2) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080624
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080617
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0208, 15) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080603
+packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x0208, 26) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x0208, 60) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080429
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080415
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080408
+packetLen(0x0208, 5) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080401
+packetLen(0x0208, 22) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0208, 71) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x0208, 65) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20080701
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x0209, 9) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0209, 39) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x0209, 8) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x0209, 5) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0209, 18) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x0209, 3) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0209, 30) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20080701
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080624
+packetLen(0x020a, 68) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080617
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x020a, 186) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080603
+packetLen(0x020a, 11) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x020a, 32) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x020a, 30) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x020a, 71) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080422
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080415
+packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080408
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080401
+packetLen(0x020a, 14) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x020a, 13) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x020a, 11) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x020a, 20) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+#endif
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+#if PACKETVER >= 20080701
+packetLen(0x020e, 10) // ZC_STARSKILL
+#elif PACKETVER >= 20080624
+packetLen(0x020e, 5) // ZC_STARSKILL
+#elif PACKETVER >= 20080603
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080528
+packetLen(0x020e, 7) // ZC_STARSKILL
+#elif PACKETVER >= 20080520
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080513
+packetLen(0x020e, 32) // ZC_STARSKILL
+#elif PACKETVER >= 20080507
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080429
+packetLen(0x020e, 54) // ZC_STARSKILL
+#elif PACKETVER >= 20080415
+packetLen(0x020e, 4) // ZC_STARSKILL
+#elif PACKETVER >= 20080408
+packetLen(0x020e, 3) // ZC_STARSKILL
+#elif PACKETVER >= 20080401
+packetLen(0x020e, 6) // ZC_STARSKILL
+#elif PACKETVER >= 20080318
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080311
+packetLen(0x020e, 6) // ZC_STARSKILL
+#elif PACKETVER >= 20080304
+packetLen(0x020e, 27) // ZC_STARSKILL
+#elif PACKETVER >= 20080226
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080219
+packetLen(0x020e, 8) // ZC_STARSKILL
+#elif PACKETVER >= 20080124
+packetLen(0x020e, 102) // ZC_STARSKILL
+#elif PACKETVER >= 20080102
+packetLen(0x020e, 32) // ZC_STARSKILL
+#endif
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+#if PACKETVER >= 20080701
+packetLen(0x0217, 7) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0217, 53) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0217, 6) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080520
+packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0217, 65) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0217, 15) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0217, 13) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0217, 26) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0217, 44) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0217, 5) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0217, 3) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20080701
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x0218, 10) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0218, 68) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0218, 30) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0218, 5) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080520
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0218, 18) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0218, 67) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0218, 14) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0218, 4) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0218, 8) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0218, 26) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20080624
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x0219, 30) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0219, 12) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0219, 9) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0219, 28) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0219, 15) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0219, 3) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0219, 17) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20080701
+packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x021a, 11) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x021a, 97) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x021a, 23) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x021a, 26) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x021a, 3) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x021a, 16) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x021a, 11) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x021a, 8) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x021a, 8) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x021a, 5) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x021a, 10) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20080701
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080624
+packetLen(0x021b, 4) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080617
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080610
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080603
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080520
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080513
+packetLen(0x021b, 4) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080507
+packetLen(0x021b, 8) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080429
+packetLen(0x021b, 2) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080422
+packetLen(0x021b, 44) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080415
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080408
+packetLen(0x021b, 9) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080401
+packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080325
+packetLen(0x021b, 11) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080318
+packetLen(0x021b, 3) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x021b, 14) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080124
+packetLen(0x021b, 54) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20080617
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080610
+packetLen(0x021c, 8) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080603
+packetLen(0x021c, 13) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080528
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080520
+packetLen(0x021c, 2) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080513
+packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080507
+packetLen(0x021c, 8) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080429
+packetLen(0x021c, 18) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080422
+packetLen(0x021c, 3) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080415
+packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080408
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080401
+packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080325
+packetLen(0x021c, 102) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080318
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x021c, 6) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080124
+packetLen(0x021c, 30) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#endif
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+#if PACKETVER >= 20080701
+packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080624
+packetLen(0x0224, 42) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080610
+packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080603
+packetLen(0x0224, 14) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080528
+packetLen(0x0224, 9) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080520
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080513
+packetLen(0x0224, 3) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080507
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080429
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080422
+packetLen(0x0224, 8) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080415
+packetLen(0x0224, 27) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080408
+packetLen(0x0224, 81) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080401
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080325
+packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080318
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x0224, 20) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x0224, 12) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080124
+packetLen(0x0224, 9) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20080701
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0225, 7) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0225, 32) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0225, 14) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080520
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0225, 9) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0225, 4) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0225, 29) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0225, 6) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20080624
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x0226, 36) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0226, 30) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0226, 9) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0226, 22) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0226, 42) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0226, 4) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20080701
+packetLen(0x0227, 2) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080617
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080610
+packetLen(0x0227, 10) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080603
+packetLen(0x0227, 6) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080528
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080520
+packetLen(0x0227, 10) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080513
+packetLen(0x0227, 4) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080507
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080429
+packetLen(0x0227, 26) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080422
+packetLen(0x0227, 8) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080415
+packetLen(0x0227, 2) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080408
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080325
+packetLen(0x0227, 6) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080318
+packetLen(0x0227, 15) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080311
+packetLen(0x0227, 7) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080304
+packetLen(0x0227, 2) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080226
+packetLen(0x0227, 31) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080219
+packetLen(0x0227, 4) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080124
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080102
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+#endif
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+#if PACKETVER >= 20080701
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080624
+packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080617
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080610
+packetLen(0x0229, 21) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080603
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080528
+packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080520
+packetLen(0x0229, 31) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080507
+packetLen(0x0229, 5) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080429
+packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080422
+packetLen(0x0229, 3) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080415
+packetLen(0x0229, 7) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080408
+packetLen(0x0229, 5) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080401
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080325
+packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080318
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080311
+packetLen(0x0229, 22) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080304
+packetLen(0x0229, 33) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080226
+packetLen(0x0229, 182) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080219
+packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080124
+packetLen(0x0229, 22) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080102
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20080701
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080624
+packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080617
+packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080520
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080513
+packetLen(0x022a, 5) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080507
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080429
+packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080422
+packetLen(0x022a, 23) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080415
+packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080408
+packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080401
+packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080325
+packetLen(0x022a, 114) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080318
+packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080311
+packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080304
+packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080226
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080219
+packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080124
+packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080102
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20080701
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080624
+packetLen(0x022b, 90) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080617
+packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080610
+packetLen(0x022b, 2) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080603
+packetLen(0x022b, 18) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080528
+packetLen(0x022b, 7) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080520
+packetLen(0x022b, 10) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080513
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080507
+packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080429
+packetLen(0x022b, 26) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080415
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080408
+packetLen(0x022b, 27) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080401
+packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080325
+packetLen(0x022b, 282) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080318
+packetLen(0x022b, 102) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080311
+packetLen(0x022b, 10) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080304
+packetLen(0x022b, 8) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080219
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080124
+packetLen(0x022b, 23) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080102
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20080603
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080520
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080513
+packetLen(0x022c, 8) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080507
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080429
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080422
+packetLen(0x022c, 33) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080415
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080408
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080401
+packetLen(0x022c, 4) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080325
+packetLen(0x022c, 68) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080318
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080304
+packetLen(0x022c, 10) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080226
+packetLen(0x022c, 31) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080219
+packetLen(0x022c, 53) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080124
+packetLen(0x022c, 22) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080102
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20080701
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080520
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080513
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080507
+packetLen(0x022d, 29) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080429
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080422
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080408
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080401
+packetLen(0x022d, 30) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080325
+packetLen(0x022d, 11) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080318
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080311
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080226
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080219
+packetLen(0x022d, 9) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080124
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080102
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20080701
+packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080624
+packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080610
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080603
+packetLen(0x022e, 10) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080520
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080513
+packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080507
+packetLen(0x022e, 8) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080429
+packetLen(0x022e, 3) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080422
+packetLen(0x022e, 7) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080415
+packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080408
+packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080401
+packetLen(0x022e, 2) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080325
+packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080318
+packetLen(0x022e, 28) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080311
+packetLen(0x022e, 5) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080304
+packetLen(0x022e, 55) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080226
+packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080219
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080124
+packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080102
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20080701
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080624
+packetLen(0x022f, 10) // ZC_FEED_MER
+#elif PACKETVER >= 20080617
+packetLen(0x022f, 4) // ZC_FEED_MER
+#elif PACKETVER >= 20080610
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080603
+packetLen(0x022f, 22) // ZC_FEED_MER
+#elif PACKETVER >= 20080528
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080520
+packetLen(0x022f, 26) // ZC_FEED_MER
+#elif PACKETVER >= 20080429
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080422
+packetLen(0x022f, 7) // ZC_FEED_MER
+#elif PACKETVER >= 20080415
+packetLen(0x022f, 3) // ZC_FEED_MER
+#elif PACKETVER >= 20080401
+packetLen(0x022f, 10) // ZC_FEED_MER
+#elif PACKETVER >= 20080325
+packetLen(0x022f, 67) // ZC_FEED_MER
+#elif PACKETVER >= 20080318
+packetLen(0x022f, 7) // ZC_FEED_MER
+#elif PACKETVER >= 20080304
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080226
+packetLen(0x022f, 26) // ZC_FEED_MER
+#elif PACKETVER >= 20080219
+packetLen(0x022f, 282) // ZC_FEED_MER
+#elif PACKETVER >= 20080124
+packetLen(0x022f, 6) // ZC_FEED_MER
+#elif PACKETVER >= 20080102
+packetLen(0x022f, 5) // ZC_FEED_MER
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20080624
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080617
+packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080520
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080513
+packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080507
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080429
+packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080415
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080401
+packetLen(0x0230, 43) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080325
+packetLen(0x0230, 8) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080318
+packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080311
+packetLen(0x0230, 3) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080304
+packetLen(0x0230, 16) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080226
+packetLen(0x0230, 28) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080219
+packetLen(0x0230, 54) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080124
+packetLen(0x0230, 3) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080102
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+#endif
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+#if PACKETVER >= 20080701
+packetLen(0x0232, 28) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080624
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080617
+packetLen(0x0232, 6) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080610
+packetLen(0x0232, 30) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080603
+packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080528
+packetLen(0x0232, 4) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080520
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080513
+packetLen(0x0232, 17) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080429
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080422
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080415
+packetLen(0x0232, 10) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080408
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080401
+packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080325
+packetLen(0x0232, 10) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080318
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080311
+packetLen(0x0232, 5) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080304
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080226
+packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080219
+packetLen(0x0232, 36) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080124
+packetLen(0x0232, 17) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080102
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20080624
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080617
+packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080610
+packetLen(0x0233, 66) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080603
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080528
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080520
+packetLen(0x0233, 15) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080513
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080507
+packetLen(0x0233, 68) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080429
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080422
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080415
+packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080408
+packetLen(0x0233, 22) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080325
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080318
+packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080311
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080304
+packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080226
+packetLen(0x0233, 4) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080219
+packetLen(0x0233, 8) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080124
+packetLen(0x0233, 23) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080102
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20080624
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080617
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080528
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080520
+packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080429
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080422
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080415
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080408
+packetLen(0x0234, 2) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080401
+packetLen(0x0234, 16) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080325
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080318
+packetLen(0x0234, 3) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080311
+packetLen(0x0234, 43) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080304
+packetLen(0x0234, 4) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080226
+packetLen(0x0234, 15) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080219
+packetLen(0x0234, 282) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080124
+packetLen(0x0234, 26) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080102
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20080701
+packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0235, 12) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x0235, 5) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0235, 28) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x0235, 2) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x0235, 19) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x0235, 42) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0235, 44) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0235, 10) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0235, 33) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0235, 15) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0235, 30) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#endif
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+#if PACKETVER >= 20080701
+packetLen(0x0237, 29) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x0237, 14) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0237, 5) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0237, 4) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x0237, 19) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080520
+packetLen(0x0237, 3) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0237, 24) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0237, 60) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0237, 20) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0237, 8) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0237, 54) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0237, 3) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0237, 10) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0237, 3) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0237, 4) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20080624
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0238, 21) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0238, 10) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0238, 10) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0238, 27) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0238, 14) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20080701
+packetLen(0x0239, 30) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080624
+packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080610
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080603
+packetLen(0x0239, 2) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080528
+packetLen(0x0239, 29) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080520
+packetLen(0x0239, 282) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080513
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080507
+packetLen(0x0239, 5) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080429
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080422
+packetLen(0x0239, 5) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080415
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080408
+packetLen(0x0239, 36) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080401
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080325
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080318
+packetLen(0x0239, 26) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080311
+packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080304
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080226
+packetLen(0x0239, 39) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080219
+packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080124
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080102
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20080701
+packetLen(0x023a, 13) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080624
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080617
+packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080513
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080507
+packetLen(0x023a, 28) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080429
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080422
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080415
+packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080401
+packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080325
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080318
+packetLen(0x023a, 8) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080311
+packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080304
+packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080226
+packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080219
+packetLen(0x023a, 11) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080124
+packetLen(0x023a, 71) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080102
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#endif
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+#if PACKETVER >= 20080701
+packetLen(0x023c, 60) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080617
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080610
+packetLen(0x023c, 4) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080513
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080507
+packetLen(0x023c, 30) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080429
+packetLen(0x023c, 3) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080422
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080415
+packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080408
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080401
+packetLen(0x023c, 12) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080325
+packetLen(0x023c, 79) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080318
+packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080311
+packetLen(0x023c, 21) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080226
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080219
+packetLen(0x023c, 5) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080124
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080102
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#endif
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+#if PACKETVER >= 20080617
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080610
+packetLen(0x0274, 4) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080603
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080528
+packetLen(0x0274, 10) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080520
+packetLen(0x0274, 30) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080513
+packetLen(0x0274, 7) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080507
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080429
+packetLen(0x0274, 7) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080422
+packetLen(0x0274, 282) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080415
+packetLen(0x0274, 6) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080408
+packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080401
+packetLen(0x0274, 2) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080325
+packetLen(0x0274, 53) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080318
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080311
+packetLen(0x0274, 67) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080304
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080226
+packetLen(0x0274, 24) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080219
+packetLen(0x0274, 32) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080124
+packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080102
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#endif
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+#if PACKETVER >= 20080701
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x0287, 26) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x0287, 31) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x0287, 4) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x0287, 32) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0287, 18) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0287, 10) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#endif
+
+// Packet: 0x0288
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+#if PACKETVER >= 20080701
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x0295, 31) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080610
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080603
+packetLen(0x0295, 30) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080429
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x0295, 53) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080415
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x0295, 10) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x0295, 2) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x0295, 66) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x0295, 8) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x0295, 5) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x0295, 3) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x0295, 34) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20080624
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080617
+packetLen(0x0296, 19) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080610
+packetLen(0x0296, 17) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080528
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080520
+packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x0296, 53) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x0296, 3) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080415
+packetLen(0x0296, 28) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x0296, 14) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x0296, 20) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x0296, 9) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x0296, 29) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x0296, 90) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20080701
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080610
+packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080603
+packetLen(0x0297, 9) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080429
+packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x0297, 8) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x0297, 3) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x0297, 36) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x0297, 11) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x0297, 5) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x0297, 29) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+#if PACKETVER >= 20080610
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080603
+packetLen(0x029a, 28) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080528
+packetLen(0x029a, 7) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080520
+packetLen(0x029a, 55) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080513
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080507
+packetLen(0x029a, 12) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080429
+packetLen(0x029a, 44) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080422
+packetLen(0x029a, 11) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080408
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080401
+packetLen(0x029a, 14) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080325
+packetLen(0x029a, 2) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080318
+packetLen(0x029a, 16) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080311
+packetLen(0x029a, 8) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080304
+packetLen(0x029a, 21) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080226
+packetLen(0x029a, 3) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080219
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080124
+packetLen(0x029a, 30) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080102
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#endif
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a6, 204) // ZC_HACKSH_CPX_MSG
+#elif PACKETVER >= 20080102
+packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a7, 204) // CZ_HACKSH_CPX_MSG
+#elif PACKETVER >= 20080102
+packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02bf
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+#endif
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+#if PACKETVER >= 20080304
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080226
+packetLen(0x02d4, 30) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080219
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080124
+packetLen(0x02d4, 32) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080102
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#endif
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+#if PACKETVER >= 20080617
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080610
+packetLen(0x02e1, 26) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080603
+packetLen(0x02e1, 8) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080528
+packetLen(0x02e1, 10) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080520
+packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080513
+packetLen(0x02e1, 55) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080507
+packetLen(0x02e1, 22) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080408
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080401
+packetLen(0x02e1, 9) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080325
+packetLen(0x02e1, 26) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080311
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080304
+packetLen(0x02e1, 8) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080102
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+#endif
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+#if PACKETVER >= 20080624
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080617
+packetLen(0x02ec, 42) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080610
+packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080603
+packetLen(0x02ec, 4) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080528
+packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080520
+packetLen(0x02ec, 14) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080513
+packetLen(0x02ec, 11) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080507
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080429
+packetLen(0x02ec, 43) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080422
+packetLen(0x02ec, 60) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080415
+packetLen(0x02ec, 3) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080408
+packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080401
+packetLen(0x02ec, 17) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080325
+packetLen(0x02ec, 29) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080318
+packetLen(0x02ec, 10) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080311
+packetLen(0x02ec, 12) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080304
+packetLen(0x02ec, 60) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080102
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20080624
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080617
+packetLen(0x02ed, 60) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080610
+packetLen(0x02ed, 7) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080603
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080528
+packetLen(0x02ed, 97) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080520
+packetLen(0x02ed, 11) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080513
+packetLen(0x02ed, 21) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080507
+packetLen(0x02ed, 10) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080429
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080422
+packetLen(0x02ed, 30) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080415
+packetLen(0x02ed, 53) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080408
+packetLen(0x02ed, 7) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080401
+packetLen(0x02ed, 11) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080325
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080318
+packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080304
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080102
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20080610
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080603
+packetLen(0x02ee, 2) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080528
+packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080520
+packetLen(0x02ee, 28) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080507
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080429
+packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080422
+packetLen(0x02ee, 97) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080415
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080408
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080401
+packetLen(0x02ee, 42) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080325
+packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080318
+packetLen(0x02ee, 13) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080311
+packetLen(0x02ee, 81) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080304
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080102
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+#if PACKETVER >= 20080318
+packetLen(0x02f0, 10) // ZC_PROGRESS
+#endif
+
+// Packet: 0x02f1
+#if PACKETVER >= 20080318
+packetLen(0x02f1, 2) // CZ_PROGRESS
+#endif
+
+// Packet: 0x02f2
+#if PACKETVER >= 20080318
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+#endif
+
+// Packet: 0x02f3
+#if PACKETVER >= 20080701
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080624
+packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080617
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080610
+packetLen(0x02f3, 30) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080603
+packetLen(0x02f3, 9) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080528
+packetLen(0x02f3, 26) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080520
+packetLen(0x02f3, 5) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080513
+packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080507
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080429
+packetLen(0x02f3, 7) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080422
+packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080415
+packetLen(0x02f3, 67) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080408
+packetLen(0x02f3, 23) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080401
+packetLen(0x02f3, 71) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080325
+packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20080617
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080610
+packetLen(0x02f4, 30) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080507
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080429
+packetLen(0x02f4, 29) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080422
+packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080408
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080401
+packetLen(0x02f4, 9) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080325
+packetLen(0x02f4, 4) // ZC_IRMAIL_SEND_RES
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20080701
+packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080624
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080617
+packetLen(0x02f5, 26) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080610
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080603
+packetLen(0x02f5, 28) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080528
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080520
+packetLen(0x02f5, 2) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080513
+packetLen(0x02f5, 3) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080507
+packetLen(0x02f5, 5) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080429
+packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080422
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080415
+packetLen(0x02f5, 60) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080401
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080325
+packetLen(0x02f5, 86) // ZC_IRMAIL_NOTIFY
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20080624
+packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x02f6, 12) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x02f6, 22) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x02f6, 6) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x02f6, 4) // CZ_IRMAIL_LIST
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20080624
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x02f7, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x02f7, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x02f7, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x02f7, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02f7, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x02f7, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x02f7, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02f7, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20080701
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f8, 12)
+#elif PACKETVER >= 20080617
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x02f8, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02f8, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x02f8, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x02f8, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x02f8, 7)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20080701
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f9, 43)
+#elif PACKETVER >= 20080617
+packetLen(0x02f9, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x02f9, 71)
+#elif PACKETVER >= 20080528
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02f9, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x02f9, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x02f9, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x02f9, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x02f9, 6)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20080701
+packetLen(0x02fa, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x02fa, 65)
+#elif PACKETVER >= 20080528
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02fa, 27)
+#elif PACKETVER >= 20080507
+packetLen(0x02fa, 33)
+#elif PACKETVER >= 20080429
+packetLen(0x02fa, 68)
+#elif PACKETVER >= 20080422
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02fa, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x02fa, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x02fa, 16)
+#elif PACKETVER >= 20080325
+packetLen(0x02fa, 3)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20080701
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x02fb, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fb, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02fb, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x02fb, 3)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20080701
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02fc, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02fc, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02fc, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02fc, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02fc, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20080701
+packetLen(0x02fd, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x02fd, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fd, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02fd, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02fd, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02fd, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x02fd, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x02fd, 3)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20080617
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x02fe, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x02fe, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x02fe, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02fe, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x02fe, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20080624
+packetLen(0x02ff, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02ff, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x02ff, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x02ff, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02ff, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x02ff, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02ff, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x02ff, 6)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20080701
+packetLen(0x0300, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0300, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x0300, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x0300, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0300, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0300, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x0300, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0300, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0300, 17)
+#elif PACKETVER >= 20080415
+packetLen(0x0300, 20)
+#elif PACKETVER >= 20080325
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20080701
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0301, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0301, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0301, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0301, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20080701
+packetLen(0x0302, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0302, 21)
+#elif PACKETVER >= 20080617
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0302, 68)
+#elif PACKETVER >= 20080528
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0302, 58)
+#elif PACKETVER >= 20080513
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0302, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20080701
+packetLen(0x0303, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0303, 58)
+#elif PACKETVER >= 20080617
+packetLen(0x0303, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0303, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0303, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0303, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0303, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0303, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20080624
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0304, 20)
+#elif PACKETVER >= 20080610
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0304, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0304, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0304, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0304, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0304, 16)
+#elif PACKETVER >= 20080415
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20080701
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0305, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0305, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0305, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0305, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0305, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0305, 27)
+#elif PACKETVER >= 20080401
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20080701
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0306, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0306, 23)
+#elif PACKETVER >= 20080520
+packetLen(0x0306, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0306, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20080624
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0307, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0307, 58)
+#elif PACKETVER >= 20080603
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0307, 15)
+#elif PACKETVER >= 20080520
+packetLen(0x0307, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0307, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0307, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20080617
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0308, 182)
+#elif PACKETVER >= 20080603
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0308, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0308, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0308, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0308, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0308, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0308, 10)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20080701
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0309, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0309, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0309, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0309, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0309, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0309, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0309, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0309, 6)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20080701
+packetLen(0x030a, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x030a, 35)
+#elif PACKETVER >= 20080610
+packetLen(0x030a, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x030a, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x030a, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x030a, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20080701
+packetLen(0x030b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x030b, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x030b, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x030b, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x030b, 65)
+#elif PACKETVER >= 20080513
+packetLen(0x030b, 16)
+#elif PACKETVER >= 20080507
+packetLen(0x030b, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x030b, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x030b, 10)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20080701
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030c, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x030c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x030c, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x030c, 36)
+#elif PACKETVER >= 20080520
+packetLen(0x030c, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x030c, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030c, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x030c, 66)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20080701
+packetLen(0x030d, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x030d, 282)
+#elif PACKETVER >= 20080610
+packetLen(0x030d, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x030d, 71)
+#elif PACKETVER >= 20080520
+packetLen(0x030d, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x030d, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030d, 19)
+#elif PACKETVER >= 20080408
+packetLen(0x030d, 10)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20080701
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030e, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x030e, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x030e, 3)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20080701
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030f, 17)
+#elif PACKETVER >= 20080617
+packetLen(0x030f, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x030f, 67)
+#elif PACKETVER >= 20080507
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x030f, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030f, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20080701
+packetLen(0x0310, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x0310, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0310, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0310, 182)
+#elif PACKETVER >= 20080507
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0310, 57)
+#elif PACKETVER >= 20080415
+packetLen(0x0310, 59)
+#elif PACKETVER >= 20080408
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20080701
+packetLen(0x0311, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0311, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0311, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0311, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0311, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0311, 10)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20080617
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0312, 34)
+#elif PACKETVER >= 20080603
+packetLen(0x0312, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0312, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0312, 81)
+#elif PACKETVER >= 20080422
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0312, 67)
+#elif PACKETVER >= 20080408
+packetLen(0x0312, 6)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20080701
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0313, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0313, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0313, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x0313, 282)
+#elif PACKETVER >= 20080422
+packetLen(0x0313, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0313, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0313, 2)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20080624
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0314, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0314, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0314, 29)
+#elif PACKETVER >= 20080408
+packetLen(0x0314, 12)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20080701
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0315, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0315, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0315, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0315, 67)
+#elif PACKETVER >= 20080513
+packetLen(0x0315, 60)
+#elif PACKETVER >= 20080429
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0315, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0315, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0315, 44)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20080701
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0316, 97)
+#elif PACKETVER >= 20080617
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0316, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x0316, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x0316, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0316, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0316, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0316, 16)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20080701
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0317, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0317, 21)
+#elif PACKETVER >= 20080520
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0317, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0317, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20080701
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0318, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0318, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x0318, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0318, 26)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20080610
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0319, 19)
+#elif PACKETVER >= 20080528
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0319, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0319, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0319, 17)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20080701
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x031a, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x031a, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x031a, 86)
+#elif PACKETVER >= 20080507
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031a, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x031a, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x031a, 4)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20080610
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x031b, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x031b, 42)
+#elif PACKETVER >= 20080429
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x031b, 10)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20080701
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x031c, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x031c, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x031c, 44)
+#elif PACKETVER >= 20080513
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x031c, 17)
+#elif PACKETVER >= 20080429
+packetLen(0x031c, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x031c, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031c, 23)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20080701
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x031d, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031d, 35)
+#elif PACKETVER >= 20080422
+packetLen(0x031d, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031d, 2)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20080701
+packetLen(0x031e, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x031e, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031e, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x031e, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x031e, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20080701
+packetLen(0x031f, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x031f, 32)
+#elif PACKETVER >= 20080617
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x031f, 54)
+#elif PACKETVER >= 20080603
+packetLen(0x031f, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x031f, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x031f, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x031f, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x031f, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031f, 30)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20080701
+packetLen(0x0320, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0320, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x0320, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0320, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0320, 15)
+#elif PACKETVER >= 20080415
+packetLen(0x0320, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0320, 15)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20080701
+packetLen(0x0321, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0321, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0321, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0321, 24)
+#elif PACKETVER >= 20080408
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20080701
+packetLen(0x0322, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0322, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0322, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0322, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0322, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0322, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0322, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0322, 68)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20080701
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0323, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0323, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x0323, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x0323, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0323, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0323, 186)
+#elif PACKETVER >= 20080429
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0323, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0323, 34)
+#elif PACKETVER >= 20080408
+packetLen(0x0323, 7)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20080701
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0324, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0324, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x0324, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x0324, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0324, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0324, 13)
+#elif PACKETVER >= 20080429
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0324, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20080701
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0325, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0325, 39)
+#elif PACKETVER >= 20080513
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0325, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0325, 6)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20080617
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0326, 42)
+#elif PACKETVER >= 20080528
+packetLen(0x0326, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0326, 21)
+#elif PACKETVER >= 20080507
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0326, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x0326, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20080701
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0327, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0327, 5)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20080701
+packetLen(0x0328, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0328, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x0328, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0328, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0328, 54)
+#elif PACKETVER >= 20080513
+packetLen(0x0328, 19)
+#elif PACKETVER >= 20080507
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0328, 90)
+#elif PACKETVER >= 20080422
+packetLen(0x0328, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0328, 14)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20080701
+packetLen(0x0329, 186)
+#elif PACKETVER >= 20080624
+packetLen(0x0329, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0329, 23)
+#elif PACKETVER >= 20080528
+packetLen(0x0329, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0329, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0329, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0329, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20080701
+packetLen(0x032a, 17)
+#elif PACKETVER >= 20080624
+packetLen(0x032a, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x032a, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x032a, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032a, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x032a, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x032a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x032a, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x032a, 8)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20080701
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032b, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x032b, 44)
+#elif PACKETVER >= 20080429
+packetLen(0x032b, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032b, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20080701
+packetLen(0x032c, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x032c, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032c, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032c, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x032c, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x032c, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20080701
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x032d, 32)
+#elif PACKETVER >= 20080617
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032d, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x032d, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x032d, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x032d, 90)
+#elif PACKETVER >= 20080415
+packetLen(0x032d, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20080701
+packetLen(0x032e, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032e, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032e, 20)
+#elif PACKETVER >= 20080507
+packetLen(0x032e, 24)
+#elif PACKETVER >= 20080429
+packetLen(0x032e, 42)
+#elif PACKETVER >= 20080422
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x032e, 27)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20080701
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x032f, 53)
+#elif PACKETVER >= 20080603
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032f, 58)
+#elif PACKETVER >= 20080520
+packetLen(0x032f, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x032f, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x032f, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032f, 27)
+#elif PACKETVER >= 20080408
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20080701
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0330, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0330, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0330, 67)
+#elif PACKETVER >= 20080603
+packetLen(0x0330, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0330, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0330, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0330, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x0330, 54)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20080701
+packetLen(0x0331, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0331, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0331, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0331, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0331, 54)
+#elif PACKETVER >= 20080422
+packetLen(0x0331, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0331, 12)
+#elif PACKETVER >= 20080408
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20080701
+packetLen(0x0332, 15)
+#elif PACKETVER >= 20080624
+packetLen(0x0332, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0332, 114)
+#elif PACKETVER >= 20080415
+packetLen(0x0332, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0332, 4)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20080701
+packetLen(0x0333, 28)
+#elif PACKETVER >= 20080610
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0333, 17)
+#elif PACKETVER >= 20080528
+packetLen(0x0333, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0333, 29)
+#elif PACKETVER >= 20080507
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0333, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0333, 35)
+#elif PACKETVER >= 20080415
+packetLen(0x0333, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20080624
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0334, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0334, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0334, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x0334, 60)
+#elif PACKETVER >= 20080507
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0334, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0334, 5)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20080701
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0335, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0335, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x0335, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0335, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0335, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x0335, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0335, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20080624
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0336, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0336, 33)
+#elif PACKETVER >= 20080603
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0336, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0336, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0336, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0336, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0336, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0336, 6)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20080624
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0337, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0337, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0337, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0337, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0337, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0337, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0337, 58)
+#elif PACKETVER >= 20080415
+packetLen(0x0337, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x0337, 42)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20080701
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0338, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0338, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x0338, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0338, 67)
+#elif PACKETVER >= 20080415
+packetLen(0x0338, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20080701
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0339, 39)
+#elif PACKETVER >= 20080617
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0339, 27)
+#elif PACKETVER >= 20080603
+packetLen(0x0339, 79)
+#elif PACKETVER >= 20080528
+packetLen(0x0339, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0339, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0339, 7)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20080701
+packetLen(0x033a, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033a, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x033a, 67)
+#elif PACKETVER >= 20080520
+packetLen(0x033a, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x033a, 39)
+#elif PACKETVER >= 20080507
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x033a, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x033a, 32)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20080701
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x033b, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x033b, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x033b, 182)
+#elif PACKETVER >= 20080507
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x033b, 20)
+#elif PACKETVER >= 20080422
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x033b, 3)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20080701
+packetLen(0x033c, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x033c, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033c, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x033c, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x033c, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x033c, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x033c, 21)
+#elif PACKETVER >= 20080408
+packetLen(0x033c, 86)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20080701
+packetLen(0x033d, 32)
+#elif PACKETVER >= 20080624
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x033d, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x033d, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x033d, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x033d, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x033d, 10)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20080624
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x033e, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x033e, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x033e, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x033e, 33)
+#elif PACKETVER >= 20080422
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x033e, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x033e, 9)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20080701
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x033f, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x033f, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x033f, 27)
+#elif PACKETVER >= 20080429
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x033f, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20080701
+packetLen(0x0340, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0340, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0340, 19)
+#elif PACKETVER >= 20080513
+packetLen(0x0340, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0340, 18)
+#elif PACKETVER >= 20080429
+packetLen(0x0340, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0340, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20080617
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0341, 16)
+#elif PACKETVER >= 20080429
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0341, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0341, 2)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20080701
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0342, 186)
+#elif PACKETVER >= 20080610
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0342, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0342, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0342, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0342, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0342, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0342, 4)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20080701
+packetLen(0x0343, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0343, 17)
+#elif PACKETVER >= 20080422
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0343, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20080701
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0344, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0344, 35)
+#elif PACKETVER >= 20080603
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0344, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0344, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0344, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20080701
+packetLen(0x0345, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0345, 60)
+#elif PACKETVER >= 20080617
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0345, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0345, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0345, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0345, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20080617
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0346, 16)
+#elif PACKETVER >= 20080603
+packetLen(0x0346, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0346, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0346, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x0346, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0346, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0346, 55)
+#elif PACKETVER >= 20080408
+packetLen(0x0346, 8)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20080701
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0347, 29)
+#elif PACKETVER >= 20080513
+packetLen(0x0347, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0347, 39)
+#elif PACKETVER >= 20080422
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0347, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20080701
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0348, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0348, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0348, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0348, 6)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20080701
+packetLen(0x0349, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0349, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x0349, 36)
+#elif PACKETVER >= 20080507
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0349, 54)
+#elif PACKETVER >= 20080422
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0349, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x0349, 4)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20080701
+packetLen(0x034a, 57)
+#elif PACKETVER >= 20080624
+packetLen(0x034a, 34)
+#elif PACKETVER >= 20080617
+packetLen(0x034a, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034a, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x034a, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034a, 59)
+#elif PACKETVER >= 20080429
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20080701
+packetLen(0x034b, 24)
+#elif PACKETVER >= 20080624
+packetLen(0x034b, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x034b, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034b, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x034b, 60)
+#elif PACKETVER >= 20080422
+packetLen(0x034b, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x034b, 65)
+#elif PACKETVER >= 20080408
+packetLen(0x034b, 7)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20080701
+packetLen(0x034c, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x034c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034c, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x034c, 86)
+#elif PACKETVER >= 20080520
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034c, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x034c, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20080624
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x034d, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034d, 36)
+#elif PACKETVER >= 20080415
+packetLen(0x034d, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x034d, 2)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20080624
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x034e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x034e, 59)
+#elif PACKETVER >= 20080520
+packetLen(0x034e, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034e, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x034e, 90)
+#elif PACKETVER >= 20080408
+packetLen(0x034e, 11)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20080701
+packetLen(0x034f, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x034f, 71)
+#elif PACKETVER >= 20080617
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x034f, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x034f, 27)
+#elif PACKETVER >= 20080520
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034f, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x034f, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x034f, 18)
+#elif PACKETVER >= 20080415
+packetLen(0x034f, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x034f, 2)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20080624
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0350, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0350, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0350, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20080701
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0351, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x0351, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0351, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0351, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0351, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0351, 15)
+#elif PACKETVER >= 20080408
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20080701
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0352, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0352, 60)
+#elif PACKETVER >= 20080603
+packetLen(0x0352, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0352, 54)
+#elif PACKETVER >= 20080520
+packetLen(0x0352, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0352, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0352, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0352, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0352, 8)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20080701
+packetLen(0x0353, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0353, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0353, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0353, 34)
+#elif PACKETVER >= 20080429
+packetLen(0x0353, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20080701
+packetLen(0x0354, 23)
+#elif PACKETVER >= 20080624
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0354, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0354, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0354, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0354, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0354, 182)
+#elif PACKETVER >= 20080415
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0354, 3)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20080701
+packetLen(0x0355, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x0355, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0355, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0355, 55)
+#elif PACKETVER >= 20080528
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0355, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0355, 33)
+#elif PACKETVER >= 20080507
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0355, 36)
+#elif PACKETVER >= 20080422
+packetLen(0x0355, 39)
+#elif PACKETVER >= 20080415
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0355, 2)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20080617
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0356, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x0356, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0356, 27)
+#elif PACKETVER >= 20080513
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0356, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0356, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0356, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x0356, 57)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20080617
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0357, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0357, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0357, 21)
+#elif PACKETVER >= 20080513
+packetLen(0x0357, 31)
+#elif PACKETVER >= 20080507
+packetLen(0x0357, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0357, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x0357, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0357, 33)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20080624
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0358, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0358, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0358, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0358, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0358, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0358, 10)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20080701
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0359, 102)
+#elif PACKETVER >= 20080617
+packetLen(0x0359, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0359, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0359, 16)
+#elif PACKETVER >= 20080520
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0359, 55)
+#elif PACKETVER >= 20080429
+packetLen(0x0359, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20080624
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x035a, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x035a, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x035a, 31)
+#elif PACKETVER >= 20080513
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x035a, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x035a, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x035a, 79)
+#elif PACKETVER >= 20080415
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20080701
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x035b, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x035b, 29)
+#elif PACKETVER >= 20080610
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x035b, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x035b, 16)
+#elif PACKETVER >= 20080520
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x035b, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x035b, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x035b, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x035b, 3)
+#endif
+
+// Packet: 0x035c
+#if PACKETVER >= 20080520
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+#endif
+
+// Packet: 0x035d
+#if PACKETVER >= 20080521
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x035d, 10) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+#endif
+
+// Packet: 0x035e
+#if PACKETVER >= 20080521
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+#elif PACKETVER >= 20080520
+packetLen(0x035e, -1) // CZ_CLOSE_WINDOW
+#endif
+
+// Packet: 0x035f
+#if PACKETVER >= 20080624
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080617
+packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080528
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20080701
+packetLen(0x0360, 10) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080624
+packetLen(0x0360, 11) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080528
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20080701
+packetLen(0x0361, 27) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080624
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080617
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080528
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20080701
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080624
+packetLen(0x0362, 4) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080528
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20080701
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080624
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080617
+packetLen(0x0363, 58) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080528
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20080701
+packetLen(0x0364, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080624
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080617
+packetLen(0x0364, 15) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080528
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20080701
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080528
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20080701
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080624
+packetLen(0x0366, 67) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080528
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20080624
+packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080617
+packetLen(0x0367, 29) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080528
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20080528
+packetLen(0x0368, -1) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20080701
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080624
+packetLen(0x0369, 28) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080528
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20080701
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x036a, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20080701
+packetLen(0x036b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x036b, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20080701
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20080701
+packetLen(0x036d, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x036d, 21)
+#elif PACKETVER >= 20080617
+packetLen(0x036d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20080624
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x036e, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20080701
+packetLen(0x036f, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x036f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20080701
+packetLen(0x0370, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0370, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20080701
+packetLen(0x0371, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20080701
+packetLen(0x0372, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20080701
+packetLen(0x0373, 9)
+#elif PACKETVER >= 20080624
+packetLen(0x0373, 86)
+#elif PACKETVER >= 20080528
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20080701
+packetLen(0x0374, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20080624
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0375, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20080528
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20080528
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20080528
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20080701
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0379, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0379, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20080528
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20080701
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x037b, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20080701
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x037c, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x037c, 53)
+#elif PACKETVER >= 20080528
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20080701
+packetLen(0x037d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20080701
+packetLen(0x037e, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x037e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20080701
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x037f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20080701
+packetLen(0x0380, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20080624
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0381, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20080624
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20080624
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0383, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20080701
+packetLen(0x0384, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0384, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20080624
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0385, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20080701
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0386, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20080701
+packetLen(0x0387, 22)
+#elif PACKETVER >= 20080624
+packetLen(0x0387, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0387, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20080624
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0388, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20080701
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0389, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0389, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20080701
+packetLen(0x038a, 102)
+#elif PACKETVER >= 20080624
+packetLen(0x038a, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x038a, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20080701
+packetLen(0x038b, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x038b, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x038b, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20080701
+packetLen(0x038c, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x038c, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x038c, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20080701
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038d, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x038d, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20080701
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20080701
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038f, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20080701
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0390, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20080528
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20080624
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0392, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20080701
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0393, 17)
+#elif PACKETVER >= 20080617
+packetLen(0x0393, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20080701
+packetLen(0x0394, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20080701
+packetLen(0x0395, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0395, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20080701
+packetLen(0x0396, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0396, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20080701
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0397, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20080701
+packetLen(0x0398, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0398, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20080701
+packetLen(0x0399, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x0399, 65)
+#elif PACKETVER >= 20080528
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20080701
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20080624
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20080701
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x039c, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20080701
+packetLen(0x039d, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x039d, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x039d, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20080701
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039e, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x039e, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20080701
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039f, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20080624
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20080701
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03a1, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20080528
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20080701
+packetLen(0x03a3, 21)
+#elif PACKETVER >= 20080624
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a3, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20080701
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a4, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20080701
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a5, 28)
+#elif PACKETVER >= 20080617
+packetLen(0x03a5, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20080701
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a6, 59)
+#elif PACKETVER >= 20080528
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20080701
+packetLen(0x03a7, 68)
+#elif PACKETVER >= 20080624
+packetLen(0x03a7, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20080701
+packetLen(0x03a8, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x03a8, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x03a8, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20080624
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a9, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20080701
+packetLen(0x03aa, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20080624
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ab, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20080624
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ac, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20080701
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03ad, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x03ad, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20080701
+packetLen(0x03ae, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ae, 57)
+#elif PACKETVER >= 20080528
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20080701
+packetLen(0x03af, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x03af, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20080701
+packetLen(0x03b0, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20080528
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20080624
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b2, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20080624
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b3, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20080701
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03b4, 27)
+#elif PACKETVER >= 20080617
+packetLen(0x03b4, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20080528
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20080701
+packetLen(0x03b6, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b6, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20080701
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03b7, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x03b7, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20080528
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20080701
+packetLen(0x03b9, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x03b9, 19)
+#elif PACKETVER >= 20080528
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20080701
+packetLen(0x03ba, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ba, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20080701
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03bb, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20080701
+packetLen(0x03bc, 54)
+#elif PACKETVER >= 20080624
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03bc, 182)
+#elif PACKETVER >= 20080528
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20080701
+packetLen(0x03bd, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20080701
+packetLen(0x03be, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x03be, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20080701
+packetLen(0x03bf, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20080701
+packetLen(0x03c0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20080624
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c1, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20080701
+packetLen(0x03c2, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c2, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20080528
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20080528
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20080701
+packetLen(0x03c5, 35)
+#elif PACKETVER >= 20080624
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c5, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20080624
+packetLen(0x03c6, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x03c6, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20080624
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c7, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20080528
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20080528
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20080528
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20080701
+packetLen(0x03cb, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20080701
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03cc, 35)
+#elif PACKETVER >= 20080617
+packetLen(0x03cc, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20080701
+packetLen(0x03cd, 65)
+#elif PACKETVER >= 20080624
+packetLen(0x03cd, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20080701
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03ce, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x03ce, 39)
+#elif PACKETVER >= 20080528
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20080701
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03cf, 67)
+#elif PACKETVER >= 20080617
+packetLen(0x03cf, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20080701
+packetLen(0x03d0, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d0, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20080701
+packetLen(0x03d1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03d1, 81)
+#elif PACKETVER >= 20080617
+packetLen(0x03d1, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20080701
+packetLen(0x03d2, 90)
+#elif PACKETVER >= 20080624
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d2, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20080701
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03d3, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20080701
+packetLen(0x03d4, 12)
+#elif PACKETVER >= 20080624
+packetLen(0x03d4, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x03d4, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20080624
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d5, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20080701
+packetLen(0x03d6, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20080701
+packetLen(0x03d7, 23)
+#elif PACKETVER >= 20080528
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20080701
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03d8, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x03d8, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20080701
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03d9, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20080528
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20080701
+packetLen(0x03db, 79)
+#elif PACKETVER >= 20080624
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03db, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20080701
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03dc, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x03dc, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+#if PACKETVER >= 20080624
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+#endif
+
+// Packet: 0x03de
+#if PACKETVER >= 20080624
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+#endif
+
+
+#endif /* COMMON_PACKETS2008_LEN_AD_H */
diff --git a/src/common/packets/packets2008_len_main.h b/src/common/packets/packets2008_len_main.h
new file mode 100644
index 000000000..4eafe5e89
--- /dev/null
+++ b/src/common/packets/packets2008_len_main.h
@@ -0,0 +1,39478 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2008_LEN_MAIN_H
+#define COMMON_PACKETS2008_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+#if PACKETVER >= 20081217
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20081203
+packetLen(0x0073, 10) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20081126
+packetLen(0x0073, 30) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20081112
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0073, 7) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20081029
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20081022
+packetLen(0x0073, 12) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20081015
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20081008
+packetLen(0x0073, 33) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20081001
+packetLen(0x0073, 60) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080917
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080910
+packetLen(0x0073, 7) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080827
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080820
+packetLen(0x0073, 15) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080813
+packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080806
+packetLen(0x0073, 7) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080715
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080708
+packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080701
+packetLen(0x0073, 71) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080624
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080617
+packetLen(0x0073, 32) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080603
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080528
+packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080520
+packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080513
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080507
+packetLen(0x0073, 97) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080429
+packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080422
+packetLen(0x0073, 4) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080415
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080408
+packetLen(0x0073, 24) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080401
+packetLen(0x0073, 10) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080325
+packetLen(0x0073, 5) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080318
+packetLen(0x0073, 3) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080311
+packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080304
+packetLen(0x0073, 14) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080226
+packetLen(0x0073, 53) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080219
+packetLen(0x0073, 22) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080124
+packetLen(0x0073, 66) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080102
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+#endif
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+#if PACKETVER >= 20081217
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20081203
+packetLen(0x0075, 7) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20081126
+packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20081112
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20081105
+packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20081022
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20081015
+packetLen(0x0075, 29) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20081008
+packetLen(0x0075, 32) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20081001
+packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080924
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080910
+packetLen(0x0075, 3) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080827
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080820
+packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080813
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080806
+packetLen(0x0075, 3) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080730
+packetLen(0x0075, 26) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080722
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080715
+packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080708
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080701
+packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080624
+packetLen(0x0075, 5) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080617
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080610
+packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080603
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080528
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080520
+packetLen(0x0075, 12) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080513
+packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080507
+packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080429
+packetLen(0x0075, 26) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080422
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080408
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080401
+packetLen(0x0075, 39) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080325
+packetLen(0x0075, 4) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080318
+packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080311
+packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080304
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080226
+packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080219
+packetLen(0x0075, 28) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080124
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080102
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#endif
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+#if PACKETVER >= 20081203
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20081126
+packetLen(0x0077, 53) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20081119
+packetLen(0x0077, 186) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20081112
+packetLen(0x0077, 28) // ZC_NOTIFY_UPDATEPLAYER
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20081029
+packetLen(0x0077, 6) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20081022
+packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20081015
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20081001
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080924
+packetLen(0x0077, 3) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080917
+packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080910
+packetLen(0x0077, 26) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080903
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080827
+packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080820
+packetLen(0x0077, 7) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080813
+packetLen(0x0077, 31) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080806
+packetLen(0x0077, 11) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080730
+packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080722
+packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080708
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080701
+packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080624
+packetLen(0x0077, 6) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080617
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080610
+packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080603
+packetLen(0x0077, 86) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080528
+packetLen(0x0077, 8) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080520
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080422
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080415
+packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080408
+packetLen(0x0077, 13) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080401
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080325
+packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080318
+packetLen(0x0077, 8) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080311
+packetLen(0x0077, 30) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080304
+packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080226
+packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080219
+packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080124
+packetLen(0x0077, 3) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080102
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+#endif
+
+// Packet: 0x0078
+#if PACKETVER >= 20081217
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20081203
+packetLen(0x0078, 26) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20081126
+packetLen(0x0078, 10) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20081119
+packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20081112
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0078, 7) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20081022
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20081015
+packetLen(0x0078, 10) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080917
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080910
+packetLen(0x0078, 10) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080715
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080708
+packetLen(0x0078, 4) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080701
+packetLen(0x0078, 20) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x0078, 22) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x0078, 2) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0078, 53) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0078, 11) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x0078, 6) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x0078, 32) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+#endif
+
+// Packet: 0x0079
+#if PACKETVER >= 20081112
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0079, 30) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20081029
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20081022
+packetLen(0x0079, 28) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20081015
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20081008
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20081001
+packetLen(0x0079, 7) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080924
+packetLen(0x0079, 3) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080917
+packetLen(0x0079, 29) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080827
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080820
+packetLen(0x0079, 5) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080813
+packetLen(0x0079, 6) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080730
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080722
+packetLen(0x0079, 10) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080715
+packetLen(0x0079, 58) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080708
+packetLen(0x0079, 114) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080701
+packetLen(0x0079, 4) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x0079, 3) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x0079, 54) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x0079, 57) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x0079, 10) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x0079, 14) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x0079, 6) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x0079, 7) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0079, 8) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0079, 4) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0079, 27) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+#endif
+
+// Packet: 0x007a
+#if PACKETVER >= 20081112
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20081029
+packetLen(0x007a, 26) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20081022
+packetLen(0x007a, 53) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20081015
+packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20081008
+packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20081001
+packetLen(0x007a, 3) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080917
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080910
+packetLen(0x007a, 27) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080903
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080827
+packetLen(0x007a, 282) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080820
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080813
+packetLen(0x007a, 4) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080806
+packetLen(0x007a, 39) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080708
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080701
+packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x007a, 53) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x007a, 3) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x007a, 8) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x007a, 114) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x007a, 22) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x007a, 282) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x007a, 5) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x007a, 29) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+#endif
+
+// Packet: 0x007b
+#if PACKETVER >= 20081217
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20081203
+packetLen(0x007b, 20) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20081126
+packetLen(0x007b, 30) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20081119
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20081112
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20081008
+packetLen(0x007b, 3) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20081001
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080924
+packetLen(0x007b, 27) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080917
+packetLen(0x007b, 7) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080910
+packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080806
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080730
+packetLen(0x007b, 13) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080722
+packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080715
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080708
+packetLen(0x007b, 4) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x007b, 42) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x007b, 11) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x007b, 11) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x007b, 186) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x007b, 30) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x007b, 5) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x007b, 14) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+#endif
+
+// Packet: 0x007c
+#if PACKETVER >= 20081217
+packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20081112
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20081015
+packetLen(0x007c, 10) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080924
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080917
+packetLen(0x007c, 53) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080910
+packetLen(0x007c, 6) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080903
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080820
+packetLen(0x007c, 6) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080708
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080701
+packetLen(0x007c, 5) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080624
+packetLen(0x007c, 16) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080528
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080520
+packetLen(0x007c, 3) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080513
+packetLen(0x007c, 7) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080429
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080422
+packetLen(0x007c, 65) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080415
+packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080408
+packetLen(0x007c, 11) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080401
+packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080325
+packetLen(0x007c, 10) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080318
+packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080311
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080304
+packetLen(0x007c, 3) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080226
+packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080219
+packetLen(0x007c, 186) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080124
+packetLen(0x007c, 31) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080102
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+#endif
+
+// Packet: 0x007d
+#if PACKETVER >= 20081203
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20081126
+packetLen(0x007d, 22) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20081119
+packetLen(0x007d, 16) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20081112
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20081029
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20081022
+packetLen(0x007d, 6) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20081008
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20081001
+packetLen(0x007d, 10) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080917
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080910
+packetLen(0x007d, 6) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080903
+packetLen(0x007d, 57) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080820
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080813
+packetLen(0x007d, 4) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080617
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080610
+packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080603
+packetLen(0x007d, 6) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080528
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080520
+packetLen(0x007d, 9) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080513
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080507
+packetLen(0x007d, 10) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080429
+packetLen(0x007d, 11) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080422
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080415
+packetLen(0x007d, 30) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080401
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080325
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080311
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080304
+packetLen(0x007d, 14) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080226
+packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080219
+packetLen(0x007d, 3) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080124
+packetLen(0x007d, 22) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080102
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#endif
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+#if PACKETVER >= 20081119
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20081112
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20081105
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20081029
+packetLen(0x007f, 2) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20081022
+packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20081015
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20081008
+packetLen(0x007f, 2) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080903
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080827
+packetLen(0x007f, 4) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080820
+packetLen(0x007f, 53) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080813
+packetLen(0x007f, 26) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080806
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080730
+packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080722
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080715
+packetLen(0x007f, 22) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080624
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080617
+packetLen(0x007f, 5) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080603
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080528
+packetLen(0x007f, 13) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080520
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080513
+packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080507
+packetLen(0x007f, 3) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080429
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080422
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080415
+packetLen(0x007f, 7) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080408
+packetLen(0x007f, 3) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080401
+packetLen(0x007f, 182) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080325
+packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080318
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080311
+packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080304
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080226
+packetLen(0x007f, 54) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080219
+packetLen(0x007f, 4) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080124
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080102
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+#endif
+
+// Packet: 0x0080
+#if PACKETVER >= 20081217
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20081203
+packetLen(0x0080, 3) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20081119
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20081112
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20081029
+packetLen(0x0080, 9) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20081001
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080924
+packetLen(0x0080, 27) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080917
+packetLen(0x0080, 11) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080910
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080903
+packetLen(0x0080, 22) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080827
+packetLen(0x0080, 58) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080624
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080617
+packetLen(0x0080, 2) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080603
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080528
+packetLen(0x0080, 22) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080520
+packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080513
+packetLen(0x0080, 6) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080422
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080415
+packetLen(0x0080, 5) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080325
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080318
+packetLen(0x0080, 60) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080311
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080304
+packetLen(0x0080, 28) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080226
+packetLen(0x0080, 4) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080219
+packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080124
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080102
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+#endif
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+#if PACKETVER >= 20081217
+packetLen(0x0083, 3) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20081203
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20081126
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20081119
+packetLen(0x0083, 282) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20081112
+packetLen(0x0083, 58) // ZC_ACCEPT_QUIT
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0083, 4) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20081029
+packetLen(0x0083, 33) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20081022
+packetLen(0x0083, 282) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20081015
+packetLen(0x0083, 26) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20081008
+packetLen(0x0083, 21) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20081001
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080924
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080910
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080903
+packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080820
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080813
+packetLen(0x0083, 39) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080806
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080715
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080708
+packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080624
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080617
+packetLen(0x0083, 34) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080610
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080603
+packetLen(0x0083, 13) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080528
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080520
+packetLen(0x0083, 4) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080513
+packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080507
+packetLen(0x0083, 30) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080429
+packetLen(0x0083, 282) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080422
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080415
+packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080408
+packetLen(0x0083, 28) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080325
+packetLen(0x0083, 30) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080318
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080311
+packetLen(0x0083, 21) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080304
+packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080226
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080219
+packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080102
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+#endif
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+#if PACKETVER >= 20081217
+packetLen(0x0086, 17) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20081203
+packetLen(0x0086, 36) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20081112
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20081029
+packetLen(0x0086, 6) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20081008
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20081001
+packetLen(0x0086, 8) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080924
+packetLen(0x0086, 7) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080903
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080827
+packetLen(0x0086, 6) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080820
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080813
+packetLen(0x0086, 4) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080806
+packetLen(0x0086, 53) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080730
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080722
+packetLen(0x0086, 3) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080715
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080708
+packetLen(0x0086, 8) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080701
+packetLen(0x0086, 2) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0086, 3) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0086, 17) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0086, 30) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080507
+packetLen(0x0086, 32) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0086, 24) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0086, 8) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0086, 22) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0086, 2) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080318
+packetLen(0x0086, 22) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0086, 79) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0086, 7) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+#endif
+
+// Packet: 0x0087
+#if PACKETVER >= 20081217
+packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20081119
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20081112
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20081022
+packetLen(0x0087, 44) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20081001
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080924
+packetLen(0x0087, 60) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080910
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080903
+packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080827
+packetLen(0x0087, 2) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080820
+packetLen(0x0087, 10) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080730
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080722
+packetLen(0x0087, 90) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080715
+packetLen(0x0087, 4) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080708
+packetLen(0x0087, 5) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080701
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080624
+packetLen(0x0087, 4) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0087, 27) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0087, 282) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0087, 10) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0087, 2) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0087, 11) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080318
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0087, 26) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0087, 31) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+#endif
+
+// Packet: 0x0088
+#if PACKETVER >= 20081126
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20081119
+packetLen(0x0088, 4) // ZC_STOPMOVE
+#elif PACKETVER >= 20081112
+packetLen(0x0088, 18) // ZC_STOPMOVE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0088, 2) // ZC_STOPMOVE
+#elif PACKETVER >= 20081029
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20081022
+packetLen(0x0088, 11) // ZC_STOPMOVE
+#elif PACKETVER >= 20081001
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080924
+packetLen(0x0088, 60) // ZC_STOPMOVE
+#elif PACKETVER >= 20080910
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080903
+packetLen(0x0088, 15) // ZC_STOPMOVE
+#elif PACKETVER >= 20080806
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080730
+packetLen(0x0088, 22) // ZC_STOPMOVE
+#elif PACKETVER >= 20080722
+packetLen(0x0088, 26) // ZC_STOPMOVE
+#elif PACKETVER >= 20080708
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080701
+packetLen(0x0088, 19) // ZC_STOPMOVE
+#elif PACKETVER >= 20080624
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080617
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0088, 19) // ZC_STOPMOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0088, 60) // ZC_STOPMOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0088, 15) // ZC_STOPMOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0088, 6) // ZC_STOPMOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0088, 7) // ZC_STOPMOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0088, 3) // ZC_STOPMOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0088, 86) // ZC_STOPMOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0088, 282) // ZC_STOPMOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0088, 3) // ZC_STOPMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0088, 97) // ZC_STOPMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0088, 30) // ZC_STOPMOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0088, 4) // ZC_STOPMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#endif
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+#if PACKETVER >= 20081126
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20081119
+packetLen(0x008a, 7) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20081112
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20081029
+packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20081022
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20081015
+packetLen(0x008a, 30) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20081001
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080924
+packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080917
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080910
+packetLen(0x008a, 79) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080827
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080820
+packetLen(0x008a, 7) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080813
+packetLen(0x008a, 2) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080730
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080722
+packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080715
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080708
+packetLen(0x008a, 53) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080624
+packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080617
+packetLen(0x008a, 2) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080610
+packetLen(0x008a, 28) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080603
+packetLen(0x008a, 68) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080528
+packetLen(0x008a, 9) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080520
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080513
+packetLen(0x008a, 11) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080507
+packetLen(0x008a, 26) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080429
+packetLen(0x008a, 23) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080422
+packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080408
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080401
+packetLen(0x008a, 28) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080325
+packetLen(0x008a, 30) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080318
+packetLen(0x008a, 5) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080304
+packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080226
+packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080219
+packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080124
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080102
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+#endif
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+#if PACKETVER >= 20081112
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20081105
+packetLen(0x008d, 79) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20081022
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20081015
+packetLen(0x008d, 20) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080924
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080917
+packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080910
+packetLen(0x008d, 3) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080903
+packetLen(0x008d, 14) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080806
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080730
+packetLen(0x008d, 31) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080722
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080715
+packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080708
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080701
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080624
+packetLen(0x008d, 10) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080617
+packetLen(0x008d, 282) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080610
+packetLen(0x008d, 60) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080603
+packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080528
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080520
+packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080513
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080507
+packetLen(0x008d, 66) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080429
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080422
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080415
+packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080408
+packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080401
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080325
+packetLen(0x008d, 7) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080318
+packetLen(0x008d, 8) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080311
+packetLen(0x008d, 7) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080304
+packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080226
+packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080219
+packetLen(0x008d, 79) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080124
+packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080102
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#endif
+
+// Packet: 0x008e
+#if PACKETVER >= 20081203
+packetLen(0x008e, 4) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20081119
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20081112
+packetLen(0x008e, 30) // ZC_NOTIFY_PLAYERCHAT
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x008e, 5) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20081029
+packetLen(0x008e, 12) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20081022
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20081015
+packetLen(0x008e, 66) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20081008
+packetLen(0x008e, 4) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080924
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080917
+packetLen(0x008e, 39) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080910
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080903
+packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080827
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080820
+packetLen(0x008e, 8) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080806
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080730
+packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080722
+packetLen(0x008e, 54) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080715
+packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080708
+packetLen(0x008e, 28) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080701
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080624
+packetLen(0x008e, 5) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080617
+packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080610
+packetLen(0x008e, 10) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080603
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080528
+packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080520
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080513
+packetLen(0x008e, 282) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080507
+packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080429
+packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080422
+packetLen(0x008e, 3) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080415
+packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080408
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080401
+packetLen(0x008e, 4) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080325
+packetLen(0x008e, 28) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080318
+packetLen(0x008e, 186) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080311
+packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080304
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080226
+packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080219
+packetLen(0x008e, 33) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080102
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#endif
+
+// Packet: 0x0090
+#if PACKETVER >= 20081217
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20081203
+packetLen(0x0090, 6) // CZ_CONTACTNPC
+#elif PACKETVER >= 20081126
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20081119
+packetLen(0x0090, 30) // CZ_CONTACTNPC
+#elif PACKETVER >= 20081112
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20081029
+packetLen(0x0090, 8) // CZ_CONTACTNPC
+#elif PACKETVER >= 20081015
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20081008
+packetLen(0x0090, 2) // CZ_CONTACTNPC
+#elif PACKETVER >= 20081001
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080924
+packetLen(0x0090, 5) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080917
+packetLen(0x0090, 26) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080910
+packetLen(0x0090, 282) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080827
+packetLen(0x0090, 3) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080820
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080813
+packetLen(0x0090, 33) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080806
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080730
+packetLen(0x0090, 3) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080708
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080701
+packetLen(0x0090, 10) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080617
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080610
+packetLen(0x0090, 6) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080528
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080520
+packetLen(0x0090, 3) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080513
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080507
+packetLen(0x0090, 4) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080429
+packetLen(0x0090, 19) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080422
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080415
+packetLen(0x0090, 36) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080408
+packetLen(0x0090, 20) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080401
+packetLen(0x0090, 53) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080325
+packetLen(0x0090, 5) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080318
+packetLen(0x0090, 6) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080311
+packetLen(0x0090, 2) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080304
+packetLen(0x0090, 17) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080226
+packetLen(0x0090, 4) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080219
+packetLen(0x0090, 2) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080124
+packetLen(0x0090, 24) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080102
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+#endif
+
+// Packet: 0x0091
+#if PACKETVER >= 20081217
+packetLen(0x0091, 3) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20081203
+packetLen(0x0091, 27) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20081126
+packetLen(0x0091, 26) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20081112
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20081022
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20081015
+packetLen(0x0091, 7) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20081008
+packetLen(0x0091, 14) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080910
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080903
+packetLen(0x0091, 10) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080806
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080730
+packetLen(0x0091, 10) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080722
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080715
+packetLen(0x0091, 16) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080701
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080624
+packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080617
+packetLen(0x0091, 2) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0091, 21) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0091, 14) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0091, 5) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080507
+packetLen(0x0091, 6) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0091, 30) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0091, 182) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0091, 58) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0091, 15) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0091, 2) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080318
+packetLen(0x0091, 6) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0091, 57) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0091, 4) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0091, 79) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+#endif
+
+// Packet: 0x0092
+#if PACKETVER >= 20081112
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20081029
+packetLen(0x0092, 29) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20081015
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20081008
+packetLen(0x0092, 2) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080924
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080917
+packetLen(0x0092, 2) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080910
+packetLen(0x0092, 114) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080827
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080820
+packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080813
+packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080806
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080730
+packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080722
+packetLen(0x0092, 13) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080715
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080708
+packetLen(0x0092, 18) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080701
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080624
+packetLen(0x0092, 15) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080617
+packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0092, 20) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080603
+packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080528
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080520
+packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080513
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080507
+packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080429
+packetLen(0x0092, 32) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080422
+packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080415
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080408
+packetLen(0x0092, 21) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080401
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080325
+packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080318
+packetLen(0x0092, 81) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0092, 10) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0092, 5) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0092, 3) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080124
+packetLen(0x0092, 4) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+#endif
+
+// Packet: 0x0093
+#if PACKETVER >= 20081203
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20081126
+packetLen(0x0093, 14) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20081119
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20081112
+packetLen(0x0093, 15) // ZC_NPCACK_ENABLE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20081022
+packetLen(0x0093, 29) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20081015
+packetLen(0x0093, 9) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20081001
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080924
+packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080820
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080813
+packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080806
+packetLen(0x0093, 7) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080730
+packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080722
+packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080715
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080708
+packetLen(0x0093, 9) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080701
+packetLen(0x0093, 4) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080624
+packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080617
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080610
+packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080528
+packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080520
+packetLen(0x0093, 22) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080513
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080507
+packetLen(0x0093, 26) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080422
+packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080415
+packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080408
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080401
+packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080325
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080318
+packetLen(0x0093, 8) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080311
+packetLen(0x0093, 11) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080304
+packetLen(0x0093, 26) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080226
+packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080219
+packetLen(0x0093, 67) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080124
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080102
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+#endif
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+#if PACKETVER >= 20081217
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20081203
+packetLen(0x0095, 6) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20081126
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20081119
+packetLen(0x0095, 3) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20081112
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20081022
+packetLen(0x0095, 8) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20081015
+packetLen(0x0095, 6) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080917
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080910
+packetLen(0x0095, 6) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080903
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080827
+packetLen(0x0095, 28) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080820
+packetLen(0x0095, 58) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080806
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080730
+packetLen(0x0095, 28) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080722
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080715
+packetLen(0x0095, 3) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080708
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080701
+packetLen(0x0095, 6) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080624
+packetLen(0x0095, 10) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080610
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080603
+packetLen(0x0095, 54) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080528
+packetLen(0x0095, 2) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080520
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080513
+packetLen(0x0095, 9) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080507
+packetLen(0x0095, 22) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080408
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080401
+packetLen(0x0095, 10) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080325
+packetLen(0x0095, 4) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080318
+packetLen(0x0095, 3) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080311
+packetLen(0x0095, 59) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080304
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080226
+packetLen(0x0095, 39) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080219
+packetLen(0x0095, 2) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080102
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+#endif
+
+// Packet: 0x0096
+#if PACKETVER >= 20081105
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20081029
+packetLen(0x0096, 6) // CZ_WHISPER
+#elif PACKETVER >= 20081022
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20081015
+packetLen(0x0096, 12) // CZ_WHISPER
+#elif PACKETVER >= 20081008
+packetLen(0x0096, 57) // CZ_WHISPER
+#elif PACKETVER >= 20081001
+packetLen(0x0096, 55) // CZ_WHISPER
+#elif PACKETVER >= 20080910
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080903
+packetLen(0x0096, 60) // CZ_WHISPER
+#elif PACKETVER >= 20080820
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080813
+packetLen(0x0096, 30) // CZ_WHISPER
+#elif PACKETVER >= 20080806
+packetLen(0x0096, 10) // CZ_WHISPER
+#elif PACKETVER >= 20080730
+packetLen(0x0096, 6) // CZ_WHISPER
+#elif PACKETVER >= 20080708
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080701
+packetLen(0x0096, 10) // CZ_WHISPER
+#elif PACKETVER >= 20080610
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080603
+packetLen(0x0096, 10) // CZ_WHISPER
+#elif PACKETVER >= 20080528
+packetLen(0x0096, 31) // CZ_WHISPER
+#elif PACKETVER >= 20080513
+packetLen(0x0096, 6) // CZ_WHISPER
+#elif PACKETVER >= 20080422
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080415
+packetLen(0x0096, 26) // CZ_WHISPER
+#elif PACKETVER >= 20080401
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080325
+packetLen(0x0096, 5) // CZ_WHISPER
+#elif PACKETVER >= 20080318
+packetLen(0x0096, 7) // CZ_WHISPER
+#elif PACKETVER >= 20080311
+packetLen(0x0096, 10) // CZ_WHISPER
+#elif PACKETVER >= 20080226
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080219
+packetLen(0x0096, 3) // CZ_WHISPER
+#elif PACKETVER >= 20080124
+packetLen(0x0096, 6) // CZ_WHISPER
+#elif PACKETVER >= 20080102
+packetLen(0x0096, -1) // CZ_WHISPER
+#endif
+
+// Packet: 0x0097
+#if PACKETVER >= 20081119
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20081112
+packetLen(0x0097, 19) // ZC_WHISPER
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20081029
+packetLen(0x0097, 3) // ZC_WHISPER
+#elif PACKETVER >= 20081022
+packetLen(0x0097, 6) // ZC_WHISPER
+#elif PACKETVER >= 20081015
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20081008
+packetLen(0x0097, 6) // ZC_WHISPER
+#elif PACKETVER >= 20081001
+packetLen(0x0097, 4) // ZC_WHISPER
+#elif PACKETVER >= 20080917
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20080910
+packetLen(0x0097, 58) // ZC_WHISPER
+#elif PACKETVER >= 20080730
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20080722
+packetLen(0x0097, 23) // ZC_WHISPER
+#elif PACKETVER >= 20080715
+packetLen(0x0097, 10) // ZC_WHISPER
+#elif PACKETVER >= 20080708
+packetLen(0x0097, 26) // ZC_WHISPER
+#elif PACKETVER >= 20080701
+packetLen(0x0097, 282) // ZC_WHISPER
+#elif PACKETVER >= 20080624
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20080617
+packetLen(0x0097, 10) // ZC_WHISPER
+#elif PACKETVER >= 20080610
+packetLen(0x0097, 8) // ZC_WHISPER
+#elif PACKETVER >= 20080603
+packetLen(0x0097, 5) // ZC_WHISPER
+#elif PACKETVER >= 20080528
+packetLen(0x0097, 7) // ZC_WHISPER
+#elif PACKETVER >= 20080520
+packetLen(0x0097, 8) // ZC_WHISPER
+#elif PACKETVER >= 20080513
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20080507
+packetLen(0x0097, 30) // ZC_WHISPER
+#elif PACKETVER >= 20080429
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20080422
+packetLen(0x0097, 29) // ZC_WHISPER
+#elif PACKETVER >= 20080415
+packetLen(0x0097, 16) // ZC_WHISPER
+#elif PACKETVER >= 20080408
+packetLen(0x0097, 30) // ZC_WHISPER
+#elif PACKETVER >= 20080401
+packetLen(0x0097, 53) // ZC_WHISPER
+#elif PACKETVER >= 20080325
+packetLen(0x0097, 26) // ZC_WHISPER
+#elif PACKETVER >= 20080318
+packetLen(0x0097, 3) // ZC_WHISPER
+#elif PACKETVER >= 20080311
+packetLen(0x0097, 33) // ZC_WHISPER
+#elif PACKETVER >= 20080304
+packetLen(0x0097, 7) // ZC_WHISPER
+#elif PACKETVER >= 20080219
+packetLen(0x0097, 23) // ZC_WHISPER
+#elif PACKETVER >= 20080102
+packetLen(0x0097, -1) // ZC_WHISPER
+#endif
+
+// Packet: 0x0098
+#if PACKETVER >= 20081217
+packetLen(0x0098, 9) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20081119
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20081112
+packetLen(0x0098, 8) // ZC_ACK_WHISPER
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0098, 16) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20081029
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20081022
+packetLen(0x0098, 30) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20081015
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20081008
+packetLen(0x0098, 2) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080820
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080813
+packetLen(0x0098, 14) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080730
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080722
+packetLen(0x0098, 19) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080715
+packetLen(0x0098, 54) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080708
+packetLen(0x0098, 39) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080701
+packetLen(0x0098, 8) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080624
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080617
+packetLen(0x0098, 24) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080610
+packetLen(0x0098, 26) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080528
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080520
+packetLen(0x0098, 16) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080513
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080507
+packetLen(0x0098, 13) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080429
+packetLen(0x0098, 58) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080408
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080401
+packetLen(0x0098, 26) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080325
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080318
+packetLen(0x0098, 26) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080311
+packetLen(0x0098, 60) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080304
+packetLen(0x0098, 182) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080226
+packetLen(0x0098, 2) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080219
+packetLen(0x0098, 8) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080124
+packetLen(0x0098, 10) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080102
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+#endif
+
+// Packet: 0x0099
+#if PACKETVER >= 20081217
+packetLen(0x0099, 31) // CZ_BROADCAST
+#elif PACKETVER >= 20081119
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20081112
+packetLen(0x0099, 6) // CZ_BROADCAST
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0099, 6) // CZ_BROADCAST
+#elif PACKETVER >= 20081022
+packetLen(0x0099, 26) // CZ_BROADCAST
+#elif PACKETVER >= 20081015
+packetLen(0x0099, 3) // CZ_BROADCAST
+#elif PACKETVER >= 20081008
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20081001
+packetLen(0x0099, 4) // CZ_BROADCAST
+#elif PACKETVER >= 20080924
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080917
+packetLen(0x0099, 14) // CZ_BROADCAST
+#elif PACKETVER >= 20080903
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080827
+packetLen(0x0099, 4) // CZ_BROADCAST
+#elif PACKETVER >= 20080813
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080806
+packetLen(0x0099, 3) // CZ_BROADCAST
+#elif PACKETVER >= 20080730
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080722
+packetLen(0x0099, 5) // CZ_BROADCAST
+#elif PACKETVER >= 20080715
+packetLen(0x0099, 2) // CZ_BROADCAST
+#elif PACKETVER >= 20080708
+packetLen(0x0099, 182) // CZ_BROADCAST
+#elif PACKETVER >= 20080701
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080624
+packetLen(0x0099, 30) // CZ_BROADCAST
+#elif PACKETVER >= 20080617
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080610
+packetLen(0x0099, 9) // CZ_BROADCAST
+#elif PACKETVER >= 20080603
+packetLen(0x0099, 4) // CZ_BROADCAST
+#elif PACKETVER >= 20080528
+packetLen(0x0099, 60) // CZ_BROADCAST
+#elif PACKETVER >= 20080520
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080507
+packetLen(0x0099, 8) // CZ_BROADCAST
+#elif PACKETVER >= 20080429
+packetLen(0x0099, 2) // CZ_BROADCAST
+#elif PACKETVER >= 20080408
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080401
+packetLen(0x0099, 6) // CZ_BROADCAST
+#elif PACKETVER >= 20080325
+packetLen(0x0099, 54) // CZ_BROADCAST
+#elif PACKETVER >= 20080318
+packetLen(0x0099, 6) // CZ_BROADCAST
+#elif PACKETVER >= 20080311
+packetLen(0x0099, 66) // CZ_BROADCAST
+#elif PACKETVER >= 20080304
+packetLen(0x0099, 10) // CZ_BROADCAST
+#elif PACKETVER >= 20080226
+packetLen(0x0099, 34) // CZ_BROADCAST
+#elif PACKETVER >= 20080219
+packetLen(0x0099, 2) // CZ_BROADCAST
+#elif PACKETVER >= 20080102
+packetLen(0x0099, -1) // CZ_BROADCAST
+#endif
+
+// Packet: 0x009a
+#if PACKETVER >= 20081217
+packetLen(0x009a, 65) // ZC_BROADCAST
+#elif PACKETVER >= 20081203
+packetLen(0x009a, 4) // ZC_BROADCAST
+#elif PACKETVER >= 20081105
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20081029
+packetLen(0x009a, 19) // ZC_BROADCAST
+#elif PACKETVER >= 20081022
+packetLen(0x009a, 2) // ZC_BROADCAST
+#elif PACKETVER >= 20081015
+packetLen(0x009a, 5) // ZC_BROADCAST
+#elif PACKETVER >= 20081008
+packetLen(0x009a, 6) // ZC_BROADCAST
+#elif PACKETVER >= 20081001
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080924
+packetLen(0x009a, 2) // ZC_BROADCAST
+#elif PACKETVER >= 20080917
+packetLen(0x009a, 4) // ZC_BROADCAST
+#elif PACKETVER >= 20080910
+packetLen(0x009a, 20) // ZC_BROADCAST
+#elif PACKETVER >= 20080903
+packetLen(0x009a, 30) // ZC_BROADCAST
+#elif PACKETVER >= 20080827
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080820
+packetLen(0x009a, 11) // ZC_BROADCAST
+#elif PACKETVER >= 20080813
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080806
+packetLen(0x009a, 6) // ZC_BROADCAST
+#elif PACKETVER >= 20080722
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080715
+packetLen(0x009a, 7) // ZC_BROADCAST
+#elif PACKETVER >= 20080708
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080701
+packetLen(0x009a, 3) // ZC_BROADCAST
+#elif PACKETVER >= 20080617
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080610
+packetLen(0x009a, 90) // ZC_BROADCAST
+#elif PACKETVER >= 20080603
+packetLen(0x009a, 29) // ZC_BROADCAST
+#elif PACKETVER >= 20080528
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080520
+packetLen(0x009a, 10) // ZC_BROADCAST
+#elif PACKETVER >= 20080513
+packetLen(0x009a, 28) // ZC_BROADCAST
+#elif PACKETVER >= 20080422
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080415
+packetLen(0x009a, 33) // ZC_BROADCAST
+#elif PACKETVER >= 20080408
+packetLen(0x009a, 9) // ZC_BROADCAST
+#elif PACKETVER >= 20080325
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080318
+packetLen(0x009a, 59) // ZC_BROADCAST
+#elif PACKETVER >= 20080311
+packetLen(0x009a, 57) // ZC_BROADCAST
+#elif PACKETVER >= 20080304
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080226
+packetLen(0x009a, 4) // ZC_BROADCAST
+#elif PACKETVER >= 20080219
+packetLen(0x009a, 10) // ZC_BROADCAST
+#elif PACKETVER >= 20080124
+packetLen(0x009a, 4) // ZC_BROADCAST
+#elif PACKETVER >= 20080102
+packetLen(0x009a, -1) // ZC_BROADCAST
+#endif
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+#if PACKETVER >= 20081203
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20081126
+packetLen(0x009c, 7) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20081119
+packetLen(0x009c, 14) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20081112
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x009c, 30) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20081029
+packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20081008
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20081001
+packetLen(0x009c, 14) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080924
+packetLen(0x009c, 2) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080910
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080903
+packetLen(0x009c, 2) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080827
+packetLen(0x009c, 59) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080813
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080806
+packetLen(0x009c, 44) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080708
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080701
+packetLen(0x009c, 67) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080617
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080610
+packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080603
+packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080528
+packetLen(0x009c, 26) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080520
+packetLen(0x009c, 67) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080513
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080507
+packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080429
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080422
+packetLen(0x009c, 10) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080415
+packetLen(0x009c, 66) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080408
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080401
+packetLen(0x009c, 8) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080325
+packetLen(0x009c, 3) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080318
+packetLen(0x009c, 282) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080311
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080304
+packetLen(0x009c, 71) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080226
+packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080219
+packetLen(0x009c, 7) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080124
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080102
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009d
+#if PACKETVER >= 20081119
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20081112
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20081008
+packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20081001
+packetLen(0x009d, 27) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080924
+packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080917
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080910
+packetLen(0x009d, 4) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080722
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080715
+packetLen(0x009d, 2) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080708
+packetLen(0x009d, 14) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080701
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x009d, 13) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x009d, 3) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x009d, 8) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x009d, 29) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x009d, 59) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x009d, 32) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x009d, 26) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x009d, 13) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20081217
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20081203
+packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20081126
+packetLen(0x009e, 26) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20081119
+packetLen(0x009e, 5) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20081112
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20081022
+packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20081001
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080924
+packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080827
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080820
+packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080813
+packetLen(0x009e, 5) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080701
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x009e, 4) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x009e, 186) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x009e, 2) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x009e, 9) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x009e, 39) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x009e, 5) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x009e, 282) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x009e, 97) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+#if PACKETVER >= 20081112
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20081001
+packetLen(0x00a0, 32) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080903
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080827
+packetLen(0x00a0, 14) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080820
+packetLen(0x00a0, 3) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080813
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080806
+packetLen(0x00a0, 21) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080715
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080708
+packetLen(0x00a0, 90) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080701
+packetLen(0x00a0, 30) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080617
+packetLen(0x00a0, 6) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00a0, 26) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00a0, 3) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00a0, 14) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00a0, 12) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00a0, 6) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00a0, 13) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00a0, 28) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00a0, 27) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00a0, 39) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00a0, 5) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#endif
+
+// Packet: 0x00a1
+#if PACKETVER >= 20081112
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00a1, 8) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20081022
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20081008
+packetLen(0x00a1, 2) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20081001
+packetLen(0x00a1, 26) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080903
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080827
+packetLen(0x00a1, 68) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080820
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080813
+packetLen(0x00a1, 36) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080806
+packetLen(0x00a1, 4) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080722
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080715
+packetLen(0x00a1, 21) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080708
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080701
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080624
+packetLen(0x00a1, 44) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080617
+packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080528
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080520
+packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080513
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080507
+packetLen(0x00a1, 11) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080422
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080415
+packetLen(0x00a1, 16) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080408
+packetLen(0x00a1, 3) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080401
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080325
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080318
+packetLen(0x00a1, 53) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080311
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080304
+packetLen(0x00a1, 21) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080226
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080219
+packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080124
+packetLen(0x00a1, 30) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080102
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#endif
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+#if PACKETVER >= 20081126
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081119
+packetLen(0x00a3, 8) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081105
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081029
+packetLen(0x00a3, 30) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081015
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081008
+packetLen(0x00a3, 8) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081001
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080924
+packetLen(0x00a3, 6) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x00a3, 60) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x00a3, 42) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x00a3, 28) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00a3, 3) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00a3, 15) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x00a3, 16) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00a3, 8) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x00a3, 28) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00a3, 2) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a3, 65) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00a3, 6) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a3, 30) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a3, 44) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x00a4
+#if PACKETVER >= 20081112
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081105
+packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081015
+packetLen(0x00a4, 8) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081001
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080924
+packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x00a4, 4) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x00a4, 8) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080820
+packetLen(0x00a4, 58) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x00a4, 21) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x00a4, 86) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00a4, 3) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00a4, 14) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00a4, 33) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x00a4, 60) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00a4, 22) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00a4, 2) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00a4, 7) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00a4, 27) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a4, 15) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a4, 30) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#endif
+
+// Packet: 0x00a5
+#if PACKETVER >= 20081217
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081203
+packetLen(0x00a5, 102) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081119
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081112
+packetLen(0x00a5, 102) // ZC_STORE_NORMAL_ITEMLIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00a5, 42) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081015
+packetLen(0x00a5, 10) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081001
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080924
+packetLen(0x00a5, 2) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080820
+packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x00a5, 10) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a5, 7) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00a5, 9) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00a5, 4) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x00a5, 8) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00a5, 9) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a5, 282) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00a5, 30) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00a5, 4) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x00a6
+#if PACKETVER >= 20081217
+packetLen(0x00a6, 20) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081203
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081126
+packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081029
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081008
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081001
+packetLen(0x00a6, 11) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x00a6, 29) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x00a6, 22) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x00a6, 30) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00a6, 30) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00a6, 282) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00a6, 59) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x00a6, 7) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00a6, 3) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a6, 26) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#endif
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+#if PACKETVER >= 20081217
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20081203
+packetLen(0x00a8, 43) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20081126
+packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20081119
+packetLen(0x00a8, 5) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20081112
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20081022
+packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20081015
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20081008
+packetLen(0x00a8, 42) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20081001
+packetLen(0x00a8, 59) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080924
+packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080917
+packetLen(0x00a8, 8) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080910
+packetLen(0x00a8, 282) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080827
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080820
+packetLen(0x00a8, 15) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080813
+packetLen(0x00a8, 2) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080806
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080701
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00a8, 90) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00a8, 13) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00a8, 4) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00a8, 2) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00a8, 30) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00a8, 20) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+#endif
+
+// Packet: 0x00a9
+#if PACKETVER >= 20081217
+packetLen(0x00a9, 30) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20081203
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20081126
+packetLen(0x00a9, 28) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20081119
+packetLen(0x00a9, 4) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20081112
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20081022
+packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20081015
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20081008
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20081001
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080924
+packetLen(0x00a9, 18) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080917
+packetLen(0x00a9, 4) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080827
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080820
+packetLen(0x00a9, 11) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080806
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080730
+packetLen(0x00a9, 3) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080722
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080715
+packetLen(0x00a9, 44) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080708
+packetLen(0x00a9, 10) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080701
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080617
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080610
+packetLen(0x00a9, 282) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080603
+packetLen(0x00a9, 114) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080528
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080520
+packetLen(0x00a9, 79) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080513
+packetLen(0x00a9, 3) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080507
+packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080429
+packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080422
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080415
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080408
+packetLen(0x00a9, 2) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080401
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080325
+packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080311
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080304
+packetLen(0x00a9, 11) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080226
+packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080219
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080124
+packetLen(0x00a9, 10) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080102
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#endif
+
+// Packet: 0x00aa
+#if PACKETVER >= 20081112
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20081001
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080924
+packetLen(0x00aa, 39) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080903
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080827
+packetLen(0x00aa, 10) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080820
+packetLen(0x00aa, 11) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080813
+packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080806
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080730
+packetLen(0x00aa, 71) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080722
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080715
+packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080708
+packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00aa, 10) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080415
+packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00aa, 31) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00aa, 16) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00aa, 55) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00aa, 11) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+#endif
+
+// Packet: 0x00ab
+#if PACKETVER >= 20081203
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20081119
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20081112
+packetLen(0x00ab, 5) // CZ_REQ_TAKEOFF_EQUIP
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20081029
+packetLen(0x00ab, 30) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20081022
+packetLen(0x00ab, 60) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20081001
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080924
+packetLen(0x00ab, 79) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080910
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080903
+packetLen(0x00ab, 67) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080827
+packetLen(0x00ab, 282) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080730
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080722
+packetLen(0x00ab, 8) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080715
+packetLen(0x00ab, 14) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080701
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080617
+packetLen(0x00ab, 6) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080610
+packetLen(0x00ab, 16) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080603
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080528
+packetLen(0x00ab, 53) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080520
+packetLen(0x00ab, 36) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080513
+packetLen(0x00ab, 26) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080507
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080429
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080422
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080415
+packetLen(0x00ab, 7) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080401
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080325
+packetLen(0x00ab, 8) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080318
+packetLen(0x00ab, 9) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080311
+packetLen(0x00ab, 14) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080304
+packetLen(0x00ab, 2) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080226
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080219
+packetLen(0x00ab, 57) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080124
+packetLen(0x00ab, 86) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080102
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#endif
+
+// Packet: 0x00ac
+#if PACKETVER >= 20081217
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20081203
+packetLen(0x00ac, 30) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20081126
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20081112
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20081015
+packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20081008
+packetLen(0x00ac, 30) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20081001
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080924
+packetLen(0x00ac, 59) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080917
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080910
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080903
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080827
+packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080820
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080813
+packetLen(0x00ac, 13) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080806
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080730
+packetLen(0x00ac, 20) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080722
+packetLen(0x00ac, 44) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080715
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080708
+packetLen(0x00ac, 11) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080701
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00ac, 8) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080617
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00ac, 67) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080415
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00ac, 8) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#endif
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+#if PACKETVER >= 20081119
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20081105
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20081029
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20081022
+packetLen(0x00af, 16) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20081015
+packetLen(0x00af, 81) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20081008
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20081001
+packetLen(0x00af, 16) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080910
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080827
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080820
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080813
+packetLen(0x00af, 14) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080730
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080722
+packetLen(0x00af, 28) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080715
+packetLen(0x00af, 102) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080708
+packetLen(0x00af, 42) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080701
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00af, 5) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00af, 10) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00af, 29) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00af, 10) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00af, 26) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00af, 7) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00af, 4) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#endif
+
+// Packet: 0x00b0
+#if PACKETVER >= 20081217
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20081015
+packetLen(0x00b0, 30) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20081008
+packetLen(0x00b0, 5) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080806
+packetLen(0x00b0, 10) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080730
+packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080722
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080715
+packetLen(0x00b0, 86) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080701
+packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00b0, 6) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x00b0, 6) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00b0, 28) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00b0, 12) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00b0, 4) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00b0, 2) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00b0, 10) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00b0, 11) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00b0, 2) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+#endif
+
+// Packet: 0x00b1
+#if PACKETVER >= 20081217
+packetLen(0x00b1, 11) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20081203
+packetLen(0x00b1, 14) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20081126
+packetLen(0x00b1, 16) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20081119
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x00b1, 16) // ZC_LONGPAR_CHANGE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20081001
+packetLen(0x00b1, 5) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080924
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080917
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080910
+packetLen(0x00b1, 55) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080903
+packetLen(0x00b1, 39) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080827
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080820
+packetLen(0x00b1, 7) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080730
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080722
+packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080701
+packetLen(0x00b1, 3) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00b1, 11) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00b1, 2) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00b1, 6) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00b1, 97) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00b1, 26) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00b1, 58) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00b1, 2) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00b1, 14) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00b1, 9) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+#endif
+
+// Packet: 0x00b2
+#if PACKETVER >= 20081217
+packetLen(0x00b2, 23) // CZ_RESTART
+#elif PACKETVER >= 20081203
+packetLen(0x00b2, 2) // CZ_RESTART
+#elif PACKETVER >= 20081126
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20081119
+packetLen(0x00b2, 54) // CZ_RESTART
+#elif PACKETVER >= 20081112
+packetLen(0x00b2, 26) // CZ_RESTART
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b2, 11) // CZ_RESTART
+#elif PACKETVER >= 20081029
+packetLen(0x00b2, 42) // CZ_RESTART
+#elif PACKETVER >= 20081022
+packetLen(0x00b2, 10) // CZ_RESTART
+#elif PACKETVER >= 20081015
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20081008
+packetLen(0x00b2, 282) // CZ_RESTART
+#elif PACKETVER >= 20081001
+packetLen(0x00b2, 3) // CZ_RESTART
+#elif PACKETVER >= 20080917
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080910
+packetLen(0x00b2, 14) // CZ_RESTART
+#elif PACKETVER >= 20080903
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080827
+packetLen(0x00b2, 102) // CZ_RESTART
+#elif PACKETVER >= 20080820
+packetLen(0x00b2, 14) // CZ_RESTART
+#elif PACKETVER >= 20080813
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080806
+packetLen(0x00b2, 7) // CZ_RESTART
+#elif PACKETVER >= 20080730
+packetLen(0x00b2, 30) // CZ_RESTART
+#elif PACKETVER >= 20080722
+packetLen(0x00b2, 3) // CZ_RESTART
+#elif PACKETVER >= 20080715
+packetLen(0x00b2, 6) // CZ_RESTART
+#elif PACKETVER >= 20080708
+packetLen(0x00b2, 3) // CZ_RESTART
+#elif PACKETVER >= 20080624
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080617
+packetLen(0x00b2, 10) // CZ_RESTART
+#elif PACKETVER >= 20080610
+packetLen(0x00b2, 13) // CZ_RESTART
+#elif PACKETVER >= 20080603
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080528
+packetLen(0x00b2, 2) // CZ_RESTART
+#elif PACKETVER >= 20080520
+packetLen(0x00b2, 6) // CZ_RESTART
+#elif PACKETVER >= 20080513
+packetLen(0x00b2, 58) // CZ_RESTART
+#elif PACKETVER >= 20080507
+packetLen(0x00b2, 6) // CZ_RESTART
+#elif PACKETVER >= 20080429
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080422
+packetLen(0x00b2, 3) // CZ_RESTART
+#elif PACKETVER >= 20080415
+packetLen(0x00b2, 14) // CZ_RESTART
+#elif PACKETVER >= 20080408
+packetLen(0x00b2, 67) // CZ_RESTART
+#elif PACKETVER >= 20080401
+packetLen(0x00b2, 4) // CZ_RESTART
+#elif PACKETVER >= 20080325
+packetLen(0x00b2, 5) // CZ_RESTART
+#elif PACKETVER >= 20080318
+packetLen(0x00b2, 3) // CZ_RESTART
+#elif PACKETVER >= 20080311
+packetLen(0x00b2, 5) // CZ_RESTART
+#elif PACKETVER >= 20080304
+packetLen(0x00b2, 8) // CZ_RESTART
+#elif PACKETVER >= 20080226
+packetLen(0x00b2, 9) // CZ_RESTART
+#elif PACKETVER >= 20080219
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080124
+packetLen(0x00b2, 2) // CZ_RESTART
+#elif PACKETVER >= 20080102
+packetLen(0x00b2, 3) // CZ_RESTART
+#endif
+
+// Packet: 0x00b3
+#if PACKETVER >= 20081203
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20081126
+packetLen(0x00b3, 2) // ZC_RESTART_ACK
+#elif PACKETVER >= 20081119
+packetLen(0x00b3, 14) // ZC_RESTART_ACK
+#elif PACKETVER >= 20081112
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b3, 11) // ZC_RESTART_ACK
+#elif PACKETVER >= 20081029
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20081022
+packetLen(0x00b3, 2) // ZC_RESTART_ACK
+#elif PACKETVER >= 20081015
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20081008
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+#elif PACKETVER >= 20081001
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080924
+packetLen(0x00b3, 30) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080917
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080910
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080820
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080813
+packetLen(0x00b3, 18) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080722
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080708
+packetLen(0x00b3, 6) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080701
+packetLen(0x00b3, 14) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080617
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00b3, 6) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00b3, 30) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00b3, 6) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00b3, 2) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00b3, 4) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080415
+packetLen(0x00b3, 6) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00b3, 5) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00b3, 35) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00b3, 7) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00b3, 10) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00b3, 55) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00b3, 28) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+#endif
+
+// Packet: 0x00b4
+#if PACKETVER >= 20081217
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20081203
+packetLen(0x00b4, 81) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20081126
+packetLen(0x00b4, 10) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20081119
+packetLen(0x00b4, 19) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20081112
+packetLen(0x00b4, 282) // ZC_SAY_DIALOG
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b4, 32) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20081029
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20081022
+packetLen(0x00b4, 81) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080820
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080813
+packetLen(0x00b4, 3) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080806
+packetLen(0x00b4, 57) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080722
+packetLen(0x00b4, 30) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080715
+packetLen(0x00b4, 15) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080617
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080610
+packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080603
+packetLen(0x00b4, 33) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080528
+packetLen(0x00b4, 3) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080520
+packetLen(0x00b4, 10) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080513
+packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080429
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080422
+packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080415
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080408
+packetLen(0x00b4, 282) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080401
+packetLen(0x00b4, 34) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080325
+packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080318
+packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x00b4, 36) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x00b4, 43) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#endif
+
+// Packet: 0x00b5
+#if PACKETVER >= 20081217
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20081203
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20081126
+packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20081119
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20081112
+packetLen(0x00b5, 8) // ZC_WAIT_DIALOG
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20081029
+packetLen(0x00b5, 26) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20081022
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20081008
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20081001
+packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080924
+packetLen(0x00b5, 71) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080917
+packetLen(0x00b5, 282) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080910
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080903
+packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080820
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080813
+packetLen(0x00b5, 16) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080806
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080730
+packetLen(0x00b5, 282) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080722
+packetLen(0x00b5, 11) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080715
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080708
+packetLen(0x00b5, 58) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080701
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080624
+packetLen(0x00b5, 12) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080617
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080610
+packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080603
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080528
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080520
+packetLen(0x00b5, 2) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080513
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080507
+packetLen(0x00b5, 5) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080429
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080422
+packetLen(0x00b5, 19) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080415
+packetLen(0x00b5, 14) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080408
+packetLen(0x00b5, 90) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080401
+packetLen(0x00b5, 14) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080325
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080318
+packetLen(0x00b5, 11) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x00b5, 8) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x00b5, 30) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080124
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#endif
+
+// Packet: 0x00b6
+#if PACKETVER >= 20081217
+packetLen(0x00b6, 26) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20081203
+packetLen(0x00b6, 79) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20081112
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20081029
+packetLen(0x00b6, 7) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20081022
+packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20081015
+packetLen(0x00b6, 79) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20081001
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080924
+packetLen(0x00b6, 4) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080917
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080910
+packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080903
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080827
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080813
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080806
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080730
+packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080722
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080715
+packetLen(0x00b6, 60) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080708
+packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080701
+packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080624
+packetLen(0x00b6, 7) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080617
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080610
+packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080603
+packetLen(0x00b6, 39) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080528
+packetLen(0x00b6, 11) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080429
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080422
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080415
+packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080408
+packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080401
+packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080325
+packetLen(0x00b6, 16) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080318
+packetLen(0x00b6, 12) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x00b6, 4) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080124
+packetLen(0x00b6, 14) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#endif
+
+// Packet: 0x00b7
+#if PACKETVER >= 20081203
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x00b7, 26) // ZC_MENU_LIST
+#elif PACKETVER >= 20081112
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20081029
+packetLen(0x00b7, 10) // ZC_MENU_LIST
+#elif PACKETVER >= 20081022
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x00b7, 22) // ZC_MENU_LIST
+#elif PACKETVER >= 20081001
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080924
+packetLen(0x00b7, 6) // ZC_MENU_LIST
+#elif PACKETVER >= 20080903
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080827
+packetLen(0x00b7, 6) // ZC_MENU_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080813
+packetLen(0x00b7, 6) // ZC_MENU_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x00b7, 21) // ZC_MENU_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x00b7, 22) // ZC_MENU_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x00b7, 2) // ZC_MENU_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x00b7, 58) // ZC_MENU_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x00b7, 6) // ZC_MENU_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x00b7, 20) // ZC_MENU_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x00b7, 2) // ZC_MENU_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x00b7, 5) // ZC_MENU_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x00b7, 14) // ZC_MENU_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x00b7, 8) // ZC_MENU_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x00b7, 6) // ZC_MENU_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x00b7, 42) // ZC_MENU_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x00b7, 13) // ZC_MENU_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x00b7, 32) // ZC_MENU_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x00b7, 3) // ZC_MENU_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x00b7, 21) // ZC_MENU_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#endif
+
+// Packet: 0x00b8
+#if PACKETVER >= 20081203
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20081126
+packetLen(0x00b8, 2) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20081112
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20081029
+packetLen(0x00b8, 44) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20081015
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20081008
+packetLen(0x00b8, 10) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20081001
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080924
+packetLen(0x00b8, 2) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080917
+packetLen(0x00b8, 3) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080820
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080813
+packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080806
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080730
+packetLen(0x00b8, 14) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080708
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080701
+packetLen(0x00b8, 20) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080624
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080617
+packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080610
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080603
+packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080528
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080520
+packetLen(0x00b8, 53) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080513
+packetLen(0x00b8, 8) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080507
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080429
+packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080422
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080415
+packetLen(0x00b8, 11) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080408
+packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080401
+packetLen(0x00b8, 30) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080325
+packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080318
+packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080311
+packetLen(0x00b8, 16) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080304
+packetLen(0x00b8, 28) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080226
+packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080219
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080124
+packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080102
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+#endif
+
+// Packet: 0x00b9
+#if PACKETVER >= 20081217
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20081203
+packetLen(0x00b9, 26) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20081112
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20081015
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20081008
+packetLen(0x00b9, 97) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20081001
+packetLen(0x00b9, 20) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080924
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080917
+packetLen(0x00b9, 60) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080813
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080806
+packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080730
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080722
+packetLen(0x00b9, 22) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080701
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080624
+packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080617
+packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080610
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080603
+packetLen(0x00b9, 66) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080513
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080507
+packetLen(0x00b9, 30) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080429
+packetLen(0x00b9, 26) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080415
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080408
+packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080401
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080325
+packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080318
+packetLen(0x00b9, 11) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080311
+packetLen(0x00b9, 29) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080304
+packetLen(0x00b9, 10) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080226
+packetLen(0x00b9, 58) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080219
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080124
+packetLen(0x00b9, 8) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080102
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#endif
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+#if PACKETVER >= 20081112
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20081029
+packetLen(0x00bb, 30) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20081022
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20081015
+packetLen(0x00bb, 11) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080903
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080827
+packetLen(0x00bb, 14) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080722
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080715
+packetLen(0x00bb, 3) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080701
+packetLen(0x00bb, 60) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x00bb, 4) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00bb, 36) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00bb, 6) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00bb, 10) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00bb, 13) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00bb, 55) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00bb, 6) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00bb, 3) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00bb, 20) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00bb, 2) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00bb, 182) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00bb, 12) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+#endif
+
+// Packet: 0x00bc
+#if PACKETVER >= 20081217
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20081203
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20081126
+packetLen(0x00bc, 4) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20081119
+packetLen(0x00bc, 7) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20081112
+packetLen(0x00bc, 26) // ZC_STATUS_CHANGE_ACK
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20081022
+packetLen(0x00bc, 4) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20081015
+packetLen(0x00bc, 8) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080910
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080903
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080827
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080820
+packetLen(0x00bc, 114) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080806
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080730
+packetLen(0x00bc, 53) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080722
+packetLen(0x00bc, 10) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080708
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080701
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x00bc, 4) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080617
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x00bc, 26) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x00bc, 22) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080415
+packetLen(0x00bc, 44) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x00bc, 11) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00bc, 7) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#endif
+
+// Packet: 0x00bd
+#if PACKETVER >= 20081217
+packetLen(0x00bd, 14) // ZC_STATUS
+#elif PACKETVER >= 20081203
+packetLen(0x00bd, 3) // ZC_STATUS
+#elif PACKETVER >= 20081126
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20081119
+packetLen(0x00bd, 13) // ZC_STATUS
+#elif PACKETVER >= 20081112
+packetLen(0x00bd, 44) // ZC_STATUS
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20081029
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20081022
+packetLen(0x00bd, 4) // ZC_STATUS
+#elif PACKETVER >= 20081015
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20081008
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20081001
+packetLen(0x00bd, 23) // ZC_STATUS
+#elif PACKETVER >= 20080924
+packetLen(0x00bd, 3) // ZC_STATUS
+#elif PACKETVER >= 20080917
+packetLen(0x00bd, 10) // ZC_STATUS
+#elif PACKETVER >= 20080910
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080903
+packetLen(0x00bd, 26) // ZC_STATUS
+#elif PACKETVER >= 20080820
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080813
+packetLen(0x00bd, 90) // ZC_STATUS
+#elif PACKETVER >= 20080715
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080708
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20080701
+packetLen(0x00bd, 60) // ZC_STATUS
+#elif PACKETVER >= 20080624
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080617
+packetLen(0x00bd, 79) // ZC_STATUS
+#elif PACKETVER >= 20080610
+packetLen(0x00bd, 18) // ZC_STATUS
+#elif PACKETVER >= 20080603
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20080528
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080520
+packetLen(0x00bd, 26) // ZC_STATUS
+#elif PACKETVER >= 20080513
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080507
+packetLen(0x00bd, 7) // ZC_STATUS
+#elif PACKETVER >= 20080422
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080415
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20080401
+packetLen(0x00bd, 4) // ZC_STATUS
+#elif PACKETVER >= 20080325
+packetLen(0x00bd, 7) // ZC_STATUS
+#elif PACKETVER >= 20080318
+packetLen(0x00bd, 12) // ZC_STATUS
+#elif PACKETVER >= 20080304
+packetLen(0x00bd, 2) // ZC_STATUS
+#elif PACKETVER >= 20080226
+packetLen(0x00bd, 58) // ZC_STATUS
+#elif PACKETVER >= 20080219
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20080124
+packetLen(0x00bd, 4) // ZC_STATUS
+#elif PACKETVER >= 20080102
+packetLen(0x00bd, 44) // ZC_STATUS
+#endif
+
+// Packet: 0x00be
+#if PACKETVER >= 20081126
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20081119
+packetLen(0x00be, 2) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20081022
+packetLen(0x00be, 28) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20081001
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080924
+packetLen(0x00be, 19) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080903
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080827
+packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080820
+packetLen(0x00be, 10) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x00be, 65) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080806
+packetLen(0x00be, 3) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080730
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080722
+packetLen(0x00be, 17) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080715
+packetLen(0x00be, 30) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x00be, 2) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080701
+packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x00be, 57) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00be, 44) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00be, 3) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00be, 54) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00be, 8) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00be, 30) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00be, 4) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00be, 4) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00be, 11) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00be, 10) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+#endif
+
+// Packet: 0x00bf
+#if PACKETVER >= 20081217
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20081203
+packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20081119
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20081112
+packetLen(0x00bf, 22) // CZ_REQ_EMOTION
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20081029
+packetLen(0x00bf, 16) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20081022
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20081015
+packetLen(0x00bf, 21) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20081008
+packetLen(0x00bf, 7) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080924
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080917
+packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080910
+packetLen(0x00bf, 44) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080827
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080820
+packetLen(0x00bf, 6) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080813
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080806
+packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080722
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080715
+packetLen(0x00bf, 4) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080708
+packetLen(0x00bf, 54) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080610
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080603
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080528
+packetLen(0x00bf, 65) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080520
+packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080513
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080507
+packetLen(0x00bf, 11) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080429
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080422
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080408
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080401
+packetLen(0x00bf, 32) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080325
+packetLen(0x00bf, 60) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080304
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080226
+packetLen(0x00bf, 29) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080219
+packetLen(0x00bf, 12) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080124
+packetLen(0x00bf, 6) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080102
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#endif
+
+// Packet: 0x00c0
+#if PACKETVER >= 20081217
+packetLen(0x00c0, 54) // ZC_EMOTION
+#elif PACKETVER >= 20081203
+packetLen(0x00c0, 5) // ZC_EMOTION
+#elif PACKETVER >= 20081126
+packetLen(0x00c0, 6) // ZC_EMOTION
+#elif PACKETVER >= 20081119
+packetLen(0x00c0, 2) // ZC_EMOTION
+#elif PACKETVER >= 20081112
+packetLen(0x00c0, 7) // ZC_EMOTION
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20081022
+packetLen(0x00c0, 36) // ZC_EMOTION
+#elif PACKETVER >= 20081015
+packetLen(0x00c0, 182) // ZC_EMOTION
+#elif PACKETVER >= 20080827
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080820
+packetLen(0x00c0, 79) // ZC_EMOTION
+#elif PACKETVER >= 20080813
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080806
+packetLen(0x00c0, 3) // ZC_EMOTION
+#elif PACKETVER >= 20080730
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080722
+packetLen(0x00c0, 6) // ZC_EMOTION
+#elif PACKETVER >= 20080715
+packetLen(0x00c0, 4) // ZC_EMOTION
+#elif PACKETVER >= 20080708
+packetLen(0x00c0, 6) // ZC_EMOTION
+#elif PACKETVER >= 20080701
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080624
+packetLen(0x00c0, 10) // ZC_EMOTION
+#elif PACKETVER >= 20080617
+packetLen(0x00c0, 60) // ZC_EMOTION
+#elif PACKETVER >= 20080610
+packetLen(0x00c0, 39) // ZC_EMOTION
+#elif PACKETVER >= 20080603
+packetLen(0x00c0, 26) // ZC_EMOTION
+#elif PACKETVER >= 20080528
+packetLen(0x00c0, 30) // ZC_EMOTION
+#elif PACKETVER >= 20080520
+packetLen(0x00c0, 2) // ZC_EMOTION
+#elif PACKETVER >= 20080513
+packetLen(0x00c0, 186) // ZC_EMOTION
+#elif PACKETVER >= 20080507
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080429
+packetLen(0x00c0, 13) // ZC_EMOTION
+#elif PACKETVER >= 20080422
+packetLen(0x00c0, 9) // ZC_EMOTION
+#elif PACKETVER >= 20080415
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080408
+packetLen(0x00c0, 7) // ZC_EMOTION
+#elif PACKETVER >= 20080401
+packetLen(0x00c0, 2) // ZC_EMOTION
+#elif PACKETVER >= 20080325
+packetLen(0x00c0, 10) // ZC_EMOTION
+#elif PACKETVER >= 20080318
+packetLen(0x00c0, 26) // ZC_EMOTION
+#elif PACKETVER >= 20080304
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080226
+packetLen(0x00c0, 21) // ZC_EMOTION
+#elif PACKETVER >= 20080219
+packetLen(0x00c0, 6) // ZC_EMOTION
+#elif PACKETVER >= 20080124
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20080102
+packetLen(0x00c0, 7) // ZC_EMOTION
+#endif
+
+// Packet: 0x00c1
+#if PACKETVER >= 20081112
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c1, 9) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20081015
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20081008
+packetLen(0x00c1, 26) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20081001
+packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080924
+packetLen(0x00c1, 21) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080917
+packetLen(0x00c1, 8) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080903
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080827
+packetLen(0x00c1, 66) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080820
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080813
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080806
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080730
+packetLen(0x00c1, 186) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080715
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080708
+packetLen(0x00c1, 29) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080701
+packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080610
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080603
+packetLen(0x00c1, 81) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080507
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080422
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080415
+packetLen(0x00c1, 57) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080401
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080325
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080318
+packetLen(0x00c1, 4) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080311
+packetLen(0x00c1, 16) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080304
+packetLen(0x00c1, 9) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080226
+packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080219
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080124
+packetLen(0x00c1, 282) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080102
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#endif
+
+// Packet: 0x00c2
+#if PACKETVER >= 20081203
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20081126
+packetLen(0x00c2, 2) // ZC_USER_COUNT
+#elif PACKETVER >= 20081119
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20081112
+packetLen(0x00c2, 10) // ZC_USER_COUNT
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20081015
+packetLen(0x00c2, 5) // ZC_USER_COUNT
+#elif PACKETVER >= 20081001
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080917
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+#elif PACKETVER >= 20080910
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080903
+packetLen(0x00c2, 26) // ZC_USER_COUNT
+#elif PACKETVER >= 20080827
+packetLen(0x00c2, 17) // ZC_USER_COUNT
+#elif PACKETVER >= 20080820
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080813
+packetLen(0x00c2, 14) // ZC_USER_COUNT
+#elif PACKETVER >= 20080701
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080624
+packetLen(0x00c2, 8) // ZC_USER_COUNT
+#elif PACKETVER >= 20080617
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080610
+packetLen(0x00c2, 2) // ZC_USER_COUNT
+#elif PACKETVER >= 20080603
+packetLen(0x00c2, 90) // ZC_USER_COUNT
+#elif PACKETVER >= 20080507
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080429
+packetLen(0x00c2, 16) // ZC_USER_COUNT
+#elif PACKETVER >= 20080422
+packetLen(0x00c2, 4) // ZC_USER_COUNT
+#elif PACKETVER >= 20080415
+packetLen(0x00c2, 5) // ZC_USER_COUNT
+#elif PACKETVER >= 20080408
+packetLen(0x00c2, 2) // ZC_USER_COUNT
+#elif PACKETVER >= 20080401
+packetLen(0x00c2, 26) // ZC_USER_COUNT
+#elif PACKETVER >= 20080325
+packetLen(0x00c2, 10) // ZC_USER_COUNT
+#elif PACKETVER >= 20080318
+packetLen(0x00c2, 54) // ZC_USER_COUNT
+#elif PACKETVER >= 20080311
+packetLen(0x00c2, 4) // ZC_USER_COUNT
+#elif PACKETVER >= 20080304
+packetLen(0x00c2, 39) // ZC_USER_COUNT
+#elif PACKETVER >= 20080226
+packetLen(0x00c2, 282) // ZC_USER_COUNT
+#elif PACKETVER >= 20080219
+packetLen(0x00c2, 4) // ZC_USER_COUNT
+#elif PACKETVER >= 20080124
+packetLen(0x00c2, 3) // ZC_USER_COUNT
+#elif PACKETVER >= 20080102
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+#endif
+
+// Packet: 0x00c3
+#if PACKETVER >= 20081217
+packetLen(0x00c3, 5) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20081029
+packetLen(0x00c3, 2) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20081015
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20081008
+packetLen(0x00c3, 24) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080917
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080910
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080903
+packetLen(0x00c3, 22) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080806
+packetLen(0x00c3, 6) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080715
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x00c3, 9) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080701
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x00c3, 3) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00c3, 42) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00c3, 4) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00c3, 66) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00c3, 3) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00c3, 68) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00c3, 26) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00c3, 28) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+#endif
+
+// Packet: 0x00c4
+#if PACKETVER >= 20081203
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20081126
+packetLen(0x00c4, 15) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20081119
+packetLen(0x00c4, 71) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20081112
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20081029
+packetLen(0x00c4, 67) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20081022
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20081015
+packetLen(0x00c4, 26) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20081008
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20081001
+packetLen(0x00c4, 10) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080924
+packetLen(0x00c4, 26) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080917
+packetLen(0x00c4, 5) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080806
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080730
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080722
+packetLen(0x00c4, 7) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080715
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080708
+packetLen(0x00c4, 186) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080701
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080624
+packetLen(0x00c4, 14) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080617
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080603
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080528
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080520
+packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080513
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080507
+packetLen(0x00c4, 29) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080429
+packetLen(0x00c4, 71) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080422
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080415
+packetLen(0x00c4, 11) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080408
+packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080401
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080325
+packetLen(0x00c4, 3) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080318
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080304
+packetLen(0x00c4, 4) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080226
+packetLen(0x00c4, 114) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080219
+packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080124
+packetLen(0x00c4, 4) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080102
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#endif
+
+// Packet: 0x00c5
+#if PACKETVER >= 20081217
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20081203
+packetLen(0x00c5, 16) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20081112
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20081029
+packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20081022
+packetLen(0x00c5, 5) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20081015
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20081008
+packetLen(0x00c5, 28) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20081001
+packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080924
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080917
+packetLen(0x00c5, 6) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080827
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080820
+packetLen(0x00c5, 2) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080806
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080730
+packetLen(0x00c5, 4) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080722
+packetLen(0x00c5, 30) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080715
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080708
+packetLen(0x00c5, 16) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080624
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080617
+packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080610
+packetLen(0x00c5, 114) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080603
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080528
+packetLen(0x00c5, 10) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080520
+packetLen(0x00c5, 4) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080513
+packetLen(0x00c5, 6) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080507
+packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080429
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080422
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080401
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080325
+packetLen(0x00c5, 30) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080318
+packetLen(0x00c5, 3) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080311
+packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080124
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080102
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+#endif
+
+// Packet: 0x00c6
+#if PACKETVER >= 20081126
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20081119
+packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20081112
+packetLen(0x00c6, 14) // ZC_PC_PURCHASE_ITEMLIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20081008
+packetLen(0x00c6, 5) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x00c6, 19) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x00c6, 18) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x00c6, 11) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x00c6, 26) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00c6, 21) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x00c6, 4) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00c6, 31) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c6, 5) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c6, 13) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c6, 3) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#endif
+
+// Packet: 0x00c7
+#if PACKETVER >= 20081126
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081119
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081112
+packetLen(0x00c7, 10) // ZC_PC_SELL_ITEMLIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x00c7, 2) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081015
+packetLen(0x00c7, 15) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081008
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081001
+packetLen(0x00c7, 13) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080924
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x00c7, 14) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x00c7, 10) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080820
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x00c7, 26) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x00c7, 18) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x00c7, 27) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x00c7, 182) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00c7, 3) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00c7, 22) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00c7, 4) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x00c7, 53) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x00c7, 26) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00c7, 58) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c7, 67) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c7, 5) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#endif
+
+// Packet: 0x00c8
+#if PACKETVER >= 20081105
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20081029
+packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x00c8, 8) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x00c8, 3) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x00c8, 11) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x00c8, 20) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x00c8, 11) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x00c8, 2) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00c8, 4) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00c8, 15) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x00c8, 66) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00c8, 2) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00c8, 14) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c8, 53) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c8, 10) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#endif
+
+// Packet: 0x00c9
+#if PACKETVER >= 20081119
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081112
+packetLen(0x00c9, 3) // CZ_PC_SELL_ITEMLIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c9, 9) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081029
+packetLen(0x00c9, 26) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081015
+packetLen(0x00c9, 30) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081008
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20081001
+packetLen(0x00c9, 7) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080924
+packetLen(0x00c9, 4) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x00c9, 14) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080820
+packetLen(0x00c9, 2) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x00c9, 3) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x00c9, 8) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x00c9, 29) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x00c9, 14) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x00c9, 39) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x00c9, 36) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00c9, 9) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x00c9, 30) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x00c9, 5) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#endif
+
+// Packet: 0x00ca
+#if PACKETVER >= 20081126
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20081119
+packetLen(0x00ca, 29) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20081112
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20081029
+packetLen(0x00ca, 2) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20081015
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20081008
+packetLen(0x00ca, 4) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20081001
+packetLen(0x00ca, 10) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080924
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080917
+packetLen(0x00ca, 30) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080903
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080827
+packetLen(0x00ca, 30) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080820
+packetLen(0x00ca, 86) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080813
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080806
+packetLen(0x00ca, 2) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080715
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080708
+packetLen(0x00ca, 8) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080610
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080603
+packetLen(0x00ca, 31) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080513
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080507
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080429
+packetLen(0x00ca, 7) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080422
+packetLen(0x00ca, 6) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080415
+packetLen(0x00ca, 17) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080408
+packetLen(0x00ca, 14) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080401
+packetLen(0x00ca, 2) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080325
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080318
+packetLen(0x00ca, 4) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080311
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080304
+packetLen(0x00ca, 9) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080226
+packetLen(0x00ca, 23) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080219
+packetLen(0x00ca, 86) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080124
+packetLen(0x00ca, 36) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080102
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#endif
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+#if PACKETVER >= 20081217
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20081203
+packetLen(0x00cc, 4) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20081126
+packetLen(0x00cc, 14) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20081112
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20081029
+packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20081022
+packetLen(0x00cc, 15) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20081001
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080924
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080903
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080827
+packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080813
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080806
+packetLen(0x00cc, 33) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080730
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080708
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080701
+packetLen(0x00cc, 33) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080617
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080610
+packetLen(0x00cc, 28) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080603
+packetLen(0x00cc, 2) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080520
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080513
+packetLen(0x00cc, 26) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080507
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080429
+packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080422
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080415
+packetLen(0x00cc, 2) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080401
+packetLen(0x00cc, 3) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080325
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080318
+packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080311
+packetLen(0x00cc, 14) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080304
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080226
+packetLen(0x00cc, 7) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080124
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080102
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#endif
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+#if PACKETVER >= 20081217
+packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20081112
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00ce, 282) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20081022
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20081015
+packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20081008
+packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20081001
+packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080924
+packetLen(0x00ce, 9) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080917
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080910
+packetLen(0x00ce, 5) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080903
+packetLen(0x00ce, 53) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080820
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080813
+packetLen(0x00ce, 60) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080806
+packetLen(0x00ce, 15) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080730
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080722
+packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080715
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080708
+packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080701
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080624
+packetLen(0x00ce, 4) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080617
+packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080610
+packetLen(0x00ce, 22) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080603
+packetLen(0x00ce, 102) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080528
+packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080520
+packetLen(0x00ce, 3) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080513
+packetLen(0x00ce, 9) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080507
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080429
+packetLen(0x00ce, 114) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080422
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080415
+packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080408
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080401
+packetLen(0x00ce, 30) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080325
+packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080318
+packetLen(0x00ce, 7) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080311
+packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080304
+packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080226
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080124
+packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080102
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+#endif
+
+// Packet: 0x00cf
+#if PACKETVER >= 20081126
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081119
+packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081112
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081022
+packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081015
+packetLen(0x00cf, 4) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081008
+packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080924
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080917
+packetLen(0x00cf, 90) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080910
+packetLen(0x00cf, 30) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080827
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080820
+packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080730
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080722
+packetLen(0x00cf, 7) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080624
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080617
+packetLen(0x00cf, 30) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080610
+packetLen(0x00cf, 57) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080603
+packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080528
+packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080520
+packetLen(0x00cf, 8) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080513
+packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080507
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080429
+packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080422
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080415
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080408
+packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080401
+packetLen(0x00cf, 60) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080325
+packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080318
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080311
+packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080304
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080226
+packetLen(0x00cf, 16) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080219
+packetLen(0x00cf, 9) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080124
+packetLen(0x00cf, 11) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080102
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+#endif
+
+// Packet: 0x00d0
+#if PACKETVER >= 20081112
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d0, 6) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081029
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081022
+packetLen(0x00d0, 6) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081001
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080924
+packetLen(0x00d0, 29) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080917
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080910
+packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080903
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080827
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080820
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080813
+packetLen(0x00d0, 55) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080806
+packetLen(0x00d0, 60) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080730
+packetLen(0x00d0, 11) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080722
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080715
+packetLen(0x00d0, 6) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080708
+packetLen(0x00d0, 68) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080610
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080603
+packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080528
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080520
+packetLen(0x00d0, 30) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080513
+packetLen(0x00d0, 114) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080507
+packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080429
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080422
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080415
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080408
+packetLen(0x00d0, 4) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080401
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080325
+packetLen(0x00d0, 8) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080318
+packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080311
+packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080226
+packetLen(0x00d0, 2) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080219
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080124
+packetLen(0x00d0, 182) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080102
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#endif
+
+// Packet: 0x00d1
+#if PACKETVER >= 20081217
+packetLen(0x00d1, 16) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081203
+packetLen(0x00d1, 8) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081126
+packetLen(0x00d1, 11) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081119
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081112
+packetLen(0x00d1, 282) // ZC_SETTING_WHISPER_PC
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d1, 23) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081022
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081015
+packetLen(0x00d1, 3) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081008
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20081001
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080924
+packetLen(0x00d1, 9) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080820
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080813
+packetLen(0x00d1, 11) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080806
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080730
+packetLen(0x00d1, 53) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080708
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080701
+packetLen(0x00d1, 26) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080624
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080610
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080603
+packetLen(0x00d1, 5) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080528
+packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080520
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080513
+packetLen(0x00d1, 54) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080507
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080429
+packetLen(0x00d1, 3) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080422
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080415
+packetLen(0x00d1, 43) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080408
+packetLen(0x00d1, 67) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080401
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080325
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080318
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080304
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080226
+packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080219
+packetLen(0x00d1, 13) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080124
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080102
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+#endif
+
+// Packet: 0x00d2
+#if PACKETVER >= 20081217
+packetLen(0x00d2, 8) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081203
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081126
+packetLen(0x00d2, 2) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081119
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081112
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081105
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081008
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20081001
+packetLen(0x00d2, 10) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080924
+packetLen(0x00d2, 15) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080917
+packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080910
+packetLen(0x00d2, 2) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080903
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080827
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080820
+packetLen(0x00d2, 9) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080813
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080806
+packetLen(0x00d2, 2) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080730
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080722
+packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080708
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080701
+packetLen(0x00d2, 16) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080610
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080603
+packetLen(0x00d2, 7) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080528
+packetLen(0x00d2, 11) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080520
+packetLen(0x00d2, 9) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080513
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080507
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080422
+packetLen(0x00d2, 10) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080415
+packetLen(0x00d2, 8) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080408
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080401
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080325
+packetLen(0x00d2, 7) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080318
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080311
+packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080304
+packetLen(0x00d2, 16) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080226
+packetLen(0x00d2, 14) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080219
+packetLen(0x00d2, 20) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080102
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+#endif
+
+// Packet: 0x00d3
+#if PACKETVER >= 20081217
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20081203
+packetLen(0x00d3, 10) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20081119
+packetLen(0x00d3, 4) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20081112
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20081008
+packetLen(0x00d3, 8) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20081001
+packetLen(0x00d3, 18) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080924
+packetLen(0x00d3, 10) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080917
+packetLen(0x00d3, 35) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080813
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080806
+packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080722
+packetLen(0x00d3, 7) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x00d3, 23) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x00d3, 20) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x00d3, 19) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x00d3, 33) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x00d3, 12) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x00d3, 14) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#endif
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+#if PACKETVER >= 20081217
+packetLen(0x00d5, 58) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20081203
+packetLen(0x00d5, 6) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20081126
+packetLen(0x00d5, 19) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20081119
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20081112
+packetLen(0x00d5, 6) // CZ_CREATE_CHATROOM
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20081029
+packetLen(0x00d5, 2) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20081022
+packetLen(0x00d5, 26) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20081015
+packetLen(0x00d5, 6) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20081008
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20081001
+packetLen(0x00d5, 2) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080820
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080813
+packetLen(0x00d5, 29) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080730
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080722
+packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080715
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080708
+packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080701
+packetLen(0x00d5, 7) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00d5, 81) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00d5, 8) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00d5, 26) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00d5, 60) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00d5, 21) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00d5, 114) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d5, 2) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d5, 3) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00d5, 7) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#endif
+
+// Packet: 0x00d6
+#if PACKETVER >= 20081217
+packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20081203
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20081126
+packetLen(0x00d6, 10) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20081119
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20081112
+packetLen(0x00d6, 16) // ZC_ACK_CREATE_CHATROOM
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20081029
+packetLen(0x00d6, 11) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20081022
+packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20081015
+packetLen(0x00d6, 7) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20081008
+packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080924
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080917
+packetLen(0x00d6, 27) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080903
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080827
+packetLen(0x00d6, 7) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080820
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080813
+packetLen(0x00d6, 86) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080730
+packetLen(0x00d6, 2) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080715
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080708
+packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080701
+packetLen(0x00d6, 15) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080617
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00d6, 26) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00d6, 26) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00d6, 16) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00d6, 282) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00d6, 21) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00d6, 10) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00d6, 58) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d6, 68) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d6, 30) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#endif
+
+// Packet: 0x00d7
+#if PACKETVER >= 20081126
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20081119
+packetLen(0x00d7, 22) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20081112
+packetLen(0x00d7, 27) // ZC_ROOM_NEWENTRY
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20081015
+packetLen(0x00d7, 35) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20081008
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20081001
+packetLen(0x00d7, 28) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080924
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080917
+packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080903
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080827
+packetLen(0x00d7, 2) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080820
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080813
+packetLen(0x00d7, 9) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080806
+packetLen(0x00d7, 2) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080730
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080722
+packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080708
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080701
+packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x00d7, 26) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x00d7, 9) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x00d7, 39) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x00d7, 5) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x00d7, 4) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x00d7, 67) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x00d7, 24) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x00d7, 28) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x00d7, 3) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#endif
+
+// Packet: 0x00d8
+#if PACKETVER >= 20081217
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20081203
+packetLen(0x00d8, 3) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20081126
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20081119
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20081112
+packetLen(0x00d8, 28) // ZC_DESTROY_ROOM
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d8, 26) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20081029
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20081008
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20081001
+packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080910
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080903
+packetLen(0x00d8, 7) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080722
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080715
+packetLen(0x00d8, 57) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080617
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00d8, 30) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00d8, 5) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00d8, 7) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00d8, 53) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00d8, 17) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00d8, 9) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00d8, 26) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00d8, 30) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d8, 16) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00d8, 4) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+#endif
+
+// Packet: 0x00d9
+#if PACKETVER >= 20081217
+packetLen(0x00d9, 55) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20081112
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20081008
+packetLen(0x00d9, 4) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080917
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080910
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080827
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080820
+packetLen(0x00d9, 10) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080813
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080806
+packetLen(0x00d9, 8) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080730
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080722
+packetLen(0x00d9, 26) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080715
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080708
+packetLen(0x00d9, 28) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00d9, 4) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00d9, 5) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00d9, 10) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d9, 7) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00d9, 282) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#endif
+
+// Packet: 0x00da
+#if PACKETVER >= 20081217
+packetLen(0x00da, 21) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20081126
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20081119
+packetLen(0x00da, 2) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20081112
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20081029
+packetLen(0x00da, 8) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20081022
+packetLen(0x00da, 28) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20081008
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20081001
+packetLen(0x00da, 19) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080924
+packetLen(0x00da, 90) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080917
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080910
+packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080820
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080813
+packetLen(0x00da, 26) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080806
+packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080730
+packetLen(0x00da, 10) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080722
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080715
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080708
+packetLen(0x00da, 19) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080701
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00da, 53) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00da, 24) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00da, 31) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00da, 13) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00da, 30) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00da, 8) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00da, 14) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00da, 54) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00da, 18) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+#endif
+
+// Packet: 0x00db
+#if PACKETVER >= 20081217
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20081203
+packetLen(0x00db, 6) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20081112
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20081105
+packetLen(0x00db, 28) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20081029
+packetLen(0x00db, 14) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20081022
+packetLen(0x00db, 6) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20081015
+packetLen(0x00db, 2) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20081008
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20081001
+packetLen(0x00db, 4) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080917
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080910
+packetLen(0x00db, 28) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080827
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080820
+packetLen(0x00db, 6) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080730
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080722
+packetLen(0x00db, 23) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080715
+packetLen(0x00db, 7) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080708
+packetLen(0x00db, 10) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080701
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00db, 7) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00db, 3) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00db, 4) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00db, 30) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00db, 2) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00db, 67) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00db, 33) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00db, 18) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00db, 2) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00db, 6) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00db, 31) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00db, 26) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00db, 4) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#endif
+
+// Packet: 0x00dc
+#if PACKETVER >= 20081112
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00dc, 5) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20081029
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20081022
+packetLen(0x00dc, 5) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20081015
+packetLen(0x00dc, 7) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20081008
+packetLen(0x00dc, 33) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080917
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080910
+packetLen(0x00dc, 15) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080903
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080827
+packetLen(0x00dc, 7) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080820
+packetLen(0x00dc, 2) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080806
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080730
+packetLen(0x00dc, 10) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080722
+packetLen(0x00dc, 5) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080715
+packetLen(0x00dc, 4) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080708
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080701
+packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x00dc, 2) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x00dc, 11) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x00dc, 27) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x00dc, 30) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x00dc, 12) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x00dc, 32) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x00dc, 30) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x00dc, 3) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x00dc, 13) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+#endif
+
+// Packet: 0x00dd
+#if PACKETVER >= 20081217
+packetLen(0x00dd, 30) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20081203
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20081126
+packetLen(0x00dd, 97) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20081119
+packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20081112
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00dd, 26) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20081008
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20081001
+packetLen(0x00dd, 282) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080924
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080917
+packetLen(0x00dd, 3) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080910
+packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080903
+packetLen(0x00dd, 4) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080827
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080820
+packetLen(0x00dd, 2) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080813
+packetLen(0x00dd, 282) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080806
+packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080722
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080715
+packetLen(0x00dd, 67) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080708
+packetLen(0x00dd, 11) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080701
+packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080610
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080603
+packetLen(0x00dd, 20) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080528
+packetLen(0x00dd, 7) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080520
+packetLen(0x00dd, 28) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080429
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080422
+packetLen(0x00dd, 28) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080415
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080408
+packetLen(0x00dd, 15) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080325
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080318
+packetLen(0x00dd, 22) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080311
+packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080304
+packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080226
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080219
+packetLen(0x00dd, 3) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080124
+packetLen(0x00dd, 8) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080102
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+#endif
+
+// Packet: 0x00de
+#if PACKETVER >= 20081217
+packetLen(0x00de, 13) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081203
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081126
+packetLen(0x00de, 27) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081119
+packetLen(0x00de, 44) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081112
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081105
+packetLen(0x00de, 16) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081029
+packetLen(0x00de, 67) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081022
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081015
+packetLen(0x00de, 8) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081008
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20081001
+packetLen(0x00de, 4) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080924
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080917
+packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080903
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080827
+packetLen(0x00de, 15) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080820
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080813
+packetLen(0x00de, 67) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080806
+packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080730
+packetLen(0x00de, 34) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080722
+packetLen(0x00de, 57) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080715
+packetLen(0x00de, 26) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080708
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080701
+packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00de, 54) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00de, 57) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00de, 4) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00de, 15) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00de, 11) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00de, 18) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00de, 8) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00de, 34) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00de, 3) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#endif
+
+// Packet: 0x00df
+#if PACKETVER >= 20081217
+packetLen(0x00df, 22) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20081203
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20081126
+packetLen(0x00df, 86) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20081119
+packetLen(0x00df, 53) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20081029
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20081022
+packetLen(0x00df, 4) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080903
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080827
+packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080813
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080806
+packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080730
+packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080722
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080715
+packetLen(0x00df, 10) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080708
+packetLen(0x00df, 29) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080701
+packetLen(0x00df, 34) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00df, 11) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080617
+packetLen(0x00df, 30) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00df, 10) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00df, 4) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00df, 90) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080520
+packetLen(0x00df, 23) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080513
+packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080507
+packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00df, 8) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00df, 12) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00df, 282) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00df, 5) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00df, 23) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00df, 9) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00df, 7) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00df, 27) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#endif
+
+// Packet: 0x00e0
+#if PACKETVER >= 20081203
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20081126
+packetLen(0x00e0, 6) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20081119
+packetLen(0x00e0, 5) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20081008
+packetLen(0x00e0, 9) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080924
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080917
+packetLen(0x00e0, 58) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080910
+packetLen(0x00e0, 3) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080903
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080827
+packetLen(0x00e0, 15) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080820
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080806
+packetLen(0x00e0, 4) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080715
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x00e0, 16) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080701
+packetLen(0x00e0, 9) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00e0, 6) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x00e0, 10) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00e0, 4) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00e0, 21) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00e0, 71) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00e0, 7) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00e0, 43) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00e0, 31) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00e0, 18) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+#endif
+
+// Packet: 0x00e1
+#if PACKETVER >= 20081203
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20081126
+packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20081119
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x00e1, 59) // ZC_ROLE_CHANGE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e1, 28) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20081022
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20081015
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20081008
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20081001
+packetLen(0x00e1, 10) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080924
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080917
+packetLen(0x00e1, 6) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080910
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080903
+packetLen(0x00e1, 23) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080827
+packetLen(0x00e1, 11) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080806
+packetLen(0x00e1, 8) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080722
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080715
+packetLen(0x00e1, 21) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x00e1, 10) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x00e1, 20) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x00e1, 4) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x00e1, 6) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x00e1, 43) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x00e1, 60) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x00e1, 22) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x00e1, 21) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00e1, 60) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00e1, 81) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x00e1, 12) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+#endif
+
+// Packet: 0x00e2
+#if PACKETVER >= 20081217
+packetLen(0x00e2, 8) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20081126
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20081119
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20081112
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20081029
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20081022
+packetLen(0x00e2, 2) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20081008
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20081001
+packetLen(0x00e2, 3) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080910
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080903
+packetLen(0x00e2, 11) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080820
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080813
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080806
+packetLen(0x00e2, 10) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080730
+packetLen(0x00e2, 27) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080722
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080715
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080708
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080624
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080617
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080610
+packetLen(0x00e2, 282) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080603
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080528
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080520
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080513
+packetLen(0x00e2, 2) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080507
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080429
+packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080422
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080415
+packetLen(0x00e2, 282) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080408
+packetLen(0x00e2, 11) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080401
+packetLen(0x00e2, 5) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080325
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080318
+packetLen(0x00e2, 79) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080311
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080304
+packetLen(0x00e2, 31) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080226
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080219
+packetLen(0x00e2, 30) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080124
+packetLen(0x00e2, 10) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080102
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#endif
+
+// Packet: 0x00e3
+#if PACKETVER >= 20081217
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20081203
+packetLen(0x00e3, 11) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20081126
+packetLen(0x00e3, 8) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20081112
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e3, 15) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20081029
+packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20081015
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20081008
+packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20081001
+packetLen(0x00e3, 4) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080813
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080806
+packetLen(0x00e3, 10) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080730
+packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080722
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080715
+packetLen(0x00e3, 22) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080708
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080701
+packetLen(0x00e3, 26) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080624
+packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080617
+packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080603
+packetLen(0x00e3, 30) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080528
+packetLen(0x00e3, 35) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080429
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080422
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080415
+packetLen(0x00e3, 8) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080408
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080401
+packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080325
+packetLen(0x00e3, 10) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080318
+packetLen(0x00e3, 7) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00e3, 12) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080124
+packetLen(0x00e3, 14) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+#endif
+
+// Packet: 0x00e4
+#if PACKETVER >= 20081217
+packetLen(0x00e4, 7) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081203
+packetLen(0x00e4, 16) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081126
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e4, 12) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081029
+packetLen(0x00e4, 26) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00e4, 27) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00e4, 11) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080827
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x00e4, 31) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00e4, 4) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080708
+packetLen(0x00e4, 15) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e4, 36) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00e4, 86) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e4, 33) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e4, 58) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e4, 13) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e4, 54) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e4, 7) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e5
+#if PACKETVER >= 20081217
+packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081203
+packetLen(0x00e5, 8) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00e5, 23) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080910
+packetLen(0x00e5, 35) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00e5, 8) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e5, 10) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e5, 10) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e5, 11) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e5, 29) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e6
+#if PACKETVER >= 20081203
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081126
+packetLen(0x00e6, 68) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081119
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e6, 39) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00e6, 4) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00e6, 10) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080910
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080903
+packetLen(0x00e6, 8) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080708
+packetLen(0x00e6, 33) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e6, 14) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00e6, 9) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e6, 2) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e6, 43) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e6, 26) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e6, 79) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e6, 11) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e6, 67) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e6, 15) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e6, 16) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e6, 53) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e6, 10) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e6, 114) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e7
+#if PACKETVER >= 20081217
+packetLen(0x00e7, 42) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081203
+packetLen(0x00e7, 30) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081126
+packetLen(0x00e7, 7) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081119
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00e7, 10) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00e7, 2) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00e7, 33) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080827
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x00e7, 44) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00e7, 19) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00e7, 59) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00e7, 24) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x00e7, 2) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080708
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e7, 30) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e7, 14) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00e7, 182) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e7, 14) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e7, 90) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e7, 182) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e7, 4) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e7, 8) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e7, 68) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e8
+#if PACKETVER >= 20081217
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081203
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081126
+packetLen(0x00e8, 30) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081029
+packetLen(0x00e8, 39) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00e8, 27) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00e8, 282) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080903
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080827
+packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00e8, 282) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00e8, 114) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00e8, 5) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e8, 66) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00e8, 86) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e8, 30) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e8, 4) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e8, 26) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e9
+#if PACKETVER >= 20081217
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081203
+packetLen(0x00e9, 11) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081126
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081119
+packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e9, 10) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00e9, 15) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00e9, 102) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080910
+packetLen(0x00e9, 5) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080903
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080827
+packetLen(0x00e9, 54) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00e9, 60) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080708
+packetLen(0x00e9, 10) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e9, 8) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00e9, 7) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00e9, 8) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e9, 30) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00e9, 21) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ea
+#if PACKETVER >= 20081217
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081203
+packetLen(0x00ea, 14) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081126
+packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081119
+packetLen(0x00ea, 42) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ea, 11) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081029
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00ea, 28) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00ea, 4) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x00ea, 10) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080827
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x00ea, 2) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x00ea, 8) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080708
+packetLen(0x00ea, 81) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ea, 39) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00ea, 90) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ea, 30) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00ea, 26) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00ea, 4) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ea, 15) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ea, 2) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ea, 10) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ea, 14) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00eb
+#if PACKETVER >= 20081217
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081029
+packetLen(0x00eb, 3) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00eb, 10) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00eb, 19) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00eb, 22) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080910
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080903
+packetLen(0x00eb, 4) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00eb, 22) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00eb, 54) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00eb, 11) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00eb, 36) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00eb, 15) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00eb, 86) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00eb, 12) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00eb, 19) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00eb, 17) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ec
+#if PACKETVER >= 20081217
+packetLen(0x00ec, 18) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081203
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081126
+packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081119
+packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ec, 86) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00ec, 20) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x00ec, 2) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080910
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080903
+packetLen(0x00ec, 60) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00ec, 28) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x00ec, 10) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080708
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00ec, 55) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00ec, 6) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ec, 81) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ec, 34) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ec, 10) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ec, 9) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ec, 20) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ec, 2) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ec, 9) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ed
+#if PACKETVER >= 20081217
+packetLen(0x00ed, 4) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20081203
+packetLen(0x00ed, 28) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20081029
+packetLen(0x00ed, 30) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00ed, 11) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x00ed, 34) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080827
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x00ed, 53) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00ed, 65) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00ed, 8) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x00ed, 10) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ed, 20) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00ed, 8) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00ed, 6) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ed, 5) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ed, 4) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ed, 86) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ed, 30) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ee
+#if PACKETVER >= 20081112
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00ee, 10) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080910
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080903
+packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00ee, 12) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x00ee, 31) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080708
+packetLen(0x00ee, 6) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00ee, 14) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00ee, 81) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ee, 6) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ee, 18) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ee, 3) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ee, 3) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00ee, 30) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ee, 26) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ee, 5) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ee, 11) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ee, 10) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ee, 90) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ee, 4) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ef
+#if PACKETVER >= 20081217
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081119
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00ef, 4) // CZ_EXEC_EXCHANGE_ITEM
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ef, 14) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081029
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00ef, 11) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00ef, 3) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00ef, 8) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080910
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080903
+packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080827
+packetLen(0x00ef, 8) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x00ef, 53) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00ef, 28) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x00ef, 35) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080708
+packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080624
+packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00ef, 9) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00ef, 11) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00ef, 26) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00ef, 28) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x00ef, 4) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00ef, 57) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00ef, 90) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00f0
+#if PACKETVER >= 20081217
+packetLen(0x00f0, 26) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081203
+packetLen(0x00f0, 5) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081126
+packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00f0, 8) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x00f0, 27) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x00f0, 7) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20081001
+packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080924
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x00f0, 66) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080903
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080827
+packetLen(0x00f0, 11) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080730
+packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x00f0, 11) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080708
+packetLen(0x00f0, 26) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080701
+packetLen(0x00f0, 11) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080617
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00f0, 60) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x00f0, 14) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x00f0, 43) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080422
+packetLen(0x00f0, 30) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x00f0, 90) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x00f0, 24) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00f0, 7) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00f0, 27) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+#if PACKETVER >= 20081217
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20081203
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20081126
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20081119
+packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20081112
+packetLen(0x00f2, 27) // ZC_NOTIFY_STOREITEM_COUNTINFO
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20081022
+packetLen(0x00f2, 7) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20081015
+packetLen(0x00f2, 3) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080917
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080910
+packetLen(0x00f2, 4) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080903
+packetLen(0x00f2, 8) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080827
+packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080806
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080730
+packetLen(0x00f2, 29) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080708
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080701
+packetLen(0x00f2, 4) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080624
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080617
+packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080610
+packetLen(0x00f2, 39) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080603
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080528
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080520
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080513
+packetLen(0x00f2, 39) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080507
+packetLen(0x00f2, 54) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080429
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080422
+packetLen(0x00f2, 31) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080415
+packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080408
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080401
+packetLen(0x00f2, 86) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080325
+packetLen(0x00f2, 60) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080318
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080311
+packetLen(0x00f2, 26) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080304
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080226
+packetLen(0x00f2, 14) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080219
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080124
+packetLen(0x00f2, 13) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080102
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#endif
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+#if PACKETVER >= 20081217
+packetLen(0x00f4, 14) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20081203
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20081126
+packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20081119
+packetLen(0x00f4, 65) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20081112
+packetLen(0x00f4, 30) // ZC_ADD_ITEM_TO_STORE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20081029
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20081022
+packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20081001
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080924
+packetLen(0x00f4, 4) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080917
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080910
+packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080903
+packetLen(0x00f4, 15) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080827
+packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080820
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080813
+packetLen(0x00f4, 10) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080730
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080722
+packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080715
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080708
+packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080624
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080617
+packetLen(0x00f4, 11) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080528
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080513
+packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080507
+packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080429
+packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080422
+packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080415
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080408
+packetLen(0x00f4, 35) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080401
+packetLen(0x00f4, 282) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080325
+packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080318
+packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080124
+packetLen(0x00f4, 10) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+#if PACKETVER >= 20081217
+packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20081203
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20081126
+packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20081119
+packetLen(0x00f6, 5) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20081112
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20081105
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20081029
+packetLen(0x00f6, 57) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080924
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080917
+packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080903
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080827
+packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080820
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080813
+packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080806
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080730
+packetLen(0x00f6, 11) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080722
+packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080708
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080701
+packetLen(0x00f6, 11) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080624
+packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080617
+packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080610
+packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080603
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080528
+packetLen(0x00f6, 10) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080520
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080513
+packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080422
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080415
+packetLen(0x00f6, 4) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080408
+packetLen(0x00f6, 65) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080401
+packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080325
+packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080318
+packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x00f6, 65) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x00f6, 23) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080124
+packetLen(0x00f6, 39) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+#endif
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+#if PACKETVER >= 20081203
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20081119
+packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20081112
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20081015
+packetLen(0x00f8, 5) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080917
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080910
+packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080903
+packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080827
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080820
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080813
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080806
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080730
+packetLen(0x00f8, 30) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080722
+packetLen(0x00f8, 10) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080701
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080624
+packetLen(0x00f8, 26) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080617
+packetLen(0x00f8, 17) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080610
+packetLen(0x00f8, 30) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080603
+packetLen(0x00f8, 10) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080528
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080513
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080507
+packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080422
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080415
+packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080408
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080401
+packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080325
+packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080318
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080124
+packetLen(0x00f8, 43) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#endif
+
+// Packet: 0x00f9
+#if PACKETVER >= 20081126
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20081119
+packetLen(0x00f9, 2) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20081112
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20081022
+packetLen(0x00f9, 3) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20081015
+packetLen(0x00f9, 22) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20081008
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20081001
+packetLen(0x00f9, 7) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080917
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080910
+packetLen(0x00f9, 4) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080827
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080820
+packetLen(0x00f9, 3) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080813
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080806
+packetLen(0x00f9, 5) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080730
+packetLen(0x00f9, 54) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080722
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080715
+packetLen(0x00f9, 11) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080708
+packetLen(0x00f9, 30) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080701
+packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00f9, 3) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00f9, 5) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x00f9, 13) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00f9, 114) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00f9, 12) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00f9, 4) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#endif
+
+// Packet: 0x00fa
+#if PACKETVER >= 20081112
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20081029
+packetLen(0x00fa, 65) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20081015
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20081008
+packetLen(0x00fa, 2) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080924
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080917
+packetLen(0x00fa, 21) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080820
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080813
+packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080715
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080708
+packetLen(0x00fa, 6) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00fa, 8) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00fa, 4) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00fa, 26) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x00fa, 15) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00fa, 29) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fa, 20) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00fa, 6) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#endif
+
+// Packet: 0x00fb
+#if PACKETVER >= 20081217
+packetLen(0x00fb, 7) // ZC_GROUP_LIST
+#elif PACKETVER >= 20081203
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x00fb, 3) // ZC_GROUP_LIST
+#elif PACKETVER >= 20081029
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20081022
+packetLen(0x00fb, 60) // ZC_GROUP_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x00fb, 17) // ZC_GROUP_LIST
+#elif PACKETVER >= 20081008
+packetLen(0x00fb, 28) // ZC_GROUP_LIST
+#elif PACKETVER >= 20081001
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080924
+packetLen(0x00fb, 8) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080917
+packetLen(0x00fb, 60) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080910
+packetLen(0x00fb, 3) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080903
+packetLen(0x00fb, 67) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x00fb, 6) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080722
+packetLen(0x00fb, 4) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x00fb, 26) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x00fb, 6) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x00fb, 26) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x00fb, 3) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x00fb, 4) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x00fb, 17) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x00fb, 4) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x00fb, 29) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x00fb, 28) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x00fb, 6) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x00fb, 3) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x00fb, 26) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x00fb, 2) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x00fb, 4) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x00fb, 5) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x00fb, 10) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x00fb, 5) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#endif
+
+// Packet: 0x00fc
+#if PACKETVER >= 20081126
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081119
+packetLen(0x00fc, 2) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081112
+packetLen(0x00fc, 32) // CZ_REQ_JOIN_GROUP
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081001
+packetLen(0x00fc, 8) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080917
+packetLen(0x00fc, 2) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080910
+packetLen(0x00fc, 30) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080827
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080820
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080813
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080806
+packetLen(0x00fc, 9) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080730
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080722
+packetLen(0x00fc, 3) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080708
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080701
+packetLen(0x00fc, 22) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x00fc, 18) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00fc, 53) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00fc, 17) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00fc, 27) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fc, 24) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fc, 30) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fc, 19) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00fc, 2) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00fd
+#if PACKETVER >= 20081217
+packetLen(0x00fd, 10) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081203
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081126
+packetLen(0x00fd, 31) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081112
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081029
+packetLen(0x00fd, 10) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081022
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081015
+packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081008
+packetLen(0x00fd, 10) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081001
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080924
+packetLen(0x00fd, 6) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080917
+packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080910
+packetLen(0x00fd, 24) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080903
+packetLen(0x00fd, 86) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080617
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00fd, 6) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x00fd, 97) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00fd, 8) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00fd, 8) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00fd, 18) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fd, 20) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fd, 11) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00fd, 42) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00fe
+#if PACKETVER >= 20081217
+packetLen(0x00fe, 7) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081203
+packetLen(0x00fe, 37) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081126
+packetLen(0x00fe, 27) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081119
+packetLen(0x00fe, 53) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081112
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00fe, 5) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081029
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081022
+packetLen(0x00fe, 2) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081008
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20081001
+packetLen(0x00fe, 22) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080924
+packetLen(0x00fe, 10) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080827
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080820
+packetLen(0x00fe, 26) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080806
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080730
+packetLen(0x00fe, 282) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080722
+packetLen(0x00fe, 28) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080617
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00fe, 2) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00fe, 186) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00fe, 32) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fe, 186) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fe, 7) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00ff
+#if PACKETVER >= 20081217
+packetLen(0x00ff, 5) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20081203
+packetLen(0x00ff, 11) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20081126
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20081119
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20081112
+packetLen(0x00ff, 14) // CZ_JOIN_GROUP
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20081001
+packetLen(0x00ff, 12) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080924
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080917
+packetLen(0x00ff, 102) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080910
+packetLen(0x00ff, 4) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080806
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080730
+packetLen(0x00ff, 15) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080722
+packetLen(0x00ff, 14) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080708
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080701
+packetLen(0x00ff, 5) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x00ff, 7) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x00ff, 4) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x00ff, 22) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x00ff, 79) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x00ff, 2) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00ff, 3) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00ff, 59) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x00ff, 32) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#endif
+
+// Packet: 0x0100
+#if PACKETVER >= 20081112
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20081029
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20081022
+packetLen(0x0100, 14) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20081015
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20081008
+packetLen(0x0100, 26) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20081001
+packetLen(0x0100, 67) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080924
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080917
+packetLen(0x0100, 26) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080820
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080813
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080806
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080730
+packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080715
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080708
+packetLen(0x0100, 22) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080617
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x0100, 186) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x0100, 14) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x0100, 27) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x0100, 8) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x0100, 17) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x0100, 30) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x0100, 28) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x0100, 54) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x0100, 54) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#endif
+
+// Packet: 0x0101
+#if PACKETVER >= 20081217
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20081126
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20081119
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20081029
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20081022
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20081015
+packetLen(0x0101, 3) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20081001
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080924
+packetLen(0x0101, 10) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080827
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080820
+packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x0101, 35) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080806
+packetLen(0x0101, 66) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080701
+packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080624
+packetLen(0x0101, 24) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x0101, 58) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x0101, 26) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x0101, 97) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x0101, 23) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x0101, 10) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x0101, 4) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#endif
+
+// Packet: 0x0102
+#if PACKETVER >= 20081217
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20081203
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20081119
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20081112
+packetLen(0x0102, 14) // CZ_CHANGE_GROUPEXPOPTION
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0102, 8) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20081029
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20081022
+packetLen(0x0102, 22) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20081015
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20081008
+packetLen(0x0102, 9) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20081001
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080924
+packetLen(0x0102, 7) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080917
+packetLen(0x0102, 182) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080910
+packetLen(0x0102, 7) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080820
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080813
+packetLen(0x0102, 10) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080722
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080715
+packetLen(0x0102, 4) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080610
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080603
+packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080528
+packetLen(0x0102, 17) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080520
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080513
+packetLen(0x0102, 11) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080422
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080415
+packetLen(0x0102, 81) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080408
+packetLen(0x0102, 2) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080401
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080325
+packetLen(0x0102, 54) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080318
+packetLen(0x0102, 4) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080311
+packetLen(0x0102, 2) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080304
+packetLen(0x0102, 14) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080226
+packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080219
+packetLen(0x0102, 68) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080124
+packetLen(0x0102, 15) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#endif
+
+// Packet: 0x0103
+#if PACKETVER >= 20081217
+packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20081203
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20081126
+packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20081119
+packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20081112
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20081029
+packetLen(0x0103, 10) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20081022
+packetLen(0x0103, 3) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20081015
+packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20081008
+packetLen(0x0103, 27) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080910
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080903
+packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080827
+packetLen(0x0103, 2) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080813
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080806
+packetLen(0x0103, 60) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080730
+packetLen(0x0103, 36) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080722
+packetLen(0x0103, 2) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080715
+packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080708
+packetLen(0x0103, 2) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080701
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080624
+packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080617
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080610
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080603
+packetLen(0x0103, 10) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080528
+packetLen(0x0103, 79) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080520
+packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080513
+packetLen(0x0103, 16) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080507
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080429
+packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080422
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080415
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080408
+packetLen(0x0103, 11) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080401
+packetLen(0x0103, 4) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080318
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080311
+packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080226
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080219
+packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080124
+packetLen(0x0103, 58) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080102
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#endif
+
+// Packet: 0x0104
+#if PACKETVER >= 20081112
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20081029
+packetLen(0x0104, 11) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20081015
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20081008
+packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080910
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080903
+packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080827
+packetLen(0x0104, 4) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080820
+packetLen(0x0104, 17) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080730
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080722
+packetLen(0x0104, 30) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080701
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080624
+packetLen(0x0104, 60) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080603
+packetLen(0x0104, 3) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x0104, 17) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080422
+packetLen(0x0104, 282) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080415
+packetLen(0x0104, 12) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080408
+packetLen(0x0104, 30) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x0104, 11) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x0104, 15) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x0104, 21) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0105
+#if PACKETVER >= 20081126
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20081119
+packetLen(0x0105, 30) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20081112
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20081001
+packetLen(0x0105, 58) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080910
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080903
+packetLen(0x0105, 7) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080827
+packetLen(0x0105, 30) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080820
+packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080813
+packetLen(0x0105, 2) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080722
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080715
+packetLen(0x0105, 97) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080617
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080528
+packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080520
+packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080513
+packetLen(0x0105, 5) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080507
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080429
+packetLen(0x0105, 4) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080401
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080325
+packetLen(0x0105, 23) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080318
+packetLen(0x0105, 4) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x0105, 10) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080124
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+#endif
+
+// Packet: 0x0106
+#if PACKETVER >= 20081217
+packetLen(0x0106, 2) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20081203
+packetLen(0x0106, 7) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20081126
+packetLen(0x0106, 8) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20081119
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20081112
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20081029
+packetLen(0x0106, 3) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20081015
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20081008
+packetLen(0x0106, 60) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20081001
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080924
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080917
+packetLen(0x0106, 6) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080827
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080813
+packetLen(0x0106, 6) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080806
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080730
+packetLen(0x0106, 17) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080722
+packetLen(0x0106, 29) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080708
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080701
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080617
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080610
+packetLen(0x0106, 9) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080528
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080513
+packetLen(0x0106, 2) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080507
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080429
+packetLen(0x0106, 27) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080422
+packetLen(0x0106, 29) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080415
+packetLen(0x0106, 282) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080408
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080401
+packetLen(0x0106, 5) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080325
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080318
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080311
+packetLen(0x0106, 26) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080226
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080219
+packetLen(0x0106, 21) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080124
+packetLen(0x0106, 8) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080102
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#endif
+
+// Packet: 0x0107
+#if PACKETVER >= 20081217
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20081203
+packetLen(0x0107, 24) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20081126
+packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20081119
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20081112
+packetLen(0x0107, 30) // ZC_NOTIFY_POSITION_TO_GROUPM
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20081029
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20081022
+packetLen(0x0107, 14) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20081015
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20081008
+packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20081001
+packetLen(0x0107, 30) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080924
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080917
+packetLen(0x0107, 2) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080910
+packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080903
+packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080827
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080820
+packetLen(0x0107, 16) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080813
+packetLen(0x0107, 17) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080806
+packetLen(0x0107, 23) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080730
+packetLen(0x0107, 59) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080722
+packetLen(0x0107, 282) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080624
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080617
+packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080603
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080528
+packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080520
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080513
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080507
+packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080429
+packetLen(0x0107, 2) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080325
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080318
+packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080226
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080219
+packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080124
+packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080102
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+#endif
+
+// Packet: 0x0108
+#if PACKETVER >= 20081029
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20081022
+packetLen(0x0108, 9) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20081015
+packetLen(0x0108, 22) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20081008
+packetLen(0x0108, 11) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080924
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080917
+packetLen(0x0108, 14) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080827
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080820
+packetLen(0x0108, 8) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080813
+packetLen(0x0108, 10) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080730
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080722
+packetLen(0x0108, 12) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080715
+packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080624
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080617
+packetLen(0x0108, 54) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080610
+packetLen(0x0108, 2) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080528
+packetLen(0x0108, 11) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080520
+packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080513
+packetLen(0x0108, 30) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080507
+packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080429
+packetLen(0x0108, 32) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080415
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080408
+packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080401
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080325
+packetLen(0x0108, 7) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080318
+packetLen(0x0108, 182) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080311
+packetLen(0x0108, 4) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080226
+packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080219
+packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080124
+packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080102
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#endif
+
+// Packet: 0x0109
+#if PACKETVER >= 20081112
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20081105
+packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20081029
+packetLen(0x0109, 3) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20081022
+packetLen(0x0109, 43) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20081001
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080924
+packetLen(0x0109, 17) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080917
+packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080910
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080903
+packetLen(0x0109, 81) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080708
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080701
+packetLen(0x0109, 31) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080624
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080617
+packetLen(0x0109, 7) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080610
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080603
+packetLen(0x0109, 5) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080528
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080513
+packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080507
+packetLen(0x0109, 26) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080429
+packetLen(0x0109, 67) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080422
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080415
+packetLen(0x0109, 102) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080408
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080401
+packetLen(0x0109, 33) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080325
+packetLen(0x0109, 26) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080318
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080311
+packetLen(0x0109, 10) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080304
+packetLen(0x0109, 4) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080226
+packetLen(0x0109, 2) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080219
+packetLen(0x0109, 14) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080124
+packetLen(0x0109, 12) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080102
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#endif
+
+// Packet: 0x010a
+#if PACKETVER >= 20081217
+packetLen(0x010a, 8) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20081126
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20081119
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20081112
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x010a, 36) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20081022
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20081015
+packetLen(0x010a, 16) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20081008
+packetLen(0x010a, 10) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080917
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080910
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080903
+packetLen(0x010a, 7) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080827
+packetLen(0x010a, 2) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080820
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080813
+packetLen(0x010a, 3) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080806
+packetLen(0x010a, 30) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080722
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080715
+packetLen(0x010a, 3) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080603
+packetLen(0x010a, 34) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080528
+packetLen(0x010a, 102) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080520
+packetLen(0x010a, 3) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080513
+packetLen(0x010a, 30) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080507
+packetLen(0x010a, 31) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080429
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080415
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080408
+packetLen(0x010a, 114) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080401
+packetLen(0x010a, 27) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080325
+packetLen(0x010a, 12) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080318
+packetLen(0x010a, 8) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080124
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#endif
+
+// Packet: 0x010b
+#if PACKETVER >= 20081217
+packetLen(0x010b, 23) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20081203
+packetLen(0x010b, 14) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20081112
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x010b, 2) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20081022
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20081015
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20081001
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080924
+packetLen(0x010b, 14) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080820
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080813
+packetLen(0x010b, 58) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080806
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080730
+packetLen(0x010b, 33) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080722
+packetLen(0x010b, 4) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080715
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080708
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080701
+packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080624
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080617
+packetLen(0x010b, 8) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080610
+packetLen(0x010b, 26) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080603
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080520
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080513
+packetLen(0x010b, 4) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080429
+packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080422
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080415
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080408
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080401
+packetLen(0x010b, 28) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080325
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080318
+packetLen(0x010b, 17) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080311
+packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080304
+packetLen(0x010b, 114) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080226
+packetLen(0x010b, 9) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080219
+packetLen(0x010b, 24) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080102
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#endif
+
+// Packet: 0x010c
+#if PACKETVER >= 20081203
+packetLen(0x010c, 6) // ZC_MVP
+#elif PACKETVER >= 20081119
+packetLen(0x010c, 3) // ZC_MVP
+#elif PACKETVER >= 20081112
+packetLen(0x010c, 6) // ZC_MVP
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20081029
+packetLen(0x010c, 2) // ZC_MVP
+#elif PACKETVER >= 20081022
+packetLen(0x010c, 11) // ZC_MVP
+#elif PACKETVER >= 20081008
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20081001
+packetLen(0x010c, 9) // ZC_MVP
+#elif PACKETVER >= 20080917
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080910
+packetLen(0x010c, 33) // ZC_MVP
+#elif PACKETVER >= 20080827
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080820
+packetLen(0x010c, 6) // ZC_MVP
+#elif PACKETVER >= 20080813
+packetLen(0x010c, 26) // ZC_MVP
+#elif PACKETVER >= 20080730
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080722
+packetLen(0x010c, 6) // ZC_MVP
+#elif PACKETVER >= 20080715
+packetLen(0x010c, 10) // ZC_MVP
+#elif PACKETVER >= 20080708
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080701
+packetLen(0x010c, 7) // ZC_MVP
+#elif PACKETVER >= 20080624
+packetLen(0x010c, 23) // ZC_MVP
+#elif PACKETVER >= 20080610
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080603
+packetLen(0x010c, 31) // ZC_MVP
+#elif PACKETVER >= 20080528
+packetLen(0x010c, 30) // ZC_MVP
+#elif PACKETVER >= 20080520
+packetLen(0x010c, 8) // ZC_MVP
+#elif PACKETVER >= 20080507
+packetLen(0x010c, 2) // ZC_MVP
+#elif PACKETVER >= 20080429
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080422
+packetLen(0x010c, 26) // ZC_MVP
+#elif PACKETVER >= 20080408
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080401
+packetLen(0x010c, 6) // ZC_MVP
+#elif PACKETVER >= 20080325
+packetLen(0x010c, 11) // ZC_MVP
+#elif PACKETVER >= 20080318
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080311
+packetLen(0x010c, 282) // ZC_MVP
+#elif PACKETVER >= 20080304
+packetLen(0x010c, 2) // ZC_MVP
+#elif PACKETVER >= 20080226
+packetLen(0x010c, 14) // ZC_MVP
+#elif PACKETVER >= 20080219
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080124
+packetLen(0x010c, 4) // ZC_MVP
+#elif PACKETVER >= 20080102
+packetLen(0x010c, 6) // ZC_MVP
+#endif
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+#if PACKETVER >= 20081203
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20081126
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20081119
+packetLen(0x010e, 81) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20081112
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x010e, 30) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20081029
+packetLen(0x010e, 10) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20081022
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20081015
+packetLen(0x010e, 53) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080806
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080730
+packetLen(0x010e, 26) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080722
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080715
+packetLen(0x010e, 24) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080701
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080624
+packetLen(0x010e, 33) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080617
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080610
+packetLen(0x010e, 8) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080603
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080528
+packetLen(0x010e, 2) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080520
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080513
+packetLen(0x010e, 14) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080507
+packetLen(0x010e, 10) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080429
+packetLen(0x010e, 67) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080415
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080408
+packetLen(0x010e, 12) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080401
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080325
+packetLen(0x010e, 30) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080318
+packetLen(0x010e, 53) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080311
+packetLen(0x010e, 71) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080304
+packetLen(0x010e, 26) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080226
+packetLen(0x010e, 7) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080219
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080124
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080102
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+#endif
+
+// Packet: 0x010f
+#if PACKETVER >= 20081217
+packetLen(0x010f, 81) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20081203
+packetLen(0x010f, 10) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20081008
+packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20081001
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080924
+packetLen(0x010f, 4) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080827
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x010f, 67) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080806
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x010f, 4) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x010f, 35) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x010f, 5) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x010f, 17) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x010f, 11) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x010f, 4) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x010f, 8) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x010f, 17) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x010f, 11) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#endif
+
+// Packet: 0x0110
+#if PACKETVER >= 20081126
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20081119
+packetLen(0x0110, 6) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20081112
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20081015
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20081001
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080924
+packetLen(0x0110, 16) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080910
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080903
+packetLen(0x0110, 6) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080827
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080820
+packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080813
+packetLen(0x0110, 24) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080722
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080715
+packetLen(0x0110, 34) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080617
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080610
+packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080603
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080520
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080513
+packetLen(0x0110, 4) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080408
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0110, 6) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0110, 35) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080318
+packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0110, 4) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0110, 2) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#endif
+
+// Packet: 0x0111
+#if PACKETVER >= 20081217
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20081203
+packetLen(0x0111, 6) // ZC_ADD_SKILL
+#elif PACKETVER >= 20081112
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0111, 10) // ZC_ADD_SKILL
+#elif PACKETVER >= 20081029
+packetLen(0x0111, 97) // ZC_ADD_SKILL
+#elif PACKETVER >= 20081015
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20081008
+packetLen(0x0111, 6) // ZC_ADD_SKILL
+#elif PACKETVER >= 20081001
+packetLen(0x0111, 4) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080903
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080827
+packetLen(0x0111, 5) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080820
+packetLen(0x0111, 66) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080813
+packetLen(0x0111, 27) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080806
+packetLen(0x0111, 282) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080730
+packetLen(0x0111, 11) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080722
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080715
+packetLen(0x0111, 10) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080708
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080701
+packetLen(0x0111, 17) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080624
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080617
+packetLen(0x0111, 2) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080610
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080603
+packetLen(0x0111, 11) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0111, 23) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080429
+packetLen(0x0111, 10) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080422
+packetLen(0x0111, 4) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080415
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080408
+packetLen(0x0111, 26) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0111, 282) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080318
+packetLen(0x0111, 23) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0111, 6) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0111, 4) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0111, 60) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0111, 32) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+#endif
+
+// Packet: 0x0112
+#if PACKETVER >= 20081217
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20081203
+packetLen(0x0112, 8) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20081112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080924
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080910
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080903
+packetLen(0x0112, 10) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080827
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080820
+packetLen(0x0112, 9) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080701
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080624
+packetLen(0x0112, 15) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080617
+packetLen(0x0112, 59) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080610
+packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080603
+packetLen(0x0112, 14) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080528
+packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080520
+packetLen(0x0112, 30) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080513
+packetLen(0x0112, 10) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080429
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080422
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080408
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080401
+packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080325
+packetLen(0x0112, 11) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080318
+packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080311
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080304
+packetLen(0x0112, 29) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080226
+packetLen(0x0112, 13) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080219
+packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080124
+packetLen(0x0112, 26) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080102
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+#endif
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+#if PACKETVER >= 20081203
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20081119
+packetLen(0x0114, 11) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20081112
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20081008
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20081001
+packetLen(0x0114, 11) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080806
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080730
+packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080722
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080715
+packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080708
+packetLen(0x0114, 7) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080701
+packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080624
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080617
+packetLen(0x0114, 15) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080610
+packetLen(0x0114, 11) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080603
+packetLen(0x0114, 7) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080520
+packetLen(0x0114, 30) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080513
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0114, 4) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080429
+packetLen(0x0114, 3) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080408
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0114, 26) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0114, 182) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080318
+packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0114, 29) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0114, 8) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+#endif
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+#if PACKETVER >= 20081203
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20081126
+packetLen(0x0117, 81) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20081112
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0117, 14) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20081029
+packetLen(0x0117, 13) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20081022
+packetLen(0x0117, 14) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20081015
+packetLen(0x0117, 32) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20081008
+packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080917
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080910
+packetLen(0x0117, 22) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080903
+packetLen(0x0117, 2) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080827
+packetLen(0x0117, 30) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080820
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080813
+packetLen(0x0117, 4) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080806
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080730
+packetLen(0x0117, 30) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080722
+packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080603
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080520
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080513
+packetLen(0x0117, 5) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080422
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080415
+packetLen(0x0117, 29) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080408
+packetLen(0x0117, 28) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0117, 26) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0117, 29) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080318
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0117, 11) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0117, 10) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0117, 8) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+#endif
+
+// Packet: 0x0118
+#if PACKETVER >= 20081217
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20081203
+packetLen(0x0118, 4) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20081126
+packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20081119
+packetLen(0x0118, 11) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20081112
+packetLen(0x0118, 10) // CZ_CANCEL_LOCKON
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20081029
+packetLen(0x0118, 4) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20081022
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20081015
+packetLen(0x0118, 6) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20081008
+packetLen(0x0118, 182) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20081001
+packetLen(0x0118, 26) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080910
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080903
+packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080730
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080722
+packetLen(0x0118, 18) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080715
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080708
+packetLen(0x0118, 4) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080701
+packetLen(0x0118, 67) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080617
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080610
+packetLen(0x0118, 22) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080603
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080528
+packetLen(0x0118, 8) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080520
+packetLen(0x0118, 90) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080513
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080507
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080429
+packetLen(0x0118, 29) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080422
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080401
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080325
+packetLen(0x0118, 14) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080318
+packetLen(0x0118, 5) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080311
+packetLen(0x0118, 282) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080304
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080226
+packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080219
+packetLen(0x0118, 7) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080124
+packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080102
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#endif
+
+// Packet: 0x0119
+#if PACKETVER >= 20081217
+packetLen(0x0119, 30) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20081203
+packetLen(0x0119, 7) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20081126
+packetLen(0x0119, 11) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20081119
+packetLen(0x0119, 6) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x0119, 43) // ZC_STATE_CHANGE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20081015
+packetLen(0x0119, 6) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20081008
+packetLen(0x0119, 7) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080924
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080917
+packetLen(0x0119, 30) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080910
+packetLen(0x0119, 29) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080903
+packetLen(0x0119, 30) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080827
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080820
+packetLen(0x0119, 3) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x0119, 14) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080730
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080715
+packetLen(0x0119, 2) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x0119, 4) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x0119, 10) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x0119, 4) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x0119, 23) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x0119, 6) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x0119, 17) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x0119, 2) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x0119, 3) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x0119, 8) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x0119, 282) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x0119, 2) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x0119, 58) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x0119, 6) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+#endif
+
+// Packet: 0x011a
+#if PACKETVER >= 20081217
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20081203
+packetLen(0x011a, 19) // ZC_USE_SKILL
+#elif PACKETVER >= 20081112
+packetLen(0x011a, 15) // ZC_USE_SKILL
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011a, 7) // ZC_USE_SKILL
+#elif PACKETVER >= 20081029
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20081022
+packetLen(0x011a, 26) // ZC_USE_SKILL
+#elif PACKETVER >= 20081008
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20081001
+packetLen(0x011a, 6) // ZC_USE_SKILL
+#elif PACKETVER >= 20080924
+packetLen(0x011a, 58) // ZC_USE_SKILL
+#elif PACKETVER >= 20080917
+packetLen(0x011a, 15) // ZC_USE_SKILL
+#elif PACKETVER >= 20080903
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080827
+packetLen(0x011a, 8) // ZC_USE_SKILL
+#elif PACKETVER >= 20080813
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080806
+packetLen(0x011a, 14) // ZC_USE_SKILL
+#elif PACKETVER >= 20080715
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080708
+packetLen(0x011a, 2) // ZC_USE_SKILL
+#elif PACKETVER >= 20080701
+packetLen(0x011a, 11) // ZC_USE_SKILL
+#elif PACKETVER >= 20080624
+packetLen(0x011a, 3) // ZC_USE_SKILL
+#elif PACKETVER >= 20080617
+packetLen(0x011a, 6) // ZC_USE_SKILL
+#elif PACKETVER >= 20080610
+packetLen(0x011a, 26) // ZC_USE_SKILL
+#elif PACKETVER >= 20080603
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080528
+packetLen(0x011a, 8) // ZC_USE_SKILL
+#elif PACKETVER >= 20080520
+packetLen(0x011a, 6) // ZC_USE_SKILL
+#elif PACKETVER >= 20080513
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080507
+packetLen(0x011a, 3) // ZC_USE_SKILL
+#elif PACKETVER >= 20080429
+packetLen(0x011a, 17) // ZC_USE_SKILL
+#elif PACKETVER >= 20080408
+packetLen(0x011a, 4) // ZC_USE_SKILL
+#elif PACKETVER >= 20080401
+packetLen(0x011a, 8) // ZC_USE_SKILL
+#elif PACKETVER >= 20080325
+packetLen(0x011a, 36) // ZC_USE_SKILL
+#elif PACKETVER >= 20080318
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x011a, 6) // ZC_USE_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x011a, 2) // ZC_USE_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x011a, 10) // ZC_USE_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x011a, 11) // ZC_USE_SKILL
+#elif PACKETVER >= 20080124
+packetLen(0x011a, 2) // ZC_USE_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x011a, 15) // ZC_USE_SKILL
+#endif
+
+// Packet: 0x011b
+#if PACKETVER >= 20081217
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20081203
+packetLen(0x011b, 30) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20081119
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20081112
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011b, 15) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20081029
+packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20081022
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20081015
+packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080924
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080917
+packetLen(0x011b, 3) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080903
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080827
+packetLen(0x011b, 53) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080820
+packetLen(0x011b, 23) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080813
+packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080806
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080730
+packetLen(0x011b, 79) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080722
+packetLen(0x011b, 6) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080715
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080708
+packetLen(0x011b, 14) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080528
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080520
+packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080513
+packetLen(0x011b, 58) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080507
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080429
+packetLen(0x011b, 10) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080422
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080415
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080408
+packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080401
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080325
+packetLen(0x011b, 39) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080311
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080304
+packetLen(0x011b, 58) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080226
+packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080124
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080102
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+#endif
+
+// Packet: 0x011c
+#if PACKETVER >= 20081217
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20081203
+packetLen(0x011c, 2) // ZC_WARPLIST
+#elif PACKETVER >= 20081119
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20081112
+packetLen(0x011c, 68) // ZC_WARPLIST
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011c, 26) // ZC_WARPLIST
+#elif PACKETVER >= 20081022
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20081015
+packetLen(0x011c, 3) // ZC_WARPLIST
+#elif PACKETVER >= 20081001
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080924
+packetLen(0x011c, 3) // ZC_WARPLIST
+#elif PACKETVER >= 20080917
+packetLen(0x011c, 60) // ZC_WARPLIST
+#elif PACKETVER >= 20080910
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080903
+packetLen(0x011c, 66) // ZC_WARPLIST
+#elif PACKETVER >= 20080806
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080730
+packetLen(0x011c, 39) // ZC_WARPLIST
+#elif PACKETVER >= 20080722
+packetLen(0x011c, 7) // ZC_WARPLIST
+#elif PACKETVER >= 20080715
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080708
+packetLen(0x011c, 15) // ZC_WARPLIST
+#elif PACKETVER >= 20080617
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080610
+packetLen(0x011c, 14) // ZC_WARPLIST
+#elif PACKETVER >= 20080603
+packetLen(0x011c, 8) // ZC_WARPLIST
+#elif PACKETVER >= 20080528
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080520
+packetLen(0x011c, 2) // ZC_WARPLIST
+#elif PACKETVER >= 20080513
+packetLen(0x011c, 8) // ZC_WARPLIST
+#elif PACKETVER >= 20080507
+packetLen(0x011c, 282) // ZC_WARPLIST
+#elif PACKETVER >= 20080429
+packetLen(0x011c, 5) // ZC_WARPLIST
+#elif PACKETVER >= 20080422
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20080415
+packetLen(0x011c, 31) // ZC_WARPLIST
+#elif PACKETVER >= 20080408
+packetLen(0x011c, 3) // ZC_WARPLIST
+#elif PACKETVER >= 20080401
+packetLen(0x011c, 7) // ZC_WARPLIST
+#elif PACKETVER >= 20080325
+packetLen(0x011c, 26) // ZC_WARPLIST
+#elif PACKETVER >= 20080318
+packetLen(0x011c, 6) // ZC_WARPLIST
+#elif PACKETVER >= 20080311
+packetLen(0x011c, 3) // ZC_WARPLIST
+#elif PACKETVER >= 20080304
+packetLen(0x011c, 32) // ZC_WARPLIST
+#elif PACKETVER >= 20080226
+packetLen(0x011c, 6) // ZC_WARPLIST
+#elif PACKETVER >= 20080219
+packetLen(0x011c, 4) // ZC_WARPLIST
+#elif PACKETVER >= 20080124
+packetLen(0x011c, 2) // ZC_WARPLIST
+#elif PACKETVER >= 20080102
+packetLen(0x011c, 68) // ZC_WARPLIST
+#endif
+
+// Packet: 0x011d
+#if PACKETVER >= 20081217
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20081203
+packetLen(0x011d, 16) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20081126
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20081119
+packetLen(0x011d, 14) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20081112
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20081029
+packetLen(0x011d, 8) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20081022
+packetLen(0x011d, 16) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20081015
+packetLen(0x011d, 21) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20081008
+packetLen(0x011d, 14) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080827
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080820
+packetLen(0x011d, 24) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080813
+packetLen(0x011d, 11) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080730
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080722
+packetLen(0x011d, 9) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080715
+packetLen(0x011d, 8) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080708
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080624
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080617
+packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080610
+packetLen(0x011d, 28) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080603
+packetLen(0x011d, 3) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080528
+packetLen(0x011d, 14) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080520
+packetLen(0x011d, 23) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080513
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080507
+packetLen(0x011d, 81) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080422
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080415
+packetLen(0x011d, 6) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080408
+packetLen(0x011d, 4) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080325
+packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080318
+packetLen(0x011d, 7) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080311
+packetLen(0x011d, 3) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080304
+packetLen(0x011d, 7) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080219
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080124
+packetLen(0x011d, 26) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080102
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+#endif
+
+// Packet: 0x011e
+#if PACKETVER >= 20081112
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20081029
+packetLen(0x011e, 30) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080813
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080806
+packetLen(0x011e, 4) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080730
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080722
+packetLen(0x011e, 12) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080624
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080617
+packetLen(0x011e, 33) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080610
+packetLen(0x011e, 5) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080603
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080528
+packetLen(0x011e, 6) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080513
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080507
+packetLen(0x011e, 9) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080429
+packetLen(0x011e, 10) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080422
+packetLen(0x011e, 282) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080415
+packetLen(0x011e, 30) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080408
+packetLen(0x011e, 32) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080401
+packetLen(0x011e, 9) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080325
+packetLen(0x011e, 18) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080318
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080311
+packetLen(0x011e, 6) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080304
+packetLen(0x011e, 18) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080219
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080124
+packetLen(0x011e, 7) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080102
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+#endif
+
+// Packet: 0x011f
+#if PACKETVER >= 20081203
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20081126
+packetLen(0x011f, 60) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20081112
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20081022
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20081015
+packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080924
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080917
+packetLen(0x011f, 282) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080910
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080903
+packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080827
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080820
+packetLen(0x011f, 5) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080813
+packetLen(0x011f, 58) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080806
+packetLen(0x011f, 28) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080708
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080701
+packetLen(0x011f, 11) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x011f, 3) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x011f, 282) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x011f, 12) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x011f, 60) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x011f, 8) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x011f, 5) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+#endif
+
+// Packet: 0x0120
+#if PACKETVER >= 20081126
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20081119
+packetLen(0x0120, 10) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20081112
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20080924
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080917
+packetLen(0x0120, 9) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080903
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080827
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080820
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080813
+packetLen(0x0120, 60) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080806
+packetLen(0x0120, 22) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080730
+packetLen(0x0120, 4) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080715
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080708
+packetLen(0x0120, 30) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080701
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080624
+packetLen(0x0120, 27) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080617
+packetLen(0x0120, 14) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080610
+packetLen(0x0120, 79) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080603
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080528
+packetLen(0x0120, 28) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080520
+packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080513
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080507
+packetLen(0x0120, 54) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080429
+packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080422
+packetLen(0x0120, 4) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080408
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080401
+packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080318
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080311
+packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080304
+packetLen(0x0120, 54) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080226
+packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080219
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080124
+packetLen(0x0120, 39) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080102
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+#endif
+
+// Packet: 0x0121
+#if PACKETVER >= 20081217
+packetLen(0x0121, 3) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20081112
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0121, 3) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20081029
+packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20081022
+packetLen(0x0121, 5) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080917
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080910
+packetLen(0x0121, 3) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080903
+packetLen(0x0121, 13) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080813
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080722
+packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080708
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080701
+packetLen(0x0121, 8) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080624
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080610
+packetLen(0x0121, 5) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080603
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080528
+packetLen(0x0121, 4) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080520
+packetLen(0x0121, 26) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080513
+packetLen(0x0121, 27) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080507
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080429
+packetLen(0x0121, 60) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080415
+packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080408
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080401
+packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080325
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080318
+packetLen(0x0121, 29) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0121, 29) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0121, 282) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080124
+packetLen(0x0121, 60) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#endif
+
+// Packet: 0x0122
+#if PACKETVER >= 20081217
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081203
+packetLen(0x0122, 2) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081126
+packetLen(0x0122, 66) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081119
+packetLen(0x0122, 2) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081112
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081105
+packetLen(0x0122, 10) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081029
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x0122, 6) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20081001
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080924
+packetLen(0x0122, 65) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x0122, 7) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x0122, 3) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x0122, 5) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x0122, 3) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x0122, 10) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x0122, 282) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x0122, 58) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x0122, 12) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x0122, 15) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x0122, 4) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x0122, 10) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x0122, 186) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x0122, 16) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0122, 7) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0122, 28) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0122, 8) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#endif
+
+// Packet: 0x0123
+#if PACKETVER >= 20081217
+packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081203
+packetLen(0x0123, 22) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081126
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081119
+packetLen(0x0123, 58) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081105
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20081029
+packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080924
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x0123, 4) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x0123, 19) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x0123, 3) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080820
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x0123, 4) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x0123, 2) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x0123, 11) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x0123, 2) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x0123, 23) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x0123, 30) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x0123, 28) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x0123, 2) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x0123, 8) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x0123, 35) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x0123, 33) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x0123, 14) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0123, 5) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0123, 9) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0123, 16) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x0123, 58) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x0124
+#if PACKETVER >= 20081217
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20081203
+packetLen(0x0124, 26) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20081126
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20081119
+packetLen(0x0124, 182) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20081112
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20081022
+packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20081008
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20081001
+packetLen(0x0124, 3) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080924
+packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080917
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080910
+packetLen(0x0124, 29) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080903
+packetLen(0x0124, 10) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080827
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080820
+packetLen(0x0124, 282) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080813
+packetLen(0x0124, 8) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080730
+packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080722
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080715
+packetLen(0x0124, 5) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080701
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080624
+packetLen(0x0124, 26) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080617
+packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080610
+packetLen(0x0124, 58) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080603
+packetLen(0x0124, 54) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080528
+packetLen(0x0124, 32) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080520
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080513
+packetLen(0x0124, 22) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080507
+packetLen(0x0124, 2) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080429
+packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080422
+packetLen(0x0124, 71) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080415
+packetLen(0x0124, 22) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080408
+packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080325
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080318
+packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0124, 3) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x0124, 36) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080124
+packetLen(0x0124, 11) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+#endif
+
+// Packet: 0x0125
+#if PACKETVER >= 20081112
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0125, 4) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20081022
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20081015
+packetLen(0x0125, 4) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20081001
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080924
+packetLen(0x0125, 4) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080903
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080827
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080820
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080813
+packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080730
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080722
+packetLen(0x0125, 4) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080715
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080708
+packetLen(0x0125, 3) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080701
+packetLen(0x0125, 10) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080624
+packetLen(0x0125, 7) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080617
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080610
+packetLen(0x0125, 86) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080603
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080528
+packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080520
+packetLen(0x0125, 44) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080513
+packetLen(0x0125, 57) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080507
+packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080429
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080422
+packetLen(0x0125, 32) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080415
+packetLen(0x0125, 29) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080408
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080401
+packetLen(0x0125, 11) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080325
+packetLen(0x0125, 53) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080318
+packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080124
+packetLen(0x0125, 26) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+#endif
+
+// Packet: 0x0126
+#if PACKETVER >= 20081217
+packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20081203
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20081126
+packetLen(0x0126, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20081119
+packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20081112
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0126, 60) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20081029
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20081022
+packetLen(0x0126, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20081008
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20081001
+packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080813
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080806
+packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080722
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080715
+packetLen(0x0126, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080708
+packetLen(0x0126, 24) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080701
+packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080624
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080617
+packetLen(0x0126, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080610
+packetLen(0x0126, 97) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080603
+packetLen(0x0126, 12) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080507
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080429
+packetLen(0x0126, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080422
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080415
+packetLen(0x0126, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080408
+packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080401
+packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080325
+packetLen(0x0126, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080318
+packetLen(0x0126, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0126, 7) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0126, 27) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0126, 11) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080124
+packetLen(0x0126, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#endif
+
+// Packet: 0x0127
+#if PACKETVER >= 20081217
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20081203
+packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20081112
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20080917
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080910
+packetLen(0x0127, 81) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080820
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080813
+packetLen(0x0127, 17) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080806
+packetLen(0x0127, 18) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080730
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080722
+packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080715
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080708
+packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080701
+packetLen(0x0127, 9) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080528
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080520
+packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080513
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080507
+packetLen(0x0127, 6) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080429
+packetLen(0x0127, 10) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080422
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080415
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080408
+packetLen(0x0127, 26) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080401
+packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080325
+packetLen(0x0127, 6) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080318
+packetLen(0x0127, 67) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080311
+packetLen(0x0127, 5) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080304
+packetLen(0x0127, 18) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080226
+packetLen(0x0127, 12) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080219
+packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080124
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080102
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#endif
+
+// Packet: 0x0128
+#if PACKETVER >= 20081217
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20081203
+packetLen(0x0128, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20081126
+packetLen(0x0128, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20081119
+packetLen(0x0128, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20081112
+packetLen(0x0128, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20081029
+packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20081022
+packetLen(0x0128, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20081008
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20081001
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080903
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080827
+packetLen(0x0128, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080820
+packetLen(0x0128, 30) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080813
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080806
+packetLen(0x0128, 97) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080730
+packetLen(0x0128, 31) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080722
+packetLen(0x0128, 27) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080715
+packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080708
+packetLen(0x0128, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080701
+packetLen(0x0128, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080624
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080617
+packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080610
+packetLen(0x0128, 31) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080603
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080528
+packetLen(0x0128, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080520
+packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080507
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080429
+packetLen(0x0128, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080422
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080415
+packetLen(0x0128, 22) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080408
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080401
+packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080318
+packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0128, 58) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x0128, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080124
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#endif
+
+// Packet: 0x0129
+#if PACKETVER >= 20081217
+packetLen(0x0129, 7) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20081203
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20081126
+packetLen(0x0129, 2) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20081119
+packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20081112
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20081029
+packetLen(0x0129, 2) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20081022
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20081015
+packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080910
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080903
+packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080827
+packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080813
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080806
+packetLen(0x0129, 14) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080701
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080624
+packetLen(0x0129, 182) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080617
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080610
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080603
+packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080520
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080513
+packetLen(0x0129, 7) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080507
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080429
+packetLen(0x0129, 4) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080422
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080415
+packetLen(0x0129, 60) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080408
+packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080401
+packetLen(0x0129, 14) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080325
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080318
+packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x0129, 4) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080124
+packetLen(0x0129, 28) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#endif
+
+// Packet: 0x012a
+#if PACKETVER >= 20081119
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20081112
+packetLen(0x012a, 54) // CZ_REQ_CARTOFF
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x012a, 54) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20081022
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20081015
+packetLen(0x012a, 30) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20081008
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20081001
+packetLen(0x012a, 10) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080924
+packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080917
+packetLen(0x012a, 29) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080813
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080806
+packetLen(0x012a, 39) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080730
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080624
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080617
+packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080610
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080603
+packetLen(0x012a, 11) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080528
+packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080520
+packetLen(0x012a, 9) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080513
+packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080507
+packetLen(0x012a, 14) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080429
+packetLen(0x012a, 22) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080422
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080415
+packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080408
+packetLen(0x012a, 282) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080401
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080325
+packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080318
+packetLen(0x012a, 4) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080304
+packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080226
+packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080219
+packetLen(0x012a, 5) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080102
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+#endif
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+#if PACKETVER >= 20081217
+packetLen(0x012c, 79) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20081203
+packetLen(0x012c, 5) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20081126
+packetLen(0x012c, 6) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20081112
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20081029
+packetLen(0x012c, 5) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20081022
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20081015
+packetLen(0x012c, 2) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20081008
+packetLen(0x012c, 14) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080924
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080917
+packetLen(0x012c, 6) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080903
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080827
+packetLen(0x012c, 26) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080813
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080806
+packetLen(0x012c, 36) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080715
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080708
+packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080610
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080603
+packetLen(0x012c, 5) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080528
+packetLen(0x012c, 58) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080520
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080513
+packetLen(0x012c, 2) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080507
+packetLen(0x012c, 10) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080429
+packetLen(0x012c, 39) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080422
+packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080415
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080408
+packetLen(0x012c, 30) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080401
+packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080325
+packetLen(0x012c, 4) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080318
+packetLen(0x012c, 10) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x012c, 14) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x012c, 30) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x012c, 20) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x012c, 9) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080124
+packetLen(0x012c, 19) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+#endif
+
+// Packet: 0x012d
+#if PACKETVER >= 20081119
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20081112
+packetLen(0x012d, 67) // ZC_OPENSTORE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20080910
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080903
+packetLen(0x012d, 11) // ZC_OPENSTORE
+#elif PACKETVER >= 20080813
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080806
+packetLen(0x012d, 8) // ZC_OPENSTORE
+#elif PACKETVER >= 20080730
+packetLen(0x012d, 26) // ZC_OPENSTORE
+#elif PACKETVER >= 20080722
+packetLen(0x012d, 3) // ZC_OPENSTORE
+#elif PACKETVER >= 20080701
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080624
+packetLen(0x012d, 26) // ZC_OPENSTORE
+#elif PACKETVER >= 20080617
+packetLen(0x012d, 3) // ZC_OPENSTORE
+#elif PACKETVER >= 20080610
+packetLen(0x012d, 8) // ZC_OPENSTORE
+#elif PACKETVER >= 20080603
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080528
+packetLen(0x012d, 30) // ZC_OPENSTORE
+#elif PACKETVER >= 20080520
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080513
+packetLen(0x012d, 34) // ZC_OPENSTORE
+#elif PACKETVER >= 20080507
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080429
+packetLen(0x012d, 4) // ZC_OPENSTORE
+#elif PACKETVER >= 20080422
+packetLen(0x012d, 81) // ZC_OPENSTORE
+#elif PACKETVER >= 20080415
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080408
+packetLen(0x012d, 33) // ZC_OPENSTORE
+#elif PACKETVER >= 20080401
+packetLen(0x012d, 3) // ZC_OPENSTORE
+#elif PACKETVER >= 20080325
+packetLen(0x012d, 6) // ZC_OPENSTORE
+#elif PACKETVER >= 20080318
+packetLen(0x012d, 2) // ZC_OPENSTORE
+#elif PACKETVER >= 20080311
+packetLen(0x012d, 30) // ZC_OPENSTORE
+#elif PACKETVER >= 20080304
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080219
+packetLen(0x012d, 14) // ZC_OPENSTORE
+#elif PACKETVER >= 20080124
+packetLen(0x012d, 26) // ZC_OPENSTORE
+#elif PACKETVER >= 20080102
+packetLen(0x012d, 4) // ZC_OPENSTORE
+#endif
+
+// Packet: 0x012e
+#if PACKETVER >= 20081217
+packetLen(0x012e, 7) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20081203
+packetLen(0x012e, 10) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20081119
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20081112
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20081105
+packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20081029
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20081022
+packetLen(0x012e, 33) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20081015
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20081008
+packetLen(0x012e, 5) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080910
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080903
+packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080827
+packetLen(0x012e, 4) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080820
+packetLen(0x012e, 3) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080806
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080730
+packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080722
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080715
+packetLen(0x012e, 5) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080708
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080701
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080624
+packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080617
+packetLen(0x012e, 31) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080520
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080513
+packetLen(0x012e, 5) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080507
+packetLen(0x012e, 102) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080429
+packetLen(0x012e, 3) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080422
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080415
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080408
+packetLen(0x012e, 26) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080401
+packetLen(0x012e, 7) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080325
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080318
+packetLen(0x012e, 4) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080311
+packetLen(0x012e, 14) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080304
+packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080219
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080102
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#endif
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+#if PACKETVER >= 20081203
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20081126
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20081112
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20081029
+packetLen(0x0130, 5) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20081015
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20081008
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080924
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080917
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080910
+packetLen(0x0130, 12) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080827
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080820
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080813
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080806
+packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080730
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080722
+packetLen(0x0130, 55) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080715
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080708
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080617
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080610
+packetLen(0x0130, 30) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080603
+packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080528
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080520
+packetLen(0x0130, 282) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080507
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080429
+packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080422
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080415
+packetLen(0x0130, 2) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080408
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080401
+packetLen(0x0130, 81) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080325
+packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080318
+packetLen(0x0130, 66) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080304
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0130, 28) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0130, 5) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080124
+packetLen(0x0130, 8) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#endif
+
+// Packet: 0x0131
+#if PACKETVER >= 20081203
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20081126
+packetLen(0x0131, 15) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20081119
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20081112
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20081029
+packetLen(0x0131, 3) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20081022
+packetLen(0x0131, 5) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20081015
+packetLen(0x0131, 10) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20081008
+packetLen(0x0131, 4) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080910
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080903
+packetLen(0x0131, 97) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080730
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080722
+packetLen(0x0131, 26) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x0131, 3) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x0131, 12) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x0131, 35) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080528
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080520
+packetLen(0x0131, 3) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080513
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080507
+packetLen(0x0131, 35) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080429
+packetLen(0x0131, 14) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x0131, 8) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080415
+packetLen(0x0131, 3) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x0131, 11) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x0131, 4) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x0131, 6) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0131, 14) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x0131, 29) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0131, 26) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+#endif
+
+// Packet: 0x0132
+#if PACKETVER >= 20081203
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20081126
+packetLen(0x0132, 55) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20081112
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20081029
+packetLen(0x0132, 8) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20081022
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20081015
+packetLen(0x0132, 9) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080924
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080917
+packetLen(0x0132, 3) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080820
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080813
+packetLen(0x0132, 4) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080730
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080722
+packetLen(0x0132, 5) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080715
+packetLen(0x0132, 2) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080701
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080624
+packetLen(0x0132, 4) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080617
+packetLen(0x0132, 10) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x0132, 14) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080603
+packetLen(0x0132, 16) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080422
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080408
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080401
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080325
+packetLen(0x0132, 30) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080318
+packetLen(0x0132, 11) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0132, 36) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080124
+packetLen(0x0132, 2) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+#endif
+
+// Packet: 0x0133
+#if PACKETVER >= 20081105
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081029
+packetLen(0x0133, 102) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081022
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081015
+packetLen(0x0133, 28) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080910
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080903
+packetLen(0x0133, 6) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080827
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080820
+packetLen(0x0133, 59) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080813
+packetLen(0x0133, 67) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080806
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080730
+packetLen(0x0133, 11) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080722
+packetLen(0x0133, 5) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080715
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080708
+packetLen(0x0133, 4) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080701
+packetLen(0x0133, 11) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080617
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080610
+packetLen(0x0133, 7) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080603
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080528
+packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080520
+packetLen(0x0133, 57) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080513
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080507
+packetLen(0x0133, 26) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080429
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080422
+packetLen(0x0133, 14) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080415
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080408
+packetLen(0x0133, 5) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080401
+packetLen(0x0133, 24) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080304
+packetLen(0x0133, 26) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0133, 10) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080124
+packetLen(0x0133, 3) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#endif
+
+// Packet: 0x0134
+#if PACKETVER >= 20081217
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081203
+packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081126
+packetLen(0x0134, 282) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081119
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081112
+packetLen(0x0134, 11) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081029
+packetLen(0x0134, 15) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081022
+packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081015
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081008
+packetLen(0x0134, 29) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20081001
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080924
+packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080917
+packetLen(0x0134, 21) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080910
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080903
+packetLen(0x0134, 282) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080827
+packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080820
+packetLen(0x0134, 39) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080722
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080715
+packetLen(0x0134, 10) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080701
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080624
+packetLen(0x0134, 29) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080617
+packetLen(0x0134, 8) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080610
+packetLen(0x0134, 67) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080603
+packetLen(0x0134, 30) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080528
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080520
+packetLen(0x0134, 7) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080513
+packetLen(0x0134, 282) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080507
+packetLen(0x0134, 16) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080422
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080415
+packetLen(0x0134, 71) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080408
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080401
+packetLen(0x0134, 28) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080325
+packetLen(0x0134, 7) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080318
+packetLen(0x0134, 20) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0134, 26) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0134, 3) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#endif
+
+// Packet: 0x0135
+#if PACKETVER >= 20081112
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0135, 3) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20081029
+packetLen(0x0135, 4) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20081001
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080924
+packetLen(0x0135, 114) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080917
+packetLen(0x0135, 12) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080910
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080903
+packetLen(0x0135, 22) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080827
+packetLen(0x0135, 16) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080820
+packetLen(0x0135, 71) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080813
+packetLen(0x0135, 14) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080715
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080708
+packetLen(0x0135, 5) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080624
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080617
+packetLen(0x0135, 13) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080610
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080603
+packetLen(0x0135, 60) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080520
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080513
+packetLen(0x0135, 9) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080507
+packetLen(0x0135, 8) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080429
+packetLen(0x0135, 29) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080422
+packetLen(0x0135, 4) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080415
+packetLen(0x0135, 2) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080401
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080325
+packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0135, 2) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0135, 65) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080124
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+#endif
+
+// Packet: 0x0136
+#if PACKETVER >= 20081217
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20081203
+packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20081112
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20081105
+packetLen(0x0136, 7) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20081029
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20081015
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20081008
+packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x0136, 5) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080820
+packetLen(0x0136, 19) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x0136, 54) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x0136, 5) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x0136, 8) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x0136, 11) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x0136, 3) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x0136, 28) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0136, 2) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#endif
+
+// Packet: 0x0137
+#if PACKETVER >= 20081217
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20081203
+packetLen(0x0137, 2) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20081119
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20081112
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20081015
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20081008
+packetLen(0x0137, 10) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20081001
+packetLen(0x0137, 5) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080910
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080903
+packetLen(0x0137, 29) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080813
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080806
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080730
+packetLen(0x0137, 17) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080722
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080715
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080708
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080701
+packetLen(0x0137, 9) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080624
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080617
+packetLen(0x0137, 71) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080610
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080603
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080528
+packetLen(0x0137, 8) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080429
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080422
+packetLen(0x0137, 30) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080415
+packetLen(0x0137, 27) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080408
+packetLen(0x0137, 7) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080401
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080325
+packetLen(0x0137, 32) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080318
+packetLen(0x0137, 22) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080311
+packetLen(0x0137, 86) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080226
+packetLen(0x0137, 5) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080219
+packetLen(0x0137, 10) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080124
+packetLen(0x0137, 7) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080102
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#endif
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+#if PACKETVER >= 20081203
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20081126
+packetLen(0x0139, 18) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20081112
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20081022
+packetLen(0x0139, 67) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20081015
+packetLen(0x0139, 18) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20081008
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20081001
+packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080924
+packetLen(0x0139, 7) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080903
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080827
+packetLen(0x0139, 30) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080820
+packetLen(0x0139, 2) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080813
+packetLen(0x0139, 10) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080806
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080730
+packetLen(0x0139, 7) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080722
+packetLen(0x0139, 26) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080715
+packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080708
+packetLen(0x0139, 12) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080701
+packetLen(0x0139, 26) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080624
+packetLen(0x0139, 10) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080617
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080610
+packetLen(0x0139, 5) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080603
+packetLen(0x0139, 2) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080513
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080507
+packetLen(0x0139, 9) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080429
+packetLen(0x0139, 28) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080422
+packetLen(0x0139, 29) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080415
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080408
+packetLen(0x0139, 11) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080401
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080325
+packetLen(0x0139, 3) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080318
+packetLen(0x0139, 14) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080311
+packetLen(0x0139, 31) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080304
+packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080226
+packetLen(0x0139, 81) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080219
+packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080124
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080102
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#endif
+
+// Packet: 0x013a
+#if PACKETVER >= 20081119
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20081112
+packetLen(0x013a, 39) // ZC_ATTACK_RANGE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20081029
+packetLen(0x013a, 5) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20081022
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20081015
+packetLen(0x013a, 10) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20081008
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20081001
+packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080924
+packetLen(0x013a, 11) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080917
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080910
+packetLen(0x013a, 7) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080903
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080827
+packetLen(0x013a, 5) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080820
+packetLen(0x013a, 10) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080813
+packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080806
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080730
+packetLen(0x013a, 14) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080722
+packetLen(0x013a, 43) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080715
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080708
+packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080701
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080624
+packetLen(0x013a, 2) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080617
+packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080610
+packetLen(0x013a, 30) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080603
+packetLen(0x013a, 39) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080513
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080507
+packetLen(0x013a, 182) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080429
+packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080422
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080415
+packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080408
+packetLen(0x013a, 55) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080401
+packetLen(0x013a, 12) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080325
+packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080318
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080311
+packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080304
+packetLen(0x013a, 32) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080226
+packetLen(0x013a, 58) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080124
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080102
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+#endif
+
+// Packet: 0x013b
+#if PACKETVER >= 20081119
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20081112
+packetLen(0x013b, 33) // ZC_ACTION_FAILURE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20081015
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20081008
+packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080924
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080917
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080827
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080820
+packetLen(0x013b, 11) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080813
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080806
+packetLen(0x013b, 7) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080730
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080722
+packetLen(0x013b, 65) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080715
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080708
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080701
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080624
+packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080617
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080610
+packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080603
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080528
+packetLen(0x013b, 5) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080520
+packetLen(0x013b, 10) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080513
+packetLen(0x013b, 18) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080507
+packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080429
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080422
+packetLen(0x013b, 15) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080415
+packetLen(0x013b, 7) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080408
+packetLen(0x013b, 30) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080401
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080325
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080318
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080311
+packetLen(0x013b, 23) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080304
+packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080226
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080219
+packetLen(0x013b, 16) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080124
+packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080102
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#endif
+
+// Packet: 0x013c
+#if PACKETVER >= 20081203
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20081126
+packetLen(0x013c, 16) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20081112
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20081022
+packetLen(0x013c, 30) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20081008
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20081001
+packetLen(0x013c, 54) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080917
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080910
+packetLen(0x013c, 14) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080903
+packetLen(0x013c, 2) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080820
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080813
+packetLen(0x013c, 23) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080806
+packetLen(0x013c, 2) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080730
+packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080722
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080715
+packetLen(0x013c, 3) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080708
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080701
+packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080624
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080617
+packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080610
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080603
+packetLen(0x013c, 53) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080528
+packetLen(0x013c, 8) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080520
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080513
+packetLen(0x013c, 11) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080507
+packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080429
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080422
+packetLen(0x013c, 33) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080415
+packetLen(0x013c, 8) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080408
+packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080401
+packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080325
+packetLen(0x013c, 3) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080318
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080311
+packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080304
+packetLen(0x013c, 66) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080226
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080219
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080124
+packetLen(0x013c, 11) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080102
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+#endif
+
+// Packet: 0x013d
+#if PACKETVER >= 20081126
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20081119
+packetLen(0x013d, 79) // ZC_RECOVERY
+#elif PACKETVER >= 20081112
+packetLen(0x013d, 13) // ZC_RECOVERY
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20081029
+packetLen(0x013d, 53) // ZC_RECOVERY
+#elif PACKETVER >= 20080924
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080917
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080910
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080903
+packetLen(0x013d, 2) // ZC_RECOVERY
+#elif PACKETVER >= 20080813
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080806
+packetLen(0x013d, 3) // ZC_RECOVERY
+#elif PACKETVER >= 20080730
+packetLen(0x013d, 26) // ZC_RECOVERY
+#elif PACKETVER >= 20080722
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080701
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080624
+packetLen(0x013d, 3) // ZC_RECOVERY
+#elif PACKETVER >= 20080617
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080610
+packetLen(0x013d, 7) // ZC_RECOVERY
+#elif PACKETVER >= 20080603
+packetLen(0x013d, 2) // ZC_RECOVERY
+#elif PACKETVER >= 20080528
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080520
+packetLen(0x013d, 8) // ZC_RECOVERY
+#elif PACKETVER >= 20080513
+packetLen(0x013d, 31) // ZC_RECOVERY
+#elif PACKETVER >= 20080507
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080429
+packetLen(0x013d, 10) // ZC_RECOVERY
+#elif PACKETVER >= 20080422
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080415
+packetLen(0x013d, 26) // ZC_RECOVERY
+#elif PACKETVER >= 20080408
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080401
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080325
+packetLen(0x013d, 3) // ZC_RECOVERY
+#elif PACKETVER >= 20080318
+packetLen(0x013d, 282) // ZC_RECOVERY
+#elif PACKETVER >= 20080311
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080304
+packetLen(0x013d, 3) // ZC_RECOVERY
+#elif PACKETVER >= 20080226
+packetLen(0x013d, 2) // ZC_RECOVERY
+#elif PACKETVER >= 20080219
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080124
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080102
+packetLen(0x013d, 6) // ZC_RECOVERY
+#endif
+
+// Packet: 0x013e
+#if PACKETVER >= 20081217
+packetLen(0x013e, 182) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20081203
+packetLen(0x013e, 186) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20081126
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20081119
+packetLen(0x013e, 32) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20081112
+packetLen(0x013e, 68) // ZC_USESKILL_ACK
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013e, 6) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20081001
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080924
+packetLen(0x013e, 30) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080806
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080730
+packetLen(0x013e, 32) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080722
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080715
+packetLen(0x013e, 6) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080708
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080701
+packetLen(0x013e, 26) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080624
+packetLen(0x013e, 3) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080603
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080528
+packetLen(0x013e, 6) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080520
+packetLen(0x013e, 20) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080513
+packetLen(0x013e, 7) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080507
+packetLen(0x013e, 21) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080429
+packetLen(0x013e, 8) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080422
+packetLen(0x013e, 7) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080408
+packetLen(0x013e, 6) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080401
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080325
+packetLen(0x013e, 15) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080318
+packetLen(0x013e, 11) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x013e, 2) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x013e, 4) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x013e, 30) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080124
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+#endif
+
+// Packet: 0x013f
+#if PACKETVER >= 20081217
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20081203
+packetLen(0x013f, 2) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20081112
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013f, 29) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20081015
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20081008
+packetLen(0x013f, 10) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080924
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080917
+packetLen(0x013f, 7) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080820
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080813
+packetLen(0x013f, 4) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080806
+packetLen(0x013f, 29) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080722
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080715
+packetLen(0x013f, 6) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080708
+packetLen(0x013f, 4) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080701
+packetLen(0x013f, 30) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080624
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080617
+packetLen(0x013f, 2) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080610
+packetLen(0x013f, 7) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080603
+packetLen(0x013f, 11) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080528
+packetLen(0x013f, 2) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080520
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080513
+packetLen(0x013f, 29) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080507
+packetLen(0x013f, 20) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080422
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080415
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080408
+packetLen(0x013f, 8) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080401
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080325
+packetLen(0x013f, 28) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080318
+packetLen(0x013f, 54) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080311
+packetLen(0x013f, 282) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080304
+packetLen(0x013f, 6) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080226
+packetLen(0x013f, 5) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080219
+packetLen(0x013f, 58) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080124
+packetLen(0x013f, 9) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080102
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+#endif
+
+// Packet: 0x0140
+#if PACKETVER >= 20081119
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20081112
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0140, 28) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20081029
+packetLen(0x0140, 18) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20081008
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20081001
+packetLen(0x0140, 10) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080924
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080917
+packetLen(0x0140, 12) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080910
+packetLen(0x0140, 60) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080903
+packetLen(0x0140, 10) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080827
+packetLen(0x0140, 14) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080820
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080813
+packetLen(0x0140, 30) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080806
+packetLen(0x0140, 4) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080730
+packetLen(0x0140, 6) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080722
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080715
+packetLen(0x0140, 6) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080701
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080624
+packetLen(0x0140, 2) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080617
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080610
+packetLen(0x0140, 11) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080603
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080528
+packetLen(0x0140, 6) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080520
+packetLen(0x0140, 8) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080513
+packetLen(0x0140, 6) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080507
+packetLen(0x0140, 4) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080429
+packetLen(0x0140, 3) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080422
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080415
+packetLen(0x0140, 7) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080408
+packetLen(0x0140, 53) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080401
+packetLen(0x0140, 10) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080325
+packetLen(0x0140, 27) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080318
+packetLen(0x0140, 33) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080311
+packetLen(0x0140, 3) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080304
+packetLen(0x0140, 6) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080226
+packetLen(0x0140, 11) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080219
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080124
+packetLen(0x0140, 2) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080102
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+#endif
+
+// Packet: 0x0141
+#if PACKETVER >= 20081217
+packetLen(0x0141, 8) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20081119
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20081112
+packetLen(0x0141, 26) // ZC_COUPLESTATUS
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0141, 57) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20081029
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20081022
+packetLen(0x0141, 3) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20081015
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20081008
+packetLen(0x0141, 8) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20081001
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080924
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080917
+packetLen(0x0141, 2) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080910
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080903
+packetLen(0x0141, 10) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080827
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080820
+packetLen(0x0141, 2) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080813
+packetLen(0x0141, 26) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080806
+packetLen(0x0141, 2) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080730
+packetLen(0x0141, 30) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080722
+packetLen(0x0141, 10) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080715
+packetLen(0x0141, 26) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080708
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080624
+packetLen(0x0141, 4) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080617
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080610
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080603
+packetLen(0x0141, 5) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080528
+packetLen(0x0141, 18) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080520
+packetLen(0x0141, 4) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080513
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080507
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080429
+packetLen(0x0141, 60) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080422
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080415
+packetLen(0x0141, 7) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080408
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080401
+packetLen(0x0141, 3) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080325
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080318
+packetLen(0x0141, 11) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080311
+packetLen(0x0141, 9) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080304
+packetLen(0x0141, 30) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080226
+packetLen(0x0141, 22) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080219
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080124
+packetLen(0x0141, 35) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080102
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+#endif
+
+// Packet: 0x0142
+#if PACKETVER >= 20081203
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20081126
+packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20081119
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20081112
+packetLen(0x0142, 11) // ZC_OPEN_EDITDLG
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0142, 3) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20081029
+packetLen(0x0142, 8) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20081022
+packetLen(0x0142, 10) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20081015
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20081008
+packetLen(0x0142, 43) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080827
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080820
+packetLen(0x0142, 10) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080730
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080722
+packetLen(0x0142, 8) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080715
+packetLen(0x0142, 7) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080708
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080701
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080617
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080610
+packetLen(0x0142, 32) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080603
+packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080528
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080520
+packetLen(0x0142, 7) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080513
+packetLen(0x0142, 15) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080422
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080408
+packetLen(0x0142, 11) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080401
+packetLen(0x0142, 9) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080325
+packetLen(0x0142, 67) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080318
+packetLen(0x0142, 26) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080311
+packetLen(0x0142, 30) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080304
+packetLen(0x0142, 4) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080226
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080219
+packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080124
+packetLen(0x0142, 3) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080102
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+#endif
+
+// Packet: 0x0143
+#if PACKETVER >= 20081112
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20081022
+packetLen(0x0143, 22) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20081015
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20081008
+packetLen(0x0143, 7) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080924
+packetLen(0x0143, 6) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080910
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080903
+packetLen(0x0143, 5) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080827
+packetLen(0x0143, 6) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080820
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080813
+packetLen(0x0143, 26) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080730
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080722
+packetLen(0x0143, 6) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080715
+packetLen(0x0143, 11) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080708
+packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080617
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080610
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080603
+packetLen(0x0143, 7) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080528
+packetLen(0x0143, 26) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080520
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080513
+packetLen(0x0143, 97) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080507
+packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080422
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080415
+packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080408
+packetLen(0x0143, 53) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080401
+packetLen(0x0143, 27) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080325
+packetLen(0x0143, 28) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080318
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080304
+packetLen(0x0143, 3) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080226
+packetLen(0x0143, 8) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080219
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080124
+packetLen(0x0143, 67) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080102
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+#endif
+
+// Packet: 0x0144
+#if PACKETVER >= 20081203
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20081126
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20081119
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20081112
+packetLen(0x0144, 23) // ZC_COMPASS
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0144, 53) // ZC_COMPASS
+#elif PACKETVER >= 20081029
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20081022
+packetLen(0x0144, 4) // ZC_COMPASS
+#elif PACKETVER >= 20081001
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080924
+packetLen(0x0144, 5) // ZC_COMPASS
+#elif PACKETVER >= 20080917
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20080903
+packetLen(0x0144, 2) // ZC_COMPASS
+#elif PACKETVER >= 20080827
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080820
+packetLen(0x0144, 10) // ZC_COMPASS
+#elif PACKETVER >= 20080813
+packetLen(0x0144, 68) // ZC_COMPASS
+#elif PACKETVER >= 20080730
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080722
+packetLen(0x0144, 3) // ZC_COMPASS
+#elif PACKETVER >= 20080701
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080624
+packetLen(0x0144, 2) // ZC_COMPASS
+#elif PACKETVER >= 20080617
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080610
+packetLen(0x0144, 81) // ZC_COMPASS
+#elif PACKETVER >= 20080603
+packetLen(0x0144, 22) // ZC_COMPASS
+#elif PACKETVER >= 20080528
+packetLen(0x0144, 3) // ZC_COMPASS
+#elif PACKETVER >= 20080520
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080513
+packetLen(0x0144, 4) // ZC_COMPASS
+#elif PACKETVER >= 20080507
+packetLen(0x0144, 7) // ZC_COMPASS
+#elif PACKETVER >= 20080415
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20080408
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20080401
+packetLen(0x0144, 65) // ZC_COMPASS
+#elif PACKETVER >= 20080325
+packetLen(0x0144, 282) // ZC_COMPASS
+#elif PACKETVER >= 20080318
+packetLen(0x0144, 7) // ZC_COMPASS
+#elif PACKETVER >= 20080311
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20080304
+packetLen(0x0144, 2) // ZC_COMPASS
+#elif PACKETVER >= 20080226
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20080219
+packetLen(0x0144, 10) // ZC_COMPASS
+#elif PACKETVER >= 20080124
+packetLen(0x0144, 2) // ZC_COMPASS
+#elif PACKETVER >= 20080102
+packetLen(0x0144, 23) // ZC_COMPASS
+#endif
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+#if PACKETVER >= 20081203
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20081126
+packetLen(0x0146, 60) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20081119
+packetLen(0x0146, 14) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20081112
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20081015
+packetLen(0x0146, 20) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20081001
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080924
+packetLen(0x0146, 3) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080827
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080820
+packetLen(0x0146, 3) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080813
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080806
+packetLen(0x0146, 282) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080722
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080715
+packetLen(0x0146, 5) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080708
+packetLen(0x0146, 28) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080624
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080617
+packetLen(0x0146, 23) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080610
+packetLen(0x0146, 5) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080603
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080528
+packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080513
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080507
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080429
+packetLen(0x0146, 65) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080422
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080408
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080401
+packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080325
+packetLen(0x0146, 2) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080318
+packetLen(0x0146, 42) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x0146, 7) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080124
+packetLen(0x0146, 8) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#endif
+
+// Packet: 0x0147
+#if PACKETVER >= 20081217
+packetLen(0x0147, 2) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20081126
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20081119
+packetLen(0x0147, 31) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20081112
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20081001
+packetLen(0x0147, 11) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080924
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080917
+packetLen(0x0147, 14) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080910
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080903
+packetLen(0x0147, 26) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080827
+packetLen(0x0147, 12) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080813
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080806
+packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080730
+packetLen(0x0147, 10) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080722
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080715
+packetLen(0x0147, 5) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080708
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080701
+packetLen(0x0147, 282) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080624
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080617
+packetLen(0x0147, 18) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080610
+packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080528
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080520
+packetLen(0x0147, 114) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080513
+packetLen(0x0147, 282) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080507
+packetLen(0x0147, 4) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080429
+packetLen(0x0147, 20) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080422
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080415
+packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080401
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080325
+packetLen(0x0147, 90) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0147, 6) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0147, 16) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0147, 11) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080124
+packetLen(0x0147, 2) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+#endif
+
+// Packet: 0x0148
+#if PACKETVER >= 20081126
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20081119
+packetLen(0x0148, 2) // ZC_RESURRECTION
+#elif PACKETVER >= 20081112
+packetLen(0x0148, 8) // ZC_RESURRECTION
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20081022
+packetLen(0x0148, 4) // ZC_RESURRECTION
+#elif PACKETVER >= 20081008
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20081001
+packetLen(0x0148, 81) // ZC_RESURRECTION
+#elif PACKETVER >= 20080924
+packetLen(0x0148, 4) // ZC_RESURRECTION
+#elif PACKETVER >= 20080820
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20080813
+packetLen(0x0148, 6) // ZC_RESURRECTION
+#elif PACKETVER >= 20080806
+packetLen(0x0148, 2) // ZC_RESURRECTION
+#elif PACKETVER >= 20080730
+packetLen(0x0148, 26) // ZC_RESURRECTION
+#elif PACKETVER >= 20080722
+packetLen(0x0148, 54) // ZC_RESURRECTION
+#elif PACKETVER >= 20080715
+packetLen(0x0148, 10) // ZC_RESURRECTION
+#elif PACKETVER >= 20080708
+packetLen(0x0148, 2) // ZC_RESURRECTION
+#elif PACKETVER >= 20080617
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20080610
+packetLen(0x0148, 2) // ZC_RESURRECTION
+#elif PACKETVER >= 20080528
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20080513
+packetLen(0x0148, 6) // ZC_RESURRECTION
+#elif PACKETVER >= 20080507
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20080429
+packetLen(0x0148, 14) // ZC_RESURRECTION
+#elif PACKETVER >= 20080422
+packetLen(0x0148, 2) // ZC_RESURRECTION
+#elif PACKETVER >= 20080415
+packetLen(0x0148, 39) // ZC_RESURRECTION
+#elif PACKETVER >= 20080408
+packetLen(0x0148, 10) // ZC_RESURRECTION
+#elif PACKETVER >= 20080401
+packetLen(0x0148, 7) // ZC_RESURRECTION
+#elif PACKETVER >= 20080325
+packetLen(0x0148, 10) // ZC_RESURRECTION
+#elif PACKETVER >= 20080318
+packetLen(0x0148, 6) // ZC_RESURRECTION
+#elif PACKETVER >= 20080311
+packetLen(0x0148, 54) // ZC_RESURRECTION
+#elif PACKETVER >= 20080304
+packetLen(0x0148, 282) // ZC_RESURRECTION
+#elif PACKETVER >= 20080226
+packetLen(0x0148, 6) // ZC_RESURRECTION
+#elif PACKETVER >= 20080219
+packetLen(0x0148, 4) // ZC_RESURRECTION
+#elif PACKETVER >= 20080124
+packetLen(0x0148, 3) // ZC_RESURRECTION
+#elif PACKETVER >= 20080102
+packetLen(0x0148, 8) // ZC_RESURRECTION
+#endif
+
+// Packet: 0x0149
+#if PACKETVER >= 20081126
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20081119
+packetLen(0x0149, 18) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20081112
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20081029
+packetLen(0x0149, 3) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20081022
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20081015
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20081008
+packetLen(0x0149, 58) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20081001
+packetLen(0x0149, 35) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080917
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080910
+packetLen(0x0149, 20) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080903
+packetLen(0x0149, 7) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080708
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080701
+packetLen(0x0149, 14) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080624
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080610
+packetLen(0x0149, 8) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080603
+packetLen(0x0149, 7) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080528
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080520
+packetLen(0x0149, 27) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080513
+packetLen(0x0149, 71) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080429
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080422
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080415
+packetLen(0x0149, 5) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080408
+packetLen(0x0149, 17) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080401
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080325
+packetLen(0x0149, 2) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080318
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x0149, 5) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x0149, 53) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080124
+packetLen(0x0149, 4) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+#endif
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+#if PACKETVER >= 20081217
+packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20081112
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20081105
+packetLen(0x014c, 3) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20081029
+packetLen(0x014c, 26) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20081022
+packetLen(0x014c, 2) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080924
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080917
+packetLen(0x014c, 14) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080910
+packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080903
+packetLen(0x014c, 8) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080813
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080806
+packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080730
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080722
+packetLen(0x014c, 35) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080715
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080708
+packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080701
+packetLen(0x014c, 26) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080624
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x014c, 16) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080429
+packetLen(0x014c, 12) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080415
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080408
+packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x014c, 55) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x014c, 10) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x014c, 9) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080311
+packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#endif
+
+// Packet: 0x014d
+#if PACKETVER >= 20081217
+packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20081203
+packetLen(0x014d, 27) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20081112
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20081022
+packetLen(0x014d, 65) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20081015
+packetLen(0x014d, 5) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20081008
+packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20081001
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080924
+packetLen(0x014d, 282) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080917
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080910
+packetLen(0x014d, 26) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080903
+packetLen(0x014d, 3) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080827
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080820
+packetLen(0x014d, 27) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080813
+packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080806
+packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080722
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080715
+packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080701
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080624
+packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080603
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080528
+packetLen(0x014d, 30) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080520
+packetLen(0x014d, 282) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080513
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080507
+packetLen(0x014d, 3) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080429
+packetLen(0x014d, 4) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080422
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080415
+packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080401
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080318
+packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080311
+packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080304
+packetLen(0x014d, 11) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080226
+packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080219
+packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080124
+packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080102
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#endif
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+#if PACKETVER >= 20081217
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20081203
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20081112
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20081001
+packetLen(0x014f, 16) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080917
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080910
+packetLen(0x014f, 4) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080903
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080827
+packetLen(0x014f, 9) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080722
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080715
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080617
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080603
+packetLen(0x014f, 3) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080528
+packetLen(0x014f, 13) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080507
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080429
+packetLen(0x014f, 23) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080422
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080408
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080401
+packetLen(0x014f, 58) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080325
+packetLen(0x014f, 4) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080318
+packetLen(0x014f, 3) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080304
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080226
+packetLen(0x014f, 97) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080219
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080124
+packetLen(0x014f, 30) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080102
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#endif
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+#if PACKETVER >= 20081217
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20081203
+packetLen(0x0154, 4) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20081119
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20081112
+packetLen(0x0154, 282) // ZC_MEMBERMGR_INFO
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0154, 4) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20081001
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080924
+packetLen(0x0154, 7) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080903
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080827
+packetLen(0x0154, 27) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080820
+packetLen(0x0154, 5) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080813
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080806
+packetLen(0x0154, 186) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080722
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080715
+packetLen(0x0154, 30) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080708
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080701
+packetLen(0x0154, 11) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x0154, 13) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x0154, 5) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080513
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x0154, 16) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080422
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080415
+packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080408
+packetLen(0x0154, 10) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x0154, 39) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x0154, 30) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080311
+packetLen(0x0154, 7) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x0154, 8) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#endif
+
+// Packet: 0x0155
+#if PACKETVER >= 20081217
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20081203
+packetLen(0x0155, 8) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20081126
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20081119
+packetLen(0x0155, 7) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20081112
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20081105
+packetLen(0x0155, 30) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20081029
+packetLen(0x0155, 4) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20081015
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20081008
+packetLen(0x0155, 81) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20081001
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080924
+packetLen(0x0155, 2) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080917
+packetLen(0x0155, 3) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080910
+packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080813
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080806
+packetLen(0x0155, 3) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080730
+packetLen(0x0155, 11) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080715
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080708
+packetLen(0x0155, 8) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080624
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080617
+packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080610
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080603
+packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080520
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080513
+packetLen(0x0155, 27) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080507
+packetLen(0x0155, 10) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080422
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080408
+packetLen(0x0155, 6) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080325
+packetLen(0x0155, 22) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080311
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080304
+packetLen(0x0155, 8) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080226
+packetLen(0x0155, 66) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080219
+packetLen(0x0155, 15) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080102
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#endif
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+#if PACKETVER >= 20081217
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20081203
+packetLen(0x0159, 3) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20081022
+packetLen(0x0159, 3) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20081008
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20081001
+packetLen(0x0159, 8) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080924
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080917
+packetLen(0x0159, 44) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080910
+packetLen(0x0159, 39) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080903
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080827
+packetLen(0x0159, 79) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080820
+packetLen(0x0159, 26) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x0159, 4) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080806
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080722
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x0159, 65) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080701
+packetLen(0x0159, 7) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x0159, 26) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0159, 3) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0159, 27) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0159, 15) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0159, 30) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0159, 29) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0159, 10) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0159, 39) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0159, 6) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0159, 186) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0159, 33) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+#endif
+
+// Packet: 0x015a
+#if PACKETVER >= 20081217
+packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20081203
+packetLen(0x015a, 60) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20081029
+packetLen(0x015a, 30) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20081022
+packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20081015
+packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080827
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080820
+packetLen(0x015a, 28) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080806
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080730
+packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080722
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x015a, 24) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x015a, 2) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x015a, 31) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x015a, 15) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x015a, 4) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x015a, 14) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x015a, 23) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x015a, 33) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x015a, 27) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+#endif
+
+// Packet: 0x015b
+#if PACKETVER >= 20081217
+packetLen(0x015b, 11) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20081203
+packetLen(0x015b, 60) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20081119
+packetLen(0x015b, 10) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20081029
+packetLen(0x015b, 27) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20081008
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20081001
+packetLen(0x015b, 11) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080924
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080917
+packetLen(0x015b, 7) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080903
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080827
+packetLen(0x015b, 43) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080730
+packetLen(0x015b, 15) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x015b, 8) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080701
+packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x015b, 20) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x015b, 32) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x015b, 59) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x015b, 79) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x015b, 97) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x015b, 26) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x015b, 30) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x015b, 2) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x015b, 24) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x015b, 33) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x015b, 22) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#endif
+
+// Packet: 0x015c
+#if PACKETVER >= 20081217
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20081203
+packetLen(0x015c, 8) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20081119
+packetLen(0x015c, 10) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20081029
+packetLen(0x015c, 27) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20081015
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20081008
+packetLen(0x015c, 2) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080917
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080910
+packetLen(0x015c, 23) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080903
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080827
+packetLen(0x015c, 4) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080806
+packetLen(0x015c, 14) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080730
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080722
+packetLen(0x015c, 27) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x015c, 7) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x015c, 15) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x015c, 7) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x015c, 2) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x015c, 8) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x015c, 18) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x015c, 57) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x015c, 30) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x015c, 15) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x015c, 3) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x015c, 5) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x015c, 14) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+#endif
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+#if PACKETVER >= 20081112
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20081015
+packetLen(0x015e, 8) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20081008
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20081001
+packetLen(0x015e, 14) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080924
+packetLen(0x015e, 32) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080910
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080903
+packetLen(0x015e, 24) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080827
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080820
+packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080722
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080715
+packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080701
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080624
+packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080610
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080603
+packetLen(0x015e, 4) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080520
+packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080513
+packetLen(0x015e, 2) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080507
+packetLen(0x015e, 9) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080429
+packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080422
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080415
+packetLen(0x015e, 32) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080408
+packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080401
+packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080325
+packetLen(0x015e, 15) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080318
+packetLen(0x015e, 28) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080311
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080304
+packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080226
+packetLen(0x015e, 54) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080219
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080124
+packetLen(0x015e, 16) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080102
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#endif
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+#if PACKETVER >= 20081217
+packetLen(0x0160, 37) // ZC_POSITION_INFO
+#elif PACKETVER >= 20081203
+packetLen(0x0160, 11) // ZC_POSITION_INFO
+#elif PACKETVER >= 20081112
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20081105
+packetLen(0x0160, 2) // ZC_POSITION_INFO
+#elif PACKETVER >= 20081029
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20081022
+packetLen(0x0160, 8) // ZC_POSITION_INFO
+#elif PACKETVER >= 20081008
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20081001
+packetLen(0x0160, 6) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080924
+packetLen(0x0160, 102) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080917
+packetLen(0x0160, 8) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080910
+packetLen(0x0160, 6) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080903
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080827
+packetLen(0x0160, 67) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080806
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080730
+packetLen(0x0160, 9) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080722
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080715
+packetLen(0x0160, 14) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080708
+packetLen(0x0160, 26) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080701
+packetLen(0x0160, 5) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080624
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x0160, 11) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x0160, 5) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x0160, 186) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x0160, 2) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080520
+packetLen(0x0160, 8) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080429
+packetLen(0x0160, 6) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080408
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x0160, 8) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x0160, 4) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x0160, 14) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x0160, 26) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x0160, 2) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x0160, 102) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080124
+packetLen(0x0160, 6) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#endif
+
+// Packet: 0x0161
+#if PACKETVER >= 20081126
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20081119
+packetLen(0x0161, 67) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20081112
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20081105
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20081029
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20081022
+packetLen(0x0161, 3) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20081015
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20081008
+packetLen(0x0161, 10) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20081001
+packetLen(0x0161, 30) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080917
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080910
+packetLen(0x0161, 3) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080903
+packetLen(0x0161, 7) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080827
+packetLen(0x0161, 3) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080806
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080730
+packetLen(0x0161, 14) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080722
+packetLen(0x0161, 39) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080701
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080624
+packetLen(0x0161, 16) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080617
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080610
+packetLen(0x0161, 5) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080603
+packetLen(0x0161, 16) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080528
+packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080520
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080513
+packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080507
+packetLen(0x0161, 4) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080422
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080415
+packetLen(0x0161, 15) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080408
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080401
+packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080325
+packetLen(0x0161, 282) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080318
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0161, 30) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0161, 7) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0161, 21) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080124
+packetLen(0x0161, 8) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#endif
+
+// Packet: 0x0162
+#if PACKETVER >= 20081119
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20081112
+packetLen(0x0162, 11) // ZC_GUILD_SKILLINFO
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0162, 8) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20081022
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20081015
+packetLen(0x0162, 2) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20081008
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20081001
+packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080924
+packetLen(0x0162, 7) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080917
+packetLen(0x0162, 79) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080806
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080730
+packetLen(0x0162, 44) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080708
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080701
+packetLen(0x0162, 81) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080624
+packetLen(0x0162, 23) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080617
+packetLen(0x0162, 22) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080610
+packetLen(0x0162, 18) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080603
+packetLen(0x0162, 30) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080528
+packetLen(0x0162, 66) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080520
+packetLen(0x0162, 10) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080513
+packetLen(0x0162, 3) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080507
+packetLen(0x0162, 30) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080429
+packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080422
+packetLen(0x0162, 13) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080415
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080408
+packetLen(0x0162, 3) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080401
+packetLen(0x0162, 282) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080325
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0162, 26) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080124
+packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#endif
+
+// Packet: 0x0163
+#if PACKETVER >= 20081203
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x0163, 30) // ZC_BAN_LIST
+#elif PACKETVER >= 20081119
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20081112
+packetLen(0x0163, 86) // ZC_BAN_LIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0163, 28) // ZC_BAN_LIST
+#elif PACKETVER >= 20081029
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20081022
+packetLen(0x0163, 54) // ZC_BAN_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x0163, 2) // ZC_BAN_LIST
+#elif PACKETVER >= 20081008
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20081001
+packetLen(0x0163, 282) // ZC_BAN_LIST
+#elif PACKETVER >= 20080910
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080903
+packetLen(0x0163, 20) // ZC_BAN_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x0163, 3) // ZC_BAN_LIST
+#elif PACKETVER >= 20080813
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20080806
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x0163, 114) // ZC_BAN_LIST
+#elif PACKETVER >= 20080722
+packetLen(0x0163, 71) // ZC_BAN_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0163, 44) // ZC_BAN_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0163, 68) // ZC_BAN_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x0163, 42) // ZC_BAN_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x0163, 2) // ZC_BAN_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0163, 86) // ZC_BAN_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0163, 8) // ZC_BAN_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0163, 4) // ZC_BAN_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0163, 30) // ZC_BAN_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#endif
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+#if PACKETVER >= 20081203
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x0165, 21) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20081119
+packetLen(0x0165, 17) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0165, 7) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20081022
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20081015
+packetLen(0x0165, 8) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080903
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080827
+packetLen(0x0165, 39) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080820
+packetLen(0x0165, 6) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080806
+packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080701
+packetLen(0x0165, 54) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0165, 114) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0165, 11) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0165, 10) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0165, 182) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0165, 5) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0165, 97) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0165, 26) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0165, 102) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0165, 29) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0165, 6) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+#endif
+
+// Packet: 0x0166
+#if PACKETVER >= 20081217
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20081203
+packetLen(0x0166, 8) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20081119
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20081112
+packetLen(0x0166, 114) // ZC_POSITION_ID_NAME_INFO
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20081015
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20081008
+packetLen(0x0166, 3) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080924
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080917
+packetLen(0x0166, 30) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080910
+packetLen(0x0166, 13) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080820
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080813
+packetLen(0x0166, 14) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080806
+packetLen(0x0166, 11) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080730
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080722
+packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080715
+packetLen(0x0166, 14) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080708
+packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080701
+packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x0166, 27) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080520
+packetLen(0x0166, 16) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080513
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x0166, 7) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080429
+packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080415
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x0166, 3) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x0166, 68) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080311
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x0166, 5) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x0166, 18) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#endif
+
+// Packet: 0x0167
+#if PACKETVER >= 20081217
+packetLen(0x0167, 26) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20081203
+packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20081015
+packetLen(0x0167, 30) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20081008
+packetLen(0x0167, 14) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20081001
+packetLen(0x0167, 2) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080917
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080910
+packetLen(0x0167, 11) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080806
+packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080730
+packetLen(0x0167, 282) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0167, 9) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0167, 67) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0167, 26) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0167, 86) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0167, 4) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0167, 42) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0167, 4) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0167, 14) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0167, 71) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0167, 2) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0167, 58) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+#endif
+
+// Packet: 0x0168
+#if PACKETVER >= 20081203
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081119
+packetLen(0x0168, 8) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081001
+packetLen(0x0168, 7) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080827
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080730
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080722
+packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080701
+packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x0168, 9) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0168, 282) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0168, 15) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0168, 22) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0168, 3) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0168, 4) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+#endif
+
+// Packet: 0x0169
+#if PACKETVER >= 20081217
+packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081203
+packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x0169, 10) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081029
+packetLen(0x0169, 8) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081022
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081015
+packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081008
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081001
+packetLen(0x0169, 39) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080924
+packetLen(0x0169, 53) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080917
+packetLen(0x0169, 19) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080827
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080820
+packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080806
+packetLen(0x0169, 30) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080730
+packetLen(0x0169, 10) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080722
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x0169, 9) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080701
+packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0169, 9) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0169, 282) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#endif
+
+// Packet: 0x016a
+#if PACKETVER >= 20081217
+packetLen(0x016a, 5) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081203
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x016a, 26) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016a, 102) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081029
+packetLen(0x016a, 19) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20081022
+packetLen(0x016a, 7) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080917
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080910
+packetLen(0x016a, 8) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080820
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080722
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080701
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x016a, 10) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x016a, 24) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x016a, 22) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x016a, 97) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x016a, 7) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x016a, 44) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x016a, 32) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x016a, 26) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x016a, 2) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x016a, 3) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+#endif
+
+// Packet: 0x016b
+#if PACKETVER >= 20081217
+packetLen(0x016b, 6) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20081203
+packetLen(0x016b, 34) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016b, 43) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080924
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080917
+packetLen(0x016b, 30) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080910
+packetLen(0x016b, 5) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080806
+packetLen(0x016b, 11) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080722
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x016b, 26) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x016b, 8) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x016b, 6) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x016b, 4) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x016b, 8) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x016b, 27) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x016b, 22) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x016b, 20) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x016b, 6) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x016b, 11) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+#endif
+
+// Packet: 0x016c
+#if PACKETVER >= 20081217
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20081126
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20081112
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016c, 29) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20081008
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20081001
+packetLen(0x016c, 8) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080917
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080910
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080903
+packetLen(0x016c, 26) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080820
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080813
+packetLen(0x016c, 14) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080806
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080730
+packetLen(0x016c, 7) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080722
+packetLen(0x016c, 18) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080715
+packetLen(0x016c, 90) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080708
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080701
+packetLen(0x016c, 7) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080624
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080617
+packetLen(0x016c, 10) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080610
+packetLen(0x016c, 28) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080603
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080528
+packetLen(0x016c, 54) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080520
+packetLen(0x016c, 30) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080513
+packetLen(0x016c, 14) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080507
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080429
+packetLen(0x016c, 57) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080422
+packetLen(0x016c, 10) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080408
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080401
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080325
+packetLen(0x016c, 32) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080318
+packetLen(0x016c, 22) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080311
+packetLen(0x016c, 4) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080304
+packetLen(0x016c, 2) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080226
+packetLen(0x016c, 8) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080219
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080124
+packetLen(0x016c, 9) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080102
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+#endif
+
+// Packet: 0x016d
+#if PACKETVER >= 20081217
+packetLen(0x016d, 11) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20081112
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20081029
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20081022
+packetLen(0x016d, 30) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20081015
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20081008
+packetLen(0x016d, 15) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20081001
+packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080917
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080910
+packetLen(0x016d, 97) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080827
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080820
+packetLen(0x016d, 67) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080813
+packetLen(0x016d, 2) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080806
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080730
+packetLen(0x016d, 20) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080715
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080708
+packetLen(0x016d, 7) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080701
+packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080617
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080610
+packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080603
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080528
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080520
+packetLen(0x016d, 13) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080507
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080429
+packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080422
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080415
+packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080408
+packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080401
+packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080325
+packetLen(0x016d, 6) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080318
+packetLen(0x016d, 19) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080311
+packetLen(0x016d, 22) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080304
+packetLen(0x016d, 8) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080226
+packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080219
+packetLen(0x016d, 30) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080124
+packetLen(0x016d, 2) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080102
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+#endif
+
+// Packet: 0x016e
+#if PACKETVER >= 20081217
+packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20081203
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20081126
+packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20081119
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20081112
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016e, 6) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20081029
+packetLen(0x016e, 10) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20081022
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20081015
+packetLen(0x016e, 7) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20081008
+packetLen(0x016e, 39) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20081001
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080924
+packetLen(0x016e, 6) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080917
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080910
+packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080903
+packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080827
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080820
+packetLen(0x016e, 12) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080813
+packetLen(0x016e, 9) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080806
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080730
+packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080715
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080708
+packetLen(0x016e, 5) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080701
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080624
+packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080617
+packetLen(0x016e, 39) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080520
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080513
+packetLen(0x016e, 15) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080429
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080422
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080415
+packetLen(0x016e, 42) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080401
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080325
+packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080318
+packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080311
+packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080304
+packetLen(0x016e, 30) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080226
+packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080219
+packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080124
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080102
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+#endif
+
+// Packet: 0x016f
+#if PACKETVER >= 20081217
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20081203
+packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20081126
+packetLen(0x016f, 32) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20081112
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016f, 26) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20081029
+packetLen(0x016f, 7) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20081001
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080924
+packetLen(0x016f, 11) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080917
+packetLen(0x016f, 43) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080903
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080827
+packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080820
+packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080806
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080730
+packetLen(0x016f, 81) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080715
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080708
+packetLen(0x016f, 30) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080701
+packetLen(0x016f, 44) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080624
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080617
+packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080603
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080528
+packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080507
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080429
+packetLen(0x016f, 14) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080422
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080415
+packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080408
+packetLen(0x016f, 7) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080401
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080325
+packetLen(0x016f, 22) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080318
+packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080311
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080304
+packetLen(0x016f, 12) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080226
+packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080219
+packetLen(0x016f, 4) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080124
+packetLen(0x016f, 29) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080102
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+#endif
+
+// Packet: 0x0170
+#if PACKETVER >= 20081217
+packetLen(0x0170, 26) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081119
+packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x0170, 44) // CZ_REQ_ALLY_GUILD
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081022
+packetLen(0x0170, 19) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081015
+packetLen(0x0170, 23) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081008
+packetLen(0x0170, 10) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081001
+packetLen(0x0170, 2) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080917
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080910
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080903
+packetLen(0x0170, 3) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080806
+packetLen(0x0170, 4) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080730
+packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080722
+packetLen(0x0170, 17) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080701
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x0170, 20) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0170, 102) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0170, 26) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0170, 22) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0170, 282) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0170, 4) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0170, 81) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0170, 60) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#endif
+
+// Packet: 0x0171
+#if PACKETVER >= 20081217
+packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081022
+packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081015
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081008
+packetLen(0x0171, 17) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20081001
+packetLen(0x0171, 282) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080924
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080917
+packetLen(0x0171, 4) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080910
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080903
+packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080827
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080820
+packetLen(0x0171, 282) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080813
+packetLen(0x0171, 2) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080806
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080730
+packetLen(0x0171, 58) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080701
+packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x0171, 3) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080603
+packetLen(0x0171, 282) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080528
+packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0171, 7) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0171, 5) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0171, 23) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0171, 3) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+#endif
+
+// Packet: 0x0172
+#if PACKETVER >= 20081217
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20081203
+packetLen(0x0172, 5) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20081126
+packetLen(0x0172, 282) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20081112
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0172, 30) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080730
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080722
+packetLen(0x0172, 14) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080715
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080708
+packetLen(0x0172, 102) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080624
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080617
+packetLen(0x0172, 102) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0172, 3) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080520
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080513
+packetLen(0x0172, 6) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080507
+packetLen(0x0172, 28) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080429
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080422
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080415
+packetLen(0x0172, 2) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080408
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080401
+packetLen(0x0172, 6) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080325
+packetLen(0x0172, 14) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080318
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0172, 3) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0172, 53) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0172, 22) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080124
+packetLen(0x0172, 14) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+#endif
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+#if PACKETVER >= 20081126
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20081119
+packetLen(0x0177, 7) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20081112
+packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0177, 8) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20081008
+packetLen(0x0177, 6) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20081001
+packetLen(0x0177, 5) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080924
+packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080917
+packetLen(0x0177, 8) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080910
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080903
+packetLen(0x0177, 7) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080827
+packetLen(0x0177, 182) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x0177, 6) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080813
+packetLen(0x0177, 71) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080722
+packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x0177, 7) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0177, 31) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0177, 58) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x0177, 30) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x0177, 26) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0177, 28) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0177, 114) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x0177, 10) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0177, 11) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0177, 27) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0177, 34) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0177, 30) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#endif
+
+// Packet: 0x0178
+#if PACKETVER >= 20081112
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20081001
+packetLen(0x0178, 14) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080917
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080910
+packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080827
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080820
+packetLen(0x0178, 90) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080806
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080730
+packetLen(0x0178, 2) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080722
+packetLen(0x0178, 8) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080715
+packetLen(0x0178, 55) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080624
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080617
+packetLen(0x0178, 10) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080603
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080528
+packetLen(0x0178, 33) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080520
+packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080513
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080429
+packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080415
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080408
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080401
+packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080325
+packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080318
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080311
+packetLen(0x0178, 11) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080304
+packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080226
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080219
+packetLen(0x0178, 30) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080124
+packetLen(0x0178, 68) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080102
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+#endif
+
+// Packet: 0x0179
+#if PACKETVER >= 20081217
+packetLen(0x0179, 53) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20081203
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20081126
+packetLen(0x0179, 26) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20081119
+packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20081112
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20081022
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20081015
+packetLen(0x0179, 26) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20081008
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20081001
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080924
+packetLen(0x0179, 4) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080917
+packetLen(0x0179, 9) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080910
+packetLen(0x0179, 8) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080903
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080827
+packetLen(0x0179, 60) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080820
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080813
+packetLen(0x0179, 102) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080806
+packetLen(0x0179, 28) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080730
+packetLen(0x0179, 27) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080722
+packetLen(0x0179, 2) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080715
+packetLen(0x0179, 29) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080708
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080701
+packetLen(0x0179, 59) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080624
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080617
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080610
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080603
+packetLen(0x0179, 27) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080528
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080520
+packetLen(0x0179, 11) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080513
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080507
+packetLen(0x0179, 43) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080429
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080422
+packetLen(0x0179, 55) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080415
+packetLen(0x0179, 4) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080408
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080401
+packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080325
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080318
+packetLen(0x0179, 8) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080311
+packetLen(0x0179, 2) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080304
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080219
+packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080124
+packetLen(0x0179, 15) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080102
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+#endif
+
+// Packet: 0x017a
+#if PACKETVER >= 20081217
+packetLen(0x017a, 24) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081203
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x017a, 3) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081112
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x017a, 71) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081022
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080917
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080910
+packetLen(0x017a, 26) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080813
+packetLen(0x017a, 66) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080722
+packetLen(0x017a, 22) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x017a, 29) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x017a, 28) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x017a, 5) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x017a, 2) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x017a, 31) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x017a, 8) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x017a, 13) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x017a, 30) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x017a, 7) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#endif
+
+// Packet: 0x017b
+#if PACKETVER >= 20081217
+packetLen(0x017b, 10) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081203
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081119
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081112
+packetLen(0x017b, 10) // ZC_ITEMCOMPOSITION_LIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20081008
+packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080917
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080910
+packetLen(0x017b, 32) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080827
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x017b, 10) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080813
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080806
+packetLen(0x017b, 282) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x017b, 8) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x017b, 2) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x017b, 2) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x017b, 68) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x017b, 53) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x017b, 8) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x017b, 11) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x017b, 9) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x017b, 18) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#endif
+
+// Packet: 0x017c
+#if PACKETVER >= 20081119
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20081112
+packetLen(0x017c, 79) // CZ_REQ_ITEMCOMPOSITION
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x017c, 2) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20081029
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20081022
+packetLen(0x017c, 8) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20081015
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20081008
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20081001
+packetLen(0x017c, 4) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080924
+packetLen(0x017c, 5) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080917
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080910
+packetLen(0x017c, 54) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080903
+packetLen(0x017c, 4) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080813
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080806
+packetLen(0x017c, 12) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080730
+packetLen(0x017c, 102) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080715
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080708
+packetLen(0x017c, 7) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080701
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080624
+packetLen(0x017c, 55) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080617
+packetLen(0x017c, 26) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080610
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080603
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080528
+packetLen(0x017c, 21) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080520
+packetLen(0x017c, 39) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080513
+packetLen(0x017c, 7) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080422
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080408
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080401
+packetLen(0x017c, 31) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080311
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080304
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080226
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080219
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080124
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080102
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#endif
+
+// Packet: 0x017d
+#if PACKETVER >= 20081217
+packetLen(0x017d, 2) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20081203
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20081126
+packetLen(0x017d, 6) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20081112
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20081029
+packetLen(0x017d, 9) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20081022
+packetLen(0x017d, 14) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20081015
+packetLen(0x017d, 16) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20081008
+packetLen(0x017d, 53) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20081001
+packetLen(0x017d, 71) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080910
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080903
+packetLen(0x017d, 4) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080827
+packetLen(0x017d, 18) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080813
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080806
+packetLen(0x017d, 10) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080730
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080722
+packetLen(0x017d, 97) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080715
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080708
+packetLen(0x017d, 31) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080701
+packetLen(0x017d, 33) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080610
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080603
+packetLen(0x017d, 3) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080528
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080520
+packetLen(0x017d, 4) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080422
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080415
+packetLen(0x017d, 11) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080408
+packetLen(0x017d, 6) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080401
+packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080325
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080318
+packetLen(0x017d, 28) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080311
+packetLen(0x017d, 34) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080304
+packetLen(0x017d, 30) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080219
+packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080124
+packetLen(0x017d, 10) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080102
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+#endif
+
+// Packet: 0x017e
+#if PACKETVER >= 20081217
+packetLen(0x017e, 2) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20081203
+packetLen(0x017e, 3) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20081119
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20081112
+packetLen(0x017e, 282) // CZ_GUILD_CHAT
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x017e, 67) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20081022
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20081015
+packetLen(0x017e, 10) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20081008
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20081001
+packetLen(0x017e, 9) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080924
+packetLen(0x017e, 6) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080917
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080910
+packetLen(0x017e, 8) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080903
+packetLen(0x017e, 32) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080827
+packetLen(0x017e, 11) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080820
+packetLen(0x017e, 4) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080813
+packetLen(0x017e, 8) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080806
+packetLen(0x017e, 30) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080730
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080722
+packetLen(0x017e, 26) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080715
+packetLen(0x017e, 6) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080708
+packetLen(0x017e, 11) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080701
+packetLen(0x017e, 4) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080624
+packetLen(0x017e, 6) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080617
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080610
+packetLen(0x017e, 2) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080603
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080528
+packetLen(0x017e, 29) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080520
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080513
+packetLen(0x017e, 3) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080507
+packetLen(0x017e, 32) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080429
+packetLen(0x017e, 3) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080422
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080415
+packetLen(0x017e, 14) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080408
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080401
+packetLen(0x017e, 4) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080325
+packetLen(0x017e, 14) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080318
+packetLen(0x017e, 3) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080311
+packetLen(0x017e, 31) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080304
+packetLen(0x017e, 10) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080226
+packetLen(0x017e, 7) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080219
+packetLen(0x017e, 28) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080124
+packetLen(0x017e, 7) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080102
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#endif
+
+// Packet: 0x017f
+#if PACKETVER >= 20081217
+packetLen(0x017f, 30) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20081203
+packetLen(0x017f, 54) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20081126
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20081119
+packetLen(0x017f, 4) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20081112
+packetLen(0x017f, 20) // ZC_GUILD_CHAT
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20081022
+packetLen(0x017f, 10) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20081008
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20081001
+packetLen(0x017f, 8) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080924
+packetLen(0x017f, 30) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080917
+packetLen(0x017f, 11) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080910
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080903
+packetLen(0x017f, 10) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080730
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080722
+packetLen(0x017f, 282) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080715
+packetLen(0x017f, 53) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080708
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080624
+packetLen(0x017f, 2) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080520
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080513
+packetLen(0x017f, 54) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080507
+packetLen(0x017f, 11) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080429
+packetLen(0x017f, 4) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080415
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080408
+packetLen(0x017f, 20) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080401
+packetLen(0x017f, 6) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080325
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080318
+packetLen(0x017f, 4) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080311
+packetLen(0x017f, 35) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080304
+packetLen(0x017f, 14) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080226
+packetLen(0x017f, 30) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080219
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080124
+packetLen(0x017f, 30) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080102
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#endif
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+#if PACKETVER >= 20081126
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20081119
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20081112
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20081029
+packetLen(0x0188, 10) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20081022
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20081015
+packetLen(0x0188, 67) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20081001
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080924
+packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080917
+packetLen(0x0188, 6) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080910
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080903
+packetLen(0x0188, 6) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080827
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080820
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080813
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080806
+packetLen(0x0188, 4) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080715
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080708
+packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080617
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080610
+packetLen(0x0188, 29) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080603
+packetLen(0x0188, 14) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080528
+packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080520
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080513
+packetLen(0x0188, 10) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080507
+packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080415
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080408
+packetLen(0x0188, 7) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080401
+packetLen(0x0188, 6) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080325
+packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080318
+packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080311
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080304
+packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080226
+packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080219
+packetLen(0x0188, 27) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080124
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080102
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+#endif
+
+// Packet: 0x0189
+#if PACKETVER >= 20081217
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20081203
+packetLen(0x0189, 5) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20081119
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20081112
+packetLen(0x0189, 9) // ZC_NOTIFY_MAPINFO
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20081015
+packetLen(0x0189, 90) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080917
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080910
+packetLen(0x0189, 16) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080903
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080827
+packetLen(0x0189, 2) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080820
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080813
+packetLen(0x0189, 2) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080806
+packetLen(0x0189, 6) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080730
+packetLen(0x0189, 10) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080722
+packetLen(0x0189, 7) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080715
+packetLen(0x0189, 6) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080624
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080617
+packetLen(0x0189, 55) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080610
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080603
+packetLen(0x0189, 7) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080528
+packetLen(0x0189, 24) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080520
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080513
+packetLen(0x0189, 10) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080415
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080408
+packetLen(0x0189, 58) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080401
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080325
+packetLen(0x0189, 31) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080318
+packetLen(0x0189, 30) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0189, 17) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0189, 8) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080124
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+#endif
+
+// Packet: 0x018a
+#if PACKETVER >= 20081217
+packetLen(0x018a, 8) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20081112
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20081001
+packetLen(0x018a, 3) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080924
+packetLen(0x018a, 186) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080910
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080806
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080730
+packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080722
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080715
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080708
+packetLen(0x018a, 10) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080701
+packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080624
+packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080617
+packetLen(0x018a, 18) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080610
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080603
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080528
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080520
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080429
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080422
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080415
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080408
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080401
+packetLen(0x018a, 32) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080325
+packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080318
+packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080311
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080304
+packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080226
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080219
+packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080124
+packetLen(0x018a, 5) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080102
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#endif
+
+// Packet: 0x018b
+#if PACKETVER >= 20081203
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20081126
+packetLen(0x018b, 14) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20081119
+packetLen(0x018b, 60) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20081112
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x018b, 18) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20081029
+packetLen(0x018b, 5) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20081008
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20081001
+packetLen(0x018b, 2) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080924
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080917
+packetLen(0x018b, 10) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080903
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080827
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080820
+packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080813
+packetLen(0x018b, 30) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080722
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080715
+packetLen(0x018b, 8) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080708
+packetLen(0x018b, 65) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080701
+packetLen(0x018b, 66) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080610
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080603
+packetLen(0x018b, 182) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080528
+packetLen(0x018b, 12) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080520
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080513
+packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080507
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080429
+packetLen(0x018b, 102) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080408
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080401
+packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080325
+packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080318
+packetLen(0x018b, 30) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080311
+packetLen(0x018b, 7) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080304
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080226
+packetLen(0x018b, 10) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080124
+packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080102
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+#endif
+
+// Packet: 0x018c
+#if PACKETVER >= 20081217
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20081203
+packetLen(0x018c, 4) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20081126
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20081119
+packetLen(0x018c, 26) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20081112
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x018c, 4) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20081029
+packetLen(0x018c, 33) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20081022
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20081015
+packetLen(0x018c, 2) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20081008
+packetLen(0x018c, 58) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20081001
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080924
+packetLen(0x018c, 26) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080917
+packetLen(0x018c, 33) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080910
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080903
+packetLen(0x018c, 2) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080827
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080820
+packetLen(0x018c, 7) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080813
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080806
+packetLen(0x018c, 30) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080722
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080715
+packetLen(0x018c, 59) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080708
+packetLen(0x018c, 4) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080701
+packetLen(0x018c, 14) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080624
+packetLen(0x018c, 8) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080617
+packetLen(0x018c, 31) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x018c, 282) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080603
+packetLen(0x018c, 8) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080528
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080520
+packetLen(0x018c, 102) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080513
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080507
+packetLen(0x018c, 21) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080401
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080325
+packetLen(0x018c, 8) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080318
+packetLen(0x018c, 6) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x018c, 2) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080124
+packetLen(0x018c, 6) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+#endif
+
+// Packet: 0x018d
+#if PACKETVER >= 20081203
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20081126
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x018d, 14) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080820
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x018d, 3) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x018d, 3) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x018d, 2) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x018d, 65) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x018d, 9) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x018d, 2) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x018d, 59) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x018d, 79) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x018d, 7) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x018d, 39) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x018d, 22) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x018d, 4) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#endif
+
+// Packet: 0x018e
+#if PACKETVER >= 20081217
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20081203
+packetLen(0x018e, 71) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20081126
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20081119
+packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20081112
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20081015
+packetLen(0x018e, 14) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20081008
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20081001
+packetLen(0x018e, 16) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080924
+packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080917
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080910
+packetLen(0x018e, 11) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080827
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080820
+packetLen(0x018e, 6) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080813
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080806
+packetLen(0x018e, 58) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080730
+packetLen(0x018e, 23) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080722
+packetLen(0x018e, 30) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080715
+packetLen(0x018e, 6) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080708
+packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080701
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080624
+packetLen(0x018e, 14) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080617
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080610
+packetLen(0x018e, 59) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080603
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080528
+packetLen(0x018e, 5) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080520
+packetLen(0x018e, 11) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080513
+packetLen(0x018e, 2) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080429
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080422
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080415
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080408
+packetLen(0x018e, 27) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080401
+packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080325
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080318
+packetLen(0x018e, 65) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080311
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080304
+packetLen(0x018e, 58) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080226
+packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080219
+packetLen(0x018e, 39) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080124
+packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080102
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20081217
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20081203
+packetLen(0x018f, 3) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20081126
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20081119
+packetLen(0x018f, 28) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20081112
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20081029
+packetLen(0x018f, 14) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20081022
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20081015
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20081008
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20081001
+packetLen(0x018f, 4) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080924
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080917
+packetLen(0x018f, 3) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080827
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080820
+packetLen(0x018f, 18) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080806
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080730
+packetLen(0x018f, 32) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080722
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080715
+packetLen(0x018f, 4) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080708
+packetLen(0x018f, 21) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080617
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080610
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080603
+packetLen(0x018f, 12) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080520
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080513
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080507
+packetLen(0x018f, 7) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080429
+packetLen(0x018f, 14) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080422
+packetLen(0x018f, 10) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080415
+packetLen(0x018f, 30) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080408
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080401
+packetLen(0x018f, 11) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080325
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080318
+packetLen(0x018f, 7) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080311
+packetLen(0x018f, 11) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080304
+packetLen(0x018f, 3) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080226
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080219
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080124
+packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080102
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+#if PACKETVER >= 20081217
+packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20081203
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20081126
+packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20081112
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0194, 20) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20081022
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20081015
+packetLen(0x0194, 114) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20081008
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20081001
+packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080820
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080813
+packetLen(0x0194, 7) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080806
+packetLen(0x0194, 13) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080730
+packetLen(0x0194, 182) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080722
+packetLen(0x0194, 15) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080715
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080708
+packetLen(0x0194, 10) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080701
+packetLen(0x0194, 42) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080624
+packetLen(0x0194, 26) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080617
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080610
+packetLen(0x0194, 2) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080528
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080520
+packetLen(0x0194, 2) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080513
+packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080507
+packetLen(0x0194, 53) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080429
+packetLen(0x0194, 59) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080422
+packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080415
+packetLen(0x0194, 11) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080408
+packetLen(0x0194, 21) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080401
+packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080325
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080318
+packetLen(0x0194, 16) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080311
+packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080304
+packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080226
+packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080219
+packetLen(0x0194, 14) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080124
+packetLen(0x0194, 282) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080102
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+#endif
+
+// Packet: 0x0195
+#if PACKETVER >= 20081217
+packetLen(0x0195, 29) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20081203
+packetLen(0x0195, 23) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20081112
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20081029
+packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20081022
+packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20081015
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20081008
+packetLen(0x0195, 39) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080924
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080917
+packetLen(0x0195, 10) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080910
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080903
+packetLen(0x0195, 14) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080827
+packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080730
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080722
+packetLen(0x0195, 182) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080708
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080701
+packetLen(0x0195, 26) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080610
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080603
+packetLen(0x0195, 53) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080528
+packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080513
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080507
+packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080429
+packetLen(0x0195, 31) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080422
+packetLen(0x0195, 66) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080415
+packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080408
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080401
+packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080325
+packetLen(0x0195, 60) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080318
+packetLen(0x0195, 29) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080311
+packetLen(0x0195, 15) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080304
+packetLen(0x0195, 28) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080226
+packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080219
+packetLen(0x0195, 43) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080124
+packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080102
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+#endif
+
+// Packet: 0x0196
+#if PACKETVER >= 20081126
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20081119
+packetLen(0x0196, 26) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0196, 21) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20081022
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20081015
+packetLen(0x0196, 8) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20081001
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080924
+packetLen(0x0196, 5) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080917
+packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080910
+packetLen(0x0196, 7) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080903
+packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080827
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080820
+packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x0196, 8) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080806
+packetLen(0x0196, 26) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080701
+packetLen(0x0196, 15) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x0196, 67) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x0196, 22) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080513
+packetLen(0x0196, 3) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x0196, 31) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x0196, 30) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x0196, 11) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x0196, 6) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x0196, 27) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x0196, 6) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x0196, 2) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x0196, 26) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+#endif
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+#if PACKETVER >= 20081217
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20081203
+packetLen(0x0199, 30) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20081119
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20081112
+packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20081029
+packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20081022
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20081015
+packetLen(0x0199, 7) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20081008
+packetLen(0x0199, 67) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20081001
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080924
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080917
+packetLen(0x0199, 11) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080903
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080827
+packetLen(0x0199, 11) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080813
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080806
+packetLen(0x0199, 2) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080708
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080701
+packetLen(0x0199, 7) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080624
+packetLen(0x0199, 29) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080617
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080610
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080603
+packetLen(0x0199, 33) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080528
+packetLen(0x0199, 11) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080520
+packetLen(0x0199, 5) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080513
+packetLen(0x0199, 28) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080507
+packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080415
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080408
+packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080401
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080325
+packetLen(0x0199, 44) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080318
+packetLen(0x0199, 2) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080311
+packetLen(0x0199, 17) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080304
+packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080226
+packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080219
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080124
+packetLen(0x0199, 5) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080102
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+#endif
+
+// Packet: 0x019a
+#if PACKETVER >= 20081217
+packetLen(0x019a, 17) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20081126
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20081119
+packetLen(0x019a, 23) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20081112
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20081029
+packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20081015
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20081008
+packetLen(0x019a, 4) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080924
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080917
+packetLen(0x019a, 12) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080903
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080827
+packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080820
+packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080813
+packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080806
+packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080730
+packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080722
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080715
+packetLen(0x019a, 30) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080708
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080701
+packetLen(0x019a, 58) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080624
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080617
+packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080610
+packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080603
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080528
+packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080520
+packetLen(0x019a, 17) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080513
+packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080507
+packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080429
+packetLen(0x019a, 2) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080415
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080408
+packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080401
+packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080325
+packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080318
+packetLen(0x019a, 4) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080311
+packetLen(0x019a, 30) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080304
+packetLen(0x019a, 35) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080226
+packetLen(0x019a, 42) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080219
+packetLen(0x019a, 10) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080124
+packetLen(0x019a, 57) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080102
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+#endif
+
+// Packet: 0x019b
+#if PACKETVER >= 20081217
+packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20081203
+packetLen(0x019b, 28) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20081126
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20081119
+packetLen(0x019b, 3) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20081112
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20081008
+packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20081001
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080924
+packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080917
+packetLen(0x019b, 16) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080910
+packetLen(0x019b, 14) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080903
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080827
+packetLen(0x019b, 39) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080813
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080806
+packetLen(0x019b, 81) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080730
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080722
+packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080715
+packetLen(0x019b, 14) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080708
+packetLen(0x019b, 29) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080624
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080617
+packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080610
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080603
+packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080528
+packetLen(0x019b, 27) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080520
+packetLen(0x019b, 18) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080513
+packetLen(0x019b, 68) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080507
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080429
+packetLen(0x019b, 17) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080415
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080408
+packetLen(0x019b, 29) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080401
+packetLen(0x019b, 54) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080318
+packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080311
+packetLen(0x019b, 6) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080304
+packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080226
+packetLen(0x019b, 65) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080219
+packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080124
+packetLen(0x019b, 30) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080102
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+#endif
+
+// Packet: 0x019c
+#if PACKETVER >= 20081217
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20081203
+packetLen(0x019c, 7) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20081126
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20081119
+packetLen(0x019c, 30) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20081112
+packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20081022
+packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20081008
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20081001
+packetLen(0x019c, 13) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080903
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080827
+packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080813
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080806
+packetLen(0x019c, 3) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080722
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080715
+packetLen(0x019c, 14) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080708
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080701
+packetLen(0x019c, 282) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080624
+packetLen(0x019c, 29) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080617
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080610
+packetLen(0x019c, 6) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080603
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080528
+packetLen(0x019c, 55) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080520
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080513
+packetLen(0x019c, 81) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080507
+packetLen(0x019c, 18) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080429
+packetLen(0x019c, 79) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080422
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080415
+packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080408
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080401
+packetLen(0x019c, 54) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080325
+packetLen(0x019c, 23) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080318
+packetLen(0x019c, 43) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080311
+packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080226
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080219
+packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080124
+packetLen(0x019c, 186) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080102
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#endif
+
+// Packet: 0x019d
+#if PACKETVER >= 20081217
+packetLen(0x019d, 60) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20081203
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20081126
+packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20081119
+packetLen(0x019d, 9) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20081112
+packetLen(0x019d, 7) // CZ_CHANGE_EFFECTSTATE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x019d, 8) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20081029
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20081022
+packetLen(0x019d, 15) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080924
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080917
+packetLen(0x019d, 23) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080910
+packetLen(0x019d, 30) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080903
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080827
+packetLen(0x019d, 97) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080820
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080813
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080806
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080730
+packetLen(0x019d, 2) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080701
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080624
+packetLen(0x019d, 30) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080603
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080528
+packetLen(0x019d, 2) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080520
+packetLen(0x019d, 8) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080513
+packetLen(0x019d, 11) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080429
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080422
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080415
+packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080408
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080401
+packetLen(0x019d, 68) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080325
+packetLen(0x019d, 4) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080318
+packetLen(0x019d, 14) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080311
+packetLen(0x019d, 4) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080226
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080219
+packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080124
+packetLen(0x019d, 22) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080102
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+#endif
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+#if PACKETVER >= 20081203
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081126
+packetLen(0x019f, 7) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081119
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081112
+packetLen(0x019f, 81) // CZ_TRYCAPTURE_MONSTER
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081029
+packetLen(0x019f, 20) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081015
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081008
+packetLen(0x019f, 8) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080924
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080917
+packetLen(0x019f, 28) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080903
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080827
+packetLen(0x019f, 26) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080722
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080715
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080708
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080701
+packetLen(0x019f, 36) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080610
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080603
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080528
+packetLen(0x019f, 20) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080520
+packetLen(0x019f, 18) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080513
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080507
+packetLen(0x019f, 26) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080429
+packetLen(0x019f, 3) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080422
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080415
+packetLen(0x019f, 8) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080408
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080401
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080325
+packetLen(0x019f, 34) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080318
+packetLen(0x019f, 10) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080311
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080304
+packetLen(0x019f, 23) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080226
+packetLen(0x019f, 79) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080124
+packetLen(0x019f, 2) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080102
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#endif
+
+// Packet: 0x01a0
+#if PACKETVER >= 20081217
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081203
+packetLen(0x01a0, 42) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081126
+packetLen(0x01a0, 4) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081112
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081029
+packetLen(0x01a0, 4) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081008
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20081001
+packetLen(0x01a0, 2) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080917
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080910
+packetLen(0x01a0, 2) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080903
+packetLen(0x01a0, 282) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080827
+packetLen(0x01a0, 8) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080813
+packetLen(0x01a0, 6) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080806
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080730
+packetLen(0x01a0, 5) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080722
+packetLen(0x01a0, 10) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080715
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080708
+packetLen(0x01a0, 10) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080701
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080624
+packetLen(0x01a0, 5) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080617
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080610
+packetLen(0x01a0, 11) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080603
+packetLen(0x01a0, 29) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080528
+packetLen(0x01a0, 4) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080520
+packetLen(0x01a0, 42) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080513
+packetLen(0x01a0, 24) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080507
+packetLen(0x01a0, 23) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080429
+packetLen(0x01a0, 11) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080408
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080401
+packetLen(0x01a0, 30) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080325
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080318
+packetLen(0x01a0, 17) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080311
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080304
+packetLen(0x01a0, 22) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080226
+packetLen(0x01a0, 8) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080219
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080124
+packetLen(0x01a0, 7) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080102
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+#endif
+
+// Packet: 0x01a1
+#if PACKETVER >= 20081112
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a1, 2) // CZ_COMMAND_PET
+#elif PACKETVER >= 20081008
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20081001
+packetLen(0x01a1, 2) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080924
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080917
+packetLen(0x01a1, 4) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080910
+packetLen(0x01a1, 27) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080806
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080730
+packetLen(0x01a1, 30) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080722
+packetLen(0x01a1, 14) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080715
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080708
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080701
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080617
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080610
+packetLen(0x01a1, 10) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080603
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080528
+packetLen(0x01a1, 7) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080520
+packetLen(0x01a1, 21) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080507
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080429
+packetLen(0x01a1, 7) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080422
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080415
+packetLen(0x01a1, 28) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080408
+packetLen(0x01a1, 282) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080401
+packetLen(0x01a1, 30) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080325
+packetLen(0x01a1, 7) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080318
+packetLen(0x01a1, 4) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a1, 53) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a1, 26) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a1, 6) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080124
+packetLen(0x01a1, 5) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#endif
+
+// Packet: 0x01a2
+#if PACKETVER >= 20081217
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20081203
+packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20081126
+packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20081112
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a2, 282) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20081029
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20081022
+packetLen(0x01a2, 79) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20081015
+packetLen(0x01a2, 34) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20081008
+packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20081001
+packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080924
+packetLen(0x01a2, 26) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080910
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080903
+packetLen(0x01a2, 21) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080827
+packetLen(0x01a2, 5) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080820
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080806
+packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080730
+packetLen(0x01a2, 60) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080722
+packetLen(0x01a2, 30) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080708
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080701
+packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080624
+packetLen(0x01a2, 3) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080610
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080603
+packetLen(0x01a2, 28) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080520
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080513
+packetLen(0x01a2, 54) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080507
+packetLen(0x01a2, 27) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080429
+packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080422
+packetLen(0x01a2, 30) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080415
+packetLen(0x01a2, 68) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080408
+packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080401
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080318
+packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a2, 4) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a2, 8) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080124
+packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+#endif
+
+// Packet: 0x01a3
+#if PACKETVER >= 20081126
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20081119
+packetLen(0x01a3, 6) // ZC_FEED_PET
+#elif PACKETVER >= 20081112
+packetLen(0x01a3, 5) // ZC_FEED_PET
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20081029
+packetLen(0x01a3, 58) // ZC_FEED_PET
+#elif PACKETVER >= 20081015
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20081008
+packetLen(0x01a3, 3) // ZC_FEED_PET
+#elif PACKETVER >= 20081001
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080924
+packetLen(0x01a3, 10) // ZC_FEED_PET
+#elif PACKETVER >= 20080903
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080827
+packetLen(0x01a3, 2) // ZC_FEED_PET
+#elif PACKETVER >= 20080820
+packetLen(0x01a3, 8) // ZC_FEED_PET
+#elif PACKETVER >= 20080813
+packetLen(0x01a3, 2) // ZC_FEED_PET
+#elif PACKETVER >= 20080806
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080730
+packetLen(0x01a3, 28) // ZC_FEED_PET
+#elif PACKETVER >= 20080722
+packetLen(0x01a3, 15) // ZC_FEED_PET
+#elif PACKETVER >= 20080715
+packetLen(0x01a3, 6) // ZC_FEED_PET
+#elif PACKETVER >= 20080708
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080701
+packetLen(0x01a3, 31) // ZC_FEED_PET
+#elif PACKETVER >= 20080624
+packetLen(0x01a3, 8) // ZC_FEED_PET
+#elif PACKETVER >= 20080610
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080603
+packetLen(0x01a3, 26) // ZC_FEED_PET
+#elif PACKETVER >= 20080528
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080520
+packetLen(0x01a3, 26) // ZC_FEED_PET
+#elif PACKETVER >= 20080513
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080507
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#elif PACKETVER >= 20080429
+packetLen(0x01a3, 9) // ZC_FEED_PET
+#elif PACKETVER >= 20080422
+packetLen(0x01a3, 30) // ZC_FEED_PET
+#elif PACKETVER >= 20080415
+packetLen(0x01a3, 3) // ZC_FEED_PET
+#elif PACKETVER >= 20080318
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a3, 32) // ZC_FEED_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a3, 6) // ZC_FEED_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a3, 4) // ZC_FEED_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a3, 11) // ZC_FEED_PET
+#elif PACKETVER >= 20080124
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#endif
+
+// Packet: 0x01a4
+#if PACKETVER >= 20081217
+packetLen(0x01a4, 3) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20081203
+packetLen(0x01a4, 6) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20081126
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20081119
+packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20081112
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20081029
+packetLen(0x01a4, 22) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20081001
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080924
+packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080820
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080813
+packetLen(0x01a4, 22) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080806
+packetLen(0x01a4, 67) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080730
+packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080722
+packetLen(0x01a4, 16) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080715
+packetLen(0x01a4, 20) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080617
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080610
+packetLen(0x01a4, 4) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080603
+packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080528
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080520
+packetLen(0x01a4, 34) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080513
+packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080507
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080429
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080422
+packetLen(0x01a4, 102) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080415
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080408
+packetLen(0x01a4, 16) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080401
+packetLen(0x01a4, 36) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080325
+packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080318
+packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a4, 4) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080124
+packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+#endif
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+#if PACKETVER >= 20081217
+packetLen(0x01a6, 58) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20081203
+packetLen(0x01a6, 26) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20081119
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20081112
+packetLen(0x01a6, 39) // ZC_PETEGG_LIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a6, 58) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20081029
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20081022
+packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x01a6, 12) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20081008
+packetLen(0x01a6, 30) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20081001
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080924
+packetLen(0x01a6, 14) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080917
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080827
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080813
+packetLen(0x01a6, 5) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080806
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x01a6, 22) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080722
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x01a6, 57) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x01a6, 4) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x01a6, 4) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x01a6, 30) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x01a6, 26) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x01a6, 27) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#endif
+
+// Packet: 0x01a7
+#if PACKETVER >= 20081217
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20081203
+packetLen(0x01a7, 3) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20081126
+packetLen(0x01a7, 5) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20081119
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20081112
+packetLen(0x01a7, 23) // CZ_SELECT_PETEGG
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20081008
+packetLen(0x01a7, 14) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20081001
+packetLen(0x01a7, 7) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080924
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080917
+packetLen(0x01a7, 8) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080910
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080903
+packetLen(0x01a7, 5) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080827
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080820
+packetLen(0x01a7, 10) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080813
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080806
+packetLen(0x01a7, 29) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080730
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080722
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080715
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080708
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080701
+packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080617
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080603
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080528
+packetLen(0x01a7, 30) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080520
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080513
+packetLen(0x01a7, 18) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080507
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080429
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080422
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080415
+packetLen(0x01a7, 18) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080408
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080401
+packetLen(0x01a7, 22) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080325
+packetLen(0x01a7, 16) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080318
+packetLen(0x01a7, 26) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080311
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080226
+packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080219
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080124
+packetLen(0x01a7, 3) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080102
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#endif
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+#if PACKETVER >= 20081203
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20081126
+packetLen(0x01aa, 29) // ZC_PET_ACT
+#elif PACKETVER >= 20081112
+packetLen(0x01aa, 10) // ZC_PET_ACT
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01aa, 29) // ZC_PET_ACT
+#elif PACKETVER >= 20081029
+packetLen(0x01aa, 30) // ZC_PET_ACT
+#elif PACKETVER >= 20081015
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20081008
+packetLen(0x01aa, 12) // ZC_PET_ACT
+#elif PACKETVER >= 20081001
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080924
+packetLen(0x01aa, 2) // ZC_PET_ACT
+#elif PACKETVER >= 20080917
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080910
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080827
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080820
+packetLen(0x01aa, 30) // ZC_PET_ACT
+#elif PACKETVER >= 20080813
+packetLen(0x01aa, 282) // ZC_PET_ACT
+#elif PACKETVER >= 20080806
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080715
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080708
+packetLen(0x01aa, 2) // ZC_PET_ACT
+#elif PACKETVER >= 20080624
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080610
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080603
+packetLen(0x01aa, 43) // ZC_PET_ACT
+#elif PACKETVER >= 20080528
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080520
+packetLen(0x01aa, 28) // ZC_PET_ACT
+#elif PACKETVER >= 20080513
+packetLen(0x01aa, 60) // ZC_PET_ACT
+#elif PACKETVER >= 20080507
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080422
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080415
+packetLen(0x01aa, 8) // ZC_PET_ACT
+#elif PACKETVER >= 20080408
+packetLen(0x01aa, 28) // ZC_PET_ACT
+#elif PACKETVER >= 20080401
+packetLen(0x01aa, 7) // ZC_PET_ACT
+#elif PACKETVER >= 20080318
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080311
+packetLen(0x01aa, 9) // ZC_PET_ACT
+#elif PACKETVER >= 20080304
+packetLen(0x01aa, 67) // ZC_PET_ACT
+#elif PACKETVER >= 20080219
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080124
+packetLen(0x01aa, 54) // ZC_PET_ACT
+#elif PACKETVER >= 20080102
+packetLen(0x01aa, 10) // ZC_PET_ACT
+#endif
+
+// Packet: 0x01ab
+#if PACKETVER >= 20081217
+packetLen(0x01ab, 5) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20081126
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20081119
+packetLen(0x01ab, 7) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20081112
+packetLen(0x01ab, 30) // ZC_PAR_CHANGE_USER
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ab, 3) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20081029
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20081022
+packetLen(0x01ab, 6) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20081015
+packetLen(0x01ab, 2) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080917
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080910
+packetLen(0x01ab, 16) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080722
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080715
+packetLen(0x01ab, 282) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080708
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080701
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080624
+packetLen(0x01ab, 60) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080617
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080610
+packetLen(0x01ab, 11) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080528
+packetLen(0x01ab, 6) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080520
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080513
+packetLen(0x01ab, 30) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080507
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080429
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080422
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080415
+packetLen(0x01ab, 35) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080408
+packetLen(0x01ab, 79) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080401
+packetLen(0x01ab, 18) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080325
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080311
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080304
+packetLen(0x01ab, 4) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080226
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080219
+packetLen(0x01ab, 3) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080124
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080102
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+#endif
+
+// Packet: 0x01ac
+#if PACKETVER >= 20081217
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20081203
+packetLen(0x01ac, 10) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20081119
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20081112
+packetLen(0x01ac, 30) // ZC_SKILL_UPDATE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20081015
+packetLen(0x01ac, 8) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20081008
+packetLen(0x01ac, 5) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080917
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080910
+packetLen(0x01ac, 28) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080813
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080806
+packetLen(0x01ac, 30) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080730
+packetLen(0x01ac, 2) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080722
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080715
+packetLen(0x01ac, 26) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080610
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080603
+packetLen(0x01ac, 59) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080528
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080520
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080513
+packetLen(0x01ac, 44) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080507
+packetLen(0x01ac, 10) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080429
+packetLen(0x01ac, 14) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080422
+packetLen(0x01ac, 3) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080415
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080408
+packetLen(0x01ac, 29) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080325
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080318
+packetLen(0x01ac, 97) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080311
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080304
+packetLen(0x01ac, 2) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080226
+packetLen(0x01ac, 4) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080219
+packetLen(0x01ac, 26) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080124
+packetLen(0x01ac, 17) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080102
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#endif
+
+// Packet: 0x01ad
+#if PACKETVER >= 20081203
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x01ad, 8) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20081022
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x01ad, 26) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080827
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x01ad, 2) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080806
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x01ad, 66) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x01ad, 2) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x01ad, 8) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x01ad, 6) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x01ad, 26) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x01ad, 14) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x01ad, 39) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x01ad, 6) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x01ad, 54) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x01ad, 5) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#endif
+
+// Packet: 0x01ae
+#if PACKETVER >= 20081217
+packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20081203
+packetLen(0x01ae, 55) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20081126
+packetLen(0x01ae, 10) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20081112
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20081029
+packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20081022
+packetLen(0x01ae, 26) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20081015
+packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20081001
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080924
+packetLen(0x01ae, 22) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080827
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080820
+packetLen(0x01ae, 27) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080806
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080730
+packetLen(0x01ae, 35) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080708
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080701
+packetLen(0x01ae, 7) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080624
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080617
+packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080610
+packetLen(0x01ae, 43) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080528
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080520
+packetLen(0x01ae, 8) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080429
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080422
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080415
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080408
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080401
+packetLen(0x01ae, 14) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080318
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080311
+packetLen(0x01ae, 26) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080304
+packetLen(0x01ae, 15) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080226
+packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080219
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080124
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080102
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+#if PACKETVER >= 20081203
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20081126
+packetLen(0x01b0, 10) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20081119
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20081112
+packetLen(0x01b0, 32) // ZC_NPCSPRITE_CHANGE
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20081015
+packetLen(0x01b0, 30) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20081008
+packetLen(0x01b0, 4) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080827
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080820
+packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080813
+packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080730
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080722
+packetLen(0x01b0, 53) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080715
+packetLen(0x01b0, 30) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080708
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080701
+packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080617
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x01b0, 4) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080603
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080528
+packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080520
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080507
+packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080429
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080422
+packetLen(0x01b0, 21) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080415
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080408
+packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080401
+packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080325
+packetLen(0x01b0, 16) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080318
+packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080124
+packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+#endif
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+#if PACKETVER >= 20081203
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20081126
+packetLen(0x01b2, 182) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20081029
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20081022
+packetLen(0x01b2, 30) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20081008
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20081001
+packetLen(0x01b2, 10) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080924
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080917
+packetLen(0x01b2, 59) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080910
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080903
+packetLen(0x01b2, 11) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080708
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080624
+packetLen(0x01b2, 6) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080617
+packetLen(0x01b2, 3) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080610
+packetLen(0x01b2, 2) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080603
+packetLen(0x01b2, 57) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080528
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080520
+packetLen(0x01b2, 54) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080507
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080429
+packetLen(0x01b2, 14) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080401
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080325
+packetLen(0x01b2, 14) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080318
+packetLen(0x01b2, 28) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080311
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080304
+packetLen(0x01b2, 10) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080226
+packetLen(0x01b2, 282) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080219
+packetLen(0x01b2, 26) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080124
+packetLen(0x01b2, 11) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080102
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#endif
+
+// Packet: 0x01b3
+#if PACKETVER >= 20081203
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20081126
+packetLen(0x01b3, 12) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20081119
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20081112
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20081029
+packetLen(0x01b3, 36) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20081022
+packetLen(0x01b3, 10) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20081015
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20081008
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20081001
+packetLen(0x01b3, 22) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080924
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080917
+packetLen(0x01b3, 16) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080820
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080813
+packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080715
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080708
+packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080610
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080603
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080528
+packetLen(0x01b3, 60) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080520
+packetLen(0x01b3, 71) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080513
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080507
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080422
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080415
+packetLen(0x01b3, 22) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080408
+packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080401
+packetLen(0x01b3, 4) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080325
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080318
+packetLen(0x01b3, 33) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080311
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080304
+packetLen(0x01b3, 9) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080226
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080219
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080124
+packetLen(0x01b3, 20) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080102
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+#endif
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+#if PACKETVER >= 20081203
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20081126
+packetLen(0x01b6, 65) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20081119
+packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20081112
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20081029
+packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20081022
+packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20081015
+packetLen(0x01b6, 26) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20081008
+packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20081001
+packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080924
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080917
+packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080827
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080820
+packetLen(0x01b6, 4) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080806
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080730
+packetLen(0x01b6, 58) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080715
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080708
+packetLen(0x01b6, 10) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080701
+packetLen(0x01b6, 12) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080624
+packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080617
+packetLen(0x01b6, 26) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080610
+packetLen(0x01b6, 55) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080603
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080528
+packetLen(0x01b6, 33) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080513
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080507
+packetLen(0x01b6, 7) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080429
+packetLen(0x01b6, 86) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080422
+packetLen(0x01b6, 23) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080408
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080401
+packetLen(0x01b6, 60) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080325
+packetLen(0x01b6, 12) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080318
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080311
+packetLen(0x01b6, 3) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080304
+packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080226
+packetLen(0x01b6, 18) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080219
+packetLen(0x01b6, 22) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080124
+packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080102
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+#endif
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+#if PACKETVER >= 20081203
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20081126
+packetLen(0x01b9, 24) // ZC_DISPEL
+#elif PACKETVER >= 20081119
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20081112
+packetLen(0x01b9, 8) // ZC_DISPEL
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20081022
+packetLen(0x01b9, 21) // ZC_DISPEL
+#elif PACKETVER >= 20081015
+packetLen(0x01b9, 6) // ZC_DISPEL
+#elif PACKETVER >= 20081008
+packetLen(0x01b9, 18) // ZC_DISPEL
+#elif PACKETVER >= 20080917
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080910
+packetLen(0x01b9, 6) // ZC_DISPEL
+#elif PACKETVER >= 20080813
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080806
+packetLen(0x01b9, 14) // ZC_DISPEL
+#elif PACKETVER >= 20080730
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080715
+packetLen(0x01b9, 68) // ZC_DISPEL
+#elif PACKETVER >= 20080708
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080701
+packetLen(0x01b9, 14) // ZC_DISPEL
+#elif PACKETVER >= 20080617
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080610
+packetLen(0x01b9, 6) // ZC_DISPEL
+#elif PACKETVER >= 20080603
+packetLen(0x01b9, 8) // ZC_DISPEL
+#elif PACKETVER >= 20080429
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080422
+packetLen(0x01b9, 7) // ZC_DISPEL
+#elif PACKETVER >= 20080415
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080408
+packetLen(0x01b9, 4) // ZC_DISPEL
+#elif PACKETVER >= 20080401
+packetLen(0x01b9, 10) // ZC_DISPEL
+#elif PACKETVER >= 20080325
+packetLen(0x01b9, 26) // ZC_DISPEL
+#elif PACKETVER >= 20080318
+packetLen(0x01b9, 9) // ZC_DISPEL
+#elif PACKETVER >= 20080311
+packetLen(0x01b9, 3) // ZC_DISPEL
+#elif PACKETVER >= 20080304
+packetLen(0x01b9, 30) // ZC_DISPEL
+#elif PACKETVER >= 20080226
+packetLen(0x01b9, 60) // ZC_DISPEL
+#elif PACKETVER >= 20080219
+packetLen(0x01b9, 2) // ZC_DISPEL
+#elif PACKETVER >= 20080124
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20080102
+packetLen(0x01b9, 6) // ZC_DISPEL
+#endif
+
+// Packet: 0x01ba
+#if PACKETVER >= 20081217
+packetLen(0x01ba, 15) // CZ_REMOVE_AID
+#elif PACKETVER >= 20081203
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20081126
+packetLen(0x01ba, 5) // CZ_REMOVE_AID
+#elif PACKETVER >= 20081112
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20081001
+packetLen(0x01ba, 5) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080924
+packetLen(0x01ba, 7) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080910
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080903
+packetLen(0x01ba, 9) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080813
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080806
+packetLen(0x01ba, 6) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080730
+packetLen(0x01ba, 2) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080722
+packetLen(0x01ba, 42) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080715
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080701
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080624
+packetLen(0x01ba, 6) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080617
+packetLen(0x01ba, 3) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080528
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080520
+packetLen(0x01ba, 7) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080513
+packetLen(0x01ba, 22) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080507
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080429
+packetLen(0x01ba, 3) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080415
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080408
+packetLen(0x01ba, 6) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080401
+packetLen(0x01ba, 4) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080325
+packetLen(0x01ba, 81) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080311
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080304
+packetLen(0x01ba, 8) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080226
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080219
+packetLen(0x01ba, 14) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080124
+packetLen(0x01ba, 60) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080102
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+#endif
+
+// Packet: 0x01bb
+#if PACKETVER >= 20081217
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20081203
+packetLen(0x01bb, 30) // CZ_SHIFT
+#elif PACKETVER >= 20081119
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20081112
+packetLen(0x01bb, 65) // CZ_SHIFT
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20081029
+packetLen(0x01bb, 90) // CZ_SHIFT
+#elif PACKETVER >= 20081022
+packetLen(0x01bb, 6) // CZ_SHIFT
+#elif PACKETVER >= 20081015
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20081008
+packetLen(0x01bb, 7) // CZ_SHIFT
+#elif PACKETVER >= 20081001
+packetLen(0x01bb, 32) // CZ_SHIFT
+#elif PACKETVER >= 20080924
+packetLen(0x01bb, 27) // CZ_SHIFT
+#elif PACKETVER >= 20080910
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080903
+packetLen(0x01bb, 7) // CZ_SHIFT
+#elif PACKETVER >= 20080827
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080820
+packetLen(0x01bb, 2) // CZ_SHIFT
+#elif PACKETVER >= 20080813
+packetLen(0x01bb, 79) // CZ_SHIFT
+#elif PACKETVER >= 20080730
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080722
+packetLen(0x01bb, 10) // CZ_SHIFT
+#elif PACKETVER >= 20080715
+packetLen(0x01bb, 20) // CZ_SHIFT
+#elif PACKETVER >= 20080708
+packetLen(0x01bb, 6) // CZ_SHIFT
+#elif PACKETVER >= 20080603
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080528
+packetLen(0x01bb, 16) // CZ_SHIFT
+#elif PACKETVER >= 20080513
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080429
+packetLen(0x01bb, 2) // CZ_SHIFT
+#elif PACKETVER >= 20080422
+packetLen(0x01bb, 26) // CZ_SHIFT
+#elif PACKETVER >= 20080415
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080408
+packetLen(0x01bb, 3) // CZ_SHIFT
+#elif PACKETVER >= 20080401
+packetLen(0x01bb, 4) // CZ_SHIFT
+#elif PACKETVER >= 20080325
+packetLen(0x01bb, 43) // CZ_SHIFT
+#elif PACKETVER >= 20080318
+packetLen(0x01bb, 31) // CZ_SHIFT
+#elif PACKETVER >= 20080311
+packetLen(0x01bb, 4) // CZ_SHIFT
+#elif PACKETVER >= 20080304
+packetLen(0x01bb, 8) // CZ_SHIFT
+#elif PACKETVER >= 20080226
+packetLen(0x01bb, 6) // CZ_SHIFT
+#elif PACKETVER >= 20080219
+packetLen(0x01bb, 3) // CZ_SHIFT
+#elif PACKETVER >= 20080124
+packetLen(0x01bb, 81) // CZ_SHIFT
+#elif PACKETVER >= 20080102
+packetLen(0x01bb, 26) // CZ_SHIFT
+#endif
+
+// Packet: 0x01bc
+#if PACKETVER >= 20081217
+packetLen(0x01bc, 4) // CZ_RECALL
+#elif PACKETVER >= 20081203
+packetLen(0x01bc, 9) // CZ_RECALL
+#elif PACKETVER >= 20081119
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20081112
+packetLen(0x01bc, 26) // CZ_RECALL
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20081029
+packetLen(0x01bc, 14) // CZ_RECALL
+#elif PACKETVER >= 20081022
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20081015
+packetLen(0x01bc, 2) // CZ_RECALL
+#elif PACKETVER >= 20081008
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20081001
+packetLen(0x01bc, 6) // CZ_RECALL
+#elif PACKETVER >= 20080917
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080910
+packetLen(0x01bc, 3) // CZ_RECALL
+#elif PACKETVER >= 20080903
+packetLen(0x01bc, 55) // CZ_RECALL
+#elif PACKETVER >= 20080820
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080813
+packetLen(0x01bc, 43) // CZ_RECALL
+#elif PACKETVER >= 20080806
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080730
+packetLen(0x01bc, 16) // CZ_RECALL
+#elif PACKETVER >= 20080722
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080715
+packetLen(0x01bc, 28) // CZ_RECALL
+#elif PACKETVER >= 20080708
+packetLen(0x01bc, 6) // CZ_RECALL
+#elif PACKETVER >= 20080617
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080610
+packetLen(0x01bc, 2) // CZ_RECALL
+#elif PACKETVER >= 20080603
+packetLen(0x01bc, 282) // CZ_RECALL
+#elif PACKETVER >= 20080528
+packetLen(0x01bc, 7) // CZ_RECALL
+#elif PACKETVER >= 20080520
+packetLen(0x01bc, 10) // CZ_RECALL
+#elif PACKETVER >= 20080513
+packetLen(0x01bc, 20) // CZ_RECALL
+#elif PACKETVER >= 20080507
+packetLen(0x01bc, 39) // CZ_RECALL
+#elif PACKETVER >= 20080429
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080422
+packetLen(0x01bc, 26) // CZ_RECALL
+#elif PACKETVER >= 20080415
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20080408
+packetLen(0x01bc, 8) // CZ_RECALL
+#elif PACKETVER >= 20080401
+packetLen(0x01bc, 4) // CZ_RECALL
+#elif PACKETVER >= 20080325
+packetLen(0x01bc, 26) // CZ_RECALL
+#elif PACKETVER >= 20080318
+packetLen(0x01bc, 4) // CZ_RECALL
+#elif PACKETVER >= 20080311
+packetLen(0x01bc, 9) // CZ_RECALL
+#elif PACKETVER >= 20080304
+packetLen(0x01bc, 6) // CZ_RECALL
+#elif PACKETVER >= 20080226
+packetLen(0x01bc, 86) // CZ_RECALL
+#elif PACKETVER >= 20080219
+packetLen(0x01bc, 9) // CZ_RECALL
+#elif PACKETVER >= 20080124
+packetLen(0x01bc, 10) // CZ_RECALL
+#elif PACKETVER >= 20080102
+packetLen(0x01bc, 26) // CZ_RECALL
+#endif
+
+// Packet: 0x01bd
+#if PACKETVER >= 20081217
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20081203
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20081112
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01bd, 4) // CZ_RECALL_GID
+#elif PACKETVER >= 20081015
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20081008
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+#elif PACKETVER >= 20081001
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20080924
+packetLen(0x01bd, 97) // CZ_RECALL_GID
+#elif PACKETVER >= 20080820
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080813
+packetLen(0x01bd, 22) // CZ_RECALL_GID
+#elif PACKETVER >= 20080730
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20080715
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080708
+packetLen(0x01bd, 43) // CZ_RECALL_GID
+#elif PACKETVER >= 20080701
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20080624
+packetLen(0x01bd, 22) // CZ_RECALL_GID
+#elif PACKETVER >= 20080617
+packetLen(0x01bd, 44) // CZ_RECALL_GID
+#elif PACKETVER >= 20080610
+packetLen(0x01bd, 3) // CZ_RECALL_GID
+#elif PACKETVER >= 20080603
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080528
+packetLen(0x01bd, 9) // CZ_RECALL_GID
+#elif PACKETVER >= 20080520
+packetLen(0x01bd, 35) // CZ_RECALL_GID
+#elif PACKETVER >= 20080507
+packetLen(0x01bd, 4) // CZ_RECALL_GID
+#elif PACKETVER >= 20080429
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080422
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+#elif PACKETVER >= 20080415
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080408
+packetLen(0x01bd, 102) // CZ_RECALL_GID
+#elif PACKETVER >= 20080401
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080325
+packetLen(0x01bd, 21) // CZ_RECALL_GID
+#elif PACKETVER >= 20080311
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20080304
+packetLen(0x01bd, 102) // CZ_RECALL_GID
+#elif PACKETVER >= 20080226
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080219
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20080124
+packetLen(0x01bd, 2) // CZ_RECALL_GID
+#elif PACKETVER >= 20080102
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+#endif
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+#if PACKETVER >= 20081217
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20081203
+packetLen(0x01c3, 6) // ZC_BROADCAST2
+#elif PACKETVER >= 20081126
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20081119
+packetLen(0x01c3, 4) // ZC_BROADCAST2
+#elif PACKETVER >= 20081112
+packetLen(0x01c3, 2) // ZC_BROADCAST2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20081029
+packetLen(0x01c3, 3) // ZC_BROADCAST2
+#elif PACKETVER >= 20081022
+packetLen(0x01c3, 26) // ZC_BROADCAST2
+#elif PACKETVER >= 20081015
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20081008
+packetLen(0x01c3, 186) // ZC_BROADCAST2
+#elif PACKETVER >= 20080924
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080917
+packetLen(0x01c3, 31) // ZC_BROADCAST2
+#elif PACKETVER >= 20080910
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080903
+packetLen(0x01c3, 59) // ZC_BROADCAST2
+#elif PACKETVER >= 20080827
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080820
+packetLen(0x01c3, 43) // ZC_BROADCAST2
+#elif PACKETVER >= 20080813
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080806
+packetLen(0x01c3, 11) // ZC_BROADCAST2
+#elif PACKETVER >= 20080730
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080722
+packetLen(0x01c3, 26) // ZC_BROADCAST2
+#elif PACKETVER >= 20080708
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080701
+packetLen(0x01c3, 10) // ZC_BROADCAST2
+#elif PACKETVER >= 20080624
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080617
+packetLen(0x01c3, 6) // ZC_BROADCAST2
+#elif PACKETVER >= 20080610
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080603
+packetLen(0x01c3, 58) // ZC_BROADCAST2
+#elif PACKETVER >= 20080520
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080513
+packetLen(0x01c3, 66) // ZC_BROADCAST2
+#elif PACKETVER >= 20080507
+packetLen(0x01c3, 7) // ZC_BROADCAST2
+#elif PACKETVER >= 20080429
+packetLen(0x01c3, 3) // ZC_BROADCAST2
+#elif PACKETVER >= 20080422
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080415
+packetLen(0x01c3, 30) // ZC_BROADCAST2
+#elif PACKETVER >= 20080408
+packetLen(0x01c3, 6) // ZC_BROADCAST2
+#elif PACKETVER >= 20080401
+packetLen(0x01c3, 14) // ZC_BROADCAST2
+#elif PACKETVER >= 20080325
+packetLen(0x01c3, 30) // ZC_BROADCAST2
+#elif PACKETVER >= 20080318
+packetLen(0x01c3, 9) // ZC_BROADCAST2
+#elif PACKETVER >= 20080311
+packetLen(0x01c3, 58) // ZC_BROADCAST2
+#elif PACKETVER >= 20080304
+packetLen(0x01c3, 4) // ZC_BROADCAST2
+#elif PACKETVER >= 20080226
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080219
+packetLen(0x01c3, 14) // ZC_BROADCAST2
+#elif PACKETVER >= 20080124
+packetLen(0x01c3, 3) // ZC_BROADCAST2
+#elif PACKETVER >= 20080102
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#endif
+
+// Packet: 0x01c4
+#if PACKETVER >= 20081217
+packetLen(0x01c4, 9) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20081112
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c4, 6) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20081008
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20081001
+packetLen(0x01c4, 5) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080924
+packetLen(0x01c4, 10) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080917
+packetLen(0x01c4, 282) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080910
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080903
+packetLen(0x01c4, 11) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080820
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080813
+packetLen(0x01c4, 4) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080730
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080722
+packetLen(0x01c4, 34) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080715
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080708
+packetLen(0x01c4, 5) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080617
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080610
+packetLen(0x01c4, 33) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080528
+packetLen(0x01c4, 6) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080520
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080513
+packetLen(0x01c4, 3) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080507
+packetLen(0x01c4, 31) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080429
+packetLen(0x01c4, 53) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080422
+packetLen(0x01c4, 34) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080415
+packetLen(0x01c4, 11) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080408
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080401
+packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080325
+packetLen(0x01c4, 21) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080311
+packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080219
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080124
+packetLen(0x01c4, 28) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080102
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20081126
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20081119
+packetLen(0x01c5, 97) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20081112
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c5, 14) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20081029
+packetLen(0x01c5, 15) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20081008
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20081001
+packetLen(0x01c5, 2) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080924
+packetLen(0x01c5, 3) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080917
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080910
+packetLen(0x01c5, 13) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080827
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080820
+packetLen(0x01c5, 6) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080813
+packetLen(0x01c5, 23) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080730
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080722
+packetLen(0x01c5, 11) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080715
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080708
+packetLen(0x01c5, 10) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080624
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080617
+packetLen(0x01c5, 8) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080610
+packetLen(0x01c5, 26) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080603
+packetLen(0x01c5, 30) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080528
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080520
+packetLen(0x01c5, 11) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080513
+packetLen(0x01c5, 3) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080429
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080422
+packetLen(0x01c5, 4) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080415
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080408
+packetLen(0x01c5, 7) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080401
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080325
+packetLen(0x01c5, 31) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080318
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080311
+packetLen(0x01c5, 10) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080226
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080219
+packetLen(0x01c5, 28) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080124
+packetLen(0x01c5, 90) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080102
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+#if PACKETVER >= 20081126
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20081119
+packetLen(0x01c8, 10) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20081112
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20081029
+packetLen(0x01c8, 35) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20081015
+packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20081008
+packetLen(0x01c8, 35) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20081001
+packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080910
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080903
+packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080806
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080730
+packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080722
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080708
+packetLen(0x01c8, 2) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080624
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080617
+packetLen(0x01c8, 65) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080610
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080603
+packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080513
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080507
+packetLen(0x01c8, 29) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080429
+packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080415
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080408
+packetLen(0x01c8, 26) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080401
+packetLen(0x01c8, 2) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080325
+packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080318
+packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080311
+packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080304
+packetLen(0x01c8, 11) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080226
+packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080219
+packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080124
+packetLen(0x01c8, 5) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080102
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+#endif
+
+// Packet: 0x01c9
+#if PACKETVER >= 20081217
+packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20081203
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20081126
+packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20081112
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20081029
+packetLen(0x01c9, 14) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080917
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080910
+packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080903
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080827
+packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080813
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080806
+packetLen(0x01c9, 7) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080730
+packetLen(0x01c9, 26) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080722
+packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080715
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080708
+packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080701
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080624
+packetLen(0x01c9, 11) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080617
+packetLen(0x01c9, 3) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080610
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080603
+packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080528
+packetLen(0x01c9, 14) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080513
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080507
+packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080429
+packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080415
+packetLen(0x01c9, 58) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080408
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080401
+packetLen(0x01c9, 7) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080325
+packetLen(0x01c9, 2) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080318
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01c9, 2) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01c9, 22) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01c9, 26) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080124
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+#endif
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+#if PACKETVER >= 20081217
+packetLen(0x01cd, 20) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20081203
+packetLen(0x01cd, 114) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20081126
+packetLen(0x01cd, 5) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20081112
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20081029
+packetLen(0x01cd, 26) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080917
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080910
+packetLen(0x01cd, 33) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080903
+packetLen(0x01cd, 2) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080813
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080806
+packetLen(0x01cd, 11) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080708
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080701
+packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080617
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080610
+packetLen(0x01cd, 102) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080603
+packetLen(0x01cd, 4) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080513
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080507
+packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080429
+packetLen(0x01cd, 3) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080422
+packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080415
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080408
+packetLen(0x01cd, 12) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080401
+packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080325
+packetLen(0x01cd, 14) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080318
+packetLen(0x01cd, 2) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080311
+packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080304
+packetLen(0x01cd, 5) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080226
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080219
+packetLen(0x01cd, 8) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080124
+packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080102
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+#endif
+
+// Packet: 0x01ce
+#if PACKETVER >= 20081203
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20081126
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20081119
+packetLen(0x01ce, 15) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20081112
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20081029
+packetLen(0x01ce, 10) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20081015
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20081008
+packetLen(0x01ce, 53) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080917
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080910
+packetLen(0x01ce, 10) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080903
+packetLen(0x01ce, 30) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080827
+packetLen(0x01ce, 8) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080820
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080813
+packetLen(0x01ce, 7) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080806
+packetLen(0x01ce, 13) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080624
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080617
+packetLen(0x01ce, 27) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080610
+packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080603
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080528
+packetLen(0x01ce, 22) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080520
+packetLen(0x01ce, 53) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080513
+packetLen(0x01ce, 4) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080507
+packetLen(0x01ce, 65) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080429
+packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080422
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080408
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080401
+packetLen(0x01ce, 26) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080325
+packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080318
+packetLen(0x01ce, 21) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080304
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080226
+packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080219
+packetLen(0x01ce, 28) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080102
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#endif
+
+// Packet: 0x01cf
+#if PACKETVER >= 20081217
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20081203
+packetLen(0x01cf, 54) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20081126
+packetLen(0x01cf, 8) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20081119
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20081112
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20081022
+packetLen(0x01cf, 6) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20081008
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20081001
+packetLen(0x01cf, 15) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080924
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080917
+packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080903
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080827
+packetLen(0x01cf, 3) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080806
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080730
+packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080722
+packetLen(0x01cf, 7) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080715
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080708
+packetLen(0x01cf, 14) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080701
+packetLen(0x01cf, 3) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080624
+packetLen(0x01cf, 11) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080617
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080610
+packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080603
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080528
+packetLen(0x01cf, 15) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080520
+packetLen(0x01cf, 26) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080513
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080507
+packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080415
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080408
+packetLen(0x01cf, 39) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080401
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080325
+packetLen(0x01cf, 186) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080318
+packetLen(0x01cf, 6) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080311
+packetLen(0x01cf, 23) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080304
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080226
+packetLen(0x01cf, 102) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080124
+packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080102
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+#endif
+
+// Packet: 0x01d0
+#if PACKETVER >= 20081217
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20081203
+packetLen(0x01d0, 282) // ZC_SPIRITS
+#elif PACKETVER >= 20081126
+packetLen(0x01d0, 31) // ZC_SPIRITS
+#elif PACKETVER >= 20081119
+packetLen(0x01d0, 27) // ZC_SPIRITS
+#elif PACKETVER >= 20081112
+packetLen(0x01d0, 8) // ZC_SPIRITS
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20081029
+packetLen(0x01d0, 21) // ZC_SPIRITS
+#elif PACKETVER >= 20081015
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20081008
+packetLen(0x01d0, 10) // ZC_SPIRITS
+#elif PACKETVER >= 20080917
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080910
+packetLen(0x01d0, 31) // ZC_SPIRITS
+#elif PACKETVER >= 20080820
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080813
+packetLen(0x01d0, 32) // ZC_SPIRITS
+#elif PACKETVER >= 20080806
+packetLen(0x01d0, 6) // ZC_SPIRITS
+#elif PACKETVER >= 20080715
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080708
+packetLen(0x01d0, 33) // ZC_SPIRITS
+#elif PACKETVER >= 20080701
+packetLen(0x01d0, 3) // ZC_SPIRITS
+#elif PACKETVER >= 20080624
+packetLen(0x01d0, 9) // ZC_SPIRITS
+#elif PACKETVER >= 20080617
+packetLen(0x01d0, 53) // ZC_SPIRITS
+#elif PACKETVER >= 20080610
+packetLen(0x01d0, 7) // ZC_SPIRITS
+#elif PACKETVER >= 20080603
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080528
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080520
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080513
+packetLen(0x01d0, 10) // ZC_SPIRITS
+#elif PACKETVER >= 20080422
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080415
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080408
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080401
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080325
+packetLen(0x01d0, 65) // ZC_SPIRITS
+#elif PACKETVER >= 20080318
+packetLen(0x01d0, 39) // ZC_SPIRITS
+#elif PACKETVER >= 20080304
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080226
+packetLen(0x01d0, 26) // ZC_SPIRITS
+#elif PACKETVER >= 20080219
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080124
+packetLen(0x01d0, 6) // ZC_SPIRITS
+#elif PACKETVER >= 20080102
+packetLen(0x01d0, 8) // ZC_SPIRITS
+#endif
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+#if PACKETVER >= 20081217
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+#elif PACKETVER >= 20081119
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20081112
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+#elif PACKETVER >= 20081029
+packetLen(0x01d2, 4) // ZC_COMBODELAY
+#elif PACKETVER >= 20081022
+packetLen(0x01d2, 29) // ZC_COMBODELAY
+#elif PACKETVER >= 20081015
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20081008
+packetLen(0x01d2, 4) // ZC_COMBODELAY
+#elif PACKETVER >= 20081001
+packetLen(0x01d2, 28) // ZC_COMBODELAY
+#elif PACKETVER >= 20080917
+packetLen(0x01d2, 6) // ZC_COMBODELAY
+#elif PACKETVER >= 20080910
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080903
+packetLen(0x01d2, 4) // ZC_COMBODELAY
+#elif PACKETVER >= 20080827
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080820
+packetLen(0x01d2, 7) // ZC_COMBODELAY
+#elif PACKETVER >= 20080806
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080730
+packetLen(0x01d2, 21) // ZC_COMBODELAY
+#elif PACKETVER >= 20080722
+packetLen(0x01d2, 28) // ZC_COMBODELAY
+#elif PACKETVER >= 20080708
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080701
+packetLen(0x01d2, 2) // ZC_COMBODELAY
+#elif PACKETVER >= 20080624
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080617
+packetLen(0x01d2, 7) // ZC_COMBODELAY
+#elif PACKETVER >= 20080603
+packetLen(0x01d2, 4) // ZC_COMBODELAY
+#elif PACKETVER >= 20080520
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080513
+packetLen(0x01d2, 8) // ZC_COMBODELAY
+#elif PACKETVER >= 20080507
+packetLen(0x01d2, 58) // ZC_COMBODELAY
+#elif PACKETVER >= 20080415
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080408
+packetLen(0x01d2, 18) // ZC_COMBODELAY
+#elif PACKETVER >= 20080401
+packetLen(0x01d2, 6) // ZC_COMBODELAY
+#elif PACKETVER >= 20080325
+packetLen(0x01d2, 12) // ZC_COMBODELAY
+#elif PACKETVER >= 20080318
+packetLen(0x01d2, 30) // ZC_COMBODELAY
+#elif PACKETVER >= 20080311
+packetLen(0x01d2, 19) // ZC_COMBODELAY
+#elif PACKETVER >= 20080304
+packetLen(0x01d2, 6) // ZC_COMBODELAY
+#elif PACKETVER >= 20080226
+packetLen(0x01d2, 8) // ZC_COMBODELAY
+#elif PACKETVER >= 20080219
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080124
+packetLen(0x01d2, 53) // ZC_COMBODELAY
+#elif PACKETVER >= 20080102
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+#endif
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+#if PACKETVER >= 20081203
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20081126
+packetLen(0x01d4, 29) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20081112
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d4, 2) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20081008
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20081001
+packetLen(0x01d4, 12) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080924
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080917
+packetLen(0x01d4, 28) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080910
+packetLen(0x01d4, 26) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080827
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080820
+packetLen(0x01d4, 22) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080813
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080806
+packetLen(0x01d4, 2) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080708
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080701
+packetLen(0x01d4, 8) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080624
+packetLen(0x01d4, 54) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080617
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080610
+packetLen(0x01d4, 20) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080520
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080513
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080401
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080325
+packetLen(0x01d4, 19) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080318
+packetLen(0x01d4, 60) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080311
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080304
+packetLen(0x01d4, 3) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080226
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080219
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080124
+packetLen(0x01d4, 15) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080102
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#endif
+
+// Packet: 0x01d5
+#if PACKETVER >= 20081217
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20081203
+packetLen(0x01d5, 26) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20081126
+packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20081119
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20081112
+packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d5, 2) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20081029
+packetLen(0x01d5, 11) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20081022
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20081015
+packetLen(0x01d5, 4) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20081008
+packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20081001
+packetLen(0x01d5, 21) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080924
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080917
+packetLen(0x01d5, 18) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080910
+packetLen(0x01d5, 10) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080903
+packetLen(0x01d5, 29) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080827
+packetLen(0x01d5, 10) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080813
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080806
+packetLen(0x01d5, 53) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080715
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080708
+packetLen(0x01d5, 10) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080701
+packetLen(0x01d5, 3) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080624
+packetLen(0x01d5, 27) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080610
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080603
+packetLen(0x01d5, 9) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080528
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080520
+packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080507
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080429
+packetLen(0x01d5, 4) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080408
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080401
+packetLen(0x01d5, 97) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080325
+packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080318
+packetLen(0x01d5, 34) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080311
+packetLen(0x01d5, 13) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080304
+packetLen(0x01d5, 5) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080226
+packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080219
+packetLen(0x01d5, 16) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080102
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#endif
+
+// Packet: 0x01d6
+#if PACKETVER >= 20081217
+packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20081203
+packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20081126
+packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20081119
+packetLen(0x01d6, 86) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20081112
+packetLen(0x01d6, 14) // ZC_NOTIFY_MAPPROPERTY2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080924
+packetLen(0x01d6, 28) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080917
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080910
+packetLen(0x01d6, 22) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080903
+packetLen(0x01d6, 58) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080827
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080820
+packetLen(0x01d6, 10) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080813
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080806
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080722
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080715
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080708
+packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080701
+packetLen(0x01d6, 30) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080624
+packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080617
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080610
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080603
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080528
+packetLen(0x01d6, 8) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080520
+packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080513
+packetLen(0x01d6, 35) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080507
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080429
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080422
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080415
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080408
+packetLen(0x01d6, 54) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080401
+packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080325
+packetLen(0x01d6, 54) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080318
+packetLen(0x01d6, 58) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080311
+packetLen(0x01d6, 5) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080304
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080226
+packetLen(0x01d6, 10) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080219
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080124
+packetLen(0x01d6, 16) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080102
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+#endif
+
+// Packet: 0x01d7
+#if PACKETVER >= 20081217
+packetLen(0x01d7, 114) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20081203
+packetLen(0x01d7, 6) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20081112
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20081022
+packetLen(0x01d7, 55) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20081015
+packetLen(0x01d7, 60) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20081008
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20081001
+packetLen(0x01d7, 4) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080910
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080903
+packetLen(0x01d7, 102) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080827
+packetLen(0x01d7, 4) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080820
+packetLen(0x01d7, 8) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080806
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080722
+packetLen(0x01d7, 6) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080715
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080708
+packetLen(0x01d7, 27) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080701
+packetLen(0x01d7, 14) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080624
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080617
+packetLen(0x01d7, 8) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080610
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080603
+packetLen(0x01d7, 5) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080528
+packetLen(0x01d7, 9) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080520
+packetLen(0x01d7, 282) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080513
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080507
+packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080408
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080401
+packetLen(0x01d7, 3) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080325
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080318
+packetLen(0x01d7, 4) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080311
+packetLen(0x01d7, 28) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080304
+packetLen(0x01d7, 54) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080226
+packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080219
+packetLen(0x01d7, 35) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080124
+packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080102
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20081217
+packetLen(0x01d8, 39) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20081203
+packetLen(0x01d8, 5) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20081126
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20081119
+packetLen(0x01d8, 9) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20081112
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d8, 30) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20081008
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20081001
+packetLen(0x01d8, 8) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080917
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080910
+packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080820
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080813
+packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080806
+packetLen(0x01d8, 34) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080722
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080715
+packetLen(0x01d8, 10) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080708
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080701
+packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080624
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080617
+packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080610
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080603
+packetLen(0x01d8, 11) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080528
+packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080520
+packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080513
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080507
+packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080429
+packetLen(0x01d8, 186) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080415
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080408
+packetLen(0x01d8, 4) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080401
+packetLen(0x01d8, 27) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080325
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080318
+packetLen(0x01d8, 5) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01d8, 2) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01d8, 10) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01d8, 15) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080124
+packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20081217
+packetLen(0x01d9, 28) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20081203
+packetLen(0x01d9, 14) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20081126
+packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20081119
+packetLen(0x01d9, 10) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20081112
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20081029
+packetLen(0x01d9, 23) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20081008
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20081001
+packetLen(0x01d9, 14) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080917
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080910
+packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080903
+packetLen(0x01d9, 2) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080820
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080813
+packetLen(0x01d9, 7) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080806
+packetLen(0x01d9, 27) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080730
+packetLen(0x01d9, 13) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080708
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080701
+packetLen(0x01d9, 39) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080624
+packetLen(0x01d9, 15) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080617
+packetLen(0x01d9, 22) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080610
+packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080528
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080520
+packetLen(0x01d9, 4) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080513
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080507
+packetLen(0x01d9, 60) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080429
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080422
+packetLen(0x01d9, 6) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080415
+packetLen(0x01d9, 26) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080408
+packetLen(0x01d9, 2) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080325
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080318
+packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01d9, 28) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01d9, 42) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080124
+packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20081217
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20081203
+packetLen(0x01da, 28) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20081126
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20081119
+packetLen(0x01da, 4) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20081112
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20081029
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20081022
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20081015
+packetLen(0x01da, 282) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20081008
+packetLen(0x01da, 55) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20081001
+packetLen(0x01da, 8) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080924
+packetLen(0x01da, 3) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080917
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080910
+packetLen(0x01da, 3) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080903
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080827
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080820
+packetLen(0x01da, 14) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080813
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080806
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080730
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080722
+packetLen(0x01da, 8) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080708
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080701
+packetLen(0x01da, 32) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080624
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080617
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080610
+packetLen(0x01da, 12) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080603
+packetLen(0x01da, 10) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080528
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080520
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080513
+packetLen(0x01da, 5) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080507
+packetLen(0x01da, 10) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080429
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080422
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080415
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080408
+packetLen(0x01da, 8) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080401
+packetLen(0x01da, 9) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080325
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080318
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01da, 79) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080124
+packetLen(0x01da, 12) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+#if PACKETVER >= 20081126
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20081119
+packetLen(0x01de, 16) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20081112
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01de, 22) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20081029
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20081022
+packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20081015
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20081008
+packetLen(0x01de, 7) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20081001
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080924
+packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080917
+packetLen(0x01de, 86) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080827
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080820
+packetLen(0x01de, 60) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080813
+packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080806
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080730
+packetLen(0x01de, 27) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080722
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080715
+packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080708
+packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080701
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080624
+packetLen(0x01de, 22) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080617
+packetLen(0x01de, 14) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080603
+packetLen(0x01de, 6) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080528
+packetLen(0x01de, 14) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080520
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080513
+packetLen(0x01de, 8) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080507
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080429
+packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080422
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080415
+packetLen(0x01de, 30) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080408
+packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080401
+packetLen(0x01de, 15) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080325
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080318
+packetLen(0x01de, 15) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080311
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080304
+packetLen(0x01de, 7) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080226
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080219
+packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080124
+packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080102
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+#endif
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+#if PACKETVER >= 20081217
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20081203
+packetLen(0x01e1, 10) // ZC_SPIRITS2
+#elif PACKETVER >= 20081112
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01e1, 3) // ZC_SPIRITS2
+#elif PACKETVER >= 20081029
+packetLen(0x01e1, 86) // ZC_SPIRITS2
+#elif PACKETVER >= 20081022
+packetLen(0x01e1, 39) // ZC_SPIRITS2
+#elif PACKETVER >= 20081008
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20081001
+packetLen(0x01e1, 14) // ZC_SPIRITS2
+#elif PACKETVER >= 20080924
+packetLen(0x01e1, 19) // ZC_SPIRITS2
+#elif PACKETVER >= 20080917
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080910
+packetLen(0x01e1, 4) // ZC_SPIRITS2
+#elif PACKETVER >= 20080820
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080813
+packetLen(0x01e1, 5) // ZC_SPIRITS2
+#elif PACKETVER >= 20080806
+packetLen(0x01e1, 14) // ZC_SPIRITS2
+#elif PACKETVER >= 20080730
+packetLen(0x01e1, 4) // ZC_SPIRITS2
+#elif PACKETVER >= 20080701
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080624
+packetLen(0x01e1, 6) // ZC_SPIRITS2
+#elif PACKETVER >= 20080603
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080528
+packetLen(0x01e1, 43) // ZC_SPIRITS2
+#elif PACKETVER >= 20080520
+packetLen(0x01e1, 32) // ZC_SPIRITS2
+#elif PACKETVER >= 20080513
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080507
+packetLen(0x01e1, 3) // ZC_SPIRITS2
+#elif PACKETVER >= 20080429
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080422
+packetLen(0x01e1, 6) // ZC_SPIRITS2
+#elif PACKETVER >= 20080415
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+#elif PACKETVER >= 20080408
+packetLen(0x01e1, 71) // ZC_SPIRITS2
+#elif PACKETVER >= 20080401
+packetLen(0x01e1, 2) // ZC_SPIRITS2
+#elif PACKETVER >= 20080325
+packetLen(0x01e1, 17) // ZC_SPIRITS2
+#elif PACKETVER >= 20080318
+packetLen(0x01e1, 60) // ZC_SPIRITS2
+#elif PACKETVER >= 20080304
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080226
+packetLen(0x01e1, 32) // ZC_SPIRITS2
+#elif PACKETVER >= 20080219
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080124
+packetLen(0x01e1, 11) // ZC_SPIRITS2
+#elif PACKETVER >= 20080102
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+#endif
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+#if PACKETVER >= 20081126
+packetLen(0x01e7, 6) // CZ_DORIDORI
+#elif PACKETVER >= 20081112
+packetLen(0x01e7, 2) // CZ_DORIDORI
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01e7, 8) // CZ_DORIDORI
+#elif PACKETVER >= 20081029
+packetLen(0x01e7, 26) // CZ_DORIDORI
+#elif PACKETVER >= 20081022
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20081015
+packetLen(0x01e7, 4) // CZ_DORIDORI
+#elif PACKETVER >= 20081001
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080924
+packetLen(0x01e7, 8) // CZ_DORIDORI
+#elif PACKETVER >= 20080917
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080910
+packetLen(0x01e7, 11) // CZ_DORIDORI
+#elif PACKETVER >= 20080903
+packetLen(0x01e7, 6) // CZ_DORIDORI
+#elif PACKETVER >= 20080827
+packetLen(0x01e7, 34) // CZ_DORIDORI
+#elif PACKETVER >= 20080820
+packetLen(0x01e7, 4) // CZ_DORIDORI
+#elif PACKETVER >= 20080813
+packetLen(0x01e7, 7) // CZ_DORIDORI
+#elif PACKETVER >= 20080806
+packetLen(0x01e7, 3) // CZ_DORIDORI
+#elif PACKETVER >= 20080730
+packetLen(0x01e7, 26) // CZ_DORIDORI
+#elif PACKETVER >= 20080722
+packetLen(0x01e7, 21) // CZ_DORIDORI
+#elif PACKETVER >= 20080715
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080708
+packetLen(0x01e7, 27) // CZ_DORIDORI
+#elif PACKETVER >= 20080624
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080617
+packetLen(0x01e7, 6) // CZ_DORIDORI
+#elif PACKETVER >= 20080610
+packetLen(0x01e7, 4) // CZ_DORIDORI
+#elif PACKETVER >= 20080603
+packetLen(0x01e7, 14) // CZ_DORIDORI
+#elif PACKETVER >= 20080528
+packetLen(0x01e7, 39) // CZ_DORIDORI
+#elif PACKETVER >= 20080520
+packetLen(0x01e7, 22) // CZ_DORIDORI
+#elif PACKETVER >= 20080513
+packetLen(0x01e7, 6) // CZ_DORIDORI
+#elif PACKETVER >= 20080507
+packetLen(0x01e7, 54) // CZ_DORIDORI
+#elif PACKETVER >= 20080429
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080422
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#elif PACKETVER >= 20080415
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080408
+packetLen(0x01e7, 60) // CZ_DORIDORI
+#elif PACKETVER >= 20080401
+packetLen(0x01e7, 5) // CZ_DORIDORI
+#elif PACKETVER >= 20080325
+packetLen(0x01e7, 20) // CZ_DORIDORI
+#elif PACKETVER >= 20080318
+packetLen(0x01e7, 18) // CZ_DORIDORI
+#elif PACKETVER >= 20080311
+packetLen(0x01e7, 55) // CZ_DORIDORI
+#elif PACKETVER >= 20080304
+packetLen(0x01e7, 26) // CZ_DORIDORI
+#elif PACKETVER >= 20080219
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#elif PACKETVER >= 20080124
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080102
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20081203
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20081126
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20081112
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01e8, 8) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20081029
+packetLen(0x01e8, 59) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20081022
+packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20081008
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20081001
+packetLen(0x01e8, 54) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080924
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080917
+packetLen(0x01e8, 33) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080730
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080722
+packetLen(0x01e8, 59) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080715
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080708
+packetLen(0x01e8, 8) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080701
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080624
+packetLen(0x01e8, 22) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080617
+packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080610
+packetLen(0x01e8, 27) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080603
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080528
+packetLen(0x01e8, 53) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080520
+packetLen(0x01e8, 3) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080513
+packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080507
+packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080429
+packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080422
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080415
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080408
+packetLen(0x01e8, 16) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080401
+packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080318
+packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080311
+packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080304
+packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080226
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080219
+packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080124
+packetLen(0x01e8, 44) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080102
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20081217
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20081203
+packetLen(0x01e9, 10) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20081126
+packetLen(0x01e9, 186) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20081119
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20081112
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20081029
+packetLen(0x01e9, 28) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080910
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080903
+packetLen(0x01e9, 9) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080820
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080813
+packetLen(0x01e9, 15) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080806
+packetLen(0x01e9, 26) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080730
+packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080715
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080708
+packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080701
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080624
+packetLen(0x01e9, 282) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080617
+packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080610
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080528
+packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080507
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080429
+packetLen(0x01e9, 5) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080422
+packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080415
+packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080408
+packetLen(0x01e9, 34) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080401
+packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080325
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080318
+packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080311
+packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080304
+packetLen(0x01e9, 4) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080226
+packetLen(0x01e9, 12) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080219
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080124
+packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080102
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20081217
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20081203
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20081126
+packetLen(0x01ea, 4) // ZC_CONGRATULATION
+#elif PACKETVER >= 20081112
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20081029
+packetLen(0x01ea, 2) // ZC_CONGRATULATION
+#elif PACKETVER >= 20081022
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20081015
+packetLen(0x01ea, 39) // ZC_CONGRATULATION
+#elif PACKETVER >= 20081008
+packetLen(0x01ea, 11) // ZC_CONGRATULATION
+#elif PACKETVER >= 20081001
+packetLen(0x01ea, 3) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080924
+packetLen(0x01ea, 8) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080917
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080910
+packetLen(0x01ea, 4) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080806
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080730
+packetLen(0x01ea, 33) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080722
+packetLen(0x01ea, 2) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080708
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080701
+packetLen(0x01ea, 97) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080624
+packetLen(0x01ea, 79) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080617
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080610
+packetLen(0x01ea, 4) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080603
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080528
+packetLen(0x01ea, 2) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080513
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080507
+packetLen(0x01ea, 12) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080429
+packetLen(0x01ea, 22) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080422
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080415
+packetLen(0x01ea, 282) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080401
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080325
+packetLen(0x01ea, 27) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080318
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080311
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080304
+packetLen(0x01ea, 60) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080219
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080124
+packetLen(0x01ea, 10) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080102
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20081126
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20081119
+packetLen(0x01eb, 2) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20081112
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20081015
+packetLen(0x01eb, 2) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20081008
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20081001
+packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080924
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080917
+packetLen(0x01eb, 2) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080910
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080903
+packetLen(0x01eb, 16) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080827
+packetLen(0x01eb, 6) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080820
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080813
+packetLen(0x01eb, 6) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080722
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080715
+packetLen(0x01eb, 16) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080624
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080617
+packetLen(0x01eb, 7) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080610
+packetLen(0x01eb, 4) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080528
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080520
+packetLen(0x01eb, 4) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080513
+packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080507
+packetLen(0x01eb, 114) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080429
+packetLen(0x01eb, 27) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080422
+packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080415
+packetLen(0x01eb, 9) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080408
+packetLen(0x01eb, 13) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080401
+packetLen(0x01eb, 5) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080311
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080304
+packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080226
+packetLen(0x01eb, 11) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080219
+packetLen(0x01eb, 26) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080124
+packetLen(0x01eb, 53) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080102
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+#endif
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+#if PACKETVER >= 20081217
+packetLen(0x01ed, 67) // CZ_CHOPOKGI
+#elif PACKETVER >= 20081203
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20081126
+packetLen(0x01ed, 5) // CZ_CHOPOKGI
+#elif PACKETVER >= 20081112
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20081015
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#elif PACKETVER >= 20081008
+packetLen(0x01ed, 8) // CZ_CHOPOKGI
+#elif PACKETVER >= 20081001
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080924
+packetLen(0x01ed, 10) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080917
+packetLen(0x01ed, 8) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080910
+packetLen(0x01ed, 14) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080903
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080827
+packetLen(0x01ed, 4) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080820
+packetLen(0x01ed, 31) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080813
+packetLen(0x01ed, 11) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080806
+packetLen(0x01ed, 27) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080730
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080722
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080715
+packetLen(0x01ed, 15) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080708
+packetLen(0x01ed, 54) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080701
+packetLen(0x01ed, 14) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080624
+packetLen(0x01ed, 6) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080610
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080603
+packetLen(0x01ed, 30) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080528
+packetLen(0x01ed, 4) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080520
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080513
+packetLen(0x01ed, 14) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080507
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080429
+packetLen(0x01ed, 30) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080422
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080415
+packetLen(0x01ed, 3) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080408
+packetLen(0x01ed, 22) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080325
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080318
+packetLen(0x01ed, 10) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080311
+packetLen(0x01ed, 5) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080304
+packetLen(0x01ed, 4) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080226
+packetLen(0x01ed, 10) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080219
+packetLen(0x01ed, 22) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080124
+packetLen(0x01ed, 6) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080102
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20081217
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081203
+packetLen(0x01ee, 39) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081126
+packetLen(0x01ee, 17) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081112
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081105
+packetLen(0x01ee, 10) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081029
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081022
+packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080903
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080827
+packetLen(0x01ee, 31) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080820
+packetLen(0x01ee, 10) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080813
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080806
+packetLen(0x01ee, 10) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080730
+packetLen(0x01ee, 5) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080715
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080708
+packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080701
+packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080617
+packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080610
+packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080528
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080520
+packetLen(0x01ee, 26) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x01ee, 71) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x01ee, 11) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20081217
+packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081126
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081119
+packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081112
+packetLen(0x01ef, 4) // ZC_CART_NORMAL_ITEMLIST2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ef, 24) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081029
+packetLen(0x01ef, 18) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081001
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080917
+packetLen(0x01ef, 2) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080910
+packetLen(0x01ef, 90) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080813
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080806
+packetLen(0x01ef, 58) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080730
+packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080722
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080715
+packetLen(0x01ef, 3) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080708
+packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080701
+packetLen(0x01ef, 7) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080617
+packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080603
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080528
+packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080520
+packetLen(0x01ef, 14) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x01ef, 8) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x01ef, 7) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080429
+packetLen(0x01ef, 30) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x01ef, 16) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080415
+packetLen(0x01ef, 3) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x01ef, 29) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x01ef, 8) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x01ef, 35) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20081217
+packetLen(0x01f0, 10) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081126
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081119
+packetLen(0x01f0, 3) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081112
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081105
+packetLen(0x01f0, 3) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081015
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20081008
+packetLen(0x01f0, 9) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080924
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080917
+packetLen(0x01f0, 65) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080903
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080827
+packetLen(0x01f0, 12) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080820
+packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080813
+packetLen(0x01f0, 26) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080730
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080722
+packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080715
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080708
+packetLen(0x01f0, 55) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080701
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x01f0, 8) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080617
+packetLen(0x01f0, 16) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080603
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080528
+packetLen(0x01f0, 8) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080520
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x01f0, 26) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080429
+packetLen(0x01f0, 7) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080415
+packetLen(0x01f0, 53) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x01f0, 22) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x01f0, 44) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x01f0, 13) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x01f0, 39) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x01f0, 2) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x01f0, 30) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+#if PACKETVER >= 20081126
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20081119
+packetLen(0x01f2, 90) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20081112
+packetLen(0x01f2, 42) // ZC_UPDATE_CHARSTAT2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20081029
+packetLen(0x01f2, 6) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20081022
+packetLen(0x01f2, 59) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20081015
+packetLen(0x01f2, 8) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080924
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080917
+packetLen(0x01f2, 32) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080910
+packetLen(0x01f2, 6) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080903
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080827
+packetLen(0x01f2, 86) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080806
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080730
+packetLen(0x01f2, 3) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080722
+packetLen(0x01f2, 9) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080715
+packetLen(0x01f2, 2) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080708
+packetLen(0x01f2, 30) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080701
+packetLen(0x01f2, 12) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080603
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080528
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080513
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080507
+packetLen(0x01f2, 22) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080429
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080422
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080415
+packetLen(0x01f2, 8) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080408
+packetLen(0x01f2, 186) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080401
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080325
+packetLen(0x01f2, 6) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080318
+packetLen(0x01f2, 2) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080311
+packetLen(0x01f2, 28) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080304
+packetLen(0x01f2, 26) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080226
+packetLen(0x01f2, 27) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080219
+packetLen(0x01f2, 31) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080124
+packetLen(0x01f2, 14) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080102
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#endif
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+#if PACKETVER >= 20081217
+packetLen(0x01f4, 12) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20081203
+packetLen(0x01f4, 2) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20081119
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20081112
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20081008
+packetLen(0x01f4, 3) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20081001
+packetLen(0x01f4, 10) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080924
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080917
+packetLen(0x01f4, 4) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080910
+packetLen(0x01f4, 10) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080903
+packetLen(0x01f4, 14) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080820
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080813
+packetLen(0x01f4, 53) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080806
+packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080715
+packetLen(0x01f4, 4) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080708
+packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080701
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080624
+packetLen(0x01f4, 54) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080610
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080603
+packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080520
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080513
+packetLen(0x01f4, 67) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080507
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080429
+packetLen(0x01f4, 28) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080422
+packetLen(0x01f4, 22) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080415
+packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080408
+packetLen(0x01f4, 14) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080401
+packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080325
+packetLen(0x01f4, 3) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080318
+packetLen(0x01f4, 10) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080311
+packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080304
+packetLen(0x01f4, 12) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080226
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080124
+packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080102
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20081112
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20080924
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080917
+packetLen(0x01f5, 23) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080910
+packetLen(0x01f5, 102) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080903
+packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080820
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080813
+packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080722
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080715
+packetLen(0x01f5, 11) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080624
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080617
+packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080603
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080528
+packetLen(0x01f5, 60) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080520
+packetLen(0x01f5, 5) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080513
+packetLen(0x01f5, 60) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080507
+packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080429
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080422
+packetLen(0x01f5, 11) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080415
+packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080408
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080401
+packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080325
+packetLen(0x01f5, 14) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080318
+packetLen(0x01f5, 55) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080311
+packetLen(0x01f5, 30) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080304
+packetLen(0x01f5, 3) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080226
+packetLen(0x01f5, 10) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080219
+packetLen(0x01f5, 114) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080124
+packetLen(0x01f5, 7) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080102
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+#if PACKETVER >= 20081217
+packetLen(0x01fc, 11) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20081203
+packetLen(0x01fc, 15) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20081126
+packetLen(0x01fc, 2) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20081029
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x01fc, 6) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20081015
+packetLen(0x01fc, 44) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20081001
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080924
+packetLen(0x01fc, 3) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080910
+packetLen(0x01fc, 16) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080903
+packetLen(0x01fc, 27) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080827
+packetLen(0x01fc, 90) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080820
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x01fc, 16) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x01fc, 30) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x01fc, 7) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x01fc, 186) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080603
+packetLen(0x01fc, 71) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080528
+packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x01fc, 26) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080429
+packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x01fc, 59) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x01fc, 7) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x01fc, 6) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x01fc, 282) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20081203
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20081126
+packetLen(0x01fd, 32) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20081119
+packetLen(0x01fd, 20) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20081112
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01fd, 2) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20081029
+packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20081001
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080924
+packetLen(0x01fd, 32) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080917
+packetLen(0x01fd, 27) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080910
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080903
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080827
+packetLen(0x01fd, 16) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080730
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080722
+packetLen(0x01fd, 7) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080715
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080708
+packetLen(0x01fd, 2) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080701
+packetLen(0x01fd, 13) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080617
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080610
+packetLen(0x01fd, 10) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080603
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080528
+packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080520
+packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080513
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080507
+packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080429
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080422
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080415
+packetLen(0x01fd, 54) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080408
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080401
+packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080325
+packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080318
+packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080311
+packetLen(0x01fd, 39) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080304
+packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080226
+packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080219
+packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080124
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080102
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20081217
+packetLen(0x01fe, 15) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20081119
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20081112
+packetLen(0x01fe, 8) // ZC_ACK_ITEMREPAIR
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20081029
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080924
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080917
+packetLen(0x01fe, 97) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080910
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080903
+packetLen(0x01fe, 8) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080827
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080820
+packetLen(0x01fe, 30) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080813
+packetLen(0x01fe, 20) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080806
+packetLen(0x01fe, 4) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080708
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080701
+packetLen(0x01fe, 30) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080624
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080617
+packetLen(0x01fe, 11) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080610
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080603
+packetLen(0x01fe, 4) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080513
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080507
+packetLen(0x01fe, 7) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080415
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080408
+packetLen(0x01fe, 8) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080401
+packetLen(0x01fe, 54) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080325
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080318
+packetLen(0x01fe, 20) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080311
+packetLen(0x01fe, 18) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080304
+packetLen(0x01fe, 22) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080226
+packetLen(0x01fe, 2) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080219
+packetLen(0x01fe, 13) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080124
+packetLen(0x01fe, 16) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080102
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+#endif
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+#if PACKETVER >= 20081217
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20081203
+packetLen(0x0201, 8) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x0201, 67) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20081119
+packetLen(0x0201, 11) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20081105
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20081022
+packetLen(0x0201, 6) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x0201, 8) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080813
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080806
+packetLen(0x0201, 3) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x0201, 22) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x0201, 9) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x0201, 3) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0201, 29) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0201, 26) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x0201, 67) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x0201, 33) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0201, 68) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0201, 58) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x0201, 54) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x0201, 5) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0201, 11) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0201, 282) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0201, 6) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0201, 282) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20081217
+packetLen(0x0202, 9) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20081203
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20081126
+packetLen(0x0202, 14) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20081119
+packetLen(0x0202, 7) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20081112
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20081022
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20081015
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20081008
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080910
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080903
+packetLen(0x0202, 9) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080820
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080813
+packetLen(0x0202, 60) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080806
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080730
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080722
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080603
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x0202, 3) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x0202, 19) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080429
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080422
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080415
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080408
+packetLen(0x0202, 3) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0202, 33) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0202, 44) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20081112
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20081008
+packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20081001
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080924
+packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080917
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080910
+packetLen(0x0203, 58) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080903
+packetLen(0x0203, 11) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080827
+packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080813
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080806
+packetLen(0x0203, 2) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080730
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080722
+packetLen(0x0203, 282) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080715
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080708
+packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080701
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080624
+packetLen(0x0203, 3) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080603
+packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x0203, 34) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080429
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080422
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080401
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x0203, 3) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x0203, 67) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0203, 60) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#endif
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+#if PACKETVER >= 20081217
+packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20081203
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20081126
+packetLen(0x0206, 3) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20081119
+packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20081112
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0206, 44) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20081029
+packetLen(0x0206, 22) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20081001
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080924
+packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080917
+packetLen(0x0206, 81) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080910
+packetLen(0x0206, 2) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080903
+packetLen(0x0206, 65) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080827
+packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080813
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080806
+packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080730
+packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080722
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080715
+packetLen(0x0206, 282) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080708
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080701
+packetLen(0x0206, 2) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080624
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080617
+packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080603
+packetLen(0x0206, 3) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080520
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080513
+packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080429
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080422
+packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080415
+packetLen(0x0206, 4) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080408
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080401
+packetLen(0x0206, 59) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080325
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080318
+packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080311
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080304
+packetLen(0x0206, 9) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080226
+packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080219
+packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080124
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080102
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20081112
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0207, 5) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20081015
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20081008
+packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20081001
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080924
+packetLen(0x0207, 30) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080910
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080903
+packetLen(0x0207, 54) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080820
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080813
+packetLen(0x0207, 11) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080806
+packetLen(0x0207, 6) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080730
+packetLen(0x0207, 60) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080722
+packetLen(0x0207, 6) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080715
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080708
+packetLen(0x0207, 14) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080701
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080624
+packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080617
+packetLen(0x0207, 11) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x0207, 28) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080429
+packetLen(0x0207, 5) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080422
+packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080408
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080401
+packetLen(0x0207, 102) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x0207, 8) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x0207, 6) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0207, 26) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0207, 66) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x0207, 28) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20081112
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20081022
+packetLen(0x0208, 27) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20081015
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20081008
+packetLen(0x0208, 3) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20081001
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080924
+packetLen(0x0208, 18) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080820
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080813
+packetLen(0x0208, 3) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080730
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080722
+packetLen(0x0208, 2) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080715
+packetLen(0x0208, 12) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080708
+packetLen(0x0208, 16) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080701
+packetLen(0x0208, 2) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080624
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080617
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0208, 15) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080603
+packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x0208, 26) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x0208, 60) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080429
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080415
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080408
+packetLen(0x0208, 5) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080401
+packetLen(0x0208, 22) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0208, 71) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x0208, 65) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20081112
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20081029
+packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20081022
+packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20081001
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080924
+packetLen(0x0209, 3) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080917
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080910
+packetLen(0x0209, 12) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080827
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x0209, 20) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080722
+packetLen(0x0209, 5) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x0209, 8) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x0209, 9) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0209, 39) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x0209, 8) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x0209, 5) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0209, 18) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x0209, 3) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0209, 30) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20081217
+packetLen(0x020a, 4) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20081119
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20081112
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20081022
+packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20081015
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20081008
+packetLen(0x020a, 5) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20081001
+packetLen(0x020a, 27) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080924
+packetLen(0x020a, 4) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080917
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080910
+packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080903
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080827
+packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080820
+packetLen(0x020a, 29) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080813
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080730
+packetLen(0x020a, 3) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080722
+packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080715
+packetLen(0x020a, 30) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080701
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080624
+packetLen(0x020a, 68) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080617
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x020a, 186) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080603
+packetLen(0x020a, 11) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080528
+packetLen(0x020a, 32) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080520
+packetLen(0x020a, 30) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080513
+packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080507
+packetLen(0x020a, 71) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080422
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080415
+packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080408
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080401
+packetLen(0x020a, 14) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080325
+packetLen(0x020a, 13) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080318
+packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x020a, 11) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x020a, 20) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080124
+packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+#endif
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+#if PACKETVER >= 20081217
+packetLen(0x020e, 6) // ZC_STARSKILL
+#elif PACKETVER >= 20081203
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20081126
+packetLen(0x020e, 10) // ZC_STARSKILL
+#elif PACKETVER >= 20081112
+packetLen(0x020e, 32) // ZC_STARSKILL
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20081022
+packetLen(0x020e, 67) // ZC_STARSKILL
+#elif PACKETVER >= 20081015
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20081001
+packetLen(0x020e, 2) // ZC_STARSKILL
+#elif PACKETVER >= 20080910
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080903
+packetLen(0x020e, 30) // ZC_STARSKILL
+#elif PACKETVER >= 20080827
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080820
+packetLen(0x020e, 4) // ZC_STARSKILL
+#elif PACKETVER >= 20080813
+packetLen(0x020e, 6) // ZC_STARSKILL
+#elif PACKETVER >= 20080806
+packetLen(0x020e, 2) // ZC_STARSKILL
+#elif PACKETVER >= 20080730
+packetLen(0x020e, 3) // ZC_STARSKILL
+#elif PACKETVER >= 20080722
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080715
+packetLen(0x020e, 2) // ZC_STARSKILL
+#elif PACKETVER >= 20080708
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080701
+packetLen(0x020e, 10) // ZC_STARSKILL
+#elif PACKETVER >= 20080624
+packetLen(0x020e, 5) // ZC_STARSKILL
+#elif PACKETVER >= 20080603
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080528
+packetLen(0x020e, 7) // ZC_STARSKILL
+#elif PACKETVER >= 20080520
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080513
+packetLen(0x020e, 32) // ZC_STARSKILL
+#elif PACKETVER >= 20080507
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080429
+packetLen(0x020e, 54) // ZC_STARSKILL
+#elif PACKETVER >= 20080415
+packetLen(0x020e, 4) // ZC_STARSKILL
+#elif PACKETVER >= 20080408
+packetLen(0x020e, 3) // ZC_STARSKILL
+#elif PACKETVER >= 20080401
+packetLen(0x020e, 6) // ZC_STARSKILL
+#elif PACKETVER >= 20080318
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080311
+packetLen(0x020e, 6) // ZC_STARSKILL
+#elif PACKETVER >= 20080304
+packetLen(0x020e, 27) // ZC_STARSKILL
+#elif PACKETVER >= 20080226
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080219
+packetLen(0x020e, 8) // ZC_STARSKILL
+#elif PACKETVER >= 20080124
+packetLen(0x020e, 102) // ZC_STARSKILL
+#elif PACKETVER >= 20080102
+packetLen(0x020e, 32) // ZC_STARSKILL
+#endif
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+#if PACKETVER >= 20081126
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20081119
+packetLen(0x0217, 28) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20081112
+packetLen(0x0217, 30) // CZ_BLACKSMITH_RANK
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0217, 10) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20081008
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20081001
+packetLen(0x0217, 7) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080924
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080917
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080903
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080827
+packetLen(0x0217, 26) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080820
+packetLen(0x0217, 55) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080806
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080730
+packetLen(0x0217, 7) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080722
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080715
+packetLen(0x0217, 54) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080708
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080701
+packetLen(0x0217, 7) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0217, 53) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0217, 6) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080520
+packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0217, 65) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0217, 15) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0217, 13) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0217, 26) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0217, 44) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0217, 5) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0217, 3) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20081203
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20081126
+packetLen(0x0218, 102) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20081119
+packetLen(0x0218, 13) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20081112
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20081105
+packetLen(0x0218, 30) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20081015
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20081008
+packetLen(0x0218, 3) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080917
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080910
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080820
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080813
+packetLen(0x0218, 11) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080806
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080730
+packetLen(0x0218, 4) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080722
+packetLen(0x0218, 33) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080715
+packetLen(0x0218, 8) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080701
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x0218, 10) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0218, 68) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0218, 30) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0218, 5) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080520
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0218, 18) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0218, 67) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0218, 14) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0218, 4) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0218, 8) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0218, 26) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20081217
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20081203
+packetLen(0x0219, 26) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20081119
+packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20081112
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0219, 5) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20081015
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20081008
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080924
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080917
+packetLen(0x0219, 2) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080910
+packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080903
+packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080827
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080820
+packetLen(0x0219, 5) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080813
+packetLen(0x0219, 186) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080722
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080715
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x0219, 30) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0219, 12) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0219, 9) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0219, 28) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0219, 15) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0219, 3) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0219, 17) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20081217
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20081203
+packetLen(0x021a, 13) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20081126
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20081119
+packetLen(0x021a, 60) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20081112
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20081029
+packetLen(0x021a, 10) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20081022
+packetLen(0x021a, 9) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080917
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080910
+packetLen(0x021a, 26) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080813
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080806
+packetLen(0x021a, 3) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080730
+packetLen(0x021a, 39) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080715
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080708
+packetLen(0x021a, 79) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080701
+packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x021a, 11) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x021a, 97) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x021a, 23) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x021a, 26) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x021a, 3) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x021a, 16) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x021a, 11) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x021a, 8) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x021a, 8) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x021a, 5) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x021a, 10) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20081217
+packetLen(0x021b, 28) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20081203
+packetLen(0x021b, 14) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20081119
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20081112
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x021b, 3) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20081008
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20081001
+packetLen(0x021b, 58) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080903
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080827
+packetLen(0x021b, 33) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080820
+packetLen(0x021b, 7) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080813
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080806
+packetLen(0x021b, 26) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080730
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080722
+packetLen(0x021b, 22) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080715
+packetLen(0x021b, 29) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080701
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080624
+packetLen(0x021b, 4) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080617
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080610
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080603
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080520
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080513
+packetLen(0x021b, 4) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080507
+packetLen(0x021b, 8) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080429
+packetLen(0x021b, 2) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080422
+packetLen(0x021b, 44) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080415
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080408
+packetLen(0x021b, 9) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080401
+packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080325
+packetLen(0x021b, 11) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080318
+packetLen(0x021b, 3) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x021b, 14) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080124
+packetLen(0x021b, 54) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20081119
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20081112
+packetLen(0x021c, 33) // ZC_ALCHEMIST_POINT
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20081029
+packetLen(0x021c, 6) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20081008
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20081001
+packetLen(0x021c, 39) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080917
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080910
+packetLen(0x021c, 9) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080827
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080820
+packetLen(0x021c, 26) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080730
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080722
+packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080715
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080617
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080610
+packetLen(0x021c, 8) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080603
+packetLen(0x021c, 13) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080528
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080520
+packetLen(0x021c, 2) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080513
+packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080507
+packetLen(0x021c, 8) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080429
+packetLen(0x021c, 18) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080422
+packetLen(0x021c, 3) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080415
+packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080408
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080401
+packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080325
+packetLen(0x021c, 102) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080318
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x021c, 6) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080124
+packetLen(0x021c, 30) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#endif
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+#if PACKETVER >= 20081217
+packetLen(0x0224, 60) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20081203
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20081126
+packetLen(0x0224, 26) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20081112
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20081029
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20081022
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20081015
+packetLen(0x0224, 11) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20081008
+packetLen(0x0224, 282) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20081001
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080924
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080917
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080910
+packetLen(0x0224, 66) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080903
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080827
+packetLen(0x0224, 42) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080820
+packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080813
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080806
+packetLen(0x0224, 17) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080730
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080722
+packetLen(0x0224, 11) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080715
+packetLen(0x0224, 8) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080708
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080701
+packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080624
+packetLen(0x0224, 42) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080610
+packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080603
+packetLen(0x0224, 14) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080528
+packetLen(0x0224, 9) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080520
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080513
+packetLen(0x0224, 3) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080507
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080429
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080422
+packetLen(0x0224, 8) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080415
+packetLen(0x0224, 27) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080408
+packetLen(0x0224, 81) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080401
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080325
+packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080318
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x0224, 20) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x0224, 12) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080124
+packetLen(0x0224, 9) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20081203
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20081126
+packetLen(0x0225, 23) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20081119
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20081112
+packetLen(0x0225, 28) // CZ_TAEKWON_RANK
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20081015
+packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20081001
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080924
+packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080917
+packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080813
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080806
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080730
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080722
+packetLen(0x0225, 6) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080701
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0225, 7) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0225, 32) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0225, 14) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080520
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0225, 9) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0225, 4) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0225, 29) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0225, 6) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20081217
+packetLen(0x0226, 102) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20081203
+packetLen(0x0226, 7) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20081112
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20081022
+packetLen(0x0226, 5) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20081008
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20081001
+packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080903
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080827
+packetLen(0x0226, 65) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080820
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080813
+packetLen(0x0226, 8) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080806
+packetLen(0x0226, 43) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080722
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080715
+packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080708
+packetLen(0x0226, 6) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x0226, 36) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0226, 30) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0226, 9) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0226, 22) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0226, 42) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0226, 4) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20081217
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20081203
+packetLen(0x0227, 68) // ZC_GAME_GUARD
+#elif PACKETVER >= 20081126
+packetLen(0x0227, 39) // ZC_GAME_GUARD
+#elif PACKETVER >= 20081119
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20081112
+packetLen(0x0227, 26) // ZC_GAME_GUARD
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20081008
+packetLen(0x0227, 4) // ZC_GAME_GUARD
+#elif PACKETVER >= 20081001
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080924
+packetLen(0x0227, 9) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080917
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080910
+packetLen(0x0227, 11) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080903
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080827
+packetLen(0x0227, 6) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080820
+packetLen(0x0227, 36) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080813
+packetLen(0x0227, 2) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080708
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080701
+packetLen(0x0227, 2) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080617
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080610
+packetLen(0x0227, 10) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080603
+packetLen(0x0227, 6) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080528
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080520
+packetLen(0x0227, 10) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080513
+packetLen(0x0227, 4) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080507
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080429
+packetLen(0x0227, 26) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080422
+packetLen(0x0227, 8) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080415
+packetLen(0x0227, 2) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080408
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080325
+packetLen(0x0227, 6) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080318
+packetLen(0x0227, 15) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080311
+packetLen(0x0227, 7) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080304
+packetLen(0x0227, 2) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080226
+packetLen(0x0227, 31) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080219
+packetLen(0x0227, 4) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080124
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080102
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+#endif
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+#if PACKETVER >= 20081217
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20081203
+packetLen(0x0229, 18) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20081126
+packetLen(0x0229, 7) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20081119
+packetLen(0x0229, 11) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20081112
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20081029
+packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20081022
+packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20081015
+packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20081008
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20081001
+packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080910
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080903
+packetLen(0x0229, 10) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080820
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080813
+packetLen(0x0229, 3) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080806
+packetLen(0x0229, 8) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080730
+packetLen(0x0229, 12) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080715
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080708
+packetLen(0x0229, 20) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080701
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080624
+packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080617
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080610
+packetLen(0x0229, 21) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080603
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080528
+packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080520
+packetLen(0x0229, 31) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080507
+packetLen(0x0229, 5) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080429
+packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080422
+packetLen(0x0229, 3) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080415
+packetLen(0x0229, 7) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080408
+packetLen(0x0229, 5) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080401
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080325
+packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080318
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080311
+packetLen(0x0229, 22) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080304
+packetLen(0x0229, 33) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080226
+packetLen(0x0229, 182) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080219
+packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080124
+packetLen(0x0229, 22) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080102
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20081217
+packetLen(0x022a, 30) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20081126
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20081119
+packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20081112
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20081029
+packetLen(0x022a, 4) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20081022
+packetLen(0x022a, 282) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20081015
+packetLen(0x022a, 19) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20081008
+packetLen(0x022a, 6) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080917
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080910
+packetLen(0x022a, 21) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080903
+packetLen(0x022a, 26) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080827
+packetLen(0x022a, 13) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080806
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080730
+packetLen(0x022a, 26) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080722
+packetLen(0x022a, 66) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080701
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080624
+packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080617
+packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080520
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080513
+packetLen(0x022a, 5) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080507
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080429
+packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080422
+packetLen(0x022a, 23) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080415
+packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080408
+packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080401
+packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080325
+packetLen(0x022a, 114) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080318
+packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080311
+packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080304
+packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080226
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080219
+packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080124
+packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080102
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20081217
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20081126
+packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20081119
+packetLen(0x022b, 2) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20081112
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20081015
+packetLen(0x022b, 282) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20081008
+packetLen(0x022b, 3) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20081001
+packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080806
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080730
+packetLen(0x022b, 4) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080701
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080624
+packetLen(0x022b, 90) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080617
+packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080610
+packetLen(0x022b, 2) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080603
+packetLen(0x022b, 18) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080528
+packetLen(0x022b, 7) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080520
+packetLen(0x022b, 10) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080513
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080507
+packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080429
+packetLen(0x022b, 26) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080415
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080408
+packetLen(0x022b, 27) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080401
+packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080325
+packetLen(0x022b, 282) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080318
+packetLen(0x022b, 102) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080311
+packetLen(0x022b, 10) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080304
+packetLen(0x022b, 8) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080219
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080124
+packetLen(0x022b, 23) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080102
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20081217
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20081203
+packetLen(0x022c, 54) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20081126
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20081119
+packetLen(0x022c, 60) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20081112
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20081029
+packetLen(0x022c, 8) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20081022
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20081015
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20081008
+packetLen(0x022c, 13) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20081001
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080924
+packetLen(0x022c, 15) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080917
+packetLen(0x022c, 10) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080910
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080903
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080827
+packetLen(0x022c, 282) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080730
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080722
+packetLen(0x022c, 2) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080715
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080708
+packetLen(0x022c, 59) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080603
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080520
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080513
+packetLen(0x022c, 8) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080507
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080429
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080422
+packetLen(0x022c, 33) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080415
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080408
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080401
+packetLen(0x022c, 4) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080325
+packetLen(0x022c, 68) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080318
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080304
+packetLen(0x022c, 10) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080226
+packetLen(0x022c, 31) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080219
+packetLen(0x022c, 53) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080124
+packetLen(0x022c, 22) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080102
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20081217
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20081203
+packetLen(0x022d, 44) // CZ_COMMAND_MER
+#elif PACKETVER >= 20081126
+packetLen(0x022d, 20) // CZ_COMMAND_MER
+#elif PACKETVER >= 20081112
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20081022
+packetLen(0x022d, 4) // CZ_COMMAND_MER
+#elif PACKETVER >= 20081015
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20081008
+packetLen(0x022d, 26) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080730
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080722
+packetLen(0x022d, 4) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080715
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080708
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080701
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080520
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080513
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080507
+packetLen(0x022d, 29) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080429
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080422
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080408
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080401
+packetLen(0x022d, 30) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080325
+packetLen(0x022d, 11) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080318
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080311
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080226
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080219
+packetLen(0x022d, 9) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080124
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080102
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20081217
+packetLen(0x022e, 186) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20081203
+packetLen(0x022e, 3) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20081126
+packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20081119
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20081112
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20081029
+packetLen(0x022e, 60) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20081022
+packetLen(0x022e, 3) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20081015
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20081008
+packetLen(0x022e, 17) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080924
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080917
+packetLen(0x022e, 10) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080910
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080903
+packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080820
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080813
+packetLen(0x022e, 18) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080730
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080722
+packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080708
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080701
+packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080624
+packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080610
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080603
+packetLen(0x022e, 10) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080520
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080513
+packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080507
+packetLen(0x022e, 8) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080429
+packetLen(0x022e, 3) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080422
+packetLen(0x022e, 7) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080415
+packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080408
+packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080401
+packetLen(0x022e, 2) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080325
+packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080318
+packetLen(0x022e, 28) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080311
+packetLen(0x022e, 5) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080304
+packetLen(0x022e, 55) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080226
+packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080219
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080124
+packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080102
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20081217
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20081203
+packetLen(0x022f, 9) // ZC_FEED_MER
+#elif PACKETVER >= 20081126
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20081119
+packetLen(0x022f, 30) // ZC_FEED_MER
+#elif PACKETVER >= 20081112
+packetLen(0x022f, 5) // ZC_FEED_MER
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20081029
+packetLen(0x022f, 10) // ZC_FEED_MER
+#elif PACKETVER >= 20081015
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20081008
+packetLen(0x022f, 30) // ZC_FEED_MER
+#elif PACKETVER >= 20081001
+packetLen(0x022f, 182) // ZC_FEED_MER
+#elif PACKETVER >= 20080924
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080917
+packetLen(0x022f, 6) // ZC_FEED_MER
+#elif PACKETVER >= 20080813
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080806
+packetLen(0x022f, 10) // ZC_FEED_MER
+#elif PACKETVER >= 20080722
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080715
+packetLen(0x022f, 10) // ZC_FEED_MER
+#elif PACKETVER >= 20080701
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080624
+packetLen(0x022f, 10) // ZC_FEED_MER
+#elif PACKETVER >= 20080617
+packetLen(0x022f, 4) // ZC_FEED_MER
+#elif PACKETVER >= 20080610
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080603
+packetLen(0x022f, 22) // ZC_FEED_MER
+#elif PACKETVER >= 20080528
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080520
+packetLen(0x022f, 26) // ZC_FEED_MER
+#elif PACKETVER >= 20080429
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080422
+packetLen(0x022f, 7) // ZC_FEED_MER
+#elif PACKETVER >= 20080415
+packetLen(0x022f, 3) // ZC_FEED_MER
+#elif PACKETVER >= 20080401
+packetLen(0x022f, 10) // ZC_FEED_MER
+#elif PACKETVER >= 20080325
+packetLen(0x022f, 67) // ZC_FEED_MER
+#elif PACKETVER >= 20080318
+packetLen(0x022f, 7) // ZC_FEED_MER
+#elif PACKETVER >= 20080304
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20080226
+packetLen(0x022f, 26) // ZC_FEED_MER
+#elif PACKETVER >= 20080219
+packetLen(0x022f, 282) // ZC_FEED_MER
+#elif PACKETVER >= 20080124
+packetLen(0x022f, 6) // ZC_FEED_MER
+#elif PACKETVER >= 20080102
+packetLen(0x022f, 5) // ZC_FEED_MER
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20081217
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20081203
+packetLen(0x0230, 2) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20081126
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20081119
+packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20081112
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0230, 10) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20081029
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20081022
+packetLen(0x0230, 8) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20081015
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20081008
+packetLen(0x0230, 10) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080924
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080917
+packetLen(0x0230, 71) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080903
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080827
+packetLen(0x0230, 22) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080813
+packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080722
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080715
+packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080624
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080617
+packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080520
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080513
+packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080507
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080429
+packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080415
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080401
+packetLen(0x0230, 43) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080325
+packetLen(0x0230, 8) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080318
+packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080311
+packetLen(0x0230, 3) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080304
+packetLen(0x0230, 16) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080226
+packetLen(0x0230, 28) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080219
+packetLen(0x0230, 54) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080124
+packetLen(0x0230, 3) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080102
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+#endif
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+#if PACKETVER >= 20081217
+packetLen(0x0232, 3) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20081203
+packetLen(0x0232, 58) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20081126
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20081119
+packetLen(0x0232, 8) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20081112
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20081022
+packetLen(0x0232, 102) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20081008
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20081001
+packetLen(0x0232, 8) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080910
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080903
+packetLen(0x0232, 6) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080730
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080722
+packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080715
+packetLen(0x0232, 28) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080708
+packetLen(0x0232, 12) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080701
+packetLen(0x0232, 28) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080624
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080617
+packetLen(0x0232, 6) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080610
+packetLen(0x0232, 30) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080603
+packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080528
+packetLen(0x0232, 4) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080520
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080513
+packetLen(0x0232, 17) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080429
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080422
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080415
+packetLen(0x0232, 10) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080408
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080401
+packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080325
+packetLen(0x0232, 10) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080318
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080311
+packetLen(0x0232, 5) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080304
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080226
+packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080219
+packetLen(0x0232, 36) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080124
+packetLen(0x0232, 17) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080102
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20081217
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20081203
+packetLen(0x0233, 32) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20081112
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20081029
+packetLen(0x0233, 16) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20081022
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20081015
+packetLen(0x0233, 3) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20081001
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080924
+packetLen(0x0233, 5) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080910
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080903
+packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080827
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080813
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080806
+packetLen(0x0233, 42) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080722
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080715
+packetLen(0x0233, 9) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080624
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080617
+packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080610
+packetLen(0x0233, 66) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080603
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080528
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080520
+packetLen(0x0233, 15) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080513
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080507
+packetLen(0x0233, 68) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080429
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080422
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080415
+packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080408
+packetLen(0x0233, 22) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080325
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080318
+packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080311
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080304
+packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080226
+packetLen(0x0233, 4) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080219
+packetLen(0x0233, 8) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080124
+packetLen(0x0233, 23) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080102
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20081217
+packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20081112
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0234, 20) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20081029
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20081015
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20081008
+packetLen(0x0234, 60) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080910
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080903
+packetLen(0x0234, 3) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080813
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080806
+packetLen(0x0234, 4) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080730
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080722
+packetLen(0x0234, 58) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080715
+packetLen(0x0234, 26) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080624
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080617
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080528
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080520
+packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080429
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080422
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080415
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080408
+packetLen(0x0234, 2) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080401
+packetLen(0x0234, 16) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080325
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080318
+packetLen(0x0234, 3) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080311
+packetLen(0x0234, 43) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080304
+packetLen(0x0234, 4) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080226
+packetLen(0x0234, 15) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080219
+packetLen(0x0234, 282) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080124
+packetLen(0x0234, 26) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080102
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20081217
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20081203
+packetLen(0x0235, 5) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20081119
+packetLen(0x0235, 58) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20081112
+packetLen(0x0235, 30) // ZC_HOSKILLINFO_LIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0235, 59) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20081029
+packetLen(0x0235, 282) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20081022
+packetLen(0x0235, 3) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x0235, 26) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20081008
+packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080903
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080827
+packetLen(0x0235, 7) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080813
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x0235, 9) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080722
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080715
+packetLen(0x0235, 9) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x0235, 2) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080701
+packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x0235, 12) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x0235, 5) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x0235, 28) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x0235, 2) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x0235, 19) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x0235, 42) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080318
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0235, 44) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0235, 10) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0235, 33) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0235, 15) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080124
+packetLen(0x0235, 30) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#endif
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+#if PACKETVER >= 20081217
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20081203
+packetLen(0x0237, 3) // CZ_KILLER_RANK
+#elif PACKETVER >= 20081119
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20081112
+packetLen(0x0237, 15) // CZ_KILLER_RANK
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20081008
+packetLen(0x0237, 23) // CZ_KILLER_RANK
+#elif PACKETVER >= 20081001
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080924
+packetLen(0x0237, 5) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080917
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080910
+packetLen(0x0237, 9) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080820
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080813
+packetLen(0x0237, 54) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080806
+packetLen(0x0237, 8) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080730
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080722
+packetLen(0x0237, 6) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080715
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080708
+packetLen(0x0237, 11) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080701
+packetLen(0x0237, 29) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x0237, 14) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0237, 5) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0237, 4) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080528
+packetLen(0x0237, 19) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080520
+packetLen(0x0237, 3) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080507
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0237, 24) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080422
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080408
+packetLen(0x0237, 60) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0237, 20) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080325
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0237, 8) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0237, 54) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0237, 3) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0237, 10) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0237, 3) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0237, 4) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20081217
+packetLen(0x0238, 22) // ZC_KILLER_RANK
+#elif PACKETVER >= 20081203
+packetLen(0x0238, 9) // ZC_KILLER_RANK
+#elif PACKETVER >= 20081126
+packetLen(0x0238, 2) // ZC_KILLER_RANK
+#elif PACKETVER >= 20081119
+packetLen(0x0238, 35) // ZC_KILLER_RANK
+#elif PACKETVER >= 20081112
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20081015
+packetLen(0x0238, 8) // ZC_KILLER_RANK
+#elif PACKETVER >= 20081008
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20081001
+packetLen(0x0238, 14) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080917
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080910
+packetLen(0x0238, 71) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080903
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080827
+packetLen(0x0238, 10) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080813
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080806
+packetLen(0x0238, 71) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080722
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080715
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080624
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080617
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080610
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080603
+packetLen(0x0238, 21) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080513
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080429
+packetLen(0x0238, 10) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080415
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080401
+packetLen(0x0238, 10) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080318
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0238, 27) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0238, 14) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080124
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20081217
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20081203
+packetLen(0x0239, 86) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20081126
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20081119
+packetLen(0x0239, 29) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20081112
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20081008
+packetLen(0x0239, 19) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080917
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080910
+packetLen(0x0239, 3) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080903
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080827
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080820
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080813
+packetLen(0x0239, 12) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080806
+packetLen(0x0239, 32) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080730
+packetLen(0x0239, 3) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080722
+packetLen(0x0239, 6) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080715
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080701
+packetLen(0x0239, 30) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080624
+packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080610
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080603
+packetLen(0x0239, 2) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080528
+packetLen(0x0239, 29) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080520
+packetLen(0x0239, 282) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080513
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080507
+packetLen(0x0239, 5) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080429
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080422
+packetLen(0x0239, 5) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080415
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080408
+packetLen(0x0239, 36) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080401
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080325
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080318
+packetLen(0x0239, 26) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080311
+packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080304
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080226
+packetLen(0x0239, 39) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080219
+packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080124
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080102
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20081217
+packetLen(0x023a, 90) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20081203
+packetLen(0x023a, 97) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20081126
+packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20081119
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20081112
+packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20081029
+packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20081022
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20081015
+packetLen(0x023a, 54) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080910
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080903
+packetLen(0x023a, 3) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080827
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080820
+packetLen(0x023a, 26) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080813
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080806
+packetLen(0x023a, 28) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080715
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080708
+packetLen(0x023a, 9) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080701
+packetLen(0x023a, 13) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080624
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080617
+packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080513
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080507
+packetLen(0x023a, 28) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080429
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080422
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080415
+packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080401
+packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080325
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080318
+packetLen(0x023a, 8) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080311
+packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080304
+packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080226
+packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080219
+packetLen(0x023a, 11) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080124
+packetLen(0x023a, 71) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080102
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#endif
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+#if PACKETVER >= 20081217
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20081203
+packetLen(0x023c, 30) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20081126
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20081119
+packetLen(0x023c, 5) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20081112
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20081022
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20081015
+packetLen(0x023c, 18) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20081008
+packetLen(0x023c, 3) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080910
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080903
+packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080827
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080820
+packetLen(0x023c, 4) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080813
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080730
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080722
+packetLen(0x023c, 3) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080708
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080701
+packetLen(0x023c, 60) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080617
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080610
+packetLen(0x023c, 4) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080513
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080507
+packetLen(0x023c, 30) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080429
+packetLen(0x023c, 3) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080422
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080415
+packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080408
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080401
+packetLen(0x023c, 12) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080325
+packetLen(0x023c, 79) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080318
+packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080311
+packetLen(0x023c, 21) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080226
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080219
+packetLen(0x023c, 5) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080124
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080102
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#endif
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+#if PACKETVER >= 20081126
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20081119
+packetLen(0x0274, 11) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20081112
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20081015
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20081008
+packetLen(0x0274, 6) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20081001
+packetLen(0x0274, 186) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080924
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080917
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080910
+packetLen(0x0274, 6) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080903
+packetLen(0x0274, 35) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080715
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080708
+packetLen(0x0274, 67) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080617
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080610
+packetLen(0x0274, 4) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080603
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080528
+packetLen(0x0274, 10) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080520
+packetLen(0x0274, 30) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080513
+packetLen(0x0274, 7) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080507
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080429
+packetLen(0x0274, 7) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080422
+packetLen(0x0274, 282) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080415
+packetLen(0x0274, 6) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080408
+packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080401
+packetLen(0x0274, 2) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080325
+packetLen(0x0274, 53) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080318
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080311
+packetLen(0x0274, 67) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080304
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080226
+packetLen(0x0274, 24) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080219
+packetLen(0x0274, 32) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080124
+packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080102
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#endif
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+#if PACKETVER >= 20080722
+packetLen(0x027c, 60) // CA_LOGIN4
+#elif PACKETVER >= 20080715
+packetLen(0x027c, 96) // CA_LOGIN4
+#elif PACKETVER >= 20080102
+packetLen(0x027c, 60) // CA_LOGIN4
+#endif
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+#if PACKETVER >= 20081105
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20081029
+packetLen(0x0287, 60) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20081022
+packetLen(0x0287, 42) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20081015
+packetLen(0x0287, 4) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080924
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080917
+packetLen(0x0287, 114) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080820
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080813
+packetLen(0x0287, 97) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080806
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080730
+packetLen(0x0287, 5) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080722
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080715
+packetLen(0x0287, 6) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080708
+packetLen(0x0287, 30) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080701
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080624
+packetLen(0x0287, 26) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080617
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080513
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080507
+packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080422
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080415
+packetLen(0x0287, 31) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080408
+packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080401
+packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080325
+packetLen(0x0287, 4) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080318
+packetLen(0x0287, 32) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0287, 18) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0287, 10) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080124
+packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#endif
+
+// Packet: 0x0288
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+#if PACKETVER >= 20081203
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081126
+packetLen(0x0295, 7) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081119
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081112
+packetLen(0x0295, 8) // ZC_EQUIPMENT_ITEMLIST2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081029
+packetLen(0x0295, 5) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081015
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081008
+packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081001
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080924
+packetLen(0x0295, 14) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080910
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080903
+packetLen(0x0295, 2) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080827
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080813
+packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080806
+packetLen(0x0295, 54) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080715
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080708
+packetLen(0x0295, 11) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080701
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x0295, 31) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080610
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080603
+packetLen(0x0295, 30) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080429
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x0295, 53) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080415
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x0295, 10) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x0295, 2) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x0295, 66) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x0295, 8) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x0295, 5) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x0295, 3) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x0295, 34) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20081217
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081203
+packetLen(0x0296, 23) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081126
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081119
+packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081112
+packetLen(0x0296, 21) // ZC_STORE_EQUIPMENT_ITEMLIST2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081022
+packetLen(0x0296, 16) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081008
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081001
+packetLen(0x0296, 19) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080924
+packetLen(0x0296, 14) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080813
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080806
+packetLen(0x0296, 86) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080730
+packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080715
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080708
+packetLen(0x0296, 282) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080617
+packetLen(0x0296, 19) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080610
+packetLen(0x0296, 17) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080528
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080520
+packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x0296, 53) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080507
+packetLen(0x0296, 3) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080415
+packetLen(0x0296, 28) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x0296, 14) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x0296, 20) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x0296, 9) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x0296, 29) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x0296, 90) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20081217
+packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081203
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081126
+packetLen(0x0297, 9) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081105
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081029
+packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081022
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20081008
+packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080910
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080903
+packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080820
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080813
+packetLen(0x0297, 14) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080806
+packetLen(0x0297, 8) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080730
+packetLen(0x0297, 86) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080715
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080708
+packetLen(0x0297, 67) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080701
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080624
+packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080610
+packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080603
+packetLen(0x0297, 9) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080513
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080429
+packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080422
+packetLen(0x0297, 8) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080408
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080401
+packetLen(0x0297, 3) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080325
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080318
+packetLen(0x0297, 36) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x0297, 11) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x0297, 5) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080124
+packetLen(0x0297, 29) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+#if PACKETVER >= 20081217
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20081203
+packetLen(0x029a, 7) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20081119
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20081112
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20081029
+packetLen(0x029a, 20) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20081022
+packetLen(0x029a, 6) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080924
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080917
+packetLen(0x029a, 4) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080910
+packetLen(0x029a, 2) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080813
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080806
+packetLen(0x029a, 9) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080715
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080708
+packetLen(0x029a, 6) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080610
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080603
+packetLen(0x029a, 28) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080528
+packetLen(0x029a, 7) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080520
+packetLen(0x029a, 55) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080513
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080507
+packetLen(0x029a, 12) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080429
+packetLen(0x029a, 44) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080422
+packetLen(0x029a, 11) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080408
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080401
+packetLen(0x029a, 14) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080325
+packetLen(0x029a, 2) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080318
+packetLen(0x029a, 16) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080311
+packetLen(0x029a, 8) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080304
+packetLen(0x029a, 21) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080226
+packetLen(0x029a, 3) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080219
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080124
+packetLen(0x029a, 30) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080102
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#endif
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a6, 204) // ZC_HACKSH_CPX_MSG
+#elif PACKETVER >= 20080102
+packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a7, 204) // CZ_HACKSH_CPX_MSG
+#elif PACKETVER >= 20080102
+packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02bf
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+#endif
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+#if PACKETVER >= 20080304
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080226
+packetLen(0x02d4, 30) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080219
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080124
+packetLen(0x02d4, 32) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080102
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#endif
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+#if PACKETVER >= 20081217
+packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20081112
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20081029
+packetLen(0x02e1, 5) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20081022
+packetLen(0x02e1, 90) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20081008
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20081001
+packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080924
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080917
+packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080910
+packetLen(0x02e1, 2) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080903
+packetLen(0x02e1, 5) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080827
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080820
+packetLen(0x02e1, 13) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080813
+packetLen(0x02e1, 2) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080730
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080722
+packetLen(0x02e1, 102) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080715
+packetLen(0x02e1, 3) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080617
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080610
+packetLen(0x02e1, 26) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080603
+packetLen(0x02e1, 8) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080528
+packetLen(0x02e1, 10) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080520
+packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080513
+packetLen(0x02e1, 55) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080507
+packetLen(0x02e1, 22) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080408
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080401
+packetLen(0x02e1, 9) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080325
+packetLen(0x02e1, 26) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080311
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080304
+packetLen(0x02e1, 8) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080102
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+#endif
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+#if PACKETVER >= 20081203
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20081119
+packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20081112
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20081029
+packetLen(0x02ec, 68) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20081022
+packetLen(0x02ec, 30) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20081008
+packetLen(0x02ec, 4) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080917
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080910
+packetLen(0x02ec, 30) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080903
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080827
+packetLen(0x02ec, 26) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080820
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080813
+packetLen(0x02ec, 28) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080806
+packetLen(0x02ec, 68) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080730
+packetLen(0x02ec, 2) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080722
+packetLen(0x02ec, 29) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080715
+packetLen(0x02ec, 3) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080708
+packetLen(0x02ec, 32) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080624
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080617
+packetLen(0x02ec, 42) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080610
+packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080603
+packetLen(0x02ec, 4) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080528
+packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080520
+packetLen(0x02ec, 14) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080513
+packetLen(0x02ec, 11) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080507
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080429
+packetLen(0x02ec, 43) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080422
+packetLen(0x02ec, 60) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080415
+packetLen(0x02ec, 3) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080408
+packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080401
+packetLen(0x02ec, 17) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080325
+packetLen(0x02ec, 29) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080318
+packetLen(0x02ec, 10) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080311
+packetLen(0x02ec, 12) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080304
+packetLen(0x02ec, 60) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080102
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20081119
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20081112
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20081022
+packetLen(0x02ed, 30) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20081015
+packetLen(0x02ed, 5) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20081008
+packetLen(0x02ed, 4) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20081001
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080924
+packetLen(0x02ed, 17) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080917
+packetLen(0x02ed, 10) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080910
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080903
+packetLen(0x02ed, 15) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080827
+packetLen(0x02ed, 2) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080813
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080806
+packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080730
+packetLen(0x02ed, 29) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080715
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080708
+packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080624
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080617
+packetLen(0x02ed, 60) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080610
+packetLen(0x02ed, 7) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080603
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080528
+packetLen(0x02ed, 97) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080520
+packetLen(0x02ed, 11) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080513
+packetLen(0x02ed, 21) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080507
+packetLen(0x02ed, 10) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080429
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080422
+packetLen(0x02ed, 30) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080415
+packetLen(0x02ed, 53) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080408
+packetLen(0x02ed, 7) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080401
+packetLen(0x02ed, 11) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080325
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080318
+packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080304
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080102
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20081203
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20081126
+packetLen(0x02ee, 6) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20081119
+packetLen(0x02ee, 26) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20081112
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02ee, 14) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20081029
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20081008
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20081001
+packetLen(0x02ee, 6) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080924
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080910
+packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080903
+packetLen(0x02ee, 2) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080827
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080820
+packetLen(0x02ee, 8) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080813
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080806
+packetLen(0x02ee, 6) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080730
+packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080715
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080708
+packetLen(0x02ee, 36) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080610
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080603
+packetLen(0x02ee, 2) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080528
+packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080520
+packetLen(0x02ee, 28) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080507
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080429
+packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080422
+packetLen(0x02ee, 97) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080415
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080408
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080401
+packetLen(0x02ee, 42) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080325
+packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080318
+packetLen(0x02ee, 13) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080311
+packetLen(0x02ee, 81) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080304
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080102
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+#if PACKETVER >= 20080318
+packetLen(0x02f0, 10) // ZC_PROGRESS
+#endif
+
+// Packet: 0x02f1
+#if PACKETVER >= 20080318
+packetLen(0x02f1, 2) // CZ_PROGRESS
+#endif
+
+// Packet: 0x02f2
+#if PACKETVER >= 20080318
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+#endif
+
+// Packet: 0x02f3
+#if PACKETVER >= 20081217
+packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20081203
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20081126
+packetLen(0x02f3, 4) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20081022
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20081015
+packetLen(0x02f3, 7) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20081008
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20081001
+packetLen(0x02f3, 10) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080924
+packetLen(0x02f3, 58) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080910
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080903
+packetLen(0x02f3, 21) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080827
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080820
+packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080813
+packetLen(0x02f3, 10) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080806
+packetLen(0x02f3, 4) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080730
+packetLen(0x02f3, 10) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080722
+packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080715
+packetLen(0x02f3, 30) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080701
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080624
+packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080617
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080610
+packetLen(0x02f3, 30) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080603
+packetLen(0x02f3, 9) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080528
+packetLen(0x02f3, 26) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080520
+packetLen(0x02f3, 5) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080513
+packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080507
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080429
+packetLen(0x02f3, 7) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080422
+packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080415
+packetLen(0x02f3, 67) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080408
+packetLen(0x02f3, 23) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080401
+packetLen(0x02f3, 71) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20080325
+packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20081217
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20081203
+packetLen(0x02f4, 15) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20081126
+packetLen(0x02f4, 11) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20081112
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20081105
+packetLen(0x02f4, 2) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20081029
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20081015
+packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20081008
+packetLen(0x02f4, 7) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20081001
+packetLen(0x02f4, 8) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080924
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080917
+packetLen(0x02f4, 55) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080910
+packetLen(0x02f4, 11) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080813
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080806
+packetLen(0x02f4, 35) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080715
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080708
+packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080617
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080610
+packetLen(0x02f4, 30) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080507
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080429
+packetLen(0x02f4, 29) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080422
+packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080408
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080401
+packetLen(0x02f4, 9) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080325
+packetLen(0x02f4, 4) // ZC_IRMAIL_SEND_RES
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20081217
+packetLen(0x02f5, 6) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20081126
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20081119
+packetLen(0x02f5, 2) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20081112
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20081105
+packetLen(0x02f5, 90) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20081029
+packetLen(0x02f5, 6) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20081022
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20081015
+packetLen(0x02f5, 71) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20081001
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080924
+packetLen(0x02f5, 10) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080910
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080903
+packetLen(0x02f5, 3) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080813
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080806
+packetLen(0x02f5, 11) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080722
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080715
+packetLen(0x02f5, 2) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080708
+packetLen(0x02f5, 26) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080701
+packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080624
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080617
+packetLen(0x02f5, 26) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080610
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080603
+packetLen(0x02f5, 28) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080528
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080520
+packetLen(0x02f5, 2) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080513
+packetLen(0x02f5, 3) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080507
+packetLen(0x02f5, 5) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080429
+packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080422
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080415
+packetLen(0x02f5, 60) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080401
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20080325
+packetLen(0x02f5, 86) // ZC_IRMAIL_NOTIFY
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20081217
+packetLen(0x02f6, 4) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20081126
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20081119
+packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20081112
+packetLen(0x02f6, 29) // CZ_IRMAIL_LIST
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02f6, 10) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20081015
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20081008
+packetLen(0x02f6, 30) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20081001
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080924
+packetLen(0x02f6, 11) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080827
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080820
+packetLen(0x02f6, 22) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080806
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080730
+packetLen(0x02f6, 4) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080708
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080624
+packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080617
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080603
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080528
+packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080520
+packetLen(0x02f6, 12) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080513
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080507
+packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080429
+packetLen(0x02f6, 22) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080422
+packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080415
+packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080408
+packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080401
+packetLen(0x02f6, 6) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x02f6, 4) // CZ_IRMAIL_LIST
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20081217
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02f7, 2)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02f7, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x02f7, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x02f7, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x02f7, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x02f7, 54)
+#elif PACKETVER >= 20080730
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x02f7, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02f7, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x02f7, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x02f7, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x02f7, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x02f7, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02f7, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x02f7, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x02f7, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02f7, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20081126
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x02f8, 26)
+#elif PACKETVER >= 20081105
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x02f8, 43)
+#elif PACKETVER >= 20081015
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x02f8, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x02f8, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x02f8, 39)
+#elif PACKETVER >= 20080806
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x02f8, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x02f8, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x02f8, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x02f8, 22)
+#elif PACKETVER >= 20080701
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f8, 12)
+#elif PACKETVER >= 20080617
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x02f8, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02f8, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x02f8, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x02f8, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x02f8, 7)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20081217
+packetLen(0x02f9, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x02f9, 11)
+#elif PACKETVER >= 20081126
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x02f9, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x02f9, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x02f9, 17)
+#elif PACKETVER >= 20080806
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x02f9, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x02f9, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f9, 43)
+#elif PACKETVER >= 20080617
+packetLen(0x02f9, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x02f9, 71)
+#elif PACKETVER >= 20080528
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02f9, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x02f9, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x02f9, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x02f9, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x02f9, 6)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20081217
+packetLen(0x02fa, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02fa, 14)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x02fa, 23)
+#elif PACKETVER >= 20081022
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x02fa, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02fa, 54)
+#elif PACKETVER >= 20080903
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x02fa, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x02fa, 97)
+#elif PACKETVER >= 20080813
+packetLen(0x02fa, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x02fa, 27)
+#elif PACKETVER >= 20080715
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02fa, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x02fa, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x02fa, 65)
+#elif PACKETVER >= 20080528
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02fa, 27)
+#elif PACKETVER >= 20080507
+packetLen(0x02fa, 33)
+#elif PACKETVER >= 20080429
+packetLen(0x02fa, 68)
+#elif PACKETVER >= 20080422
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02fa, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x02fa, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x02fa, 16)
+#elif PACKETVER >= 20080325
+packetLen(0x02fa, 3)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20081217
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x02fb, 33)
+#elif PACKETVER >= 20081126
+packetLen(0x02fb, 20)
+#elif PACKETVER >= 20081112
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x02fb, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x02fb, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x02fb, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02fb, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x02fb, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fb, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02fb, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x02fb, 3)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20081217
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x02fc, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02fc, 54)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x02fc, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02fc, 42)
+#elif PACKETVER >= 20080903
+packetLen(0x02fc, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x02fc, 27)
+#elif PACKETVER >= 20080806
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x02fc, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02fc, 17)
+#elif PACKETVER >= 20080701
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02fc, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02fc, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02fc, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02fc, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02fc, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20081217
+packetLen(0x02fd, 11)
+#elif PACKETVER >= 20081203
+packetLen(0x02fd, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02fd, 55)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02fd, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x02fd, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x02fd, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x02fd, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x02fd, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x02fd, 20)
+#elif PACKETVER >= 20080715
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02fd, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x02fd, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x02fd, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fd, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02fd, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02fd, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02fd, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x02fd, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x02fd, 3)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20081217
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x02fe, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02fe, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x02fe, 34)
+#elif PACKETVER >= 20081008
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x02fe, 53)
+#elif PACKETVER >= 20080910
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x02fe, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x02fe, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x02fe, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02fe, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x02fe, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20081112
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x02ff, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x02ff, 16)
+#elif PACKETVER >= 20081001
+packetLen(0x02ff, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x02ff, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02ff, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x02ff, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x02ff, 18)
+#elif PACKETVER >= 20080820
+packetLen(0x02ff, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x02ff, 54)
+#elif PACKETVER >= 20080715
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02ff, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x02ff, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02ff, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x02ff, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x02ff, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02ff, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x02ff, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02ff, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x02ff, 6)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20081217
+packetLen(0x0300, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0300, 28)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0300, 67)
+#elif PACKETVER >= 20081008
+packetLen(0x0300, 22)
+#elif PACKETVER >= 20080910
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0300, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0300, 39)
+#elif PACKETVER >= 20080806
+packetLen(0x0300, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0300, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0300, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x0300, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0300, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x0300, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x0300, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0300, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0300, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x0300, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0300, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0300, 17)
+#elif PACKETVER >= 20080415
+packetLen(0x0300, 20)
+#elif PACKETVER >= 20080325
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20081203
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0301, 30)
+#elif PACKETVER >= 20081105
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0301, 17)
+#elif PACKETVER >= 20081022
+packetLen(0x0301, 33)
+#elif PACKETVER >= 20081015
+packetLen(0x0301, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0301, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x0301, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0301, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0301, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0301, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0301, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0301, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20081217
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0302, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0302, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0302, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0302, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0302, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x0302, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x0302, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0302, 21)
+#elif PACKETVER >= 20080617
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0302, 68)
+#elif PACKETVER >= 20080528
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0302, 58)
+#elif PACKETVER >= 20080513
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0302, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20081203
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0303, 13)
+#elif PACKETVER >= 20081119
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0303, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0303, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0303, 54)
+#elif PACKETVER >= 20080820
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0303, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0303, 12)
+#elif PACKETVER >= 20080715
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0303, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0303, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0303, 58)
+#elif PACKETVER >= 20080617
+packetLen(0x0303, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0303, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0303, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0303, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0303, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0303, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20081217
+packetLen(0x0304, 26)
+#elif PACKETVER >= 20081203
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0304, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0304, 53)
+#elif PACKETVER >= 20081029
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0304, 57)
+#elif PACKETVER >= 20081008
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0304, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x0304, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0304, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0304, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x0304, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0304, 20)
+#elif PACKETVER >= 20080610
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0304, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0304, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0304, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0304, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0304, 16)
+#elif PACKETVER >= 20080415
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20081217
+packetLen(0x0305, 282)
+#elif PACKETVER >= 20081203
+packetLen(0x0305, 11)
+#elif PACKETVER >= 20081126
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0305, 4)
+#elif PACKETVER >= 20081105
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0305, 24)
+#elif PACKETVER >= 20081008
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0305, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x0305, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0305, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0305, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0305, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0305, 22)
+#elif PACKETVER >= 20080701
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0305, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0305, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0305, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0305, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0305, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0305, 27)
+#elif PACKETVER >= 20080401
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20081217
+packetLen(0x0306, 33)
+#elif PACKETVER >= 20081126
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0306, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x0306, 39)
+#elif PACKETVER >= 20081022
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0306, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0306, 18)
+#elif PACKETVER >= 20080910
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0306, 34)
+#elif PACKETVER >= 20080827
+packetLen(0x0306, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0306, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x0306, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0306, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x0306, 12)
+#elif PACKETVER >= 20080701
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0306, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0306, 23)
+#elif PACKETVER >= 20080520
+packetLen(0x0306, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0306, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20081203
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0307, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0307, 21)
+#elif PACKETVER >= 20081112
+packetLen(0x0307, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0307, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0307, 29)
+#elif PACKETVER >= 20081022
+packetLen(0x0307, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0307, 67)
+#elif PACKETVER >= 20080903
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0307, 186)
+#elif PACKETVER >= 20080820
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0307, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0307, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0307, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0307, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0307, 58)
+#elif PACKETVER >= 20080603
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0307, 15)
+#elif PACKETVER >= 20080520
+packetLen(0x0307, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0307, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0307, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20081217
+packetLen(0x0308, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0308, 13)
+#elif PACKETVER >= 20081119
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0308, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0308, 33)
+#elif PACKETVER >= 20081022
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0308, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x0308, 44)
+#elif PACKETVER >= 20080917
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0308, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0308, 54)
+#elif PACKETVER >= 20080806
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0308, 67)
+#elif PACKETVER >= 20080722
+packetLen(0x0308, 54)
+#elif PACKETVER >= 20080617
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0308, 182)
+#elif PACKETVER >= 20080603
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0308, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0308, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0308, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0308, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0308, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0308, 10)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20081217
+packetLen(0x0309, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0309, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x0309, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0309, 22)
+#elif PACKETVER >= 20081029
+packetLen(0x0309, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0309, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0309, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x0309, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0309, 182)
+#elif PACKETVER >= 20080827
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0309, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x0309, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0309, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x0309, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0309, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0309, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0309, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0309, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0309, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0309, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0309, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0309, 6)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20081217
+packetLen(0x030a, 32)
+#elif PACKETVER >= 20081203
+packetLen(0x030a, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x030a, 282)
+#elif PACKETVER >= 20081112
+packetLen(0x030a, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x030a, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x030a, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x030a, 282)
+#elif PACKETVER >= 20080910
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x030a, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x030a, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x030a, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x030a, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x030a, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x030a, 35)
+#elif PACKETVER >= 20080610
+packetLen(0x030a, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x030a, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x030a, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x030a, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20081203
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x030b, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x030b, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x030b, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x030b, 32)
+#elif PACKETVER >= 20080730
+packetLen(0x030b, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x030b, 9)
+#elif PACKETVER >= 20080715
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x030b, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x030b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x030b, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x030b, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x030b, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x030b, 65)
+#elif PACKETVER >= 20080513
+packetLen(0x030b, 16)
+#elif PACKETVER >= 20080507
+packetLen(0x030b, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x030b, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x030b, 10)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20081217
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x030c, 66)
+#elif PACKETVER >= 20081112
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x030c, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x030c, 21)
+#elif PACKETVER >= 20081008
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x030c, 29)
+#elif PACKETVER >= 20080924
+packetLen(0x030c, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x030c, 27)
+#elif PACKETVER >= 20080910
+packetLen(0x030c, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x030c, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x030c, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030c, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x030c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x030c, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x030c, 36)
+#elif PACKETVER >= 20080520
+packetLen(0x030c, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x030c, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030c, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x030c, 66)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20081217
+packetLen(0x030d, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x030d, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x030d, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x030d, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x030d, 54)
+#elif PACKETVER >= 20081015
+packetLen(0x030d, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x030d, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x030d, 97)
+#elif PACKETVER >= 20080924
+packetLen(0x030d, 28)
+#elif PACKETVER >= 20080903
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x030d, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x030d, 31)
+#elif PACKETVER >= 20080806
+packetLen(0x030d, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x030d, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x030d, 32)
+#elif PACKETVER >= 20080708
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x030d, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x030d, 282)
+#elif PACKETVER >= 20080610
+packetLen(0x030d, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x030d, 71)
+#elif PACKETVER >= 20080520
+packetLen(0x030d, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x030d, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030d, 19)
+#elif PACKETVER >= 20080408
+packetLen(0x030d, 10)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20081217
+packetLen(0x030e, 5)
+#elif PACKETVER >= 20081022
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x030e, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x030e, 58)
+#elif PACKETVER >= 20080910
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x030e, 21)
+#elif PACKETVER >= 20080730
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x030e, 27)
+#elif PACKETVER >= 20080701
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030e, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x030e, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x030e, 3)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20081217
+packetLen(0x030f, 53)
+#elif PACKETVER >= 20081203
+packetLen(0x030f, 28)
+#elif PACKETVER >= 20081029
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x030f, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x030f, 54)
+#elif PACKETVER >= 20080910
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x030f, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x030f, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x030f, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x030f, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030f, 17)
+#elif PACKETVER >= 20080617
+packetLen(0x030f, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x030f, 67)
+#elif PACKETVER >= 20080507
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x030f, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030f, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20081217
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0310, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0310, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x0310, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0310, 17)
+#elif PACKETVER >= 20080924
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x0310, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x0310, 27)
+#elif PACKETVER >= 20080820
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0310, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0310, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0310, 13)
+#elif PACKETVER >= 20080708
+packetLen(0x0310, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x0310, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x0310, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0310, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0310, 182)
+#elif PACKETVER >= 20080507
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0310, 57)
+#elif PACKETVER >= 20080415
+packetLen(0x0310, 59)
+#elif PACKETVER >= 20080408
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20081217
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0311, 15)
+#elif PACKETVER >= 20081126
+packetLen(0x0311, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0311, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0311, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0311, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0311, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0311, 71)
+#elif PACKETVER >= 20080820
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0311, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0311, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0311, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0311, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x0311, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0311, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0311, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0311, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0311, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0311, 10)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20081022
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0312, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0312, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0312, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0312, 34)
+#elif PACKETVER >= 20080603
+packetLen(0x0312, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0312, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0312, 81)
+#elif PACKETVER >= 20080422
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0312, 67)
+#elif PACKETVER >= 20080408
+packetLen(0x0312, 6)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20081126
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0313, 282)
+#elif PACKETVER >= 20081112
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0313, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0313, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0313, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0313, 9)
+#elif PACKETVER >= 20080903
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0313, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0313, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0313, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0313, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0313, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x0313, 282)
+#elif PACKETVER >= 20080422
+packetLen(0x0313, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0313, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0313, 2)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20081217
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0314, 26)
+#elif PACKETVER >= 20081119
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0314, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0314, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x0314, 32)
+#elif PACKETVER >= 20081001
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0314, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0314, 42)
+#elif PACKETVER >= 20080903
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0314, 13)
+#elif PACKETVER >= 20080820
+packetLen(0x0314, 14)
+#elif PACKETVER >= 20080806
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0314, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0314, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0314, 29)
+#elif PACKETVER >= 20080408
+packetLen(0x0314, 12)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20081217
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0315, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0315, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0315, 18)
+#elif PACKETVER >= 20081029
+packetLen(0x0315, 12)
+#elif PACKETVER >= 20081022
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0315, 54)
+#elif PACKETVER >= 20081008
+packetLen(0x0315, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0315, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x0315, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0315, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0315, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0315, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0315, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0315, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0315, 67)
+#elif PACKETVER >= 20080513
+packetLen(0x0315, 60)
+#elif PACKETVER >= 20080429
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0315, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0315, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0315, 44)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20081217
+packetLen(0x0316, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x0316, 31)
+#elif PACKETVER >= 20081126
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0316, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0316, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0316, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0316, 9)
+#elif PACKETVER >= 20080827
+packetLen(0x0316, 282)
+#elif PACKETVER >= 20080820
+packetLen(0x0316, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0316, 97)
+#elif PACKETVER >= 20080617
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0316, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x0316, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x0316, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0316, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0316, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0316, 16)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20081022
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0317, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x0317, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x0317, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0317, 5)
+#elif PACKETVER >= 20080910
+packetLen(0x0317, 18)
+#elif PACKETVER >= 20080903
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0317, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0317, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x0317, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0317, 79)
+#elif PACKETVER >= 20080715
+packetLen(0x0317, 60)
+#elif PACKETVER >= 20080701
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0317, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0317, 21)
+#elif PACKETVER >= 20080520
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0317, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0317, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20081217
+packetLen(0x0318, 59)
+#elif PACKETVER >= 20081126
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0318, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0318, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0318, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0318, 22)
+#elif PACKETVER >= 20080903
+packetLen(0x0318, 42)
+#elif PACKETVER >= 20080827
+packetLen(0x0318, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0318, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0318, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0318, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x0318, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0318, 26)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20081112
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0319, 12)
+#elif PACKETVER >= 20081022
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0319, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x0319, 29)
+#elif PACKETVER >= 20081001
+packetLen(0x0319, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0319, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x0319, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0319, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0319, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0319, 19)
+#elif PACKETVER >= 20080528
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0319, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0319, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0319, 17)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20081217
+packetLen(0x031a, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x031a, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x031a, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x031a, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x031a, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031a, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x031a, 12)
+#elif PACKETVER >= 20080701
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x031a, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x031a, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x031a, 86)
+#elif PACKETVER >= 20080507
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031a, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x031a, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x031a, 4)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20081217
+packetLen(0x031b, 282)
+#elif PACKETVER >= 20081203
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x031b, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x031b, 18)
+#elif PACKETVER >= 20081105
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x031b, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x031b, 18)
+#elif PACKETVER >= 20081001
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x031b, 20)
+#elif PACKETVER >= 20080910
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x031b, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x031b, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x031b, 60)
+#elif PACKETVER >= 20080715
+packetLen(0x031b, 114)
+#elif PACKETVER >= 20080610
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x031b, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x031b, 42)
+#elif PACKETVER >= 20080429
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x031b, 10)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20081126
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x031c, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x031c, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x031c, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031c, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x031c, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x031c, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x031c, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x031c, 39)
+#elif PACKETVER >= 20080708
+packetLen(0x031c, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x031c, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x031c, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x031c, 44)
+#elif PACKETVER >= 20080513
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x031c, 17)
+#elif PACKETVER >= 20080429
+packetLen(0x031c, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x031c, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031c, 23)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20081217
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x031d, 60)
+#elif PACKETVER >= 20081126
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x031d, 22)
+#elif PACKETVER >= 20081105
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x031d, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x031d, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x031d, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x031d, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x031d, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031d, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x031d, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x031d, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x031d, 31)
+#elif PACKETVER >= 20080715
+packetLen(0x031d, 282)
+#elif PACKETVER >= 20080708
+packetLen(0x031d, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x031d, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031d, 35)
+#elif PACKETVER >= 20080422
+packetLen(0x031d, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031d, 2)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20081217
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x031e, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x031e, 26)
+#elif PACKETVER >= 20081119
+packetLen(0x031e, 12)
+#elif PACKETVER >= 20081029
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x031e, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x031e, 15)
+#elif PACKETVER >= 20080924
+packetLen(0x031e, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x031e, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x031e, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x031e, 13)
+#elif PACKETVER >= 20080715
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x031e, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x031e, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x031e, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031e, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x031e, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x031e, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20081203
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x031f, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x031f, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x031f, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x031f, 28)
+#elif PACKETVER >= 20081001
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x031f, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031f, 30)
+#elif PACKETVER >= 20080806
+packetLen(0x031f, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x031f, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x031f, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x031f, 32)
+#elif PACKETVER >= 20080617
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x031f, 54)
+#elif PACKETVER >= 20080603
+packetLen(0x031f, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x031f, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x031f, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x031f, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x031f, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031f, 30)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20081217
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0320, 21)
+#elif PACKETVER >= 20081126
+packetLen(0x0320, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0320, 35)
+#elif PACKETVER >= 20081029
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0320, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0320, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0320, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0320, 28)
+#elif PACKETVER >= 20080708
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0320, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0320, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x0320, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0320, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0320, 15)
+#elif PACKETVER >= 20080415
+packetLen(0x0320, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0320, 15)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20081217
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0321, 53)
+#elif PACKETVER >= 20081126
+packetLen(0x0321, 37)
+#elif PACKETVER >= 20081119
+packetLen(0x0321, 68)
+#elif PACKETVER >= 20081029
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0321, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0321, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0321, 29)
+#elif PACKETVER >= 20080910
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0321, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0321, 29)
+#elif PACKETVER >= 20080820
+packetLen(0x0321, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0321, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0321, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0321, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x0321, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0321, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0321, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0321, 24)
+#elif PACKETVER >= 20080408
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20081217
+packetLen(0x0322, 27)
+#elif PACKETVER >= 20081126
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0322, 3)
+#elif PACKETVER >= 20081105
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0322, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0322, 31)
+#elif PACKETVER >= 20081015
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0322, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0322, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0322, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0322, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x0322, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0322, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0322, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0322, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0322, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0322, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0322, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0322, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0322, 68)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20081217
+packetLen(0x0323, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0323, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x0323, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x0323, 54)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0323, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0323, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x0323, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0323, 182)
+#elif PACKETVER >= 20080730
+packetLen(0x0323, 68)
+#elif PACKETVER >= 20080701
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0323, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0323, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x0323, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x0323, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0323, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0323, 186)
+#elif PACKETVER >= 20080429
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0323, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0323, 34)
+#elif PACKETVER >= 20080408
+packetLen(0x0323, 7)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20081217
+packetLen(0x0324, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x0324, 21)
+#elif PACKETVER >= 20081126
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0324, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0324, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x0324, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0324, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x0324, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0324, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0324, 31)
+#elif PACKETVER >= 20080715
+packetLen(0x0324, 22)
+#elif PACKETVER >= 20080701
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0324, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0324, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x0324, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x0324, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0324, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0324, 13)
+#elif PACKETVER >= 20080429
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0324, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20081203
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0325, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0325, 31)
+#elif PACKETVER >= 20081022
+packetLen(0x0325, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0325, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0325, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0325, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0325, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0325, 13)
+#elif PACKETVER >= 20080701
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0325, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0325, 39)
+#elif PACKETVER >= 20080513
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0325, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0325, 6)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20081217
+packetLen(0x0326, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x0326, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0326, 39)
+#elif PACKETVER >= 20081008
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0326, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0326, 28)
+#elif PACKETVER >= 20080813
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0326, 60)
+#elif PACKETVER >= 20080715
+packetLen(0x0326, 36)
+#elif PACKETVER >= 20080617
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0326, 42)
+#elif PACKETVER >= 20080528
+packetLen(0x0326, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0326, 21)
+#elif PACKETVER >= 20080507
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0326, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x0326, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20080917
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0327, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0327, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0327, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0327, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0327, 60)
+#elif PACKETVER >= 20080715
+packetLen(0x0327, 54)
+#elif PACKETVER >= 20080701
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0327, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0327, 5)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20081217
+packetLen(0x0328, 26)
+#elif PACKETVER >= 20081203
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0328, 19)
+#elif PACKETVER >= 20081119
+packetLen(0x0328, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0328, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0328, 58)
+#elif PACKETVER >= 20081008
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0328, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x0328, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x0328, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x0328, 65)
+#elif PACKETVER >= 20080903
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0328, 55)
+#elif PACKETVER >= 20080708
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0328, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0328, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x0328, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0328, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0328, 54)
+#elif PACKETVER >= 20080513
+packetLen(0x0328, 19)
+#elif PACKETVER >= 20080507
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0328, 90)
+#elif PACKETVER >= 20080422
+packetLen(0x0328, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0328, 14)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20081203
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0329, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0329, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0329, 22)
+#elif PACKETVER >= 20081008
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0329, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0329, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0329, 54)
+#elif PACKETVER >= 20080708
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0329, 186)
+#elif PACKETVER >= 20080624
+packetLen(0x0329, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0329, 23)
+#elif PACKETVER >= 20080528
+packetLen(0x0329, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0329, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0329, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0329, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20081217
+packetLen(0x032a, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x032a, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x032a, 21)
+#elif PACKETVER >= 20081022
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x032a, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x032a, 29)
+#elif PACKETVER >= 20080910
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x032a, 114)
+#elif PACKETVER >= 20080827
+packetLen(0x032a, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x032a, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x032a, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x032a, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x032a, 17)
+#elif PACKETVER >= 20080624
+packetLen(0x032a, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x032a, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x032a, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032a, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x032a, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x032a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x032a, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x032a, 8)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20081203
+packetLen(0x032b, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x032b, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x032b, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x032b, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x032b, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x032b, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x032b, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x032b, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x032b, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x032b, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032b, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x032b, 44)
+#elif PACKETVER >= 20080429
+packetLen(0x032b, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032b, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20081126
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x032c, 9)
+#elif PACKETVER >= 20081112
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x032c, 5)
+#elif PACKETVER >= 20081029
+packetLen(0x032c, 22)
+#elif PACKETVER >= 20081022
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x032c, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x032c, 67)
+#elif PACKETVER >= 20080917
+packetLen(0x032c, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x032c, 15)
+#elif PACKETVER >= 20080903
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x032c, 22)
+#elif PACKETVER >= 20080813
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x032c, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x032c, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x032c, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x032c, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032c, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032c, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x032c, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x032c, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20081217
+packetLen(0x032d, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x032d, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x032d, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x032d, 17)
+#elif PACKETVER >= 20081029
+packetLen(0x032d, 282)
+#elif PACKETVER >= 20081022
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x032d, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x032d, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x032d, 58)
+#elif PACKETVER >= 20080820
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x032d, 12)
+#elif PACKETVER >= 20080806
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x032d, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x032d, 32)
+#elif PACKETVER >= 20080617
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032d, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x032d, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x032d, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x032d, 90)
+#elif PACKETVER >= 20080415
+packetLen(0x032d, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20081203
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x032e, 44)
+#elif PACKETVER >= 20081015
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x032e, 22)
+#elif PACKETVER >= 20081001
+packetLen(0x032e, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x032e, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x032e, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x032e, 11)
+#elif PACKETVER >= 20080730
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x032e, 67)
+#elif PACKETVER >= 20080708
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x032e, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032e, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032e, 20)
+#elif PACKETVER >= 20080507
+packetLen(0x032e, 24)
+#elif PACKETVER >= 20080429
+packetLen(0x032e, 42)
+#elif PACKETVER >= 20080422
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x032e, 27)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20081126
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x032f, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x032f, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x032f, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x032f, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x032f, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x032f, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x032f, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x032f, 53)
+#elif PACKETVER >= 20080603
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032f, 58)
+#elif PACKETVER >= 20080520
+packetLen(0x032f, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x032f, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x032f, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032f, 27)
+#elif PACKETVER >= 20080408
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20081217
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0330, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0330, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0330, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0330, 22)
+#elif PACKETVER >= 20080820
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0330, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x0330, 54)
+#elif PACKETVER >= 20080722
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0330, 15)
+#elif PACKETVER >= 20080708
+packetLen(0x0330, 11)
+#elif PACKETVER >= 20080701
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0330, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0330, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0330, 67)
+#elif PACKETVER >= 20080603
+packetLen(0x0330, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0330, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0330, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0330, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x0330, 54)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20081217
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0331, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0331, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0331, 60)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0331, 15)
+#elif PACKETVER >= 20081029
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0331, 186)
+#elif PACKETVER >= 20081015
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0331, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0331, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0331, 16)
+#elif PACKETVER >= 20080722
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0331, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0331, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0331, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0331, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0331, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0331, 54)
+#elif PACKETVER >= 20080422
+packetLen(0x0331, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0331, 12)
+#elif PACKETVER >= 20080408
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20081217
+packetLen(0x0332, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0332, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0332, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x0332, 58)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0332, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0332, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x0332, 60)
+#elif PACKETVER >= 20081001
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0332, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0332, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0332, 15)
+#elif PACKETVER >= 20080624
+packetLen(0x0332, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0332, 114)
+#elif PACKETVER >= 20080415
+packetLen(0x0332, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0332, 4)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20081217
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0333, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0333, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0333, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0333, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0333, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0333, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0333, 16)
+#elif PACKETVER >= 20080730
+packetLen(0x0333, 90)
+#elif PACKETVER >= 20080722
+packetLen(0x0333, 186)
+#elif PACKETVER >= 20080715
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0333, 18)
+#elif PACKETVER >= 20080701
+packetLen(0x0333, 28)
+#elif PACKETVER >= 20080610
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0333, 17)
+#elif PACKETVER >= 20080528
+packetLen(0x0333, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0333, 29)
+#elif PACKETVER >= 20080507
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0333, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0333, 35)
+#elif PACKETVER >= 20080415
+packetLen(0x0333, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20081217
+packetLen(0x0334, 27)
+#elif PACKETVER >= 20081203
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0334, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0334, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x0334, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0334, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0334, 28)
+#elif PACKETVER >= 20080813
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0334, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0334, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0334, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0334, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0334, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x0334, 60)
+#elif PACKETVER >= 20080507
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0334, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0334, 5)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20081217
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0335, 9)
+#elif PACKETVER >= 20081126
+packetLen(0x0335, 36)
+#elif PACKETVER >= 20081119
+packetLen(0x0335, 282)
+#elif PACKETVER >= 20081022
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0335, 60)
+#elif PACKETVER >= 20081008
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0335, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x0335, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0335, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0335, 28)
+#elif PACKETVER >= 20080701
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0335, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0335, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x0335, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0335, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0335, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x0335, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0335, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20081126
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0336, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x0336, 23)
+#elif PACKETVER >= 20081001
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0336, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0336, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0336, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0336, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0336, 97)
+#elif PACKETVER >= 20080722
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0336, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0336, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0336, 33)
+#elif PACKETVER >= 20080603
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0336, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0336, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0336, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0336, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0336, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0336, 6)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20081217
+packetLen(0x0337, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0337, 36)
+#elif PACKETVER >= 20080924
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0337, 54)
+#elif PACKETVER >= 20080910
+packetLen(0x0337, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0337, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x0337, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0337, 43)
+#elif PACKETVER >= 20080722
+packetLen(0x0337, 33)
+#elif PACKETVER >= 20080715
+packetLen(0x0337, 23)
+#elif PACKETVER >= 20080708
+packetLen(0x0337, 32)
+#elif PACKETVER >= 20080624
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0337, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0337, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0337, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0337, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0337, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0337, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0337, 58)
+#elif PACKETVER >= 20080415
+packetLen(0x0337, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x0337, 42)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20081001
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0338, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0338, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0338, 28)
+#elif PACKETVER >= 20080903
+packetLen(0x0338, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0338, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0338, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0338, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x0338, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0338, 44)
+#elif PACKETVER >= 20080701
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0338, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0338, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x0338, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0338, 67)
+#elif PACKETVER >= 20080415
+packetLen(0x0338, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20081217
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0339, 17)
+#elif PACKETVER >= 20081126
+packetLen(0x0339, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0339, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0339, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0339, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0339, 16)
+#elif PACKETVER >= 20080806
+packetLen(0x0339, 17)
+#elif PACKETVER >= 20080730
+packetLen(0x0339, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x0339, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x0339, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0339, 39)
+#elif PACKETVER >= 20080617
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0339, 27)
+#elif PACKETVER >= 20080603
+packetLen(0x0339, 79)
+#elif PACKETVER >= 20080528
+packetLen(0x0339, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0339, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0339, 7)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20081217
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x033a, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x033a, 114)
+#elif PACKETVER >= 20081119
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x033a, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x033a, 57)
+#elif PACKETVER >= 20080903
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x033a, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x033a, 67)
+#elif PACKETVER >= 20080730
+packetLen(0x033a, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x033a, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x033a, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033a, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x033a, 67)
+#elif PACKETVER >= 20080520
+packetLen(0x033a, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x033a, 39)
+#elif PACKETVER >= 20080507
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x033a, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x033a, 32)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20081217
+packetLen(0x033b, 97)
+#elif PACKETVER >= 20081203
+packetLen(0x033b, 67)
+#elif PACKETVER >= 20081126
+packetLen(0x033b, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x033b, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x033b, 186)
+#elif PACKETVER >= 20081029
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x033b, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x033b, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x033b, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x033b, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x033b, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x033b, 182)
+#elif PACKETVER >= 20080507
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x033b, 20)
+#elif PACKETVER >= 20080422
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x033b, 3)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20081203
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x033c, 282)
+#elif PACKETVER >= 20081105
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x033c, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x033c, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x033c, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x033c, 59)
+#elif PACKETVER >= 20081001
+packetLen(0x033c, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x033c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x033c, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x033c, 16)
+#elif PACKETVER >= 20080730
+packetLen(0x033c, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x033c, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x033c, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x033c, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x033c, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033c, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x033c, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x033c, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x033c, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x033c, 21)
+#elif PACKETVER >= 20080408
+packetLen(0x033c, 86)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20081217
+packetLen(0x033d, 43)
+#elif PACKETVER >= 20081203
+packetLen(0x033d, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x033d, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x033d, 29)
+#elif PACKETVER >= 20080924
+packetLen(0x033d, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x033d, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x033d, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x033d, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x033d, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x033d, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x033d, 32)
+#elif PACKETVER >= 20080624
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x033d, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x033d, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x033d, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x033d, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x033d, 10)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20081203
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x033e, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x033e, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x033e, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x033e, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x033e, 71)
+#elif PACKETVER >= 20080924
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x033e, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x033e, 22)
+#elif PACKETVER >= 20080820
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x033e, 12)
+#elif PACKETVER >= 20080806
+packetLen(0x033e, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x033e, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x033e, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x033e, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x033e, 33)
+#elif PACKETVER >= 20080422
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x033e, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x033e, 9)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20081126
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x033f, 12)
+#elif PACKETVER >= 20081112
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x033f, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x033f, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x033f, 33)
+#elif PACKETVER >= 20081008
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x033f, 31)
+#elif PACKETVER >= 20080924
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x033f, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x033f, 12)
+#elif PACKETVER >= 20080813
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x033f, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x033f, 57)
+#elif PACKETVER >= 20080722
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x033f, 17)
+#elif PACKETVER >= 20080701
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x033f, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x033f, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x033f, 27)
+#elif PACKETVER >= 20080429
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x033f, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20081217
+packetLen(0x0340, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0340, 66)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0340, 12)
+#elif PACKETVER >= 20080917
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0340, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0340, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0340, 32)
+#elif PACKETVER >= 20080715
+packetLen(0x0340, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0340, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0340, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0340, 19)
+#elif PACKETVER >= 20080513
+packetLen(0x0340, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0340, 18)
+#elif PACKETVER >= 20080429
+packetLen(0x0340, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0340, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20081112
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0341, 27)
+#elif PACKETVER >= 20081029
+packetLen(0x0341, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0341, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x0341, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0341, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0341, 57)
+#elif PACKETVER >= 20080813
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0341, 33)
+#elif PACKETVER >= 20080722
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0341, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x0341, 58)
+#elif PACKETVER >= 20080617
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0341, 16)
+#elif PACKETVER >= 20080429
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0341, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0341, 2)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20081203
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0342, 60)
+#elif PACKETVER >= 20081112
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0342, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0342, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0342, 9)
+#elif PACKETVER >= 20080813
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0342, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0342, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0342, 186)
+#elif PACKETVER >= 20080610
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0342, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0342, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0342, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0342, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0342, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0342, 4)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20081217
+packetLen(0x0343, 21)
+#elif PACKETVER >= 20081203
+packetLen(0x0343, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0343, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0343, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0343, 67)
+#elif PACKETVER >= 20081029
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0343, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x0343, 97)
+#elif PACKETVER >= 20081008
+packetLen(0x0343, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0343, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0343, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0343, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0343, 71)
+#elif PACKETVER >= 20080827
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0343, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0343, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0343, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0343, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0343, 17)
+#elif PACKETVER >= 20080422
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0343, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20081217
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0344, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0344, 32)
+#elif PACKETVER >= 20080924
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0344, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0344, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x0344, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0344, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0344, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0344, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0344, 35)
+#elif PACKETVER >= 20080603
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0344, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0344, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0344, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20081217
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0345, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0345, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x0345, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0345, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x0345, 186)
+#elif PACKETVER >= 20080827
+packetLen(0x0345, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0345, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0345, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x0345, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x0345, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x0345, 27)
+#elif PACKETVER >= 20080708
+packetLen(0x0345, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0345, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0345, 60)
+#elif PACKETVER >= 20080617
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0345, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0345, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0345, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0345, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20081217
+packetLen(0x0346, 13)
+#elif PACKETVER >= 20081126
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0346, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0346, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0346, 31)
+#elif PACKETVER >= 20080924
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0346, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0346, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0346, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0346, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0346, 16)
+#elif PACKETVER >= 20080603
+packetLen(0x0346, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0346, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0346, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x0346, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0346, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0346, 55)
+#elif PACKETVER >= 20080408
+packetLen(0x0346, 8)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20081217
+packetLen(0x0347, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0347, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0347, 32)
+#elif PACKETVER >= 20080813
+packetLen(0x0347, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0347, 16)
+#elif PACKETVER >= 20080701
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0347, 29)
+#elif PACKETVER >= 20080513
+packetLen(0x0347, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0347, 39)
+#elif PACKETVER >= 20080422
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0347, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20081217
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0348, 5)
+#elif PACKETVER >= 20081105
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0348, 31)
+#elif PACKETVER >= 20081015
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0348, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x0348, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0348, 17)
+#elif PACKETVER >= 20080827
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0348, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0348, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0348, 11)
+#elif PACKETVER >= 20080701
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0348, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0348, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0348, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0348, 6)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20081217
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0349, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0349, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0349, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0349, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0349, 31)
+#elif PACKETVER >= 20080917
+packetLen(0x0349, 32)
+#elif PACKETVER >= 20080910
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0349, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0349, 20)
+#elif PACKETVER >= 20080806
+packetLen(0x0349, 16)
+#elif PACKETVER >= 20080730
+packetLen(0x0349, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x0349, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0349, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0349, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x0349, 36)
+#elif PACKETVER >= 20080507
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0349, 54)
+#elif PACKETVER >= 20080422
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0349, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x0349, 4)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20081217
+packetLen(0x034a, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x034a, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x034a, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x034a, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x034a, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x034a, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x034a, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x034a, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x034a, 57)
+#elif PACKETVER >= 20080624
+packetLen(0x034a, 34)
+#elif PACKETVER >= 20080617
+packetLen(0x034a, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034a, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x034a, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034a, 59)
+#elif PACKETVER >= 20080429
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20081203
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x034b, 27)
+#elif PACKETVER >= 20081119
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x034b, 14)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x034b, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x034b, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x034b, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x034b, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x034b, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x034b, 28)
+#elif PACKETVER >= 20080813
+packetLen(0x034b, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x034b, 282)
+#elif PACKETVER >= 20080730
+packetLen(0x034b, 18)
+#elif PACKETVER >= 20080715
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x034b, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x034b, 24)
+#elif PACKETVER >= 20080624
+packetLen(0x034b, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x034b, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034b, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x034b, 60)
+#elif PACKETVER >= 20080422
+packetLen(0x034b, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x034b, 65)
+#elif PACKETVER >= 20080408
+packetLen(0x034b, 7)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20081217
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x034c, 33)
+#elif PACKETVER >= 20081126
+packetLen(0x034c, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x034c, 2)
+#elif PACKETVER >= 20081105
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x034c, 282)
+#elif PACKETVER >= 20080924
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x034c, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x034c, 21)
+#elif PACKETVER >= 20080813
+packetLen(0x034c, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x034c, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x034c, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x034c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034c, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x034c, 86)
+#elif PACKETVER >= 20080520
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034c, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x034c, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20081217
+packetLen(0x034d, 60)
+#elif PACKETVER >= 20081126
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x034d, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x034d, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x034d, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x034d, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x034d, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x034d, 36)
+#elif PACKETVER >= 20080715
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x034d, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034d, 36)
+#elif PACKETVER >= 20080415
+packetLen(0x034d, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x034d, 2)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20081217
+packetLen(0x034e, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x034e, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x034e, 32)
+#elif PACKETVER >= 20081022
+packetLen(0x034e, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x034e, 19)
+#elif PACKETVER >= 20080722
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x034e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x034e, 59)
+#elif PACKETVER >= 20080520
+packetLen(0x034e, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034e, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x034e, 90)
+#elif PACKETVER >= 20080408
+packetLen(0x034e, 11)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20081217
+packetLen(0x034f, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x034f, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x034f, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x034f, 67)
+#elif PACKETVER >= 20080924
+packetLen(0x034f, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x034f, 35)
+#elif PACKETVER >= 20080820
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x034f, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x034f, 20)
+#elif PACKETVER >= 20080701
+packetLen(0x034f, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x034f, 71)
+#elif PACKETVER >= 20080617
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x034f, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x034f, 27)
+#elif PACKETVER >= 20080520
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034f, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x034f, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x034f, 18)
+#elif PACKETVER >= 20080415
+packetLen(0x034f, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x034f, 2)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20081203
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0350, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0350, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0350, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0350, 15)
+#elif PACKETVER >= 20081015
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0350, 30)
+#elif PACKETVER >= 20080806
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0350, 66)
+#elif PACKETVER >= 20080722
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0350, 43)
+#elif PACKETVER >= 20080708
+packetLen(0x0350, 13)
+#elif PACKETVER >= 20080624
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0350, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0350, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0350, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20081217
+packetLen(0x0351, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x0351, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0351, 33)
+#elif PACKETVER >= 20081029
+packetLen(0x0351, 66)
+#elif PACKETVER >= 20081022
+packetLen(0x0351, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0351, 27)
+#elif PACKETVER >= 20081001
+packetLen(0x0351, 23)
+#elif PACKETVER >= 20080917
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0351, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0351, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0351, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x0351, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0351, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x0351, 16)
+#elif PACKETVER >= 20080708
+packetLen(0x0351, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0351, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x0351, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0351, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0351, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0351, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0351, 15)
+#elif PACKETVER >= 20080408
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20081217
+packetLen(0x0352, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0352, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x0352, 28)
+#elif PACKETVER >= 20081112
+packetLen(0x0352, 22)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0352, 66)
+#elif PACKETVER >= 20081029
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0352, 17)
+#elif PACKETVER >= 20081001
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0352, 12)
+#elif PACKETVER >= 20080917
+packetLen(0x0352, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0352, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0352, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0352, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0352, 9)
+#elif PACKETVER >= 20080715
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0352, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0352, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0352, 60)
+#elif PACKETVER >= 20080603
+packetLen(0x0352, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0352, 54)
+#elif PACKETVER >= 20080520
+packetLen(0x0352, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0352, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0352, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0352, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0352, 8)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20081217
+packetLen(0x0353, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0353, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0353, 29)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0353, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x0353, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0353, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x0353, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0353, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x0353, 29)
+#elif PACKETVER >= 20080722
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0353, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x0353, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0353, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0353, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0353, 34)
+#elif PACKETVER >= 20080429
+packetLen(0x0353, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20081217
+packetLen(0x0354, 19)
+#elif PACKETVER >= 20081126
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0354, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0354, 36)
+#elif PACKETVER >= 20080910
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0354, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0354, 23)
+#elif PACKETVER >= 20080624
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0354, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0354, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0354, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0354, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0354, 182)
+#elif PACKETVER >= 20080415
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0354, 3)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20081217
+packetLen(0x0355, 16)
+#elif PACKETVER >= 20081203
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0355, 26)
+#elif PACKETVER >= 20081119
+packetLen(0x0355, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0355, 60)
+#elif PACKETVER >= 20081029
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0355, 20)
+#elif PACKETVER >= 20081015
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0355, 54)
+#elif PACKETVER >= 20080917
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0355, 53)
+#elif PACKETVER >= 20080903
+packetLen(0x0355, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0355, 26)
+#elif PACKETVER >= 20080715
+packetLen(0x0355, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0355, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x0355, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0355, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0355, 55)
+#elif PACKETVER >= 20080528
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0355, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0355, 33)
+#elif PACKETVER >= 20080507
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0355, 36)
+#elif PACKETVER >= 20080422
+packetLen(0x0355, 39)
+#elif PACKETVER >= 20080415
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0355, 2)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20081119
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0356, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0356, 30)
+#elif PACKETVER >= 20081029
+packetLen(0x0356, 11)
+#elif PACKETVER >= 20081008
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0356, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x0356, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0356, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0356, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0356, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x0356, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0356, 27)
+#elif PACKETVER >= 20080513
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0356, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0356, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0356, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x0356, 57)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20081126
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0357, 54)
+#elif PACKETVER >= 20081112
+packetLen(0x0357, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0357, 7)
+#elif PACKETVER >= 20081029
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0357, 23)
+#elif PACKETVER >= 20081015
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0357, 36)
+#elif PACKETVER >= 20081001
+packetLen(0x0357, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0357, 67)
+#elif PACKETVER >= 20080917
+packetLen(0x0357, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0357, 23)
+#elif PACKETVER >= 20080827
+packetLen(0x0357, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0357, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0357, 282)
+#elif PACKETVER >= 20080708
+packetLen(0x0357, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0357, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0357, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0357, 21)
+#elif PACKETVER >= 20080513
+packetLen(0x0357, 31)
+#elif PACKETVER >= 20080507
+packetLen(0x0357, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0357, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x0357, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0357, 33)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20081119
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0358, 13)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0358, 27)
+#elif PACKETVER >= 20080924
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0358, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0358, 20)
+#elif PACKETVER >= 20080624
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0358, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0358, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0358, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0358, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0358, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0358, 10)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20081105
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0359, 16)
+#elif PACKETVER >= 20081022
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0359, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0359, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x0359, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0359, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0359, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0359, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0359, 102)
+#elif PACKETVER >= 20080617
+packetLen(0x0359, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0359, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0359, 16)
+#elif PACKETVER >= 20080520
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0359, 55)
+#elif PACKETVER >= 20080429
+packetLen(0x0359, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20081217
+packetLen(0x035a, 12)
+#elif PACKETVER >= 20081119
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x035a, 20)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x035a, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x035a, 53)
+#elif PACKETVER >= 20080910
+packetLen(0x035a, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x035a, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x035a, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x035a, 55)
+#elif PACKETVER >= 20080730
+packetLen(0x035a, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x035a, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x035a, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x035a, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x035a, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x035a, 31)
+#elif PACKETVER >= 20080513
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x035a, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x035a, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x035a, 79)
+#elif PACKETVER >= 20080415
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20081203
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x035b, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x035b, 31)
+#elif PACKETVER >= 20081022
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x035b, 24)
+#elif PACKETVER >= 20081001
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x035b, 29)
+#elif PACKETVER >= 20080910
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x035b, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x035b, 19)
+#elif PACKETVER >= 20080813
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x035b, 11)
+#elif PACKETVER >= 20080730
+packetLen(0x035b, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x035b, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x035b, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x035b, 29)
+#elif PACKETVER >= 20080610
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x035b, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x035b, 16)
+#elif PACKETVER >= 20080520
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x035b, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x035b, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x035b, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x035b, 3)
+#endif
+
+// Packet: 0x035c
+#if PACKETVER >= 20080520
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+#endif
+
+// Packet: 0x035d
+#if PACKETVER >= 20080521
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+#elif PACKETVER >= 20080520
+packetLen(0x035d, 10) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+#endif
+
+// Packet: 0x035e
+#if PACKETVER >= 20080521
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+#elif PACKETVER >= 20080520
+packetLen(0x035e, -1) // CZ_CLOSE_WINDOW
+#endif
+
+// Packet: 0x035f
+#if PACKETVER >= 20081126
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20081119
+packetLen(0x035f, 59) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20081112
+packetLen(0x035f, 186) // CZ_REQUEST_MOVE2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x035f, 30) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20081029
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20081008
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20081001
+packetLen(0x035f, 30) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080924
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080917
+packetLen(0x035f, 3) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080910
+packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080730
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080722
+packetLen(0x035f, 282) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080715
+packetLen(0x035f, 9) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080708
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080624
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080617
+packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080528
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20081217
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20081203
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20081112
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20081105
+packetLen(0x0360, 14) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20081029
+packetLen(0x0360, 28) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20081022
+packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20081001
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080924
+packetLen(0x0360, 16) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080917
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080910
+packetLen(0x0360, 8) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080903
+packetLen(0x0360, 28) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080827
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080820
+packetLen(0x0360, 12) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080806
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080730
+packetLen(0x0360, 21) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080722
+packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080715
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080708
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080701
+packetLen(0x0360, 10) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080624
+packetLen(0x0360, 11) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080528
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20081217
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20081203
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20081126
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20081119
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20081112
+packetLen(0x0361, 9) // CZ_CHANGE_DIRECTION2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20081029
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20081022
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20081015
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20081008
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080910
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080903
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080827
+packetLen(0x0361, 60) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080813
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080806
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080730
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080722
+packetLen(0x0361, 81) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080708
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080701
+packetLen(0x0361, 27) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080624
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080617
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080528
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20081112
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20081105
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20081029
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20081022
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20081008
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20081001
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080903
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080827
+packetLen(0x0362, 11) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080820
+packetLen(0x0362, 34) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080813
+packetLen(0x0362, 3) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080806
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080730
+packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080722
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080715
+packetLen(0x0362, 66) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080708
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080701
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080624
+packetLen(0x0362, 4) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20080528
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20081203
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20081126
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20081112
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20081015
+packetLen(0x0363, 17) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20081008
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20081001
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080924
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080917
+packetLen(0x0363, 13) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080910
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080903
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080813
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080806
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080730
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080715
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080708
+packetLen(0x0363, 4) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080701
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080624
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080617
+packetLen(0x0363, 58) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20080528
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20081203
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20081126
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20081119
+packetLen(0x0364, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20081112
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20081029
+packetLen(0x0364, 29) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20081022
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20081015
+packetLen(0x0364, 11) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20081008
+packetLen(0x0364, 22) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20081001
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080924
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080917
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080910
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080903
+packetLen(0x0364, 182) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080708
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080701
+packetLen(0x0364, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080624
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080617
+packetLen(0x0364, 15) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080528
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20081217
+packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20081203
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20081126
+packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20081119
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20081112
+packetLen(0x0365, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20081029
+packetLen(0x0365, 9) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20081001
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080924
+packetLen(0x0365, 86) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080917
+packetLen(0x0365, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080910
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080903
+packetLen(0x0365, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080820
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080813
+packetLen(0x0365, 30) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080806
+packetLen(0x0365, 79) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080708
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080701
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080528
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20081105
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20081029
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20081015
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20081008
+packetLen(0x0366, 14) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20081001
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080924
+packetLen(0x0366, 14) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080910
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080903
+packetLen(0x0366, 4) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080827
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080820
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080715
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080708
+packetLen(0x0366, 71) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080701
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080624
+packetLen(0x0366, 67) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20080528
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20081217
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20081105
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20081029
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20081022
+packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20081015
+packetLen(0x0367, 58) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20081001
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080924
+packetLen(0x0367, 11) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080917
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080910
+packetLen(0x0367, 30) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080827
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080820
+packetLen(0x0367, 282) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080813
+packetLen(0x0367, 59) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080708
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080624
+packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080617
+packetLen(0x0367, 29) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20080528
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20081217
+packetLen(0x0368, 4) // CZ_REQNAME2
+#elif PACKETVER >= 20081126
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20081119
+packetLen(0x0368, 34) // CZ_REQNAME2
+#elif PACKETVER >= 20081105
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20081029
+packetLen(0x0368, 8) // CZ_REQNAME2
+#elif PACKETVER >= 20081022
+packetLen(0x0368, 10) // CZ_REQNAME2
+#elif PACKETVER >= 20081008
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20081001
+packetLen(0x0368, 3) // CZ_REQNAME2
+#elif PACKETVER >= 20080924
+packetLen(0x0368, 13) // CZ_REQNAME2
+#elif PACKETVER >= 20080917
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20080910
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20080903
+packetLen(0x0368, 43) // CZ_REQNAME2
+#elif PACKETVER >= 20080827
+packetLen(0x0368, 21) // CZ_REQNAME2
+#elif PACKETVER >= 20080820
+packetLen(0x0368, 4) // CZ_REQNAME2
+#elif PACKETVER >= 20080806
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20080730
+packetLen(0x0368, 16) // CZ_REQNAME2
+#elif PACKETVER >= 20080722
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20080715
+packetLen(0x0368, 3) // CZ_REQNAME2
+#elif PACKETVER >= 20080528
+packetLen(0x0368, -1) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20081126
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20081119
+packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20081112
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20081022
+packetLen(0x0369, 53) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080924
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080917
+packetLen(0x0369, 15) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080910
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080903
+packetLen(0x0369, 33) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080827
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080813
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080806
+packetLen(0x0369, 30) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080722
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080715
+packetLen(0x0369, 29) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080708
+packetLen(0x0369, 39) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080701
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080624
+packetLen(0x0369, 28) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080528
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20081217
+packetLen(0x036a, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x036a, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x036a, 32)
+#elif PACKETVER >= 20081001
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x036a, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x036a, 68)
+#elif PACKETVER >= 20080903
+packetLen(0x036a, 54)
+#elif PACKETVER >= 20080827
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x036a, 12)
+#elif PACKETVER >= 20080813
+packetLen(0x036a, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x036a, 26)
+#elif PACKETVER >= 20080715
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x036a, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x036a, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20081217
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x036b, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x036b, 97)
+#elif PACKETVER >= 20081029
+packetLen(0x036b, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x036b, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x036b, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x036b, 32)
+#elif PACKETVER >= 20080903
+packetLen(0x036b, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x036b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x036b, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20081217
+packetLen(0x036c, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x036c, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x036c, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x036c, 35)
+#elif PACKETVER >= 20081015
+packetLen(0x036c, 42)
+#elif PACKETVER >= 20081001
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x036c, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x036c, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x036c, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x036c, 32)
+#elif PACKETVER >= 20080806
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x036c, 9)
+#elif PACKETVER >= 20080708
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20081217
+packetLen(0x036d, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x036d, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x036d, 16)
+#elif PACKETVER >= 20081001
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x036d, 60)
+#elif PACKETVER >= 20080917
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x036d, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x036d, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x036d, 33)
+#elif PACKETVER >= 20080813
+packetLen(0x036d, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x036d, 20)
+#elif PACKETVER >= 20080730
+packetLen(0x036d, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x036d, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x036d, 21)
+#elif PACKETVER >= 20080617
+packetLen(0x036d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20081217
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x036e, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x036e, 53)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x036e, 31)
+#elif PACKETVER >= 20080917
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x036e, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x036e, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x036e, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x036e, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x036e, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20081217
+packetLen(0x036f, 28)
+#elif PACKETVER >= 20081203
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x036f, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x036f, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x036f, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x036f, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x036f, 20)
+#elif PACKETVER >= 20081001
+packetLen(0x036f, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x036f, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x036f, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x036f, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x036f, 114)
+#elif PACKETVER >= 20080708
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x036f, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x036f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20081217
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0370, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x0370, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x0370, 19)
+#elif PACKETVER >= 20081112
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0370, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0370, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0370, 31)
+#elif PACKETVER >= 20080910
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0370, 16)
+#elif PACKETVER >= 20080806
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0370, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0370, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0370, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20081203
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0371, 282)
+#elif PACKETVER >= 20081105
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0371, 55)
+#elif PACKETVER >= 20080924
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0371, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0371, 282)
+#elif PACKETVER >= 20080827
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0371, 20)
+#elif PACKETVER >= 20080813
+packetLen(0x0371, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0371, 55)
+#elif PACKETVER >= 20080715
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0371, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x0371, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20081203
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0372, 23)
+#elif PACKETVER >= 20081119
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0372, 17)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0372, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0372, 66)
+#elif PACKETVER >= 20080917
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0372, 23)
+#elif PACKETVER >= 20080903
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0372, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0372, 15)
+#elif PACKETVER >= 20080730
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0372, 67)
+#elif PACKETVER >= 20080715
+packetLen(0x0372, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0372, 34)
+#elif PACKETVER >= 20080701
+packetLen(0x0372, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20081217
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0373, 12)
+#elif PACKETVER >= 20081126
+packetLen(0x0373, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0373, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0373, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0373, 33)
+#elif PACKETVER >= 20080708
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0373, 9)
+#elif PACKETVER >= 20080624
+packetLen(0x0373, 86)
+#elif PACKETVER >= 20080528
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20081217
+packetLen(0x0374, 36)
+#elif PACKETVER >= 20081126
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0374, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0374, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0374, 68)
+#elif PACKETVER >= 20080917
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0374, 22)
+#elif PACKETVER >= 20080903
+packetLen(0x0374, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0374, 17)
+#elif PACKETVER >= 20080813
+packetLen(0x0374, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0374, 90)
+#elif PACKETVER >= 20080730
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0374, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0374, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20081217
+packetLen(0x0375, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0375, 29)
+#elif PACKETVER >= 20081126
+packetLen(0x0375, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0375, 15)
+#elif PACKETVER >= 20081112
+packetLen(0x0375, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0375, 28)
+#elif PACKETVER >= 20081008
+packetLen(0x0375, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0375, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0375, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0375, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0375, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0375, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x0375, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0375, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20081217
+packetLen(0x0376, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0376, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0376, 31)
+#elif PACKETVER >= 20081001
+packetLen(0x0376, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0376, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0376, 31)
+#elif PACKETVER >= 20080903
+packetLen(0x0376, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0376, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0376, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0376, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0376, 12)
+#elif PACKETVER >= 20080528
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20081203
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0377, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0377, 33)
+#elif PACKETVER >= 20081112
+packetLen(0x0377, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0377, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0377, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0377, 60)
+#elif PACKETVER >= 20080806
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0377, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x0377, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20081126
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0378, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0378, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0378, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0378, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0378, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0378, 5)
+#elif PACKETVER >= 20080827
+packetLen(0x0378, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0378, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0378, 22)
+#elif PACKETVER >= 20080715
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0378, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20081126
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0379, 10)
+#elif PACKETVER >= 20081105
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0379, 34)
+#elif PACKETVER >= 20081015
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0379, 28)
+#elif PACKETVER >= 20080917
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0379, 54)
+#elif PACKETVER >= 20080820
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0379, 9)
+#elif PACKETVER >= 20080806
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0379, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0379, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x0379, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0379, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0379, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20081217
+packetLen(0x037a, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x037a, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x037a, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x037a, 71)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x037a, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x037a, 15)
+#elif PACKETVER >= 20080903
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037a, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x037a, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x037a, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x037a, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x037a, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20081126
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x037b, 10)
+#elif PACKETVER >= 20081105
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x037b, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x037b, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x037b, 39)
+#elif PACKETVER >= 20080903
+packetLen(0x037b, 22)
+#elif PACKETVER >= 20080827
+packetLen(0x037b, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x037b, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x037b, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x037b, 81)
+#elif PACKETVER >= 20080708
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x037b, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20081217
+packetLen(0x037c, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x037c, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x037c, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x037c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037c, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x037c, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x037c, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x037c, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x037c, 53)
+#elif PACKETVER >= 20080528
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20081126
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x037d, 27)
+#elif PACKETVER >= 20081029
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x037d, 17)
+#elif PACKETVER >= 20081001
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x037d, 282)
+#elif PACKETVER >= 20080903
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037d, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x037d, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x037d, 60)
+#elif PACKETVER >= 20080701
+packetLen(0x037d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20081217
+packetLen(0x037e, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x037e, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x037e, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x037e, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x037e, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x037e, 67)
+#elif PACKETVER >= 20080910
+packetLen(0x037e, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037e, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x037e, 114)
+#elif PACKETVER >= 20080715
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x037e, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x037e, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x037e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20081217
+packetLen(0x037f, 22)
+#elif PACKETVER >= 20081126
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x037f, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x037f, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x037f, 68)
+#elif PACKETVER >= 20080917
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x037f, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037f, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x037f, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x037f, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x037f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20081126
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0380, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0380, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0380, 5)
+#elif PACKETVER >= 20081022
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0380, 282)
+#elif PACKETVER >= 20081008
+packetLen(0x0380, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0380, 28)
+#elif PACKETVER >= 20080827
+packetLen(0x0380, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x0380, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0380, 32)
+#elif PACKETVER >= 20080708
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0380, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20081217
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0381, 14)
+#elif PACKETVER >= 20081119
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0381, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0381, 53)
+#elif PACKETVER >= 20081022
+packetLen(0x0381, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0381, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0381, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x0381, 35)
+#elif PACKETVER >= 20080813
+packetLen(0x0381, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0381, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0381, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20081217
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0382, 9)
+#elif PACKETVER >= 20081119
+packetLen(0x0382, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0382, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0382, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0382, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0382, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0382, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0382, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20081217
+packetLen(0x0383, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0383, 114)
+#elif PACKETVER >= 20080910
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0383, 18)
+#elif PACKETVER >= 20080827
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0383, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x0383, 57)
+#elif PACKETVER >= 20080806
+packetLen(0x0383, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0383, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0383, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20081126
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0384, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0384, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0384, 54)
+#elif PACKETVER >= 20081001
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0384, 34)
+#elif PACKETVER >= 20080917
+packetLen(0x0384, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x0384, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0384, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x0384, 9)
+#elif PACKETVER >= 20080806
+packetLen(0x0384, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0384, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0384, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0384, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20081217
+packetLen(0x0385, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0385, 53)
+#elif PACKETVER >= 20081029
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0385, 39)
+#elif PACKETVER >= 20081001
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0385, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0385, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x0385, 28)
+#elif PACKETVER >= 20080813
+packetLen(0x0385, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0385, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0385, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0385, 67)
+#elif PACKETVER >= 20080708
+packetLen(0x0385, 97)
+#elif PACKETVER >= 20080624
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0385, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20081217
+packetLen(0x0386, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x0386, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0386, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x0386, 23)
+#elif PACKETVER >= 20081001
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0386, 43)
+#elif PACKETVER >= 20080917
+packetLen(0x0386, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0386, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x0386, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0386, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20081217
+packetLen(0x0387, 71)
+#elif PACKETVER >= 20081203
+packetLen(0x0387, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x0387, 90)
+#elif PACKETVER >= 20081119
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0387, 60)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0387, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0387, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0387, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x0387, 53)
+#elif PACKETVER >= 20080924
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0387, 28)
+#elif PACKETVER >= 20080910
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0387, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0387, 114)
+#elif PACKETVER >= 20080722
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0387, 17)
+#elif PACKETVER >= 20080708
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0387, 22)
+#elif PACKETVER >= 20080624
+packetLen(0x0387, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0387, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20081217
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0388, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0388, 13)
+#elif PACKETVER >= 20081029
+packetLen(0x0388, 11)
+#elif PACKETVER >= 20081022
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0388, 11)
+#elif PACKETVER >= 20081008
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0388, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x0388, 29)
+#elif PACKETVER >= 20080917
+packetLen(0x0388, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0388, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0388, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0388, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0388, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0388, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20081217
+packetLen(0x0389, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0389, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0389, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0389, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0389, 21)
+#elif PACKETVER >= 20080806
+packetLen(0x0389, 102)
+#elif PACKETVER >= 20080730
+packetLen(0x0389, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0389, 39)
+#elif PACKETVER >= 20080701
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0389, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0389, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20081217
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x038a, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x038a, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x038a, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x038a, 54)
+#elif PACKETVER >= 20080827
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x038a, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x038a, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x038a, 24)
+#elif PACKETVER >= 20080715
+packetLen(0x038a, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x038a, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x038a, 102)
+#elif PACKETVER >= 20080624
+packetLen(0x038a, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x038a, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20081217
+packetLen(0x038b, 27)
+#elif PACKETVER >= 20081203
+packetLen(0x038b, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x038b, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x038b, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x038b, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x038b, 9)
+#elif PACKETVER >= 20080917
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x038b, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x038b, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x038b, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x038b, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x038b, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x038b, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x038b, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x038b, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20081217
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x038c, 29)
+#elif PACKETVER >= 20081126
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x038c, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x038c, 5)
+#elif PACKETVER >= 20081029
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x038c, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x038c, 102)
+#elif PACKETVER >= 20081008
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x038c, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x038c, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x038c, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x038c, 11)
+#elif PACKETVER >= 20080806
+packetLen(0x038c, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x038c, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x038c, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x038c, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x038c, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20081217
+packetLen(0x038d, 32)
+#elif PACKETVER >= 20081203
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x038d, 33)
+#elif PACKETVER >= 20081119
+packetLen(0x038d, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x038d, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x038d, 9)
+#elif PACKETVER >= 20081022
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x038d, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x038d, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x038d, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x038d, 21)
+#elif PACKETVER >= 20080903
+packetLen(0x038d, 27)
+#elif PACKETVER >= 20080827
+packetLen(0x038d, 28)
+#elif PACKETVER >= 20080820
+packetLen(0x038d, 182)
+#elif PACKETVER >= 20080722
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x038d, 60)
+#elif PACKETVER >= 20080701
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038d, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x038d, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20081217
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x038e, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x038e, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x038e, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x038e, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x038e, 28)
+#elif PACKETVER >= 20080820
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x038e, 44)
+#elif PACKETVER >= 20080730
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x038e, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x038e, 282)
+#elif PACKETVER >= 20080701
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20081217
+packetLen(0x038f, 39)
+#elif PACKETVER >= 20081203
+packetLen(0x038f, 22)
+#elif PACKETVER >= 20081126
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x038f, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x038f, 19)
+#elif PACKETVER >= 20081008
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x038f, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x038f, 22)
+#elif PACKETVER >= 20080917
+packetLen(0x038f, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x038f, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x038f, 16)
+#elif PACKETVER >= 20080820
+packetLen(0x038f, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x038f, 114)
+#elif PACKETVER >= 20080701
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038f, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20081203
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0390, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0390, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0390, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0390, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0390, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0390, 182)
+#elif PACKETVER >= 20080708
+packetLen(0x0390, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0390, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20081217
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0391, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x0391, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0391, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0391, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0391, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0391, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0391, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0391, 16)
+#elif PACKETVER >= 20080813
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0391, 29)
+#elif PACKETVER >= 20080722
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0391, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20081217
+packetLen(0x0392, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x0392, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0392, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x0392, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0392, 11)
+#elif PACKETVER >= 20081029
+packetLen(0x0392, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0392, 24)
+#elif PACKETVER >= 20081015
+packetLen(0x0392, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0392, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0392, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0392, 17)
+#elif PACKETVER >= 20080820
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0392, 29)
+#elif PACKETVER >= 20080806
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0392, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0392, 22)
+#elif PACKETVER >= 20080708
+packetLen(0x0392, 60)
+#elif PACKETVER >= 20080624
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0392, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20081217
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0393, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0393, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0393, 60)
+#elif PACKETVER >= 20081015
+packetLen(0x0393, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0393, 33)
+#elif PACKETVER >= 20080924
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0393, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0393, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0393, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0393, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0393, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0393, 17)
+#elif PACKETVER >= 20080617
+packetLen(0x0393, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20081203
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0394, 28)
+#elif PACKETVER >= 20081105
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0394, 9)
+#elif PACKETVER >= 20081022
+packetLen(0x0394, 58)
+#elif PACKETVER >= 20081015
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0394, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x0394, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0394, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0394, 54)
+#elif PACKETVER >= 20080813
+packetLen(0x0394, 15)
+#elif PACKETVER >= 20080806
+packetLen(0x0394, 19)
+#elif PACKETVER >= 20080730
+packetLen(0x0394, 282)
+#elif PACKETVER >= 20080722
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0394, 19)
+#elif PACKETVER >= 20080708
+packetLen(0x0394, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x0394, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20081217
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0395, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0395, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0395, 55)
+#elif PACKETVER >= 20081112
+packetLen(0x0395, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0395, 58)
+#elif PACKETVER >= 20081022
+packetLen(0x0395, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0395, 21)
+#elif PACKETVER >= 20081001
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0395, 35)
+#elif PACKETVER >= 20080903
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0395, 32)
+#elif PACKETVER >= 20080813
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0395, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0395, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0395, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x0395, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x0395, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0395, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20081217
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0396, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0396, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0396, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0396, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0396, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0396, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x0396, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0396, 186)
+#elif PACKETVER >= 20080708
+packetLen(0x0396, 60)
+#elif PACKETVER >= 20080701
+packetLen(0x0396, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0396, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20081217
+packetLen(0x0397, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0397, 282)
+#elif PACKETVER >= 20081112
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0397, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0397, 114)
+#elif PACKETVER >= 20081022
+packetLen(0x0397, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0397, 12)
+#elif PACKETVER >= 20080910
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0397, 13)
+#elif PACKETVER >= 20080827
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0397, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x0397, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0397, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0397, 53)
+#elif PACKETVER >= 20080708
+packetLen(0x0397, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0397, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20081203
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0398, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0398, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0398, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0398, 14)
+#elif PACKETVER >= 20081001
+packetLen(0x0398, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0398, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0398, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0398, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0398, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0398, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0398, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20081217
+packetLen(0x0399, 9)
+#elif PACKETVER >= 20081203
+packetLen(0x0399, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0399, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0399, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0399, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0399, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x0399, 9)
+#elif PACKETVER >= 20080806
+packetLen(0x0399, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x0399, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0399, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0399, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0399, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x0399, 65)
+#elif PACKETVER >= 20080528
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20081217
+packetLen(0x039a, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x039a, 17)
+#elif PACKETVER >= 20081126
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x039a, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x039a, 29)
+#elif PACKETVER >= 20081008
+packetLen(0x039a, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x039a, 27)
+#elif PACKETVER >= 20080701
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20081217
+packetLen(0x039b, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x039b, 43)
+#elif PACKETVER >= 20081119
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x039b, 36)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x039b, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x039b, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x039b, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x039b, 30)
+#elif PACKETVER >= 20080715
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x039b, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20081217
+packetLen(0x039c, 86)
+#elif PACKETVER >= 20081203
+packetLen(0x039c, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x039c, 12)
+#elif PACKETVER >= 20081105
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x039c, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x039c, 18)
+#elif PACKETVER >= 20081015
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x039c, 67)
+#elif PACKETVER >= 20080820
+packetLen(0x039c, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x039c, 31)
+#elif PACKETVER >= 20080730
+packetLen(0x039c, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x039c, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20081217
+packetLen(0x039d, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x039d, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x039d, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x039d, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x039d, 27)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x039d, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x039d, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x039d, 17)
+#elif PACKETVER >= 20080827
+packetLen(0x039d, 24)
+#elif PACKETVER >= 20080820
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x039d, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x039d, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x039d, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x039d, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x039d, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x039d, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20081119
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x039e, 182)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x039e, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x039e, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x039e, 39)
+#elif PACKETVER >= 20080910
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x039e, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x039e, 54)
+#elif PACKETVER >= 20080806
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x039e, 42)
+#elif PACKETVER >= 20080722
+packetLen(0x039e, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x039e, 27)
+#elif PACKETVER >= 20080701
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039e, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x039e, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20081217
+packetLen(0x039f, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x039f, 39)
+#elif PACKETVER >= 20081126
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x039f, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x039f, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x039f, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x039f, 282)
+#elif PACKETVER >= 20081001
+packetLen(0x039f, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x039f, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x039f, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x039f, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x039f, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x039f, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x039f, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039f, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20081203
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x03a0, 17)
+#elif PACKETVER >= 20081112
+packetLen(0x03a0, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a0, 11)
+#elif PACKETVER >= 20081022
+packetLen(0x03a0, 22)
+#elif PACKETVER >= 20081015
+packetLen(0x03a0, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03a0, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x03a0, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a0, 16)
+#elif PACKETVER >= 20080715
+packetLen(0x03a0, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20081203
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03a1, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a1, 32)
+#elif PACKETVER >= 20081022
+packetLen(0x03a1, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x03a1, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03a1, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x03a1, 15)
+#elif PACKETVER >= 20080715
+packetLen(0x03a1, 71)
+#elif PACKETVER >= 20080708
+packetLen(0x03a1, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03a1, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20081217
+packetLen(0x03a2, 282)
+#elif PACKETVER >= 20081203
+packetLen(0x03a2, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03a2, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03a2, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x03a2, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x03a2, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x03a2, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03a2, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x03a2, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03a2, 13)
+#elif PACKETVER >= 20080806
+packetLen(0x03a2, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a2, 26)
+#elif PACKETVER >= 20080715
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03a2, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20081126
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03a3, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03a3, 20)
+#elif PACKETVER >= 20080910
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03a3, 28)
+#elif PACKETVER >= 20080827
+packetLen(0x03a3, 21)
+#elif PACKETVER >= 20080820
+packetLen(0x03a3, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03a3, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x03a3, 23)
+#elif PACKETVER >= 20080722
+packetLen(0x03a3, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03a3, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03a3, 21)
+#elif PACKETVER >= 20080624
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a3, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20081217
+packetLen(0x03a4, 44)
+#elif PACKETVER >= 20081203
+packetLen(0x03a4, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x03a4, 58)
+#elif PACKETVER >= 20081119
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03a4, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a4, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03a4, 12)
+#elif PACKETVER >= 20080910
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03a4, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x03a4, 33)
+#elif PACKETVER >= 20080820
+packetLen(0x03a4, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a4, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a4, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20081217
+packetLen(0x03a5, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03a5, 3)
+#elif PACKETVER >= 20081105
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a5, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x03a5, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03a5, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03a5, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03a5, 26)
+#elif PACKETVER >= 20080903
+packetLen(0x03a5, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x03a5, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03a5, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a5, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x03a5, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x03a5, 28)
+#elif PACKETVER >= 20080701
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a5, 28)
+#elif PACKETVER >= 20080617
+packetLen(0x03a5, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20081203
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03a6, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03a6, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03a6, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03a6, 18)
+#elif PACKETVER >= 20080903
+packetLen(0x03a6, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03a6, 27)
+#elif PACKETVER >= 20080730
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a6, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x03a6, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x03a6, 31)
+#elif PACKETVER >= 20080701
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a6, 59)
+#elif PACKETVER >= 20080528
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20081217
+packetLen(0x03a7, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x03a7, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x03a7, 67)
+#elif PACKETVER >= 20081119
+packetLen(0x03a7, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a7, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03a7, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x03a7, 60)
+#elif PACKETVER >= 20080917
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03a7, 17)
+#elif PACKETVER >= 20080820
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03a7, 28)
+#elif PACKETVER >= 20080806
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03a7, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x03a7, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03a7, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x03a7, 68)
+#elif PACKETVER >= 20080624
+packetLen(0x03a7, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20081203
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03a8, 59)
+#elif PACKETVER >= 20081119
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03a8, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03a8, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03a8, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03a8, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x03a8, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x03a8, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x03a8, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20081217
+packetLen(0x03a9, 15)
+#elif PACKETVER >= 20081203
+packetLen(0x03a9, 18)
+#elif PACKETVER >= 20081119
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03a9, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03a9, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03a9, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x03a9, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03a9, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a9, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20081217
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03aa, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03aa, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03aa, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x03aa, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x03aa, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x03aa, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03aa, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x03aa, 20)
+#elif PACKETVER >= 20080827
+packetLen(0x03aa, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03aa, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03aa, 39)
+#elif PACKETVER >= 20080715
+packetLen(0x03aa, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03aa, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20081217
+packetLen(0x03ab, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03ab, 9)
+#elif PACKETVER >= 20081119
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03ab, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ab, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03ab, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x03ab, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03ab, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ab, 23)
+#elif PACKETVER >= 20080813
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03ab, 18)
+#elif PACKETVER >= 20080730
+packetLen(0x03ab, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x03ab, 53)
+#elif PACKETVER >= 20080715
+packetLen(0x03ab, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x03ab, 86)
+#elif PACKETVER >= 20080624
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ab, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20081203
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03ac, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03ac, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03ac, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03ac, 54)
+#elif PACKETVER >= 20080917
+packetLen(0x03ac, 28)
+#elif PACKETVER >= 20080910
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03ac, 58)
+#elif PACKETVER >= 20080827
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ac, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03ac, 9)
+#elif PACKETVER >= 20080730
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03ac, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ac, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20081217
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ad, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03ad, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x03ad, 16)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ad, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x03ad, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03ad, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ad, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x03ad, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03ad, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03ad, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x03ad, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20081217
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ae, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x03ae, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03ae, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03ae, 58)
+#elif PACKETVER >= 20081008
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03ae, 20)
+#elif PACKETVER >= 20080917
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03ae, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03ae, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x03ae, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03ae, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ae, 57)
+#elif PACKETVER >= 20080528
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20081217
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03af, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03af, 22)
+#elif PACKETVER >= 20081029
+packetLen(0x03af, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03af, 13)
+#elif PACKETVER >= 20081001
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03af, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03af, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03af, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03af, 60)
+#elif PACKETVER >= 20080813
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03af, 23)
+#elif PACKETVER >= 20080730
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x03af, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03af, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x03af, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20081217
+packetLen(0x03b0, 26)
+#elif PACKETVER >= 20081126
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03b0, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03b0, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03b0, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03b0, 33)
+#elif PACKETVER >= 20080827
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03b0, 81)
+#elif PACKETVER >= 20080813
+packetLen(0x03b0, 282)
+#elif PACKETVER >= 20080806
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b0, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x03b0, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03b0, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20081217
+packetLen(0x03b1, 22)
+#elif PACKETVER >= 20081029
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03b1, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b1, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x03b1, 20)
+#elif PACKETVER >= 20080917
+packetLen(0x03b1, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x03b1, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03b1, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03b1, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03b1, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20081217
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03b2, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x03b2, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x03b2, 32)
+#elif PACKETVER >= 20081029
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03b2, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03b2, 282)
+#elif PACKETVER >= 20081008
+packetLen(0x03b2, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x03b2, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b2, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x03b2, 86)
+#elif PACKETVER >= 20080715
+packetLen(0x03b2, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b2, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20081203
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03b3, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03b3, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x03b3, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03b3, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b3, 17)
+#elif PACKETVER >= 20080924
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03b3, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03b3, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x03b3, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03b3, 24)
+#elif PACKETVER >= 20080730
+packetLen(0x03b3, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b3, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20081203
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03b4, 42)
+#elif PACKETVER >= 20081119
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03b4, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03b4, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x03b4, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x03b4, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b4, 60)
+#elif PACKETVER >= 20080924
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03b4, 54)
+#elif PACKETVER >= 20080910
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03b4, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x03b4, 15)
+#elif PACKETVER >= 20080820
+packetLen(0x03b4, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03b4, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b4, 15)
+#elif PACKETVER >= 20080722
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03b4, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03b4, 27)
+#elif PACKETVER >= 20080617
+packetLen(0x03b4, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20081217
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03b5, 20)
+#elif PACKETVER >= 20081126
+packetLen(0x03b5, 33)
+#elif PACKETVER >= 20081119
+packetLen(0x03b5, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x03b5, 2)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03b5, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03b5, 66)
+#elif PACKETVER >= 20080917
+packetLen(0x03b5, 31)
+#elif PACKETVER >= 20080910
+packetLen(0x03b5, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03b5, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03b5, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03b5, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20081112
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03b6, 16)
+#elif PACKETVER >= 20081029
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03b6, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03b6, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03b6, 86)
+#elif PACKETVER >= 20080924
+packetLen(0x03b6, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03b6, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03b6, 28)
+#elif PACKETVER >= 20080806
+packetLen(0x03b6, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03b6, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b6, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20081217
+packetLen(0x03b7, 29)
+#elif PACKETVER >= 20081203
+packetLen(0x03b7, 182)
+#elif PACKETVER >= 20081126
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x03b7, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03b7, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03b7, 28)
+#elif PACKETVER >= 20081008
+packetLen(0x03b7, 34)
+#elif PACKETVER >= 20081001
+packetLen(0x03b7, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x03b7, 21)
+#elif PACKETVER >= 20080903
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x03b7, 68)
+#elif PACKETVER >= 20080813
+packetLen(0x03b7, 34)
+#elif PACKETVER >= 20080806
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b7, 67)
+#elif PACKETVER >= 20080722
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03b7, 9)
+#elif PACKETVER >= 20080708
+packetLen(0x03b7, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03b7, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x03b7, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20081119
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03b8, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03b8, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b8, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x03b8, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03b8, 53)
+#elif PACKETVER >= 20080827
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03b8, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03b8, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20081217
+packetLen(0x03b9, 18)
+#elif PACKETVER >= 20081203
+packetLen(0x03b9, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x03b9, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03b9, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03b9, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x03b9, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b9, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03b9, 22)
+#elif PACKETVER >= 20080910
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03b9, 18)
+#elif PACKETVER >= 20080827
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03b9, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b9, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x03b9, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x03b9, 79)
+#elif PACKETVER >= 20080708
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03b9, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x03b9, 19)
+#elif PACKETVER >= 20080528
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20081217
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ba, 7)
+#elif PACKETVER >= 20081126
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03ba, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ba, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x03ba, 13)
+#elif PACKETVER >= 20081015
+packetLen(0x03ba, 65)
+#elif PACKETVER >= 20081008
+packetLen(0x03ba, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03ba, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x03ba, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x03ba, 60)
+#elif PACKETVER >= 20080903
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03ba, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x03ba, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03ba, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03ba, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03ba, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x03ba, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ba, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20081217
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03bb, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x03bb, 34)
+#elif PACKETVER >= 20081119
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03bb, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03bb, 17)
+#elif PACKETVER >= 20081015
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03bb, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03bb, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03bb, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x03bb, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03bb, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x03bb, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x03bb, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03bb, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20081126
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03bc, 3)
+#elif PACKETVER >= 20081105
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03bc, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03bc, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03bc, 14)
+#elif PACKETVER >= 20081001
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03bc, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x03bc, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03bc, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03bc, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x03bc, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03bc, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x03bc, 13)
+#elif PACKETVER >= 20080708
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03bc, 54)
+#elif PACKETVER >= 20080624
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03bc, 182)
+#elif PACKETVER >= 20080528
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20081203
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03bd, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03bd, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x03bd, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03bd, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03bd, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03bd, 27)
+#elif PACKETVER >= 20080813
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03bd, 31)
+#elif PACKETVER >= 20080730
+packetLen(0x03bd, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03bd, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20081217
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x03be, 31)
+#elif PACKETVER >= 20081112
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03be, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x03be, 28)
+#elif PACKETVER >= 20081022
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03be, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03be, 19)
+#elif PACKETVER >= 20080910
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03be, 22)
+#elif PACKETVER >= 20080806
+packetLen(0x03be, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03be, 27)
+#elif PACKETVER >= 20080715
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03be, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x03be, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20081217
+packetLen(0x03bf, 28)
+#elif PACKETVER >= 20081203
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03bf, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03bf, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x03bf, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03bf, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03bf, 9)
+#elif PACKETVER >= 20080910
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03bf, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x03bf, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03bf, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03bf, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x03bf, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x03bf, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x03bf, 23)
+#elif PACKETVER >= 20080701
+packetLen(0x03bf, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20081119
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03c0, 17)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03c0, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03c0, 36)
+#elif PACKETVER >= 20081008
+packetLen(0x03c0, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03c0, 20)
+#elif PACKETVER >= 20080917
+packetLen(0x03c0, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03c0, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03c0, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x03c0, 12)
+#elif PACKETVER >= 20080722
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03c0, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x03c0, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x03c0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20081203
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03c1, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x03c1, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03c1, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x03c1, 18)
+#elif PACKETVER >= 20080924
+packetLen(0x03c1, 15)
+#elif PACKETVER >= 20080917
+packetLen(0x03c1, 17)
+#elif PACKETVER >= 20080910
+packetLen(0x03c1, 60)
+#elif PACKETVER >= 20080806
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03c1, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x03c1, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c1, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20081126
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03c2, 20)
+#elif PACKETVER >= 20081112
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03c2, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03c2, 29)
+#elif PACKETVER >= 20081015
+packetLen(0x03c2, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03c2, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03c2, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x03c2, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x03c2, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03c2, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x03c2, 9)
+#elif PACKETVER >= 20080715
+packetLen(0x03c2, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x03c2, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x03c2, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c2, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20081217
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03c3, 14)
+#elif PACKETVER >= 20081119
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03c3, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03c3, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x03c3, 13)
+#elif PACKETVER >= 20081008
+packetLen(0x03c3, 90)
+#elif PACKETVER >= 20081001
+packetLen(0x03c3, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x03c3, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03c3, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03c3, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20081217
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03c4, 29)
+#elif PACKETVER >= 20081126
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03c4, 33)
+#elif PACKETVER >= 20081112
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03c4, 7)
+#elif PACKETVER >= 20081029
+packetLen(0x03c4, 186)
+#elif PACKETVER >= 20080827
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03c4, 65)
+#elif PACKETVER >= 20080813
+packetLen(0x03c4, 29)
+#elif PACKETVER >= 20080806
+packetLen(0x03c4, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x03c4, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x03c4, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x03c4, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20081217
+packetLen(0x03c5, 12)
+#elif PACKETVER >= 20081029
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03c5, 18)
+#elif PACKETVER >= 20080708
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03c5, 35)
+#elif PACKETVER >= 20080624
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c5, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20081217
+packetLen(0x03c6, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03c6, 54)
+#elif PACKETVER >= 20081001
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03c6, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03c6, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03c6, 29)
+#elif PACKETVER >= 20080820
+packetLen(0x03c6, 32)
+#elif PACKETVER >= 20080715
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03c6, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x03c6, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x03c6, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20081217
+packetLen(0x03c7, 9)
+#elif PACKETVER >= 20081203
+packetLen(0x03c7, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03c7, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03c7, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03c7, 16)
+#elif PACKETVER >= 20081001
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03c7, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x03c7, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03c7, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03c7, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c7, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20081022
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03c8, 15)
+#elif PACKETVER >= 20081008
+packetLen(0x03c8, 67)
+#elif PACKETVER >= 20081001
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03c8, 53)
+#elif PACKETVER >= 20080917
+packetLen(0x03c8, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03c8, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03c8, 22)
+#elif PACKETVER >= 20080820
+packetLen(0x03c8, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x03c8, 54)
+#elif PACKETVER >= 20080806
+packetLen(0x03c8, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03c8, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x03c8, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03c8, 32)
+#elif PACKETVER >= 20080708
+packetLen(0x03c8, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20081217
+packetLen(0x03c9, 68)
+#elif PACKETVER >= 20081119
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03c9, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03c9, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03c9, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03c9, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03c9, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03c9, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03c9, 16)
+#elif PACKETVER >= 20080722
+packetLen(0x03c9, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x03c9, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20081217
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ca, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x03ca, 53)
+#elif PACKETVER >= 20081119
+packetLen(0x03ca, 4)
+#elif PACKETVER >= 20081105
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ca, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03ca, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03ca, 29)
+#elif PACKETVER >= 20080924
+packetLen(0x03ca, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03ca, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x03ca, 53)
+#elif PACKETVER >= 20080903
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03ca, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x03ca, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x03ca, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x03ca, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20081217
+packetLen(0x03cb, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03cb, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x03cb, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03cb, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x03cb, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x03cb, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x03cb, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03cb, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03cb, 22)
+#elif PACKETVER >= 20080708
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03cb, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20081203
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03cc, 2)
+#elif PACKETVER >= 20081105
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03cc, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03cc, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03cc, 9)
+#elif PACKETVER >= 20080910
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03cc, 36)
+#elif PACKETVER >= 20080827
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03cc, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03cc, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x03cc, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x03cc, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03cc, 31)
+#elif PACKETVER >= 20080708
+packetLen(0x03cc, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03cc, 35)
+#elif PACKETVER >= 20080617
+packetLen(0x03cc, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20081203
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03cd, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03cd, 43)
+#elif PACKETVER >= 20081112
+packetLen(0x03cd, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03cd, 81)
+#elif PACKETVER >= 20081015
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03cd, 79)
+#elif PACKETVER >= 20081001
+packetLen(0x03cd, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x03cd, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03cd, 31)
+#elif PACKETVER >= 20080820
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03cd, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03cd, 60)
+#elif PACKETVER >= 20080722
+packetLen(0x03cd, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03cd, 65)
+#elif PACKETVER >= 20080624
+packetLen(0x03cd, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20081119
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03ce, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ce, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03ce, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03ce, 9)
+#elif PACKETVER >= 20080910
+packetLen(0x03ce, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03ce, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03ce, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x03ce, 39)
+#elif PACKETVER >= 20080528
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20081217
+packetLen(0x03cf, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03cf, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03cf, 22)
+#elif PACKETVER >= 20081008
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03cf, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03cf, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x03cf, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03cf, 29)
+#elif PACKETVER >= 20080806
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03cf, 65)
+#elif PACKETVER >= 20080722
+packetLen(0x03cf, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x03cf, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03cf, 67)
+#elif PACKETVER >= 20080617
+packetLen(0x03cf, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20081217
+packetLen(0x03d0, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03d0, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x03d0, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03d0, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03d0, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x03d0, 9)
+#elif PACKETVER >= 20080730
+packetLen(0x03d0, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x03d0, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03d0, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x03d0, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d0, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20081203
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03d1, 12)
+#elif PACKETVER >= 20081119
+packetLen(0x03d1, 28)
+#elif PACKETVER >= 20081112
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03d1, 13)
+#elif PACKETVER >= 20081029
+packetLen(0x03d1, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03d1, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03d1, 86)
+#elif PACKETVER >= 20081001
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d1, 42)
+#elif PACKETVER >= 20080917
+packetLen(0x03d1, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03d1, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03d1, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03d1, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x03d1, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x03d1, 30)
+#elif PACKETVER >= 20080715
+packetLen(0x03d1, 17)
+#elif PACKETVER >= 20080708
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03d1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03d1, 81)
+#elif PACKETVER >= 20080617
+packetLen(0x03d1, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20081217
+packetLen(0x03d2, 29)
+#elif PACKETVER >= 20081126
+packetLen(0x03d2, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x03d2, 29)
+#elif PACKETVER >= 20081112
+packetLen(0x03d2, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03d2, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03d2, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03d2, 27)
+#elif PACKETVER >= 20080806
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03d2, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03d2, 90)
+#elif PACKETVER >= 20080624
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d2, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20081217
+packetLen(0x03d3, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x03d3, 12)
+#elif PACKETVER >= 20081119
+packetLen(0x03d3, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x03d3, 24)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03d3, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03d3, 71)
+#elif PACKETVER >= 20081015
+packetLen(0x03d3, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x03d3, 16)
+#elif PACKETVER >= 20081001
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d3, 16)
+#elif PACKETVER >= 20080910
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03d3, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03d3, 42)
+#elif PACKETVER >= 20080813
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03d3, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03d3, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03d3, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20081203
+packetLen(0x03d4, 14)
+#elif PACKETVER >= 20081126
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03d4, 114)
+#elif PACKETVER >= 20081105
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03d4, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x03d4, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03d4, 31)
+#elif PACKETVER >= 20080924
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03d4, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03d4, 32)
+#elif PACKETVER >= 20080827
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03d4, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03d4, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03d4, 54)
+#elif PACKETVER >= 20080701
+packetLen(0x03d4, 12)
+#elif PACKETVER >= 20080624
+packetLen(0x03d4, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x03d4, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20081217
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03d5, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x03d5, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03d5, 102)
+#elif PACKETVER >= 20081112
+packetLen(0x03d5, 60)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03d5, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x03d5, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d5, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03d5, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03d5, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x03d5, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x03d5, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x03d5, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03d5, 21)
+#elif PACKETVER >= 20080730
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03d5, 11)
+#elif PACKETVER >= 20080624
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d5, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20081203
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03d6, 79)
+#elif PACKETVER >= 20081029
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03d6, 66)
+#elif PACKETVER >= 20081015
+packetLen(0x03d6, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03d6, 79)
+#elif PACKETVER >= 20080924
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03d6, 186)
+#elif PACKETVER >= 20080910
+packetLen(0x03d6, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x03d6, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x03d6, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03d6, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03d6, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03d6, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x03d6, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x03d6, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20081217
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03d7, 57)
+#elif PACKETVER >= 20081126
+packetLen(0x03d7, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03d7, 31)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03d7, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03d7, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d7, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03d7, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03d7, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x03d7, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03d7, 23)
+#elif PACKETVER >= 20080528
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20081217
+packetLen(0x03d8, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x03d8, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03d8, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03d8, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x03d8, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03d8, 60)
+#elif PACKETVER >= 20080917
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03d8, 29)
+#elif PACKETVER >= 20080827
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03d8, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03d8, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03d8, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x03d8, 18)
+#elif PACKETVER >= 20080708
+packetLen(0x03d8, 282)
+#elif PACKETVER >= 20080701
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03d8, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x03d8, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20081217
+packetLen(0x03d9, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03d9, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d9, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03d9, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03d9, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20081217
+packetLen(0x03da, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03da, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03da, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03da, 29)
+#elif PACKETVER >= 20081008
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03da, 22)
+#elif PACKETVER >= 20080924
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03da, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20081105
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03db, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03db, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x03db, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03db, 23)
+#elif PACKETVER >= 20080917
+packetLen(0x03db, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03db, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x03db, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03db, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03db, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03db, 79)
+#elif PACKETVER >= 20080624
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03db, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20081217
+packetLen(0x03dc, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x03dc, 32)
+#elif PACKETVER >= 20081126
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03dc, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x03dc, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03dc, 68)
+#elif PACKETVER >= 20081022
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03dc, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03dc, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03dc, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x03dc, 12)
+#elif PACKETVER >= 20080820
+packetLen(0x03dc, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x03dc, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03dc, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03dc, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03dc, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x03dc, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+#if PACKETVER >= 20080624
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+#endif
+
+// Packet: 0x03de
+#if PACKETVER >= 20080624
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+#endif
+
+// Packet: 0x03e2
+#if PACKETVER >= 20081217
+packetLen(0x03e2, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03e2, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03e2, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03e2, 22)
+#elif PACKETVER >= 20081015
+packetLen(0x03e2, 57)
+#elif PACKETVER >= 20081001
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03e2, 28)
+#elif PACKETVER >= 20080910
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03e2, 5)
+#elif PACKETVER >= 20080827
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03e2, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x03e2, -1)
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20081217
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03e3, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03e3, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03e3, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03e3, 22)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20081105
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03e4, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x03e4, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x03e4, 19)
+#elif PACKETVER >= 20081008
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03e4, 28)
+#elif PACKETVER >= 20080924
+packetLen(0x03e4, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x03e4, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x03e4, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03e4, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20081217
+packetLen(0x03e5, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03e5, 58)
+#elif PACKETVER >= 20081119
+packetLen(0x03e5, 23)
+#elif PACKETVER >= 20081112
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03e5, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x03e5, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03e5, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03e5, 28)
+#elif PACKETVER >= 20081001
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03e5, 44)
+#elif PACKETVER >= 20080910
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03e5, 12)
+#elif PACKETVER >= 20080813
+packetLen(0x03e5, -1)
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20081217
+packetLen(0x03e6, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x03e6, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x03e6, 71)
+#elif PACKETVER >= 20081119
+packetLen(0x03e6, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03e6, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03e6, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03e6, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03e6, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03e6, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03e6, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03e6, 30)
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20081217
+packetLen(0x03e7, 66)
+#elif PACKETVER >= 20081203
+packetLen(0x03e7, 90)
+#elif PACKETVER >= 20081119
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03e7, 21)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03e7, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03e7, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03e7, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x03e7, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x03e7, -1)
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20081217
+packetLen(0x03e8, 2)
+#elif PACKETVER >= 20081105
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03e8, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x03e8, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03e8, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x03e8, 34)
+#elif PACKETVER >= 20080827
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03e8, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03e8, -1)
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20081105
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03e9, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x03e9, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03e9, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03e9, 68)
+#elif PACKETVER >= 20080910
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03e9, 39)
+#elif PACKETVER >= 20080813
+packetLen(0x03e9, -1)
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20081217
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ea, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x03ea, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x03ea, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03ea, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03ea, 24)
+#elif PACKETVER >= 20080827
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ea, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20081126
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03eb, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x03eb, 12)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03eb, 55)
+#elif PACKETVER >= 20080903
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03eb, 20)
+#elif PACKETVER >= 20080813
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20081217
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ec, 7)
+#elif PACKETVER >= 20081126
+packetLen(0x03ec, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x03ec, 9)
+#elif PACKETVER >= 20081022
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03ec, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03ec, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03ec, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x03ec, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x03ec, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03ec, 36)
+#elif PACKETVER >= 20080813
+packetLen(0x03ec, -1)
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20081217
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ed, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03ed, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x03ed, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ed, 13)
+#elif PACKETVER >= 20080813
+packetLen(0x03ed, -1)
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20081217
+packetLen(0x03ee, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x03ee, 59)
+#elif PACKETVER >= 20081112
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03ee, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x03ee, 81)
+#elif PACKETVER >= 20081022
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03ee, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x03ee, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x03ee, 27)
+#elif PACKETVER >= 20080813
+packetLen(0x03ee, -1)
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20081217
+packetLen(0x03ef, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x03ef, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03ef, 6)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03ef, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03ef, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03ef, 59)
+#elif PACKETVER >= 20080903
+packetLen(0x03ef, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x03ef, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x03ef, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x03ef, 3)
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20081217
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03f0, 22)
+#elif PACKETVER >= 20081126
+packetLen(0x03f0, 3)
+#elif PACKETVER >= 20081105
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03f0, 21)
+#elif PACKETVER >= 20081022
+packetLen(0x03f0, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03f0, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03f0, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03f0, 42)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20081105
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03f1, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f1, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03f1, 79)
+#elif PACKETVER >= 20080827
+packetLen(0x03f1, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x03f1, -1)
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20081126
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03f2, 26)
+#elif PACKETVER >= 20081105
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03f2, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03f2, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f2, 22)
+#elif PACKETVER >= 20081001
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03f2, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03f2, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x03f2, 23)
+#elif PACKETVER >= 20080813
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20081203
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03f3, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03f3, 9)
+#elif PACKETVER >= 20081112
+packetLen(0x03f3, 34)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03f3, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03f3, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03f3, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20081217
+packetLen(0x03f4, 5)
+#elif PACKETVER >= 20081203
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03f4, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03f4, 14)
+#elif PACKETVER >= 20080910
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03f4, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03f4, 6)
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20081217
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03f5, 19)
+#elif PACKETVER >= 20081126
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03f5, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x03f5, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03f5, 54)
+#elif PACKETVER >= 20081029
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03f5, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f5, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03f5, 33)
+#elif PACKETVER >= 20080917
+packetLen(0x03f5, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03f5, 282)
+#elif PACKETVER >= 20080827
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03f5, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x03f5, 8)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20081217
+packetLen(0x03f6, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x03f6, 22)
+#elif PACKETVER >= 20081119
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03f6, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03f6, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03f6, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03f6, 44)
+#elif PACKETVER >= 20080910
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03f6, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x03f6, -1)
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20081217
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03f7, 27)
+#elif PACKETVER >= 20081126
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03f7, 66)
+#elif PACKETVER >= 20081112
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03f7, 19)
+#elif PACKETVER >= 20081029
+packetLen(0x03f7, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x03f7, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f7, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03f7, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x03f7, 39)
+#elif PACKETVER >= 20080917
+packetLen(0x03f7, 15)
+#elif PACKETVER >= 20080910
+packetLen(0x03f7, 9)
+#elif PACKETVER >= 20080903
+packetLen(0x03f7, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03f7, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x03f7, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x03f7, 6)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20081126
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03f8, 39)
+#elif PACKETVER >= 20081112
+packetLen(0x03f8, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03f8, 32)
+#elif PACKETVER >= 20081029
+packetLen(0x03f8, 27)
+#elif PACKETVER >= 20081022
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f8, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03f8, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x03f8, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03f8, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03f8, 4)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20081203
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03f9, 21)
+#elif PACKETVER >= 20081119
+packetLen(0x03f9, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03f9, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03f9, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03f9, 3)
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20081217
+packetLen(0x03fa, 33)
+#elif PACKETVER >= 20081126
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03fa, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03fa, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03fa, 21)
+#elif PACKETVER >= 20080924
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03fa, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03fa, 81)
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20081217
+packetLen(0x03fb, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03fb, 17)
+#elif PACKETVER >= 20081029
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03fb, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03fb, 12)
+#elif PACKETVER >= 20081001
+packetLen(0x03fb, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03fb, 67)
+#elif PACKETVER >= 20080903
+packetLen(0x03fb, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x03fb, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03fb, 33)
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20081217
+packetLen(0x03fc, 54)
+#elif PACKETVER >= 20081119
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03fc, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03fc, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03fc, 5)
+#elif PACKETVER >= 20080924
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03fc, 67)
+#elif PACKETVER >= 20080820
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03fc, 11)
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20081203
+packetLen(0x03fd, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03fd, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x03fd, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03fd, 114)
+#elif PACKETVER >= 20081029
+packetLen(0x03fd, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03fd, 32)
+#elif PACKETVER >= 20081015
+packetLen(0x03fd, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x03fd, 27)
+#elif PACKETVER >= 20081001
+packetLen(0x03fd, 282)
+#elif PACKETVER >= 20080924
+packetLen(0x03fd, 182)
+#elif PACKETVER >= 20080917
+packetLen(0x03fd, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x03fd, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03fd, 68)
+#elif PACKETVER >= 20080827
+packetLen(0x03fd, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x03fd, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03fd, 182)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20081119
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03fe, 67)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03fe, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03fe, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x03fe, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03fe, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x03fe, 57)
+#elif PACKETVER >= 20080903
+packetLen(0x03fe, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x03fe, 23)
+#elif PACKETVER >= 20080813
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20081217
+packetLen(0x03ff, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03ff, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03ff, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03ff, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x03ff, -1)
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20081217
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0400, 12)
+#elif PACKETVER >= 20081029
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0400, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0400, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20081217
+packetLen(0x0401, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0401, 26)
+#elif PACKETVER >= 20081126
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0401, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0401, 34)
+#elif PACKETVER >= 20081029
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0401, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0401, 9)
+#elif PACKETVER >= 20081008
+packetLen(0x0401, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0401, 65)
+#elif PACKETVER >= 20080917
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0401, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0401, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0401, -1)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20081217
+packetLen(0x0402, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x0402, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0402, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0402, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0402, 114)
+#elif PACKETVER >= 20080924
+packetLen(0x0402, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0402, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0402, 43)
+#elif PACKETVER >= 20080827
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0402, 16)
+#elif PACKETVER >= 20080813
+packetLen(0x0402, 6)
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20081119
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0403, 19)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0403, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0403, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20081217
+packetLen(0x0404, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x0404, 11)
+#elif PACKETVER >= 20081022
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0404, 27)
+#elif PACKETVER >= 20081008
+packetLen(0x0404, 13)
+#elif PACKETVER >= 20080924
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0404, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0404, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0404, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0404, -1)
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20081217
+packetLen(0x0405, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0405, 57)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0405, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0405, 9)
+#elif PACKETVER >= 20081015
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0405, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0405, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0405, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0405, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0405, 10)
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20081217
+packetLen(0x0406, 16)
+#elif PACKETVER >= 20081203
+packetLen(0x0406, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0406, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0406, 43)
+#elif PACKETVER >= 20081001
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0406, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0406, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0406, 8)
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20081203
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0407, 28)
+#elif PACKETVER >= 20081119
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0407, 12)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0407, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0407, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0407, 102)
+#elif PACKETVER >= 20081001
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0407, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0407, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x0407, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20081022
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0408, 59)
+#elif PACKETVER >= 20081008
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0408, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x0408, 12)
+#elif PACKETVER >= 20080917
+packetLen(0x0408, 22)
+#elif PACKETVER >= 20080910
+packetLen(0x0408, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0408, 28)
+#elif PACKETVER >= 20080820
+packetLen(0x0408, 29)
+#elif PACKETVER >= 20080813
+packetLen(0x0408, 2)
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20081217
+packetLen(0x0409, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x0409, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0409, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0409, 9)
+#elif PACKETVER >= 20081029
+packetLen(0x0409, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0409, 86)
+#elif PACKETVER >= 20081008
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0409, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x0409, -1)
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20081217
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x040a, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x040a, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x040a, 19)
+#elif PACKETVER >= 20081029
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x040a, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x040a, 186)
+#elif PACKETVER >= 20081008
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040a, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x040a, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x040a, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20081217
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x040b, 67)
+#elif PACKETVER >= 20081126
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x040b, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x040b, 97)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x040b, 27)
+#elif PACKETVER >= 20081008
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040b, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x040b, 9)
+#elif PACKETVER >= 20080917
+packetLen(0x040b, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x040b, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x040b, 57)
+#elif PACKETVER >= 20080813
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20081203
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x040c, 39)
+#elif PACKETVER >= 20081119
+packetLen(0x040c, 21)
+#elif PACKETVER >= 20081112
+packetLen(0x040c, 31)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x040c, 65)
+#elif PACKETVER >= 20081029
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x040c, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040c, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x040c, 28)
+#elif PACKETVER >= 20080917
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x040c, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x040c, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x040c, 20)
+#elif PACKETVER >= 20080820
+packetLen(0x040c, -1)
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20081217
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x040d, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x040d, 57)
+#elif PACKETVER >= 20081105
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x040d, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040d, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x040d, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x040d, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x040d, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x040d, 28)
+#elif PACKETVER >= 20080827
+packetLen(0x040d, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x040d, 5)
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20081203
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x040e, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x040e, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x040e, 58)
+#elif PACKETVER >= 20081029
+packetLen(0x040e, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x040e, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x040e, 86)
+#elif PACKETVER >= 20080827
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x040e, 6)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20081217
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x040f, 8)
+#elif PACKETVER >= 20081105
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x040f, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x040f, 68)
+#elif PACKETVER >= 20081015
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x040f, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x040f, 8)
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20081203
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0410, 10)
+#elif PACKETVER >= 20081105
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0410, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0410, 9)
+#elif PACKETVER >= 20081015
+packetLen(0x0410, 33)
+#elif PACKETVER >= 20081008
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0410, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0410, 186)
+#elif PACKETVER >= 20080903
+packetLen(0x0410, 12)
+#elif PACKETVER >= 20080827
+packetLen(0x0410, 81)
+#elif PACKETVER >= 20080820
+packetLen(0x0410, -1)
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20081217
+packetLen(0x0411, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0411, 90)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0411, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0411, 28)
+#elif PACKETVER >= 20080924
+packetLen(0x0411, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0411, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x0411, -1)
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20081217
+packetLen(0x0412, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0412, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0412, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0412, 9)
+#elif PACKETVER >= 20081029
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0412, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0412, 15)
+#elif PACKETVER >= 20080924
+packetLen(0x0412, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0412, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0412, 282)
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20081112
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0413, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0413, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0413, 65)
+#elif PACKETVER >= 20081001
+packetLen(0x0413, 54)
+#elif PACKETVER >= 20080903
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0413, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20081203
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0414, 16)
+#elif PACKETVER >= 20081105
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0414, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0414, 97)
+#elif PACKETVER >= 20081015
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0414, 15)
+#elif PACKETVER >= 20081001
+packetLen(0x0414, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x0414, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20081217
+packetLen(0x0415, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0415, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0415, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0415, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0415, 19)
+#elif PACKETVER >= 20080820
+packetLen(0x0415, -1)
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20081217
+packetLen(0x0416, 5)
+#elif PACKETVER >= 20081105
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0416, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0416, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0416, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0416, -1)
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20081217
+packetLen(0x0417, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x0417, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0417, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0417, 9)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0417, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0417, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0417, 57)
+#elif PACKETVER >= 20080924
+packetLen(0x0417, 81)
+#elif PACKETVER >= 20080917
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0417, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0417, 4)
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20081203
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0418, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0418, 182)
+#elif PACKETVER >= 20080924
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0418, 36)
+#elif PACKETVER >= 20080910
+packetLen(0x0418, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0418, 7)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20081217
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0419, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0419, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x0419, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0419, 55)
+#elif PACKETVER >= 20081022
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0419, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x0419, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x0419, 42)
+#elif PACKETVER >= 20080924
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0419, 24)
+#elif PACKETVER >= 20080903
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0419, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0419, 4)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20081217
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x041a, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x041a, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x041a, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x041a, 182)
+#elif PACKETVER >= 20081029
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x041a, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x041a, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x041a, 9)
+#elif PACKETVER >= 20080827
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x041a, 8)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20081217
+packetLen(0x041b, 54)
+#elif PACKETVER >= 20081203
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x041b, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x041b, 27)
+#elif PACKETVER >= 20081112
+packetLen(0x041b, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x041b, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x041b, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x041b, 44)
+#elif PACKETVER >= 20080820
+packetLen(0x041b, 6)
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20081217
+packetLen(0x041c, 34)
+#elif PACKETVER >= 20081203
+packetLen(0x041c, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x041c, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x041c, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x041c, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x041c, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x041c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x041c, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x041c, 54)
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20081217
+packetLen(0x041d, 67)
+#elif PACKETVER >= 20081203
+packetLen(0x041d, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x041d, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x041d, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x041d, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x041d, 39)
+#elif PACKETVER >= 20081008
+packetLen(0x041d, 71)
+#elif PACKETVER >= 20081001
+packetLen(0x041d, 90)
+#elif PACKETVER >= 20080924
+packetLen(0x041d, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x041d, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x041d, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x041d, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x041d, -1)
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20081112
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x041e, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x041e, 12)
+#elif PACKETVER >= 20081015
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x041e, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x041e, 66)
+#elif PACKETVER >= 20080924
+packetLen(0x041e, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x041e, 90)
+#elif PACKETVER >= 20080827
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x041e, 15)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20081203
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x041f, 57)
+#elif PACKETVER >= 20081119
+packetLen(0x041f, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x041f, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x041f, 54)
+#elif PACKETVER >= 20081001
+packetLen(0x041f, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x041f, 20)
+#elif PACKETVER >= 20080910
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x041f, 9)
+#elif PACKETVER >= 20080827
+packetLen(0x041f, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20081217
+packetLen(0x0420, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x0420, 282)
+#elif PACKETVER >= 20081126
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0420, 10)
+#elif PACKETVER >= 20081105
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0420, 79)
+#elif PACKETVER >= 20081022
+packetLen(0x0420, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0420, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0420, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0420, -1)
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20081217
+packetLen(0x0421, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x0421, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x0421, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0421, 12)
+#elif PACKETVER >= 20080917
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0421, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0421, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0421, -1)
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20081203
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0422, 54)
+#elif PACKETVER >= 20081119
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0422, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0422, 182)
+#elif PACKETVER >= 20081022
+packetLen(0x0422, 54)
+#elif PACKETVER >= 20080917
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0422, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x0422, -1)
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20081217
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0423, 11)
+#elif PACKETVER >= 20081126
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0423, 6)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0423, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0423, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0423, 15)
+#elif PACKETVER >= 20080917
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0423, 282)
+#elif PACKETVER >= 20080903
+packetLen(0x0423, 31)
+#elif PACKETVER >= 20080820
+packetLen(0x0423, -1)
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20081217
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0424, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0424, 11)
+#elif PACKETVER >= 20081105
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0424, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0424, 28)
+#elif PACKETVER >= 20081015
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0424, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0424, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0424, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0424, 34)
+#elif PACKETVER >= 20080903
+packetLen(0x0424, 44)
+#elif PACKETVER >= 20080820
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20081217
+packetLen(0x0425, 57)
+#elif PACKETVER >= 20081203
+packetLen(0x0425, 9)
+#elif PACKETVER >= 20081126
+packetLen(0x0425, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x0425, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0425, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0425, 68)
+#elif PACKETVER >= 20081008
+packetLen(0x0425, 12)
+#elif PACKETVER >= 20081001
+packetLen(0x0425, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0425, 10)
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20081203
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0426, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0426, 16)
+#elif PACKETVER >= 20081112
+packetLen(0x0426, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0426, 23)
+#elif PACKETVER >= 20081029
+packetLen(0x0426, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0426, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0426, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0426, 22)
+#elif PACKETVER >= 20080917
+packetLen(0x0426, 9)
+#elif PACKETVER >= 20080910
+packetLen(0x0426, 36)
+#elif PACKETVER >= 20080903
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0426, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0426, 102)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20081217
+packetLen(0x0427, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0427, 15)
+#elif PACKETVER >= 20081112
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0427, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0427, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0427, 282)
+#elif PACKETVER >= 20080820
+packetLen(0x0427, -1)
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20081217
+packetLen(0x0428, 19)
+#elif PACKETVER >= 20081203
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0428, 17)
+#elif PACKETVER >= 20081119
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0428, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0428, 24)
+#elif PACKETVER >= 20080910
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0428, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0428, 60)
+#elif PACKETVER >= 20080820
+packetLen(0x0428, 21)
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20081217
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0429, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0429, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0429, 30)
+#elif PACKETVER >= 20081029
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0429, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0429, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0429, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0429, 53)
+#elif PACKETVER >= 20080820
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20081203
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x042a, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x042a, 67)
+#elif PACKETVER >= 20081112
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x042a, 31)
+#elif PACKETVER >= 20081029
+packetLen(0x042a, 13)
+#elif PACKETVER >= 20081022
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x042a, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x042a, 68)
+#elif PACKETVER >= 20080910
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x042a, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x042a, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20081217
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x042b, 58)
+#elif PACKETVER >= 20081126
+packetLen(0x042b, 13)
+#elif PACKETVER >= 20081022
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x042b, 9)
+#elif PACKETVER >= 20081008
+packetLen(0x042b, 282)
+#elif PACKETVER >= 20081001
+packetLen(0x042b, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x042b, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x042b, -1)
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20081217
+packetLen(0x042c, 31)
+#elif PACKETVER >= 20081203
+packetLen(0x042c, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x042c, 36)
+#elif PACKETVER >= 20081105
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x042c, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x042c, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x042c, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x042c, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x042c, 16)
+#elif PACKETVER >= 20080910
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x042c, 29)
+#elif PACKETVER >= 20080820
+packetLen(0x042c, -1)
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20081203
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x042d, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x042d, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x042d, 7)
+#elif PACKETVER >= 20081029
+packetLen(0x042d, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x042d, 5)
+#elif PACKETVER >= 20080910
+packetLen(0x042d, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x042d, 186)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20081203
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x042e, 12)
+#elif PACKETVER >= 20081112
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x042e, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x042e, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x042e, 57)
+#elif PACKETVER >= 20080903
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x042e, -1)
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20081217
+packetLen(0x042f, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x042f, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x042f, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x042f, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x042f, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x042f, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x042f, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x042f, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x042f, -1)
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20081217
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0430, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0430, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0430, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0430, 86)
+#elif PACKETVER >= 20081008
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0430, 43)
+#elif PACKETVER >= 20080924
+packetLen(0x0430, 13)
+#elif PACKETVER >= 20080917
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0430, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0430, 31)
+#elif PACKETVER >= 20080827
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0430, 10)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20081105
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0431, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0431, 9)
+#elif PACKETVER >= 20081015
+packetLen(0x0431, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0431, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0431, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0431, 32)
+#elif PACKETVER >= 20080820
+packetLen(0x0431, -1)
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20081119
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0432, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0432, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0432, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x0432, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0432, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0432, 27)
+#elif PACKETVER >= 20080820
+packetLen(0x0432, 18)
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20081217
+packetLen(0x0433, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0433, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0433, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0433, 39)
+#elif PACKETVER >= 20081029
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0433, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0433, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x0433, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0433, 54)
+#elif PACKETVER >= 20080917
+packetLen(0x0433, 17)
+#elif PACKETVER >= 20080910
+packetLen(0x0433, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x0433, -1)
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20081217
+packetLen(0x0434, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0434, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0434, 15)
+#elif PACKETVER >= 20080903
+packetLen(0x0434, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0434, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x0434, -1)
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20081217
+packetLen(0x0435, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0435, 24)
+#elif PACKETVER >= 20081015
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0435, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x0435, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x0435, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0435, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0435, -1)
+#endif
+
+// Packet: 0x0436
+#if PACKETVER >= 20081217
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20081203
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20081126
+packetLen(0x0436, 9) // CZ_ENTER2
+#elif PACKETVER >= 20081112
+packetLen(0x0436, 19) // CZ_ENTER2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0436, 60) // CZ_ENTER2
+#elif PACKETVER >= 20081029
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20081022
+packetLen(0x0436, 13) // CZ_ENTER2
+#elif PACKETVER >= 20081015
+packetLen(0x0436, 7) // CZ_ENTER2
+#elif PACKETVER >= 20080924
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20080917
+packetLen(0x0436, 7) // CZ_ENTER2
+#elif PACKETVER >= 20080910
+packetLen(0x0436, 3) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20081112
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0437, 282) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20081029
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20081022
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20081015
+packetLen(0x0437, 55) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20081008
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20081001
+packetLen(0x0437, 33) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20080924
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20080917
+packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20080910
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20081217
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20081203
+packetLen(0x0438, 65) // CZ_USE_SKILL2
+#elif PACKETVER >= 20081119
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20081112
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0438, 4) // CZ_USE_SKILL2
+#elif PACKETVER >= 20081029
+packetLen(0x0438, 12) // CZ_USE_SKILL2
+#elif PACKETVER >= 20081022
+packetLen(0x0438, 30) // CZ_USE_SKILL2
+#elif PACKETVER >= 20081001
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20080924
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20080917
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20080910
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+#if PACKETVER >= 20081217
+packetLen(0x0439, 3) // CZ_USE_ITEM2
+#elif PACKETVER >= 20081119
+packetLen(0x0439, -1) // CZ_USE_ITEM2
+#elif PACKETVER >= 20081112
+packetLen(0x0439, 22) // CZ_USE_ITEM2
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0439, 4) // CZ_USE_ITEM2
+#elif PACKETVER >= 20081022
+packetLen(0x0439, -1) // CZ_USE_ITEM2
+#elif PACKETVER >= 20081015
+packetLen(0x0439, 11) // CZ_USE_ITEM2
+#elif PACKETVER >= 20081008
+packetLen(0x0439, 114) // CZ_USE_ITEM2
+#elif PACKETVER >= 20081001
+packetLen(0x0439, 12) // CZ_USE_ITEM2
+#elif PACKETVER >= 20080924
+packetLen(0x0439, 30) // CZ_USE_ITEM2
+#elif PACKETVER >= 20080917
+packetLen(0x0439, -1) // CZ_USE_ITEM2
+#elif PACKETVER >= 20080910
+packetLen(0x0439, 30) // CZ_USE_ITEM2
+#endif
+
+// Packet: 0x043d
+#if PACKETVER >= 20081112
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+#endif
+
+// Packet: 0x043e
+#if PACKETVER >= 20081112
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+#endif
+
+// Packet: 0x043f
+#if PACKETVER >= 20081112
+packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+#endif
+
+// Packet: 0x0440
+#if PACKETVER >= 20081126
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+#endif
+
+// Packet: 0x0441
+#if PACKETVER >= 20081126
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+#endif
+
+// Packet: 0x0442
+#if PACKETVER >= 20081210
+packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+#endif
+
+// Packet: 0x0443
+#if PACKETVER >= 20081210
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+#endif
+
+
+#endif /* COMMON_PACKETS2008_LEN_MAIN_H */
diff --git a/src/common/packets/packets2008_len_re.h b/src/common/packets/packets2008_len_re.h
new file mode 100644
index 000000000..37ee848eb
--- /dev/null
+++ b/src/common/packets/packets2008_len_re.h
@@ -0,0 +1,2944 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2008_LEN_RE_H
+#define COMMON_PACKETS2008_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20081217
+packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20080827
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+#if PACKETVER >= 20081126
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080827
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+#endif
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+
+// Packet: 0x02f7
+packetLen(0x02f7, -1)
+
+// Packet: 0x02f8
+packetLen(0x02f8, -1)
+
+// Packet: 0x02f9
+packetLen(0x02f9, -1)
+
+// Packet: 0x02fa
+packetLen(0x02fa, -1)
+
+// Packet: 0x02fb
+packetLen(0x02fb, -1)
+
+// Packet: 0x02fc
+packetLen(0x02fc, -1)
+
+// Packet: 0x02fd
+packetLen(0x02fd, -1)
+
+// Packet: 0x02fe
+packetLen(0x02fe, -1)
+
+// Packet: 0x02ff
+packetLen(0x02ff, -1)
+
+// Packet: 0x0300
+packetLen(0x0300, -1)
+
+// Packet: 0x0301
+packetLen(0x0301, -1)
+
+// Packet: 0x0302
+packetLen(0x0302, -1)
+
+// Packet: 0x0303
+packetLen(0x0303, -1)
+
+// Packet: 0x0304
+packetLen(0x0304, -1)
+
+// Packet: 0x0305
+packetLen(0x0305, -1)
+
+// Packet: 0x0306
+packetLen(0x0306, -1)
+
+// Packet: 0x0307
+packetLen(0x0307, -1)
+
+// Packet: 0x0308
+packetLen(0x0308, -1)
+
+// Packet: 0x0309
+packetLen(0x0309, -1)
+
+// Packet: 0x030a
+packetLen(0x030a, -1)
+
+// Packet: 0x030b
+packetLen(0x030b, -1)
+
+// Packet: 0x030c
+packetLen(0x030c, -1)
+
+// Packet: 0x030d
+packetLen(0x030d, -1)
+
+// Packet: 0x030e
+packetLen(0x030e, -1)
+
+// Packet: 0x030f
+packetLen(0x030f, -1)
+
+// Packet: 0x0310
+packetLen(0x0310, -1)
+
+// Packet: 0x0311
+packetLen(0x0311, -1)
+
+// Packet: 0x0312
+packetLen(0x0312, -1)
+
+// Packet: 0x0313
+packetLen(0x0313, -1)
+
+// Packet: 0x0314
+packetLen(0x0314, -1)
+
+// Packet: 0x0315
+packetLen(0x0315, -1)
+
+// Packet: 0x0316
+packetLen(0x0316, -1)
+
+// Packet: 0x0317
+packetLen(0x0317, -1)
+
+// Packet: 0x0318
+packetLen(0x0318, -1)
+
+// Packet: 0x0319
+packetLen(0x0319, -1)
+
+// Packet: 0x031a
+packetLen(0x031a, -1)
+
+// Packet: 0x031b
+packetLen(0x031b, -1)
+
+// Packet: 0x031c
+packetLen(0x031c, -1)
+
+// Packet: 0x031d
+packetLen(0x031d, -1)
+
+// Packet: 0x031e
+packetLen(0x031e, -1)
+
+// Packet: 0x031f
+packetLen(0x031f, -1)
+
+// Packet: 0x0320
+packetLen(0x0320, -1)
+
+// Packet: 0x0321
+packetLen(0x0321, -1)
+
+// Packet: 0x0322
+packetLen(0x0322, -1)
+
+// Packet: 0x0323
+packetLen(0x0323, -1)
+
+// Packet: 0x0324
+packetLen(0x0324, -1)
+
+// Packet: 0x0325
+packetLen(0x0325, -1)
+
+// Packet: 0x0326
+packetLen(0x0326, -1)
+
+// Packet: 0x0327
+packetLen(0x0327, -1)
+
+// Packet: 0x0328
+packetLen(0x0328, -1)
+
+// Packet: 0x0329
+packetLen(0x0329, -1)
+
+// Packet: 0x032a
+packetLen(0x032a, -1)
+
+// Packet: 0x032b
+packetLen(0x032b, -1)
+
+// Packet: 0x032c
+packetLen(0x032c, -1)
+
+// Packet: 0x032d
+packetLen(0x032d, -1)
+
+// Packet: 0x032e
+packetLen(0x032e, -1)
+
+// Packet: 0x032f
+packetLen(0x032f, -1)
+
+// Packet: 0x0330
+packetLen(0x0330, -1)
+
+// Packet: 0x0331
+packetLen(0x0331, -1)
+
+// Packet: 0x0332
+packetLen(0x0332, -1)
+
+// Packet: 0x0333
+packetLen(0x0333, -1)
+
+// Packet: 0x0334
+packetLen(0x0334, -1)
+
+// Packet: 0x0335
+packetLen(0x0335, -1)
+
+// Packet: 0x0336
+packetLen(0x0336, -1)
+
+// Packet: 0x0337
+packetLen(0x0337, -1)
+
+// Packet: 0x0338
+packetLen(0x0338, -1)
+
+// Packet: 0x0339
+packetLen(0x0339, -1)
+
+// Packet: 0x033a
+packetLen(0x033a, -1)
+
+// Packet: 0x033b
+packetLen(0x033b, -1)
+
+// Packet: 0x033c
+packetLen(0x033c, -1)
+
+// Packet: 0x033d
+packetLen(0x033d, -1)
+
+// Packet: 0x033e
+packetLen(0x033e, -1)
+
+// Packet: 0x033f
+packetLen(0x033f, -1)
+
+// Packet: 0x0340
+packetLen(0x0340, -1)
+
+// Packet: 0x0341
+packetLen(0x0341, -1)
+
+// Packet: 0x0342
+packetLen(0x0342, -1)
+
+// Packet: 0x0343
+packetLen(0x0343, -1)
+
+// Packet: 0x0344
+packetLen(0x0344, -1)
+
+// Packet: 0x0345
+packetLen(0x0345, -1)
+
+// Packet: 0x0346
+packetLen(0x0346, -1)
+
+// Packet: 0x0347
+packetLen(0x0347, -1)
+
+// Packet: 0x0348
+packetLen(0x0348, -1)
+
+// Packet: 0x0349
+packetLen(0x0349, -1)
+
+// Packet: 0x034a
+packetLen(0x034a, -1)
+
+// Packet: 0x034b
+packetLen(0x034b, -1)
+
+// Packet: 0x034c
+packetLen(0x034c, -1)
+
+// Packet: 0x034d
+packetLen(0x034d, -1)
+
+// Packet: 0x034e
+packetLen(0x034e, -1)
+
+// Packet: 0x034f
+packetLen(0x034f, -1)
+
+// Packet: 0x0350
+packetLen(0x0350, -1)
+
+// Packet: 0x0351
+packetLen(0x0351, -1)
+
+// Packet: 0x0352
+packetLen(0x0352, -1)
+
+// Packet: 0x0353
+packetLen(0x0353, -1)
+
+// Packet: 0x0354
+packetLen(0x0354, -1)
+
+// Packet: 0x0355
+packetLen(0x0355, -1)
+
+// Packet: 0x0356
+packetLen(0x0356, -1)
+
+// Packet: 0x0357
+packetLen(0x0357, -1)
+
+// Packet: 0x0358
+packetLen(0x0358, -1)
+
+// Packet: 0x0359
+packetLen(0x0359, -1)
+
+// Packet: 0x035a
+packetLen(0x035a, -1)
+
+// Packet: 0x035b
+packetLen(0x035b, -1)
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+
+// Packet: 0x0360
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+
+// Packet: 0x0361
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+
+// Packet: 0x0362
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+
+// Packet: 0x0363
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+
+// Packet: 0x0364
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+
+// Packet: 0x0365
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+
+// Packet: 0x0366
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+
+// Packet: 0x0367
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+
+// Packet: 0x0368
+packetLen(0x0368, -1) // CZ_REQNAME2
+
+// Packet: 0x0369
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+
+// Packet: 0x036a
+packetLen(0x036a, -1)
+
+// Packet: 0x036b
+packetLen(0x036b, -1)
+
+// Packet: 0x036c
+packetLen(0x036c, -1)
+
+// Packet: 0x036d
+packetLen(0x036d, -1)
+
+// Packet: 0x036e
+packetLen(0x036e, -1)
+
+// Packet: 0x036f
+packetLen(0x036f, -1)
+
+// Packet: 0x0370
+packetLen(0x0370, -1)
+
+// Packet: 0x0371
+packetLen(0x0371, -1)
+
+// Packet: 0x0372
+packetLen(0x0372, -1)
+
+// Packet: 0x0373
+packetLen(0x0373, -1)
+
+// Packet: 0x0374
+packetLen(0x0374, -1)
+
+// Packet: 0x0375
+packetLen(0x0375, -1)
+
+// Packet: 0x0376
+packetLen(0x0376, -1)
+
+// Packet: 0x0377
+packetLen(0x0377, -1)
+
+// Packet: 0x0378
+packetLen(0x0378, -1)
+
+// Packet: 0x0379
+packetLen(0x0379, -1)
+
+// Packet: 0x037a
+packetLen(0x037a, -1)
+
+// Packet: 0x037b
+packetLen(0x037b, -1)
+
+// Packet: 0x037c
+packetLen(0x037c, -1)
+
+// Packet: 0x037d
+packetLen(0x037d, -1)
+
+// Packet: 0x037e
+packetLen(0x037e, -1)
+
+// Packet: 0x037f
+packetLen(0x037f, -1)
+
+// Packet: 0x0380
+packetLen(0x0380, -1)
+
+// Packet: 0x0381
+packetLen(0x0381, -1)
+
+// Packet: 0x0382
+packetLen(0x0382, -1)
+
+// Packet: 0x0383
+packetLen(0x0383, -1)
+
+// Packet: 0x0384
+packetLen(0x0384, -1)
+
+// Packet: 0x0385
+packetLen(0x0385, -1)
+
+// Packet: 0x0386
+packetLen(0x0386, -1)
+
+// Packet: 0x0387
+packetLen(0x0387, -1)
+
+// Packet: 0x0388
+packetLen(0x0388, -1)
+
+// Packet: 0x0389
+packetLen(0x0389, -1)
+
+// Packet: 0x038a
+packetLen(0x038a, -1)
+
+// Packet: 0x038b
+packetLen(0x038b, -1)
+
+// Packet: 0x038c
+packetLen(0x038c, -1)
+
+// Packet: 0x038d
+packetLen(0x038d, -1)
+
+// Packet: 0x038e
+packetLen(0x038e, -1)
+
+// Packet: 0x038f
+packetLen(0x038f, -1)
+
+// Packet: 0x0390
+packetLen(0x0390, -1)
+
+// Packet: 0x0391
+packetLen(0x0391, -1)
+
+// Packet: 0x0392
+packetLen(0x0392, -1)
+
+// Packet: 0x0393
+packetLen(0x0393, -1)
+
+// Packet: 0x0394
+packetLen(0x0394, -1)
+
+// Packet: 0x0395
+packetLen(0x0395, -1)
+
+// Packet: 0x0396
+packetLen(0x0396, -1)
+
+// Packet: 0x0397
+packetLen(0x0397, -1)
+
+// Packet: 0x0398
+packetLen(0x0398, -1)
+
+// Packet: 0x0399
+packetLen(0x0399, -1)
+
+// Packet: 0x039a
+packetLen(0x039a, -1)
+
+// Packet: 0x039b
+packetLen(0x039b, -1)
+
+// Packet: 0x039c
+packetLen(0x039c, -1)
+
+// Packet: 0x039d
+packetLen(0x039d, -1)
+
+// Packet: 0x039e
+packetLen(0x039e, -1)
+
+// Packet: 0x039f
+packetLen(0x039f, -1)
+
+// Packet: 0x03a0
+packetLen(0x03a0, -1)
+
+// Packet: 0x03a1
+packetLen(0x03a1, -1)
+
+// Packet: 0x03a2
+packetLen(0x03a2, -1)
+
+// Packet: 0x03a3
+packetLen(0x03a3, -1)
+
+// Packet: 0x03a4
+packetLen(0x03a4, -1)
+
+// Packet: 0x03a5
+packetLen(0x03a5, -1)
+
+// Packet: 0x03a6
+packetLen(0x03a6, -1)
+
+// Packet: 0x03a7
+packetLen(0x03a7, -1)
+
+// Packet: 0x03a8
+packetLen(0x03a8, -1)
+
+// Packet: 0x03a9
+packetLen(0x03a9, -1)
+
+// Packet: 0x03aa
+packetLen(0x03aa, -1)
+
+// Packet: 0x03ab
+packetLen(0x03ab, -1)
+
+// Packet: 0x03ac
+packetLen(0x03ac, -1)
+
+// Packet: 0x03ad
+packetLen(0x03ad, -1)
+
+// Packet: 0x03ae
+packetLen(0x03ae, -1)
+
+// Packet: 0x03af
+packetLen(0x03af, -1)
+
+// Packet: 0x03b0
+packetLen(0x03b0, -1)
+
+// Packet: 0x03b1
+packetLen(0x03b1, -1)
+
+// Packet: 0x03b2
+packetLen(0x03b2, -1)
+
+// Packet: 0x03b3
+packetLen(0x03b3, -1)
+
+// Packet: 0x03b4
+packetLen(0x03b4, -1)
+
+// Packet: 0x03b5
+packetLen(0x03b5, -1)
+
+// Packet: 0x03b6
+packetLen(0x03b6, -1)
+
+// Packet: 0x03b7
+packetLen(0x03b7, -1)
+
+// Packet: 0x03b8
+packetLen(0x03b8, -1)
+
+// Packet: 0x03b9
+packetLen(0x03b9, -1)
+
+// Packet: 0x03ba
+packetLen(0x03ba, -1)
+
+// Packet: 0x03bb
+packetLen(0x03bb, -1)
+
+// Packet: 0x03bc
+packetLen(0x03bc, -1)
+
+// Packet: 0x03bd
+packetLen(0x03bd, -1)
+
+// Packet: 0x03be
+packetLen(0x03be, -1)
+
+// Packet: 0x03bf
+packetLen(0x03bf, -1)
+
+// Packet: 0x03c0
+packetLen(0x03c0, -1)
+
+// Packet: 0x03c1
+packetLen(0x03c1, -1)
+
+// Packet: 0x03c2
+packetLen(0x03c2, -1)
+
+// Packet: 0x03c3
+packetLen(0x03c3, -1)
+
+// Packet: 0x03c4
+packetLen(0x03c4, -1)
+
+// Packet: 0x03c5
+packetLen(0x03c5, -1)
+
+// Packet: 0x03c6
+packetLen(0x03c6, -1)
+
+// Packet: 0x03c7
+packetLen(0x03c7, -1)
+
+// Packet: 0x03c8
+packetLen(0x03c8, -1)
+
+// Packet: 0x03c9
+packetLen(0x03c9, -1)
+
+// Packet: 0x03ca
+packetLen(0x03ca, -1)
+
+// Packet: 0x03cb
+packetLen(0x03cb, -1)
+
+// Packet: 0x03cc
+packetLen(0x03cc, -1)
+
+// Packet: 0x03cd
+packetLen(0x03cd, -1)
+
+// Packet: 0x03ce
+packetLen(0x03ce, -1)
+
+// Packet: 0x03cf
+packetLen(0x03cf, -1)
+
+// Packet: 0x03d0
+packetLen(0x03d0, -1)
+
+// Packet: 0x03d1
+packetLen(0x03d1, -1)
+
+// Packet: 0x03d2
+packetLen(0x03d2, -1)
+
+// Packet: 0x03d3
+packetLen(0x03d3, -1)
+
+// Packet: 0x03d4
+packetLen(0x03d4, -1)
+
+// Packet: 0x03d5
+packetLen(0x03d5, -1)
+
+// Packet: 0x03d6
+packetLen(0x03d6, -1)
+
+// Packet: 0x03d7
+packetLen(0x03d7, -1)
+
+// Packet: 0x03d8
+packetLen(0x03d8, -1)
+
+// Packet: 0x03d9
+packetLen(0x03d9, -1)
+
+// Packet: 0x03da
+packetLen(0x03da, -1)
+
+// Packet: 0x03db
+packetLen(0x03db, -1)
+
+// Packet: 0x03dc
+packetLen(0x03dc, -1)
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x03e2
+packetLen(0x03e2, -1)
+
+// Packet: 0x03e3
+packetLen(0x03e3, -1)
+
+// Packet: 0x03e4
+packetLen(0x03e4, -1)
+
+// Packet: 0x03e5
+packetLen(0x03e5, -1)
+
+// Packet: 0x03e6
+packetLen(0x03e6, -1)
+
+// Packet: 0x03e7
+packetLen(0x03e7, -1)
+
+// Packet: 0x03e8
+packetLen(0x03e8, -1)
+
+// Packet: 0x03e9
+packetLen(0x03e9, -1)
+
+// Packet: 0x03ea
+packetLen(0x03ea, -1)
+
+// Packet: 0x03eb
+packetLen(0x03eb, -1)
+
+// Packet: 0x03ec
+packetLen(0x03ec, -1)
+
+// Packet: 0x03ed
+packetLen(0x03ed, -1)
+
+// Packet: 0x03ee
+packetLen(0x03ee, -1)
+
+// Packet: 0x03ef
+packetLen(0x03ef, -1)
+
+// Packet: 0x03f0
+packetLen(0x03f0, -1)
+
+// Packet: 0x03f1
+packetLen(0x03f1, -1)
+
+// Packet: 0x03f2
+packetLen(0x03f2, -1)
+
+// Packet: 0x03f3
+packetLen(0x03f3, -1)
+
+// Packet: 0x03f4
+packetLen(0x03f4, -1)
+
+// Packet: 0x03f5
+packetLen(0x03f5, -1)
+
+// Packet: 0x03f6
+packetLen(0x03f6, -1)
+
+// Packet: 0x03f7
+packetLen(0x03f7, -1)
+
+// Packet: 0x03f8
+packetLen(0x03f8, -1)
+
+// Packet: 0x03f9
+packetLen(0x03f9, -1)
+
+// Packet: 0x03fa
+packetLen(0x03fa, -1)
+
+// Packet: 0x03fb
+packetLen(0x03fb, -1)
+
+// Packet: 0x03fc
+packetLen(0x03fc, -1)
+
+// Packet: 0x03fd
+packetLen(0x03fd, -1)
+
+// Packet: 0x03fe
+packetLen(0x03fe, -1)
+
+// Packet: 0x03ff
+packetLen(0x03ff, -1)
+
+// Packet: 0x0400
+packetLen(0x0400, -1)
+
+// Packet: 0x0401
+packetLen(0x0401, -1)
+
+// Packet: 0x0402
+packetLen(0x0402, -1)
+
+// Packet: 0x0403
+packetLen(0x0403, -1)
+
+// Packet: 0x0404
+packetLen(0x0404, -1)
+
+// Packet: 0x0405
+packetLen(0x0405, -1)
+
+// Packet: 0x0406
+packetLen(0x0406, -1)
+
+// Packet: 0x0407
+packetLen(0x0407, -1)
+
+// Packet: 0x0408
+packetLen(0x0408, -1)
+
+// Packet: 0x0409
+packetLen(0x0409, -1)
+
+// Packet: 0x040a
+packetLen(0x040a, -1)
+
+// Packet: 0x040b
+packetLen(0x040b, -1)
+
+// Packet: 0x040c
+packetLen(0x040c, -1)
+
+// Packet: 0x040d
+packetLen(0x040d, -1)
+
+// Packet: 0x040e
+packetLen(0x040e, -1)
+
+// Packet: 0x040f
+packetLen(0x040f, -1)
+
+// Packet: 0x0410
+packetLen(0x0410, -1)
+
+// Packet: 0x0411
+packetLen(0x0411, -1)
+
+// Packet: 0x0412
+packetLen(0x0412, -1)
+
+// Packet: 0x0413
+packetLen(0x0413, -1)
+
+// Packet: 0x0414
+packetLen(0x0414, -1)
+
+// Packet: 0x0415
+packetLen(0x0415, -1)
+
+// Packet: 0x0416
+packetLen(0x0416, -1)
+
+// Packet: 0x0417
+packetLen(0x0417, -1)
+
+// Packet: 0x0418
+packetLen(0x0418, -1)
+
+// Packet: 0x0419
+packetLen(0x0419, -1)
+
+// Packet: 0x041a
+packetLen(0x041a, -1)
+
+// Packet: 0x041b
+packetLen(0x041b, -1)
+
+// Packet: 0x041c
+packetLen(0x041c, -1)
+
+// Packet: 0x041d
+packetLen(0x041d, -1)
+
+// Packet: 0x041e
+packetLen(0x041e, -1)
+
+// Packet: 0x041f
+packetLen(0x041f, -1)
+
+// Packet: 0x0420
+packetLen(0x0420, -1)
+
+// Packet: 0x0421
+packetLen(0x0421, -1)
+
+// Packet: 0x0422
+packetLen(0x0422, -1)
+
+// Packet: 0x0423
+packetLen(0x0423, -1)
+
+// Packet: 0x0424
+packetLen(0x0424, -1)
+
+// Packet: 0x0425
+packetLen(0x0425, -1)
+
+// Packet: 0x0426
+packetLen(0x0426, -1)
+
+// Packet: 0x0427
+packetLen(0x0427, -1)
+
+// Packet: 0x0428
+packetLen(0x0428, -1)
+
+// Packet: 0x0429
+packetLen(0x0429, -1)
+
+// Packet: 0x042a
+packetLen(0x042a, -1)
+
+// Packet: 0x042b
+packetLen(0x042b, -1)
+
+// Packet: 0x042c
+packetLen(0x042c, -1)
+
+// Packet: 0x042d
+packetLen(0x042d, -1)
+
+// Packet: 0x042e
+packetLen(0x042e, -1)
+
+// Packet: 0x042f
+packetLen(0x042f, -1)
+
+// Packet: 0x0430
+packetLen(0x0430, -1)
+
+// Packet: 0x0431
+packetLen(0x0431, -1)
+
+// Packet: 0x0432
+packetLen(0x0432, -1)
+
+// Packet: 0x0433
+packetLen(0x0433, -1)
+
+// Packet: 0x0434
+packetLen(0x0434, -1)
+
+// Packet: 0x0435
+packetLen(0x0435, -1)
+
+// Packet: 0x0436
+#if PACKETVER >= 20080910
+packetLen(0x0436, 19) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20080910
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20080910
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+#if PACKETVER >= 20080910
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+#endif
+
+// Packet: 0x043d
+#if PACKETVER >= 20081111
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+#endif
+
+// Packet: 0x043e
+#if PACKETVER >= 20081111
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+#endif
+
+// Packet: 0x043f
+#if PACKETVER >= 20081111
+packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+#endif
+
+// Packet: 0x0440
+#if PACKETVER >= 20081126
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+#endif
+
+// Packet: 0x0441
+#if PACKETVER >= 20081126
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+#endif
+
+// Packet: 0x0442
+#if PACKETVER >= 20081217
+packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+#endif
+
+// Packet: 0x0443
+#if PACKETVER >= 20081217
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+#endif
+
+
+#endif /* COMMON_PACKETS2008_LEN_RE_H */
diff --git a/src/common/packets/packets2008_len_sak.h b/src/common/packets/packets2008_len_sak.h
new file mode 100644
index 000000000..cf20cf753
--- /dev/null
+++ b/src/common/packets/packets2008_len_sak.h
@@ -0,0 +1,8968 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2008_LEN_SAK_H
+#define COMMON_PACKETS2008_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 25) // CZ_ENTER
+
+// Packet: 0x0073
+#if PACKETVER >= 20080618
+packetLen(0x0073, 32) // ZC_ACCEPT_ENTER
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080311
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080304
+packetLen(0x0073, 26) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080226
+packetLen(0x0073, 53) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080219
+packetLen(0x0073, 22) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20080102
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+#endif
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+#if PACKETVER >= 20080618
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080610
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080311
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080304
+packetLen(0x0075, 11) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080226
+packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080219
+packetLen(0x0075, 28) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20080102
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#endif
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+#if PACKETVER >= 20080618
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080311
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080304
+packetLen(0x0077, 54) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080226
+packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080219
+packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20080102
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+#endif
+
+// Packet: 0x0078
+#if PACKETVER >= 20080618
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0078, 6) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0078, 3) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x0078, 6) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+#endif
+
+// Packet: 0x0079
+#if PACKETVER >= 20080618
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0079, 6) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0079, 27) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+#endif
+
+// Packet: 0x007a
+#if PACKETVER >= 20080618
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x007a, 4) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x007a, 29) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+#endif
+
+// Packet: 0x007b
+#if PACKETVER >= 20080618
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x007b, 7) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x007b, 56) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x007b, 5) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+#endif
+
+// Packet: 0x007c
+#if PACKETVER >= 20080618
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080610
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080311
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080304
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080226
+packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080219
+packetLen(0x007c, 186) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20080102
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+#endif
+
+// Packet: 0x007d
+#if PACKETVER >= 20080618
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x007d, 54) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080311
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080304
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080226
+packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080219
+packetLen(0x007d, 3) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20080102
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#endif
+
+// Packet: 0x007e
+packetLen(0x007e, 102) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+#if PACKETVER >= 20080618
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080311
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080304
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080226
+packetLen(0x007f, 54) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080219
+packetLen(0x007f, 4) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20080102
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+#endif
+
+// Packet: 0x0080
+#if PACKETVER >= 20080618
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080311
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080304
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080226
+packetLen(0x0080, 4) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080219
+packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20080102
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+#endif
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+#if PACKETVER >= 20080618
+packetLen(0x0083, 34) // ZC_ACCEPT_QUIT
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080311
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080304
+packetLen(0x0083, 32) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080226
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080219
+packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20080102
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+#endif
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+#if PACKETVER >= 20080618
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0086, 3) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0086, 4) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+#endif
+
+// Packet: 0x0087
+#if PACKETVER >= 20080618
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0087, 4) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+#endif
+
+// Packet: 0x0088
+#if PACKETVER >= 20080618
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#elif PACKETVER >= 20080610
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0088, 6) // ZC_STOPMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0088, 30) // ZC_STOPMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#endif
+
+// Packet: 0x0089
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+#if PACKETVER >= 20080618
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080311
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080304
+packetLen(0x008a, 5) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080226
+packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080219
+packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20080102
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+#endif
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 11)
+
+// Packet: 0x008d
+#if PACKETVER >= 20080618
+packetLen(0x008d, 282) // ZC_NOTIFY_CHAT
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080304
+packetLen(0x008d, 3) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080226
+packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080219
+packetLen(0x008d, 79) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20080102
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#endif
+
+// Packet: 0x008e
+#if PACKETVER >= 20080618
+packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080304
+packetLen(0x008e, 12) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080226
+packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080219
+packetLen(0x008e, 33) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20080102
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#endif
+
+// Packet: 0x0090
+#if PACKETVER >= 20080618
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0090, 12) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080311
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080304
+packetLen(0x0090, 6) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080226
+packetLen(0x0090, 4) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080219
+packetLen(0x0090, 2) // CZ_CONTACTNPC
+#elif PACKETVER >= 20080102
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+#endif
+
+// Packet: 0x0091
+#if PACKETVER >= 20080618
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0091, 26) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0091, 4) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+#endif
+
+// Packet: 0x0092
+#if PACKETVER >= 20080618
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080311
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080304
+packetLen(0x0092, 10) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080226
+packetLen(0x0092, 3) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080219
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20080102
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+#endif
+
+// Packet: 0x0093
+#if PACKETVER >= 20080618
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080610
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080304
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080226
+packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080219
+packetLen(0x0093, 67) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20080102
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+#endif
+
+// Packet: 0x0094
+packetLen(0x0094, 14) // CZ_REQNAME
+
+// Packet: 0x0095
+#if PACKETVER >= 20080618
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080610
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080311
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080304
+packetLen(0x0095, 10) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080226
+packetLen(0x0095, 39) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080219
+packetLen(0x0095, 2) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20080102
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+#endif
+
+// Packet: 0x0096
+#if PACKETVER >= 20080311
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080304
+packetLen(0x0096, 4) // CZ_WHISPER
+#elif PACKETVER >= 20080226
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20080219
+packetLen(0x0096, 3) // CZ_WHISPER
+#elif PACKETVER >= 20080102
+packetLen(0x0096, -1) // CZ_WHISPER
+#endif
+
+// Packet: 0x0097
+#if PACKETVER >= 20080618
+packetLen(0x0097, 10) // ZC_WHISPER
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080304
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20080219
+packetLen(0x0097, 23) // ZC_WHISPER
+#elif PACKETVER >= 20080102
+packetLen(0x0097, -1) // ZC_WHISPER
+#endif
+
+// Packet: 0x0098
+#if PACKETVER >= 20080618
+packetLen(0x0098, 24) // ZC_ACK_WHISPER
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080311
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080304
+packetLen(0x0098, 6) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080226
+packetLen(0x0098, 2) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080219
+packetLen(0x0098, 8) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20080102
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+#endif
+
+// Packet: 0x0099
+#if PACKETVER >= 20080311
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20080304
+packetLen(0x0099, 4) // CZ_BROADCAST
+#elif PACKETVER >= 20080226
+packetLen(0x0099, 34) // CZ_BROADCAST
+#elif PACKETVER >= 20080219
+packetLen(0x0099, 2) // CZ_BROADCAST
+#elif PACKETVER >= 20080102
+packetLen(0x0099, -1) // CZ_BROADCAST
+#endif
+
+// Packet: 0x009a
+#if PACKETVER >= 20080304
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20080226
+packetLen(0x009a, 4) // ZC_BROADCAST
+#elif PACKETVER >= 20080219
+packetLen(0x009a, 10) // ZC_BROADCAST
+#elif PACKETVER >= 20080102
+packetLen(0x009a, -1) // ZC_BROADCAST
+#endif
+
+// Packet: 0x009b
+packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+#if PACKETVER >= 20080618
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080610
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080311
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080304
+packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080226
+packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080219
+packetLen(0x009c, 7) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20080102
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009d
+#if PACKETVER >= 20080618
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20080618
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x009e, 8) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x009e, 36) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+#if PACKETVER >= 20080618
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00a0, 3) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00a0, 27) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00a0, 39) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#endif
+
+// Packet: 0x00a1
+#if PACKETVER >= 20080618
+packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080304
+packetLen(0x00a1, 7) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080226
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080219
+packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20080102
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#endif
+
+// Packet: 0x00a2
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+#if PACKETVER >= 20080618
+packetLen(0x00a3, 3) // ZC_NORMAL_ITEMLIST
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00a3, 2) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a3, 30) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a3, 44) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x00a4
+#if PACKETVER >= 20080618
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a4, 12) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00a4, 27) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a4, 15) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a4, 30) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#endif
+
+// Packet: 0x00a5
+#if PACKETVER >= 20080618
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x00a6
+#if PACKETVER >= 20080304
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#endif
+
+// Packet: 0x00a7
+packetLen(0x00a7, 8)
+
+// Packet: 0x00a8
+#if PACKETVER >= 20080618
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00a8, 11) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00a8, 2) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+#endif
+
+// Packet: 0x00a9
+#if PACKETVER >= 20080618
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080610
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080311
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080304
+packetLen(0x00a9, 35) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080226
+packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20080102
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#endif
+
+// Packet: 0x00aa
+#if PACKETVER >= 20080618
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00aa, 14) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+#endif
+
+// Packet: 0x00ab
+#if PACKETVER >= 20080618
+packetLen(0x00ab, 6) // CZ_REQ_TAKEOFF_EQUIP
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080311
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080226
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080219
+packetLen(0x00ab, 57) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20080102
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#endif
+
+// Packet: 0x00ac
+#if PACKETVER >= 20080618
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00ac, 14) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#endif
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+#if PACKETVER >= 20080618
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00af, 7) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00af, 4) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#endif
+
+// Packet: 0x00b0
+#if PACKETVER >= 20080618
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00b0, 11) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+#endif
+
+// Packet: 0x00b1
+#if PACKETVER >= 20080618
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b1, 21) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00b1, 14) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+#endif
+
+// Packet: 0x00b2
+#if PACKETVER >= 20080618
+packetLen(0x00b2, 10) // CZ_RESTART
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b2, 60) // CZ_RESTART
+#elif PACKETVER >= 20080311
+packetLen(0x00b2, 3) // CZ_RESTART
+#elif PACKETVER >= 20080304
+packetLen(0x00b2, 2) // CZ_RESTART
+#elif PACKETVER >= 20080226
+packetLen(0x00b2, 9) // CZ_RESTART
+#elif PACKETVER >= 20080219
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20080102
+packetLen(0x00b2, 3) // CZ_RESTART
+#endif
+
+// Packet: 0x00b3
+#if PACKETVER >= 20080618
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x00b3, 16) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00b3, 10) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00b3, 55) // ZC_RESTART_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+#endif
+
+// Packet: 0x00b4
+#if PACKETVER >= 20080618
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080610
+packetLen(0x00b4, 67) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x00b4, 43) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#endif
+
+// Packet: 0x00b5
+#if PACKETVER >= 20080618
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b5, 10) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x00b5, 182) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x00b5, 30) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#endif
+
+// Packet: 0x00b6
+#if PACKETVER >= 20080618
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#endif
+
+// Packet: 0x00b7
+#if PACKETVER >= 20080618
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x00b7, 12) // ZC_MENU_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x00b7, 2) // ZC_MENU_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x00b7, 32) // ZC_MENU_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x00b7, 3) // ZC_MENU_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#endif
+
+// Packet: 0x00b8
+#if PACKETVER >= 20080618
+packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080311
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080304
+packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080226
+packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080219
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20080102
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+#endif
+
+// Packet: 0x00b9
+#if PACKETVER >= 20080618
+packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080311
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080304
+packetLen(0x00b9, 44) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080226
+packetLen(0x00b9, 58) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20080102
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#endif
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+#if PACKETVER >= 20080618
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00bb, 3) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00bb, 182) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+#endif
+
+// Packet: 0x00bc
+#if PACKETVER >= 20080618
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x00bc, 58) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#endif
+
+// Packet: 0x00bd
+#if PACKETVER >= 20080618
+packetLen(0x00bd, 79) // ZC_STATUS
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080311
+packetLen(0x00bd, 44) // ZC_STATUS
+#elif PACKETVER >= 20080304
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20080226
+packetLen(0x00bd, 58) // ZC_STATUS
+#elif PACKETVER >= 20080219
+packetLen(0x00bd, 6) // ZC_STATUS
+#elif PACKETVER >= 20080102
+packetLen(0x00bd, 44) // ZC_STATUS
+#endif
+
+// Packet: 0x00be
+#if PACKETVER >= 20080618
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00be, 186) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+#endif
+
+// Packet: 0x00bf
+#if PACKETVER >= 20080618
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080610
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080304
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080226
+packetLen(0x00bf, 29) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080219
+packetLen(0x00bf, 12) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20080102
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#endif
+
+// Packet: 0x00c0
+#if PACKETVER >= 20080618
+packetLen(0x00c0, 60) // ZC_EMOTION
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00c0, 4) // ZC_EMOTION
+#elif PACKETVER >= 20080311
+packetLen(0x00c0, 7) // ZC_EMOTION
+#elif PACKETVER >= 20080304
+packetLen(0x00c0, 2) // ZC_EMOTION
+#elif PACKETVER >= 20080226
+packetLen(0x00c0, 21) // ZC_EMOTION
+#elif PACKETVER >= 20080219
+packetLen(0x00c0, 6) // ZC_EMOTION
+#elif PACKETVER >= 20080102
+packetLen(0x00c0, 7) // ZC_EMOTION
+#endif
+
+// Packet: 0x00c1
+#if PACKETVER >= 20080618
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080304
+packetLen(0x00c1, 28) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080226
+packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080219
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20080102
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#endif
+
+// Packet: 0x00c2
+#if PACKETVER >= 20080618
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00c2, 2) // ZC_USER_COUNT
+#elif PACKETVER >= 20080311
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+#elif PACKETVER >= 20080304
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20080226
+packetLen(0x00c2, 282) // ZC_USER_COUNT
+#elif PACKETVER >= 20080219
+packetLen(0x00c2, 4) // ZC_USER_COUNT
+#elif PACKETVER >= 20080102
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+#endif
+
+// Packet: 0x00c3
+#if PACKETVER >= 20080618
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00c3, 30) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00c3, 28) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+#endif
+
+// Packet: 0x00c4
+#if PACKETVER >= 20080618
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00c4, 7) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080311
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080304
+packetLen(0x00c4, 3) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080226
+packetLen(0x00c4, 114) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080219
+packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20080102
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#endif
+
+// Packet: 0x00c5
+#if PACKETVER >= 20080618
+packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00c5, 14) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080311
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080304
+packetLen(0x00c5, 67) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080219
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20080102
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+#endif
+
+// Packet: 0x00c6
+#if PACKETVER >= 20080618
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080610
+packetLen(0x00c6, 11) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c6, 53) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c6, 13) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c6, 3) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#endif
+
+// Packet: 0x00c7
+#if PACKETVER >= 20080304
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c7, 5) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#endif
+
+// Packet: 0x00c8
+#if PACKETVER >= 20080618
+packetLen(0x00c8, 15) // CZ_PC_PURCHASE_ITEMLIST
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c8, 86) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c8, 10) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#endif
+
+// Packet: 0x00c9
+#if PACKETVER >= 20080618
+packetLen(0x00c9, 36) // CZ_PC_SELL_ITEMLIST
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x00c9, 27) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#endif
+
+// Packet: 0x00ca
+#if PACKETVER >= 20080618
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080610
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080311
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080304
+packetLen(0x00ca, 20) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080226
+packetLen(0x00ca, 23) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080219
+packetLen(0x00ca, 86) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20080102
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#endif
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+#if PACKETVER >= 20080618
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00cc, 4) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080304
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080226
+packetLen(0x00cc, 7) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080219
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20080102
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#endif
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+#if PACKETVER >= 20080618
+packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080304
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080226
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080219
+packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20080102
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+#endif
+
+// Packet: 0x00cf
+#if PACKETVER >= 20080618
+packetLen(0x00cf, 30) // CZ_SETTING_WHISPER_PC
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00cf, 9) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080311
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080304
+packetLen(0x00cf, 60) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080226
+packetLen(0x00cf, 16) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080219
+packetLen(0x00cf, 9) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080102
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+#endif
+
+// Packet: 0x00d0
+#if PACKETVER >= 20080618
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080311
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080304
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080226
+packetLen(0x00d0, 2) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080219
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080102
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#endif
+
+// Packet: 0x00d1
+#if PACKETVER >= 20080618
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080311
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080304
+packetLen(0x00d1, 3) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080226
+packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080219
+packetLen(0x00d1, 13) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20080102
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+#endif
+
+// Packet: 0x00d2
+#if PACKETVER >= 20080618
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080610
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080311
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080304
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080226
+packetLen(0x00d2, 14) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080219
+packetLen(0x00d2, 20) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20080102
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+#endif
+
+// Packet: 0x00d3
+#if PACKETVER >= 20080618
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x00d3, 23) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#endif
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+#if PACKETVER >= 20080618
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00d5, 3) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#endif
+
+// Packet: 0x00d6
+#if PACKETVER >= 20080618
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d6, 30) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#endif
+
+// Packet: 0x00d7
+#if PACKETVER >= 20080311
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x00d7, 14) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x00d7, 28) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x00d7, 3) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#endif
+
+// Packet: 0x00d8
+#if PACKETVER >= 20080618
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d8, 10) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d8, 16) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+#endif
+
+// Packet: 0x00d9
+#if PACKETVER >= 20080618
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00d9, 66) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#endif
+
+// Packet: 0x00da
+#if PACKETVER >= 20080618
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00da, 2) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00da, 14) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00da, 54) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+#endif
+
+// Packet: 0x00db
+#if PACKETVER >= 20080618
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080610
+packetLen(0x00db, 2) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00db, 26) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00db, 4) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#endif
+
+// Packet: 0x00dc
+#if PACKETVER >= 20080618
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080610
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x00dc, 11) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x00dc, 3) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+#endif
+
+// Packet: 0x00dd
+#if PACKETVER >= 20080618
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080311
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080304
+packetLen(0x00dd, 14) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080226
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080219
+packetLen(0x00dd, 3) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20080102
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+#endif
+
+// Packet: 0x00de
+#if PACKETVER >= 20080311
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00de, 24) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00de, 34) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#endif
+
+// Packet: 0x00df
+#if PACKETVER >= 20080618
+packetLen(0x00df, 30) // ZC_CHANGE_CHATROOM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00df, 53) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080226
+packetLen(0x00df, 9) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00df, 7) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#endif
+
+// Packet: 0x00e0
+#if PACKETVER >= 20080618
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x00e0, 8) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00e0, 31) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+#endif
+
+// Packet: 0x00e1
+#if PACKETVER >= 20080618
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x00e1, 81) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+#endif
+
+// Packet: 0x00e2
+#if PACKETVER >= 20080618
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080311
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080304
+packetLen(0x00e2, 13) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080226
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080219
+packetLen(0x00e2, 30) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20080102
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#endif
+
+// Packet: 0x00e3
+#if PACKETVER >= 20080618
+packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e3, 3) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080311
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080304
+packetLen(0x00e3, 8) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080219
+packetLen(0x00e3, 12) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20080102
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+#endif
+
+// Packet: 0x00e4
+#if PACKETVER >= 20080618
+packetLen(0x00e4, 86) // CZ_REQ_EXCHANGE_ITEM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e4, 79) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e4, 2) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e5
+#if PACKETVER >= 20080618
+packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e5, 14) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e5, 11) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e6
+#if PACKETVER >= 20080618
+packetLen(0x00e6, 9) // CZ_ACK_EXCHANGE_ITEM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e6, 53) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e6, 10) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e7
+#if PACKETVER >= 20080618
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e7, 4) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e7, 68) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e8
+#if PACKETVER >= 20080618
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e8, 9) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e9
+#if PACKETVER >= 20080618
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00e9, 28) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00e9, 30) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ea
+#if PACKETVER >= 20080618
+packetLen(0x00ea, 90) // ZC_ACK_ADD_EXCHANGE_ITEM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ea, 54) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00eb
+#if PACKETVER >= 20080618
+packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00eb, 19) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00eb, 17) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ec
+#if PACKETVER >= 20080618
+packetLen(0x00ec, 6) // ZC_CONCLUDE_EXCHANGE_ITEM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ec, 28) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ed
+#if PACKETVER >= 20080618
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ed, 26) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ed, 30) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ee
+#if PACKETVER >= 20080618
+packetLen(0x00ee, 81) // ZC_CANCEL_EXCHANGE_ITEM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ee, 6) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ee, 4) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ee, 90) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ef
+#if PACKETVER >= 20080618
+packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00f0
+#if PACKETVER >= 20080618
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x00f0, 27) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+#if PACKETVER >= 20080618
+packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080311
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080304
+packetLen(0x00f2, 5) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080226
+packetLen(0x00f2, 14) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20080102
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#endif
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+#if PACKETVER >= 20080618
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+#if PACKETVER >= 20080618
+packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f6, 4) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x00f6, 23) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+#endif
+
+// Packet: 0x00f7
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+#if PACKETVER >= 20080618
+packetLen(0x00f8, 17) // ZC_CLOSE_STORE
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080304
+packetLen(0x00f8, 5) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#endif
+
+// Packet: 0x00f9
+#if PACKETVER >= 20080618
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00f9, 19) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00f9, 4) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#endif
+
+// Packet: 0x00fa
+#if PACKETVER >= 20080618
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#endif
+
+// Packet: 0x00fb
+#if PACKETVER >= 20080618
+packetLen(0x00fb, 3) // ZC_GROUP_LIST
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00fb, 26) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x00fb, 54) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x00fb, 5) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x00fb, 10) // ZC_GROUP_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#endif
+
+// Packet: 0x00fc
+#if PACKETVER >= 20080618
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00fc, 8) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fc, 19) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00fd
+#if PACKETVER >= 20080618
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fd, 7) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fd, 20) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fd, 11) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00fe
+#if PACKETVER >= 20080618
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00fe, 7) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00ff
+#if PACKETVER >= 20080618
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#endif
+
+// Packet: 0x0100
+#if PACKETVER >= 20080618
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#endif
+
+// Packet: 0x0101
+#if PACKETVER >= 20080618
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x0101, 10) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#endif
+
+// Packet: 0x0102
+#if PACKETVER >= 20080618
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080610
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080311
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080304
+packetLen(0x0102, 3) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080226
+packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080219
+packetLen(0x0102, 68) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20080102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#endif
+
+// Packet: 0x0103
+#if PACKETVER >= 20080618
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080610
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080311
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080304
+packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080226
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080219
+packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20080102
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#endif
+
+// Packet: 0x0104
+#if PACKETVER >= 20080618
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x0104, 2) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x0104, 21) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0105
+#if PACKETVER >= 20080618
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080610
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080311
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080304
+packetLen(0x0105, 102) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080226
+packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080219
+packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20080102
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+#endif
+
+// Packet: 0x0106
+#if PACKETVER >= 20080618
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080610
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080311
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080304
+packetLen(0x0106, 6) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080226
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080219
+packetLen(0x0106, 21) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20080102
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#endif
+
+// Packet: 0x0107
+#if PACKETVER >= 20080618
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0107, 11) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080311
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080304
+packetLen(0x0107, 21) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080226
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080219
+packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20080102
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+#endif
+
+// Packet: 0x0108
+#if PACKETVER >= 20080618
+packetLen(0x0108, 54) // CZ_REQUEST_CHAT_PARTY
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0108, 15) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080311
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080304
+packetLen(0x0108, 4) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080226
+packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080219
+packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20080102
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#endif
+
+// Packet: 0x0109
+#if PACKETVER >= 20080618
+packetLen(0x0109, 7) // ZC_NOTIFY_CHAT_PARTY
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080304
+packetLen(0x0109, 33) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080226
+packetLen(0x0109, 2) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080219
+packetLen(0x0109, 14) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20080102
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#endif
+
+// Packet: 0x010a
+#if PACKETVER >= 20080618
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080610
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080311
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080304
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080226
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080219
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20080102
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#endif
+
+// Packet: 0x010b
+#if PACKETVER >= 20080618
+packetLen(0x010b, 8) // ZC_MVP_GETTING_SPECIAL_EXP
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x010b, 55) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080311
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080304
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080226
+packetLen(0x010b, 9) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080219
+packetLen(0x010b, 24) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20080102
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#endif
+
+// Packet: 0x010c
+#if PACKETVER >= 20080618
+packetLen(0x010c, 6) // ZC_MVP
+#elif PACKETVER >= 20080610
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080311
+packetLen(0x010c, 6) // ZC_MVP
+#elif PACKETVER >= 20080304
+packetLen(0x010c, 4) // ZC_MVP
+#elif PACKETVER >= 20080226
+packetLen(0x010c, 14) // ZC_MVP
+#elif PACKETVER >= 20080219
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20080102
+packetLen(0x010c, 6) // ZC_MVP
+#endif
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+#if PACKETVER >= 20080618
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080610
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080311
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080304
+packetLen(0x010e, 282) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080226
+packetLen(0x010e, 7) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080219
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20080102
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+#endif
+
+// Packet: 0x010f
+#if PACKETVER >= 20080311
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#endif
+
+// Packet: 0x0110
+#if PACKETVER >= 20080618
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080610
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0110, 29) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#endif
+
+// Packet: 0x0111
+#if PACKETVER >= 20080618
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0111, 6) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0111, 3) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0111, 60) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0111, 32) // ZC_ADD_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+#endif
+
+// Packet: 0x0112
+#if PACKETVER >= 20080618
+packetLen(0x0112, 59) // CZ_UPGRADE_SKILLLEVEL
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080311
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080226
+packetLen(0x0112, 13) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080219
+packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20080102
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+#endif
+
+// Packet: 0x0113
+packetLen(0x0113, 22) // CZ_USE_SKILL
+
+// Packet: 0x0114
+#if PACKETVER >= 20080618
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0114, 7) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0114, 8) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+#endif
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+#if PACKETVER >= 20080618
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0117, 31) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0117, 282) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0117, 10) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+#endif
+
+// Packet: 0x0118
+#if PACKETVER >= 20080618
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080610
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080311
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080304
+packetLen(0x0118, 34) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080226
+packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080219
+packetLen(0x0118, 7) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20080102
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#endif
+
+// Packet: 0x0119
+#if PACKETVER >= 20080618
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0119, 10) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x0119, 10) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x0119, 2) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x0119, 58) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+#endif
+
+// Packet: 0x011a
+#if PACKETVER >= 20080618
+packetLen(0x011a, 15) // ZC_USE_SKILL
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x011a, 15) // ZC_USE_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x011a, 2) // ZC_USE_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x011a, 10) // ZC_USE_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x011a, 11) // ZC_USE_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x011a, 15) // ZC_USE_SKILL
+#endif
+
+// Packet: 0x011b
+#if PACKETVER >= 20080618
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011b, 15) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080311
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080304
+packetLen(0x011b, 8) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080226
+packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080219
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20080102
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+#endif
+
+// Packet: 0x011c
+#if PACKETVER >= 20080618
+packetLen(0x011c, 68) // ZC_WARPLIST
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011c, 2) // ZC_WARPLIST
+#elif PACKETVER >= 20080311
+packetLen(0x011c, 68) // ZC_WARPLIST
+#elif PACKETVER >= 20080304
+packetLen(0x011c, 11) // ZC_WARPLIST
+#elif PACKETVER >= 20080226
+packetLen(0x011c, 6) // ZC_WARPLIST
+#elif PACKETVER >= 20080219
+packetLen(0x011c, 4) // ZC_WARPLIST
+#elif PACKETVER >= 20080102
+packetLen(0x011c, 68) // ZC_WARPLIST
+#endif
+
+// Packet: 0x011d
+#if PACKETVER >= 20080618
+packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080311
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080304
+packetLen(0x011d, 8) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080219
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080102
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+#endif
+
+// Packet: 0x011e
+#if PACKETVER >= 20080618
+packetLen(0x011e, 33) // ZC_ACK_REMEMBER_WARPPOINT
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080311
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080304
+packetLen(0x011e, 16) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080219
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20080102
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+#endif
+
+// Packet: 0x011f
+#if PACKETVER >= 20080618
+packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011f, 9) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x011f, 8) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x011f, 5) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+#endif
+
+// Packet: 0x0120
+#if PACKETVER >= 20080618
+packetLen(0x0120, 14) // ZC_SKILL_DISAPPEAR
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080311
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080304
+packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080226
+packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080219
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20080102
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+#endif
+
+// Packet: 0x0121
+#if PACKETVER >= 20080618
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0121, 282) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#endif
+
+// Packet: 0x0122
+#if PACKETVER >= 20080618
+packetLen(0x0122, 12) // ZC_CART_EQUIPMENT_ITEMLIST
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0122, 6) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0122, 8) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#endif
+
+// Packet: 0x0123
+#if PACKETVER >= 20080618
+packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0123, 33) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080311
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0123, 8) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0123, 16) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x0124
+#if PACKETVER >= 20080618
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0124, 8) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x0124, 36) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+#endif
+
+// Packet: 0x0125
+#if PACKETVER >= 20080618
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0125, 17) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+#endif
+
+// Packet: 0x0126
+#if PACKETVER >= 20080618
+packetLen(0x0126, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0126, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0126, 11) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#endif
+
+// Packet: 0x0127
+#if PACKETVER >= 20080618
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080311
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080304
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080226
+packetLen(0x0127, 12) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080219
+packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20080102
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#endif
+
+// Packet: 0x0128
+#if PACKETVER >= 20080618
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x0128, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x0128, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#endif
+
+// Packet: 0x0129
+#if PACKETVER >= 20080618
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080610
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080311
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080226
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080219
+packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20080102
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#endif
+
+// Packet: 0x012a
+#if PACKETVER >= 20080618
+packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080311
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080304
+packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080226
+packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080219
+packetLen(0x012a, 5) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20080102
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+#endif
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+#if PACKETVER >= 20080618
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x012c, 34) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080311
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080304
+packetLen(0x012c, 39) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080226
+packetLen(0x012c, 20) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080219
+packetLen(0x012c, 9) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20080102
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+#endif
+
+// Packet: 0x012d
+#if PACKETVER >= 20080618
+packetLen(0x012d, 4) // ZC_OPENSTORE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20080311
+packetLen(0x012d, 4) // ZC_OPENSTORE
+#elif PACKETVER >= 20080304
+packetLen(0x012d, 16) // ZC_OPENSTORE
+#elif PACKETVER >= 20080219
+packetLen(0x012d, 14) // ZC_OPENSTORE
+#elif PACKETVER >= 20080102
+packetLen(0x012d, 4) // ZC_OPENSTORE
+#endif
+
+// Packet: 0x012e
+#if PACKETVER >= 20080618
+packetLen(0x012e, 31) // CZ_REQ_CLOSESTORE
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080311
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080304
+packetLen(0x012e, 10) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080219
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20080102
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#endif
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+#if PACKETVER >= 20080618
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0130, 86) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080304
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0130, 28) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0130, 5) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#endif
+
+// Packet: 0x0131
+#if PACKETVER >= 20080618
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0131, 2) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0131, 4) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080226
+packetLen(0x0131, 29) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080219
+packetLen(0x0131, 26) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+#endif
+
+// Packet: 0x0132
+#if PACKETVER >= 20080618
+packetLen(0x0132, 10) // ZC_DISAPPEAR_ENTRY
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0132, 8) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080311
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080304
+packetLen(0x0132, 14) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20080102
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+#endif
+
+// Packet: 0x0133
+#if PACKETVER >= 20080304
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0133, 10) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#endif
+
+// Packet: 0x0134
+#if PACKETVER >= 20080618
+packetLen(0x0134, 8) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0134, 16) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080304
+packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0134, 3) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#endif
+
+// Packet: 0x0135
+#if PACKETVER >= 20080618
+packetLen(0x0135, 13) // ZC_PC_PURCHASE_RESULT_FROMMC
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080311
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080304
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080226
+packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080219
+packetLen(0x0135, 65) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20080102
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+#endif
+
+// Packet: 0x0136
+#if PACKETVER >= 20080618
+packetLen(0x0136, 8) // ZC_PC_PURCHASE_MYITEMLIST
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0136, 26) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0136, 2) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#endif
+
+// Packet: 0x0137
+#if PACKETVER >= 20080618
+packetLen(0x0137, 71) // ZC_DELETEITEM_FROM_MCSTORE
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080311
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080304
+packetLen(0x0137, 2) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080226
+packetLen(0x0137, 5) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080219
+packetLen(0x0137, 10) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20080102
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#endif
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+#if PACKETVER >= 20080618
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0139, 59) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080311
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080304
+packetLen(0x0139, 3) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080226
+packetLen(0x0139, 81) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080219
+packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20080102
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#endif
+
+// Packet: 0x013a
+#if PACKETVER >= 20080618
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080311
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080304
+packetLen(0x013a, 5) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080226
+packetLen(0x013a, 58) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080219
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20080102
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+#endif
+
+// Packet: 0x013b
+#if PACKETVER >= 20080618
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080304
+packetLen(0x013b, 26) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080226
+packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080219
+packetLen(0x013b, 16) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20080102
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#endif
+
+// Packet: 0x013c
+#if PACKETVER >= 20080618
+packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080311
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080304
+packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080226
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20080102
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+#endif
+
+// Packet: 0x013d
+#if PACKETVER >= 20080618
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080610
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20080311
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20080304
+packetLen(0x013d, 43) // ZC_RECOVERY
+#elif PACKETVER >= 20080226
+packetLen(0x013d, 2) // ZC_RECOVERY
+#elif PACKETVER >= 20080102
+packetLen(0x013d, 6) // ZC_RECOVERY
+#endif
+
+// Packet: 0x013e
+#if PACKETVER >= 20080618
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080610
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080311
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080304
+packetLen(0x013e, 5) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080226
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080219
+packetLen(0x013e, 30) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20080102
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+#endif
+
+// Packet: 0x013f
+#if PACKETVER >= 20080618
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080311
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080304
+packetLen(0x013f, 11) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080226
+packetLen(0x013f, 5) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080219
+packetLen(0x013f, 58) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20080102
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+#endif
+
+// Packet: 0x0140
+#if PACKETVER >= 20080618
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0140, 30) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080311
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080304
+packetLen(0x0140, 8) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080226
+packetLen(0x0140, 11) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080219
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20080102
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+#endif
+
+// Packet: 0x0141
+#if PACKETVER >= 20080618
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080610
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080311
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080304
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080226
+packetLen(0x0141, 22) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080219
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20080102
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+#endif
+
+// Packet: 0x0142
+#if PACKETVER >= 20080618
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0142, 8) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080311
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080304
+packetLen(0x0142, 31) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080226
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080219
+packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20080102
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+#endif
+
+// Packet: 0x0143
+#if PACKETVER >= 20080618
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0143, 11) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080311
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080304
+packetLen(0x0143, 282) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080226
+packetLen(0x0143, 8) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080219
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20080102
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+#endif
+
+// Packet: 0x0144
+#if PACKETVER >= 20080618
+packetLen(0x0144, 23) // ZC_COMPASS
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0144, 30) // ZC_COMPASS
+#elif PACKETVER >= 20080311
+packetLen(0x0144, 23) // ZC_COMPASS
+#elif PACKETVER >= 20080304
+packetLen(0x0144, 79) // ZC_COMPASS
+#elif PACKETVER >= 20080226
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20080219
+packetLen(0x0144, 10) // ZC_COMPASS
+#elif PACKETVER >= 20080102
+packetLen(0x0144, 23) // ZC_COMPASS
+#endif
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+#if PACKETVER >= 20080618
+packetLen(0x0146, 23) // CZ_CLOSE_DIALOG
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080311
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080304
+packetLen(0x0146, 5) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080226
+packetLen(0x0146, 7) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080219
+packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20080102
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#endif
+
+// Packet: 0x0147
+#if PACKETVER >= 20080618
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080311
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080304
+packetLen(0x0147, 22) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080226
+packetLen(0x0147, 11) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080219
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20080102
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+#endif
+
+// Packet: 0x0148
+#if PACKETVER >= 20080618
+packetLen(0x0148, 8) // ZC_RESURRECTION
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0148, 6) // ZC_RESURRECTION
+#elif PACKETVER >= 20080311
+packetLen(0x0148, 8) // ZC_RESURRECTION
+#elif PACKETVER >= 20080304
+packetLen(0x0148, 10) // ZC_RESURRECTION
+#elif PACKETVER >= 20080226
+packetLen(0x0148, 6) // ZC_RESURRECTION
+#elif PACKETVER >= 20080219
+packetLen(0x0148, 4) // ZC_RESURRECTION
+#elif PACKETVER >= 20080102
+packetLen(0x0148, 8) // ZC_RESURRECTION
+#endif
+
+// Packet: 0x0149
+#if PACKETVER >= 20080618
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x0149, 15) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x0149, 53) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+#endif
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+#if PACKETVER >= 20080618
+packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x014c, 53) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#endif
+
+// Packet: 0x014d
+#if PACKETVER >= 20080618
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080610
+packetLen(0x014d, 26) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080311
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080304
+packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080226
+packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080219
+packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20080102
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#endif
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+#if PACKETVER >= 20080618
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080610
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080311
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080304
+packetLen(0x014f, 10) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080226
+packetLen(0x014f, 97) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080219
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20080102
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#endif
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+#if PACKETVER >= 20080618
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x0154, 27) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080311
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x0154, 8) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#endif
+
+// Packet: 0x0155
+#if PACKETVER >= 20080618
+packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080304
+packetLen(0x0155, 54) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080226
+packetLen(0x0155, 66) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080219
+packetLen(0x0155, 15) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20080102
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#endif
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+#if PACKETVER >= 20080618
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0159, 186) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+#endif
+
+// Packet: 0x015a
+#if PACKETVER >= 20080618
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x015a, 14) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+#endif
+
+// Packet: 0x015b
+#if PACKETVER >= 20080618
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x015b, 42) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x015b, 2) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x015b, 22) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#endif
+
+// Packet: 0x015c
+#if PACKETVER >= 20080618
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x015c, 18) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x015c, 30) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x015c, 3) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x015c, 5) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+#endif
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+#if PACKETVER >= 20080618
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080304
+packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080226
+packetLen(0x015e, 54) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080219
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20080102
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#endif
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+#if PACKETVER >= 20080618
+packetLen(0x0160, 11) // ZC_POSITION_INFO
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x0160, 29) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x0160, 2) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x0160, 102) // ZC_POSITION_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#endif
+
+// Packet: 0x0161
+#if PACKETVER >= 20080618
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0161, 10) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0161, 58) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0161, 21) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#endif
+
+// Packet: 0x0162
+#if PACKETVER >= 20080618
+packetLen(0x0162, 22) // ZC_GUILD_SKILLINFO
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0162, 4) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080311
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0162, 27) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0162, 26) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#endif
+
+// Packet: 0x0163
+#if PACKETVER >= 20080618
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0163, 8) // ZC_BAN_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0163, 21) // ZC_BAN_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0163, 4) // ZC_BAN_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0163, 6) // ZC_BAN_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#endif
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+#if PACKETVER >= 20080618
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0165, 114) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0165, 29) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+#endif
+
+// Packet: 0x0166
+#if PACKETVER >= 20080618
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080610
+packetLen(0x0166, 28) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x0166, 18) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#endif
+
+// Packet: 0x0167
+#if PACKETVER >= 20080618
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0167, 71) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0167, 2) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+#endif
+
+// Packet: 0x0168
+#if PACKETVER >= 20080618
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0168, 9) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0168, 3) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+#endif
+
+// Packet: 0x0169
+#if PACKETVER >= 20080618
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0169, 81) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#endif
+
+// Packet: 0x016a
+#if PACKETVER >= 20080618
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x016a, 2) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+#endif
+
+// Packet: 0x016b
+#if PACKETVER >= 20080618
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016b, 35) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x016b, 6) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+#endif
+
+// Packet: 0x016c
+#if PACKETVER >= 20080618
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080311
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080304
+packetLen(0x016c, 10) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080226
+packetLen(0x016c, 8) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080219
+packetLen(0x016c, 6) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20080102
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+#endif
+
+// Packet: 0x016d
+#if PACKETVER >= 20080618
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080610
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080311
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080304
+packetLen(0x016d, 11) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080226
+packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080219
+packetLen(0x016d, 30) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20080102
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+#endif
+
+// Packet: 0x016e
+#if PACKETVER >= 20080618
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016e, 6) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080311
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080304
+packetLen(0x016e, 26) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080226
+packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080219
+packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20080102
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+#endif
+
+// Packet: 0x016f
+#if PACKETVER >= 20080618
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080311
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080304
+packetLen(0x016f, 17) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080226
+packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080219
+packetLen(0x016f, 4) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20080102
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+#endif
+
+// Packet: 0x0170
+#if PACKETVER >= 20080618
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080610
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0170, 60) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#endif
+
+// Packet: 0x0171
+#if PACKETVER >= 20080618
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+#endif
+
+// Packet: 0x0172
+#if PACKETVER >= 20080618
+packetLen(0x0172, 102) // CZ_ALLY_GUILD
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080311
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080304
+packetLen(0x0172, 30) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080226
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080219
+packetLen(0x0172, 22) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20080102
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+#endif
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+#if PACKETVER >= 20080618
+packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0177, 282) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#endif
+
+// Packet: 0x0178
+#if PACKETVER >= 20080618
+packetLen(0x0178, 10) // CZ_REQ_ITEMIDENTIFY
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080311
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080304
+packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080226
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080219
+packetLen(0x0178, 30) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20080102
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+#endif
+
+// Packet: 0x0179
+#if PACKETVER >= 20080618
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080311
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080304
+packetLen(0x0179, 12) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080219
+packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20080102
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+#endif
+
+// Packet: 0x017a
+#if PACKETVER >= 20080618
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x017a, 10) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x017a, 30) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#endif
+
+// Packet: 0x017b
+#if PACKETVER >= 20080311
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x017b, 9) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x017b, 18) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#endif
+
+// Packet: 0x017c
+#if PACKETVER >= 20080618
+packetLen(0x017c, 26) // CZ_REQ_ITEMCOMPOSITION
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080311
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080226
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20080102
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#endif
+
+// Packet: 0x017d
+#if PACKETVER >= 20080618
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x017d, 27) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080311
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080304
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080219
+packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20080102
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+#endif
+
+// Packet: 0x017e
+#if PACKETVER >= 20080618
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080610
+packetLen(0x017e, 90) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080304
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080226
+packetLen(0x017e, 7) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080219
+packetLen(0x017e, 28) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20080102
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#endif
+
+// Packet: 0x017f
+#if PACKETVER >= 20080618
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080610
+packetLen(0x017f, 13) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080311
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080304
+packetLen(0x017f, 4) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080226
+packetLen(0x017f, 30) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20080102
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#endif
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+#if PACKETVER >= 20080618
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080610
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080311
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080304
+packetLen(0x0188, 26) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080226
+packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080219
+packetLen(0x0188, 27) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20080102
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+#endif
+
+// Packet: 0x0189
+#if PACKETVER >= 20080618
+packetLen(0x0189, 55) // ZC_NOTIFY_MAPINFO
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080304
+packetLen(0x0189, 60) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080226
+packetLen(0x0189, 17) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080219
+packetLen(0x0189, 8) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20080102
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+#endif
+
+// Packet: 0x018a
+#if PACKETVER >= 20080618
+packetLen(0x018a, 18) // CZ_REQ_DISCONNECT
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x018a, 22) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080311
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080304
+packetLen(0x018a, 11) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080226
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080219
+packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20080102
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#endif
+
+// Packet: 0x018b
+#if PACKETVER >= 20080618
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080610
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080311
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080304
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080226
+packetLen(0x018b, 10) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080219
+packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20080102
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+#endif
+
+// Packet: 0x018c
+#if PACKETVER >= 20080618
+packetLen(0x018c, 31) // ZC_MONSTER_INFO
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080311
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080304
+packetLen(0x018c, 8) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080226
+packetLen(0x018c, 2) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080219
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20080102
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+#endif
+
+// Packet: 0x018d
+#if PACKETVER >= 20080311
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x018d, 32) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x018d, 22) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x018d, 4) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#endif
+
+// Packet: 0x018e
+#if PACKETVER >= 20080618
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x018e, 6) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080311
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080304
+packetLen(0x018e, 7) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080226
+packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080219
+packetLen(0x018e, 39) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20080102
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20080618
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080610
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080311
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080304
+packetLen(0x018f, 65) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080226
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20080102
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+#if PACKETVER >= 20080618
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080610
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080311
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080304
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080226
+packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080219
+packetLen(0x0194, 14) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20080102
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+#endif
+
+// Packet: 0x0195
+#if PACKETVER >= 20080618
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0195, 44) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080311
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080304
+packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080226
+packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080219
+packetLen(0x0195, 43) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20080102
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+#endif
+
+// Packet: 0x0196
+#if PACKETVER >= 20080618
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x0196, 2) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+#endif
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+#if PACKETVER >= 20080618
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080610
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080304
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080226
+packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080219
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20080102
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+#endif
+
+// Packet: 0x019a
+#if PACKETVER >= 20080618
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x019a, 5) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080311
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080304
+packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080226
+packetLen(0x019a, 42) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080219
+packetLen(0x019a, 10) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20080102
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+#endif
+
+// Packet: 0x019b
+#if PACKETVER >= 20080618
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080610
+packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080311
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080304
+packetLen(0x019b, 39) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080226
+packetLen(0x019b, 65) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080219
+packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20080102
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+#endif
+
+// Packet: 0x019c
+#if PACKETVER >= 20080618
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080610
+packetLen(0x019c, 5) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080311
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080304
+packetLen(0x019c, 9) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080226
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080219
+packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20080102
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#endif
+
+// Packet: 0x019d
+#if PACKETVER >= 20080618
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x019d, 32) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080311
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080304
+packetLen(0x019d, 2) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080226
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080219
+packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20080102
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+#endif
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+#if PACKETVER >= 20080618
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x019f, 19) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080311
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080304
+packetLen(0x019f, 11) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080226
+packetLen(0x019f, 79) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080219
+packetLen(0x019f, 2) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080102
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#endif
+
+// Packet: 0x01a0
+#if PACKETVER >= 20080618
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080610
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080311
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080304
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080226
+packetLen(0x01a0, 8) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20080102
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+#endif
+
+// Packet: 0x01a1
+#if PACKETVER >= 20080618
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01a1, 6) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a1, 42) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a1, 6) // CZ_COMMAND_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#endif
+
+// Packet: 0x01a2
+#if PACKETVER >= 20081126
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080618
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080610
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a2, 8) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+#endif
+
+// Packet: 0x01a3
+#if PACKETVER >= 20080618
+packetLen(0x01a3, 5) // ZC_FEED_PET
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01a3, 11) // ZC_FEED_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a3, 10) // ZC_FEED_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a3, 4) // ZC_FEED_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a3, 11) // ZC_FEED_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#endif
+
+// Packet: 0x01a4
+#if PACKETVER >= 20080618
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080311
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080304
+packetLen(0x01a4, 6) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080226
+packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080219
+packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20080102
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+#endif
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+#if PACKETVER >= 20080618
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x01a6, 9) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#endif
+
+// Packet: 0x01a7
+#if PACKETVER >= 20080618
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080311
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080304
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080226
+packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080219
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20080102
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#endif
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+#if PACKETVER >= 20080618
+packetLen(0x01aa, 10) // ZC_PET_ACT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20080311
+packetLen(0x01aa, 10) // ZC_PET_ACT
+#elif PACKETVER >= 20080304
+packetLen(0x01aa, 18) // ZC_PET_ACT
+#elif PACKETVER >= 20080219
+packetLen(0x01aa, 6) // ZC_PET_ACT
+#elif PACKETVER >= 20080102
+packetLen(0x01aa, 10) // ZC_PET_ACT
+#endif
+
+// Packet: 0x01ab
+#if PACKETVER >= 20080618
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080610
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080311
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080304
+packetLen(0x01ab, 68) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080226
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080219
+packetLen(0x01ab, 3) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20080102
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+#endif
+
+// Packet: 0x01ac
+#if PACKETVER >= 20080618
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ac, 10) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080311
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080304
+packetLen(0x01ac, 90) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080226
+packetLen(0x01ac, 4) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080219
+packetLen(0x01ac, 26) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20080102
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#endif
+
+// Packet: 0x01ad
+#if PACKETVER >= 20080618
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x01ad, 14) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x01ad, 2) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x01ad, 54) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#endif
+
+// Packet: 0x01ae
+#if PACKETVER >= 20080618
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080311
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080304
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080226
+packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20080102
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+#if PACKETVER >= 20080618
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080610
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080311
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080304
+packetLen(0x01b0, 7) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080226
+packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080219
+packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20080102
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+#endif
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+#if PACKETVER >= 20080618
+packetLen(0x01b2, 3) // CZ_REQ_OPENSTORE2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080304
+packetLen(0x01b2, 6) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080226
+packetLen(0x01b2, 282) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080219
+packetLen(0x01b2, 26) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20080102
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#endif
+
+// Packet: 0x01b3
+#if PACKETVER >= 20080618
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080610
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080311
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080304
+packetLen(0x01b3, 32) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080226
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080219
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20080102
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+#endif
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+#if PACKETVER >= 20080618
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01b6, 3) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080311
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080304
+packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080226
+packetLen(0x01b6, 18) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080219
+packetLen(0x01b6, 22) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20080102
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+#endif
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+#if PACKETVER >= 20080618
+packetLen(0x01b9, 6) // ZC_DISPEL
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01b9, 14) // ZC_DISPEL
+#elif PACKETVER >= 20080311
+packetLen(0x01b9, 6) // ZC_DISPEL
+#elif PACKETVER >= 20080304
+packetLen(0x01b9, 26) // ZC_DISPEL
+#elif PACKETVER >= 20080226
+packetLen(0x01b9, 60) // ZC_DISPEL
+#elif PACKETVER >= 20080219
+packetLen(0x01b9, 2) // ZC_DISPEL
+#elif PACKETVER >= 20080102
+packetLen(0x01b9, 6) // ZC_DISPEL
+#endif
+
+// Packet: 0x01ba
+#if PACKETVER >= 20080618
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080311
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080304
+packetLen(0x01ba, 3) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080226
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080219
+packetLen(0x01ba, 14) // CZ_REMOVE_AID
+#elif PACKETVER >= 20080102
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+#endif
+
+// Packet: 0x01bb
+#if PACKETVER >= 20080618
+packetLen(0x01bb, 26) // CZ_SHIFT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01bb, 22) // CZ_SHIFT
+#elif PACKETVER >= 20080311
+packetLen(0x01bb, 26) // CZ_SHIFT
+#elif PACKETVER >= 20080304
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20080226
+packetLen(0x01bb, 6) // CZ_SHIFT
+#elif PACKETVER >= 20080219
+packetLen(0x01bb, 3) // CZ_SHIFT
+#elif PACKETVER >= 20080102
+packetLen(0x01bb, 26) // CZ_SHIFT
+#endif
+
+// Packet: 0x01bc
+#if PACKETVER >= 20080618
+packetLen(0x01bc, 26) // CZ_RECALL
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01bc, 4) // CZ_RECALL
+#elif PACKETVER >= 20080311
+packetLen(0x01bc, 26) // CZ_RECALL
+#elif PACKETVER >= 20080304
+packetLen(0x01bc, 3) // CZ_RECALL
+#elif PACKETVER >= 20080226
+packetLen(0x01bc, 86) // CZ_RECALL
+#elif PACKETVER >= 20080219
+packetLen(0x01bc, 9) // CZ_RECALL
+#elif PACKETVER >= 20080102
+packetLen(0x01bc, 26) // CZ_RECALL
+#endif
+
+// Packet: 0x01bd
+#if PACKETVER >= 20080618
+packetLen(0x01bd, 44) // CZ_RECALL_GID
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080311
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+#elif PACKETVER >= 20080304
+packetLen(0x01bd, 3) // CZ_RECALL_GID
+#elif PACKETVER >= 20080226
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20080219
+packetLen(0x01bd, 6) // CZ_RECALL_GID
+#elif PACKETVER >= 20080102
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+#endif
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+#if PACKETVER >= 20080618
+packetLen(0x01c3, 6) // ZC_BROADCAST2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01c3, 3) // ZC_BROADCAST2
+#elif PACKETVER >= 20080311
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080304
+packetLen(0x01c3, 26) // ZC_BROADCAST2
+#elif PACKETVER >= 20080226
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20080219
+packetLen(0x01c3, 14) // ZC_BROADCAST2
+#elif PACKETVER >= 20080102
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#endif
+
+// Packet: 0x01c4
+#if PACKETVER >= 20080618
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080610
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080311
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080304
+packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080219
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20080102
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20080618
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080311
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080304
+packetLen(0x01c5, 6) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080226
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080219
+packetLen(0x01c5, 28) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20080102
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+#if PACKETVER >= 20080618
+packetLen(0x01c8, 65) // ZC_USE_ITEM_ACK2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080311
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080304
+packetLen(0x01c8, 2) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080226
+packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080219
+packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20080102
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+#endif
+
+// Packet: 0x01c9
+#if PACKETVER >= 20080618
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01c9, 27) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01c9, 8) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01c9, 22) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01c9, 26) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+#endif
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+#if PACKETVER >= 20080618
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080610
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080311
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080304
+packetLen(0x01cd, 3) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080226
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080219
+packetLen(0x01cd, 8) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20080102
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+#endif
+
+// Packet: 0x01ce
+#if PACKETVER >= 20080618
+packetLen(0x01ce, 27) // CZ_SELECTAUTOSPELL
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ce, 282) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080311
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080304
+packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080226
+packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080219
+packetLen(0x01ce, 28) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20080102
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#endif
+
+// Packet: 0x01cf
+#if PACKETVER >= 20080618
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01cf, 3) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080311
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080304
+packetLen(0x01cf, 8) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080226
+packetLen(0x01cf, 102) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080219
+packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20080102
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+#endif
+
+// Packet: 0x01d0
+#if PACKETVER >= 20080618
+packetLen(0x01d0, 53) // ZC_SPIRITS
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20080311
+packetLen(0x01d0, 8) // ZC_SPIRITS
+#elif PACKETVER >= 20080304
+packetLen(0x01d0, 18) // ZC_SPIRITS
+#elif PACKETVER >= 20080226
+packetLen(0x01d0, 26) // ZC_SPIRITS
+#elif PACKETVER >= 20080219
+packetLen(0x01d0, 2) // ZC_SPIRITS
+#elif PACKETVER >= 20080102
+packetLen(0x01d0, 8) // ZC_SPIRITS
+#endif
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+#if PACKETVER >= 20080618
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080311
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+#elif PACKETVER >= 20080304
+packetLen(0x01d2, 4) // ZC_COMBODELAY
+#elif PACKETVER >= 20080226
+packetLen(0x01d2, 8) // ZC_COMBODELAY
+#elif PACKETVER >= 20080219
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20080102
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+#endif
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+#if PACKETVER >= 20080618
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d4, 2) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080304
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080226
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20080102
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#endif
+
+// Packet: 0x01d5
+#if PACKETVER >= 20080304
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080226
+packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080219
+packetLen(0x01d5, 16) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20080102
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#endif
+
+// Packet: 0x01d6
+#if PACKETVER >= 20080618
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080610
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080311
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080304
+packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080226
+packetLen(0x01d6, 10) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080219
+packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20080102
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+#endif
+
+// Packet: 0x01d7
+#if PACKETVER >= 20080618
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d7, 10) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080311
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080304
+packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080226
+packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080219
+packetLen(0x01d7, 35) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20080102
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20080618
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01d8, 7) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01d8, 15) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20080618
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01d9, 10) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20080618
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080311
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080304
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080226
+packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080219
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20080102
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+#if PACKETVER >= 20080618
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01de, 28) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080311
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080304
+packetLen(0x01de, 8) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080226
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080219
+packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20080102
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+#endif
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+#if PACKETVER >= 20080618
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01e1, 102) // ZC_SPIRITS2
+#elif PACKETVER >= 20080311
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+#elif PACKETVER >= 20080304
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080226
+packetLen(0x01e1, 32) // ZC_SPIRITS2
+#elif PACKETVER >= 20080219
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20080102
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+#endif
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+#if PACKETVER >= 20080618
+packetLen(0x01e7, 6) // CZ_DORIDORI
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20080311
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#elif PACKETVER >= 20080304
+packetLen(0x01e7, 6) // CZ_DORIDORI
+#elif PACKETVER >= 20080102
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20080618
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01e8, 39) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080311
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080304
+packetLen(0x01e8, 26) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080226
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080219
+packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20080102
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20080618
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080610
+packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080311
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080304
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080226
+packetLen(0x01e9, 12) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080219
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20080102
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20080618
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080610
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080311
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080304
+packetLen(0x01ea, 8) // ZC_CONGRATULATION
+#elif PACKETVER >= 20080102
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20080618
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01eb, 21) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080311
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080304
+packetLen(0x01eb, 7) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080226
+packetLen(0x01eb, 11) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080219
+packetLen(0x01eb, 26) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20080102
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+#endif
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+#if PACKETVER >= 20080618
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ed, 53) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080311
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080304
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080226
+packetLen(0x01ed, 10) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080219
+packetLen(0x01ed, 22) // CZ_CHOPOKGI
+#elif PACKETVER >= 20080102
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20080618
+packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x01ee, 57) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x01ee, 11) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20080618
+packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ef, 66) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x01ef, 35) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20080618
+packetLen(0x01f0, 16) // ZC_STORE_NORMAL_ITEMLIST2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x01f0, 10) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+#if PACKETVER >= 20080618
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080610
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080311
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080304
+packetLen(0x01f2, 28) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080226
+packetLen(0x01f2, 27) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080219
+packetLen(0x01f2, 31) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20080102
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#endif
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+#if PACKETVER >= 20080618
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01f4, 24) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080311
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080304
+packetLen(0x01f4, 3) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080226
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080219
+packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080102
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20080618
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080311
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080304
+packetLen(0x01f5, 2) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080226
+packetLen(0x01f5, 10) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080219
+packetLen(0x01f5, 114) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20080102
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+#if PACKETVER >= 20080618
+packetLen(0x01fc, 186) // ZC_REPAIRITEMLIST
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080304
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x01fc, 282) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20080618
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080610
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080311
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080304
+packetLen(0x01fd, 2) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080226
+packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080219
+packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20080102
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20080618
+packetLen(0x01fe, 11) // ZC_ACK_ITEMREPAIR
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01fe, 6) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080311
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080304
+packetLen(0x01fe, 114) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080226
+packetLen(0x01fe, 2) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080219
+packetLen(0x01fe, 13) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20080102
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+#endif
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+#if PACKETVER >= 20080311
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0201, 6) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20080618
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0202, 44) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20080618
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#endif
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+#if PACKETVER >= 20080618
+packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080311
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080304
+packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080226
+packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080219
+packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20080102
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20080618
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0207, 26) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0207, 66) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20080618
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x0208, 71) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20080618
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0209, 30) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0209, 22) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0209, 30) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20080618
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080610
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080311
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080304
+packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080226
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080219
+packetLen(0x020a, 20) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20080102
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+#endif
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+#if PACKETVER >= 20080618
+packetLen(0x020e, 32) // ZC_STARSKILL
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x020e, 7) // ZC_STARSKILL
+#elif PACKETVER >= 20080311
+packetLen(0x020e, 32) // ZC_STARSKILL
+#elif PACKETVER >= 20080304
+packetLen(0x020e, 4) // ZC_STARSKILL
+#elif PACKETVER >= 20080226
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20080219
+packetLen(0x020e, 8) // ZC_STARSKILL
+#elif PACKETVER >= 20080102
+packetLen(0x020e, 32) // ZC_STARSKILL
+#endif
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+#if PACKETVER >= 20080618
+packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0217, 39) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0217, 9) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0217, 5) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20080618
+packetLen(0x0218, 68) // CZ_ALCHEMIST_RANK
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0218, 16) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0218, 15) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0218, 8) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0218, 26) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20080618
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0219, 17) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20080618
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20080618
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080610
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x021b, 30) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20080618
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x021c, 26) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#endif
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+#if PACKETVER >= 20080618
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080311
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080304
+packetLen(0x0224, 22) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080226
+packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080219
+packetLen(0x0224, 12) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20080102
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20080618
+packetLen(0x0225, 7) // CZ_TAEKWON_RANK
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0225, 6) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20080618
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0226, 28) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0226, 31) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0226, 42) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20080618
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080610
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080311
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080304
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080226
+packetLen(0x0227, 31) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080219
+packetLen(0x0227, 4) // ZC_GAME_GUARD
+#elif PACKETVER >= 20080102
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+#endif
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+#if PACKETVER >= 20080618
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080311
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080304
+packetLen(0x0229, 10) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080226
+packetLen(0x0229, 182) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080219
+packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20080102
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20080618
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080311
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080304
+packetLen(0x022a, 14) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080226
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080219
+packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20080102
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20080618
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080610
+packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080311
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080219
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20080102
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20080618
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080610
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080311
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080304
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080226
+packetLen(0x022c, 31) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080219
+packetLen(0x022c, 53) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20080102
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20080618
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x022d, 26) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080311
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080304
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080226
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080219
+packetLen(0x022d, 9) // CZ_COMMAND_MER
+#elif PACKETVER >= 20080102
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20080618
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x022e, 6) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080311
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080304
+packetLen(0x022e, 22) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080226
+packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080219
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20080102
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20080618
+packetLen(0x022f, 5) // ZC_FEED_MER
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x022f, 10) // ZC_FEED_MER
+#elif PACKETVER >= 20080311
+packetLen(0x022f, 5) // ZC_FEED_MER
+#elif PACKETVER >= 20080304
+packetLen(0x022f, 4) // ZC_FEED_MER
+#elif PACKETVER >= 20080226
+packetLen(0x022f, 26) // ZC_FEED_MER
+#elif PACKETVER >= 20080219
+packetLen(0x022f, 282) // ZC_FEED_MER
+#elif PACKETVER >= 20080102
+packetLen(0x022f, 5) // ZC_FEED_MER
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20080618
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0230, 10) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080311
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080304
+packetLen(0x0230, 282) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080226
+packetLen(0x0230, 28) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080219
+packetLen(0x0230, 54) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20080102
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+#endif
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+#if PACKETVER >= 20080618
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080311
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080304
+packetLen(0x0232, 3) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080226
+packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080219
+packetLen(0x0232, 36) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20080102
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20080618
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080311
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080304
+packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080226
+packetLen(0x0233, 4) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080219
+packetLen(0x0233, 8) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20080102
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20080618
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080610
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080304
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080226
+packetLen(0x0234, 15) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080219
+packetLen(0x0234, 282) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20080102
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20080618
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x0235, 7) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080311
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080304
+packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080226
+packetLen(0x0235, 33) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080219
+packetLen(0x0235, 15) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20080102
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#endif
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+#if PACKETVER >= 20080618
+packetLen(0x0237, 5) // CZ_KILLER_RANK
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0237, 23) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0237, 10) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0237, 3) // CZ_KILLER_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20080618
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080311
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080304
+packetLen(0x0238, 20) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080226
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080219
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20080102
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20080618
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0239, 14) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080311
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080304
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080226
+packetLen(0x0239, 39) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080219
+packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20080102
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20080618
+packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080311
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080304
+packetLen(0x023a, 8) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080226
+packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080219
+packetLen(0x023a, 11) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20080102
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#endif
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+#if PACKETVER >= 20080618
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080610
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080311
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080304
+packetLen(0x023c, 30) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080226
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080219
+packetLen(0x023c, 5) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20080102
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#endif
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+#if PACKETVER >= 20080618
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0274, 4) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080311
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080304
+packetLen(0x0274, 2) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080226
+packetLen(0x0274, 24) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080219
+packetLen(0x0274, 32) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20080102
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#endif
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+#if PACKETVER >= 20080722
+packetLen(0x027c, 60) // CA_LOGIN4
+#elif PACKETVER >= 20080715
+packetLen(0x027c, 96) // CA_LOGIN4
+#elif PACKETVER >= 20080102
+packetLen(0x027c, 60) // CA_LOGIN4
+#endif
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+#if PACKETVER >= 20080311
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080304
+packetLen(0x0287, 4) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080226
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080219
+packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20080102
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#endif
+
+// Packet: 0x0288
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+#if PACKETVER >= 20080618
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080610
+packetLen(0x0295, 2) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x0295, 30) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x0295, 3) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20080618
+packetLen(0x0296, 19) // ZC_STORE_EQUIPMENT_ITEMLIST2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x0296, 58) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080219
+packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20080618
+packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080311
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080304
+packetLen(0x0297, 97) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080226
+packetLen(0x0297, 5) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20080102
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+#if PACKETVER >= 20080618
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080610
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080311
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080304
+packetLen(0x029a, 30) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080226
+packetLen(0x029a, 3) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080219
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20080102
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#endif
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a6, 204) // ZC_HACKSH_CPX_MSG
+#elif PACKETVER >= 20080102
+packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a7, 204) // CZ_HACKSH_CPX_MSG
+#elif PACKETVER >= 20080102
+packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+#endif
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02bf
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+#endif
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+#if PACKETVER >= 20080304
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080226
+packetLen(0x02d4, 30) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20080102
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#endif
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+#if PACKETVER >= 20080618
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x02e1, 32) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20080102
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+#endif
+
+// Packet: 0x02e2
+packetLen(0x02e2, 14) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 25) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 8) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 8) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+#if PACKETVER >= 20080618
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x02ec, 2) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20080102
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20080618
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080610
+packetLen(0x02ed, 60) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20080102
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20080618
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20080102
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+#if PACKETVER >= 20080318
+packetLen(0x02f0, 10) // ZC_PROGRESS
+#endif
+
+// Packet: 0x02f1
+#if PACKETVER >= 20080318
+packetLen(0x02f1, 2) // CZ_PROGRESS
+#endif
+
+// Packet: 0x02f2
+#if PACKETVER >= 20080318
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+#endif
+
+// Packet: 0x02f3
+#if PACKETVER >= 20080325
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20080618
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080610
+packetLen(0x02f4, 282) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20080325
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20080618
+packetLen(0x02f5, 26) // ZC_IRMAIL_NOTIFY
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20080618
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080610
+packetLen(0x02f6, 3) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20080325
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20080618
+packetLen(0x02f7, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20080618
+packetLen(0x02f8, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x02f8, -1)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20080618
+packetLen(0x02f9, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x02f9, -1)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20080325
+packetLen(0x02fa, -1)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20080618
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fb, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x02fb, -1)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20080618
+packetLen(0x02fc, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x02fc, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20080325
+packetLen(0x02fd, -1)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20080325
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20080618
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02ff, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x02ff, -1)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20080618
+packetLen(0x0300, 16)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20080401
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20080618
+packetLen(0x0302, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0302, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20080618
+packetLen(0x0303, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0303, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20080618
+packetLen(0x0304, 20)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20080618
+packetLen(0x0305, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20080618
+packetLen(0x0306, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0306, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20080618
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0307, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20080618
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0308, 17)
+#elif PACKETVER >= 20080401
+packetLen(0x0308, -1)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20080401
+packetLen(0x0309, -1)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20080618
+packetLen(0x030a, 35)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20080618
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x030b, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x030b, -1)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20080618
+packetLen(0x030c, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x030c, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x030c, -1)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20080618
+packetLen(0x030d, 282)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x030d, -1)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20080401
+packetLen(0x030e, -1)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20080618
+packetLen(0x030f, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20080618
+packetLen(0x0310, 16)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20080618
+packetLen(0x0311, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0311, 17)
+#elif PACKETVER >= 20080401
+packetLen(0x0311, -1)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20080618
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0312, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0312, -1)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20080618
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0313, 16)
+#elif PACKETVER >= 20080401
+packetLen(0x0313, -1)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20080618
+packetLen(0x0314, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0314, 29)
+#elif PACKETVER >= 20080401
+packetLen(0x0314, -1)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20080618
+packetLen(0x0315, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0315, 9)
+#elif PACKETVER >= 20080401
+packetLen(0x0315, -1)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20080401
+packetLen(0x0316, -1)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20080618
+packetLen(0x0317, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0317, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20080618
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0318, 54)
+#elif PACKETVER >= 20080401
+packetLen(0x0318, -1)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20080401
+packetLen(0x0319, -1)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20080618
+packetLen(0x031a, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x031a, -1)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20080618
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x031b, 23)
+#elif PACKETVER >= 20080401
+packetLen(0x031b, -1)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20080618
+packetLen(0x031c, 54)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x031c, 29)
+#elif PACKETVER >= 20080401
+packetLen(0x031c, -1)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20080401
+packetLen(0x031d, -1)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20080401
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20080401
+packetLen(0x031f, -1)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20080618
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0320, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0320, -1)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20080618
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0321, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20080618
+packetLen(0x0322, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0322, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0322, -1)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20080618
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0323, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0323, -1)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20080618
+packetLen(0x0324, 66)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0324, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20080618
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0325, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0325, -1)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20080401
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20080618
+packetLen(0x0327, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0327, 22)
+#elif PACKETVER >= 20080401
+packetLen(0x0327, -1)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20080618
+packetLen(0x0328, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0328, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0328, -1)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20080401
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20080618
+packetLen(0x032a, 9)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x032a, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x032a, -1)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20080618
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032b, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20080618
+packetLen(0x032c, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20080618
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20080618
+packetLen(0x032e, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x032e, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x032e, -1)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20080618
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032f, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20080618
+packetLen(0x0330, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0330, -1)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20080401
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20080618
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0332, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0332, -1)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20080401
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20080618
+packetLen(0x0334, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0334, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0334, -1)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20080618
+packetLen(0x0335, 22)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20080618
+packetLen(0x0336, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0336, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0336, -1)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20080618
+packetLen(0x0337, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0337, -1)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20080618
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0338, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20080401
+packetLen(0x0339, -1)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20080401
+packetLen(0x033a, -1)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20080618
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x033b, -1)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20080618
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x033c, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x033c, -1)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20080618
+packetLen(0x033d, 28)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x033d, -1)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20080401
+packetLen(0x033e, -1)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20080618
+packetLen(0x033f, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x033f, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20080618
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0340, 29)
+#elif PACKETVER >= 20080401
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20080618
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0341, 186)
+#elif PACKETVER >= 20080401
+packetLen(0x0341, -1)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20080401
+packetLen(0x0342, -1)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20080401
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20080401
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20080401
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20080618
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0346, 23)
+#elif PACKETVER >= 20080401
+packetLen(0x0346, -1)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20080618
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20080618
+packetLen(0x0348, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0348, -1)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20080618
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0349, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0349, -1)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20080618
+packetLen(0x034a, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x034a, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20080618
+packetLen(0x034b, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x034b, 36)
+#elif PACKETVER >= 20080401
+packetLen(0x034b, -1)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20080618
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x034c, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20080618
+packetLen(0x034d, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x034d, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x034d, -1)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20080618
+packetLen(0x034e, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x034e, -1)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20080401
+packetLen(0x034f, -1)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20080618
+packetLen(0x0350, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0350, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20080618
+packetLen(0x0351, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20080618
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0352, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x0352, -1)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20080401
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20080618
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0354, 68)
+#elif PACKETVER >= 20080401
+packetLen(0x0354, -1)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20080618
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0355, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0355, -1)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20080618
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0356, 20)
+#elif PACKETVER >= 20080401
+packetLen(0x0356, -1)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20080401
+packetLen(0x0357, -1)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20080618
+packetLen(0x0358, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0358, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x0358, -1)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20080618
+packetLen(0x0359, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0359, 43)
+#elif PACKETVER >= 20080401
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20080618
+packetLen(0x035a, 28)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20080618
+packetLen(0x035b, 29)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x035b, -1)
+#endif
+
+// Packet: 0x035c
+#if PACKETVER >= 20080527
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+#endif
+
+// Packet: 0x035d
+#if PACKETVER >= 20080527
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+#endif
+
+// Packet: 0x035e
+#if PACKETVER >= 20080527
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+#endif
+
+// Packet: 0x035f
+#if PACKETVER >= 20080618
+packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x035f, 7) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20080527
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20080618
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080610
+packetLen(0x0360, 57) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20080527
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20080618
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0361, 65) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20080527
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20080527
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20080618
+packetLen(0x0363, 58) // CZ_ITEM_THROW2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20080618
+packetLen(0x0364, 15) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20080527
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20080618
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080610
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20080527
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20080527
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20080618
+packetLen(0x0367, 29) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20080618
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20080610
+packetLen(0x0368, 7) // CZ_REQNAME2
+#elif PACKETVER >= 20080527
+packetLen(0x0368, -1) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20080618
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080610
+packetLen(0x0369, 14) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20080527
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20080527
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20080618
+packetLen(0x036b, 28)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20080618
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20080527
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20080618
+packetLen(0x036d, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x036d, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20080618
+packetLen(0x036e, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20080527
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20080618
+packetLen(0x0370, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20080527
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20080618
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0372, 5)
+#elif PACKETVER >= 20080527
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20080527
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20080527
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20080618
+packetLen(0x0375, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20080618
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0376, 20)
+#elif PACKETVER >= 20080527
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20080527
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20080618
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0378, 3)
+#elif PACKETVER >= 20080527
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20080618
+packetLen(0x0379, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0379, 60)
+#elif PACKETVER >= 20080527
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20080618
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x037a, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20080618
+packetLen(0x037b, 11)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20080618
+packetLen(0x037c, 53)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20080527
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20080618
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x037e, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20080618
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x037f, 282)
+#elif PACKETVER >= 20080527
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20080618
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0380, 4)
+#elif PACKETVER >= 20080527
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20080618
+packetLen(0x0381, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20080618
+packetLen(0x0382, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0382, 15)
+#elif PACKETVER >= 20080527
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20080618
+packetLen(0x0383, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20080527
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20080618
+packetLen(0x0385, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0385, 30)
+#elif PACKETVER >= 20080527
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20080618
+packetLen(0x0386, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0386, 26)
+#elif PACKETVER >= 20080527
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20080618
+packetLen(0x0387, 21)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20080527
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20080618
+packetLen(0x0388, 22)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20080618
+packetLen(0x0389, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20080618
+packetLen(0x038a, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x038a, 14)
+#elif PACKETVER >= 20080527
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20080618
+packetLen(0x038b, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20080618
+packetLen(0x038c, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20080618
+packetLen(0x038d, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20080527
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20080618
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x038f, 71)
+#elif PACKETVER >= 20080527
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20080527
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20080618
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0391, 5)
+#elif PACKETVER >= 20080527
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20080618
+packetLen(0x0392, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0392, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20080618
+packetLen(0x0393, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20080527
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20080618
+packetLen(0x0395, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0395, 11)
+#elif PACKETVER >= 20080527
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20080618
+packetLen(0x0396, 33)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20080527
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20080618
+packetLen(0x0398, 282)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0398, 4)
+#elif PACKETVER >= 20080527
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20080527
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20080618
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x039a, 3)
+#elif PACKETVER >= 20080527
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20080618
+packetLen(0x039b, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20080618
+packetLen(0x039c, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20080618
+packetLen(0x039d, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x039d, 8)
+#elif PACKETVER >= 20080527
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20080618
+packetLen(0x039e, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x039e, 5)
+#elif PACKETVER >= 20080527
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20080618
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x039f, 14)
+#elif PACKETVER >= 20080527
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20080618
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20080527
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20080618
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03a2, 5)
+#elif PACKETVER >= 20080527
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20080618
+packetLen(0x03a3, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03a3, 58)
+#elif PACKETVER >= 20080527
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20080618
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03a4, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20080618
+packetLen(0x03a5, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20080618
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03a6, 22)
+#elif PACKETVER >= 20080527
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20080527
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20080618
+packetLen(0x03a8, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03a8, 28)
+#elif PACKETVER >= 20080527
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20080618
+packetLen(0x03a9, 67)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03a9, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20080527
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20080618
+packetLen(0x03ab, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20080618
+packetLen(0x03ac, 282)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20080618
+packetLen(0x03ad, 21)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20080618
+packetLen(0x03ae, 57)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20080618
+packetLen(0x03af, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03af, 3)
+#elif PACKETVER >= 20080527
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20080618
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03b0, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20080618
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03b1, 30)
+#elif PACKETVER >= 20080527
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20080618
+packetLen(0x03b2, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03b2, 81)
+#elif PACKETVER >= 20080527
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20080618
+packetLen(0x03b3, 32)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03b3, 3)
+#elif PACKETVER >= 20080527
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20080618
+packetLen(0x03b4, 29)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20080618
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03b5, 11)
+#elif PACKETVER >= 20080527
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20080618
+packetLen(0x03b6, 114)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03b6, 9)
+#elif PACKETVER >= 20080527
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20080618
+packetLen(0x03b7, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20080618
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03b8, 31)
+#elif PACKETVER >= 20080527
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20080527
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20080618
+packetLen(0x03ba, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03ba, 33)
+#elif PACKETVER >= 20080527
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20080527
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20080618
+packetLen(0x03bc, 182)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03bc, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20080527
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20080527
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20080527
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20080618
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03c0, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20080618
+packetLen(0x03c1, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03c1, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20080618
+packetLen(0x03c2, 67)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20080618
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03c3, 97)
+#elif PACKETVER >= 20080527
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20080618
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03c4, 26)
+#elif PACKETVER >= 20080527
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20080618
+packetLen(0x03c5, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20080618
+packetLen(0x03c6, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03c6, 26)
+#elif PACKETVER >= 20080527
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20080618
+packetLen(0x03c7, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20080527
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20080618
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03c9, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20080618
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03ca, 10)
+#elif PACKETVER >= 20080527
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20080618
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03cb, 8)
+#elif PACKETVER >= 20080527
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20080618
+packetLen(0x03cc, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20080527
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20080618
+packetLen(0x03ce, 39)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20080618
+packetLen(0x03cf, 27)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20080618
+packetLen(0x03d0, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20080618
+packetLen(0x03d1, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03d1, 8)
+#elif PACKETVER >= 20080527
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20080618
+packetLen(0x03d2, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20080527
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20080618
+packetLen(0x03d4, 27)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03d4, 182)
+#elif PACKETVER >= 20080527
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20080618
+packetLen(0x03d5, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03d5, 18)
+#elif PACKETVER >= 20080527
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20080618
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03d6, 30)
+#elif PACKETVER >= 20080527
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20080527
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20080618
+packetLen(0x03d8, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20080618
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03d9, 13)
+#elif PACKETVER >= 20080527
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20080527
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20080618
+packetLen(0x03db, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20080618
+packetLen(0x03dc, 54)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03dc, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+#if PACKETVER >= 20080624
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+#endif
+
+// Packet: 0x03de
+#if PACKETVER >= 20080624
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+#endif
+
+// Packet: 0x03e2
+#if PACKETVER >= 20080813
+packetLen(0x03e2, -1)
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20080813
+packetLen(0x03e3, -1)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20080813
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20080813
+packetLen(0x03e5, -1)
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20080813
+packetLen(0x03e6, -1)
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20080813
+packetLen(0x03e7, -1)
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20080813
+packetLen(0x03e8, -1)
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20080813
+packetLen(0x03e9, -1)
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20080813
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20080813
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20080813
+packetLen(0x03ec, -1)
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20080813
+packetLen(0x03ed, -1)
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20080813
+packetLen(0x03ee, -1)
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20080813
+packetLen(0x03ef, -1)
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20080813
+packetLen(0x03f0, -1)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20080813
+packetLen(0x03f1, -1)
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20080813
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20080813
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20080813
+packetLen(0x03f4, -1)
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20080813
+packetLen(0x03f5, -1)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20080813
+packetLen(0x03f6, -1)
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20080813
+packetLen(0x03f7, -1)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20080813
+packetLen(0x03f8, -1)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20080813
+packetLen(0x03f9, -1)
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20080813
+packetLen(0x03fa, -1)
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20080813
+packetLen(0x03fb, -1)
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20080813
+packetLen(0x03fc, -1)
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20080813
+packetLen(0x03fd, -1)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20080813
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20080813
+packetLen(0x03ff, -1)
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20080813
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20080813
+packetLen(0x0401, -1)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20080813
+packetLen(0x0402, -1)
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20080813
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20080813
+packetLen(0x0404, -1)
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20080813
+packetLen(0x0405, -1)
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20080813
+packetLen(0x0406, -1)
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20080813
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20080813
+packetLen(0x0408, -1)
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20080813
+packetLen(0x0409, -1)
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20080813
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20080813
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20080820
+packetLen(0x040c, -1)
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20080820
+packetLen(0x040d, -1)
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20080820
+packetLen(0x040e, -1)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20080820
+packetLen(0x040f, -1)
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20080820
+packetLen(0x0410, -1)
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20080820
+packetLen(0x0411, -1)
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20080820
+packetLen(0x0412, -1)
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20080820
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20080820
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20080820
+packetLen(0x0415, -1)
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20080820
+packetLen(0x0416, -1)
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20080820
+packetLen(0x0417, -1)
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20080820
+packetLen(0x0418, -1)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20080820
+packetLen(0x0419, -1)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20080820
+packetLen(0x041a, -1)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20080820
+packetLen(0x041b, -1)
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20080820
+packetLen(0x041c, -1)
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20080820
+packetLen(0x041d, -1)
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20080820
+packetLen(0x041e, -1)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20080820
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20080820
+packetLen(0x0420, -1)
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20080820
+packetLen(0x0421, -1)
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20080820
+packetLen(0x0422, -1)
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20080820
+packetLen(0x0423, -1)
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20080820
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20080820
+packetLen(0x0425, -1)
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20080820
+packetLen(0x0426, -1)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20080820
+packetLen(0x0427, -1)
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20080820
+packetLen(0x0428, -1)
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20080820
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20080820
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20080820
+packetLen(0x042b, -1)
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20080820
+packetLen(0x042c, -1)
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20080820
+packetLen(0x042d, -1)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20080820
+packetLen(0x042e, -1)
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20080820
+packetLen(0x042f, -1)
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20080820
+packetLen(0x0430, -1)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20080820
+packetLen(0x0431, -1)
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20080820
+packetLen(0x0432, -1)
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20080820
+packetLen(0x0433, -1)
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20080820
+packetLen(0x0434, -1)
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20080820
+packetLen(0x0435, -1)
+#endif
+
+// Packet: 0x0436
+#if PACKETVER >= 20080910
+packetLen(0x0436, 19) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20080910
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20080910
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+#if PACKETVER >= 20080910
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+#endif
+
+// Packet: 0x043d
+#if PACKETVER >= 20081112
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+#endif
+
+// Packet: 0x043e
+#if PACKETVER >= 20081112
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+#endif
+
+// Packet: 0x043f
+#if PACKETVER >= 20081112
+packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+#endif
+
+// Packet: 0x0440
+#if PACKETVER >= 20081126
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+#endif
+
+// Packet: 0x0441
+#if PACKETVER >= 20081126
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+#endif
+
+// Packet: 0x0442
+#if PACKETVER >= 20081210
+packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+#endif
+
+// Packet: 0x0443
+#if PACKETVER >= 20081210
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+#endif
+
+
+#endif /* COMMON_PACKETS2008_LEN_SAK_H */
diff --git a/src/common/packets/packets2009_len_main.h b/src/common/packets/packets2009_len_main.h
new file mode 100644
index 000000000..de9919468
--- /dev/null
+++ b/src/common/packets/packets2009_len_main.h
@@ -0,0 +1,15405 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2009_LEN_MAIN_H
+#define COMMON_PACKETS2009_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20090617
+packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20090107
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+#if PACKETVER >= 20090406
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20090401
+packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20090311
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20090225
+packetLen(0x0073, 282) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20090218
+packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20090211
+packetLen(0x0073, 8) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20090120
+packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+#elif PACKETVER >= 20090107
+packetLen(0x0073, 8) // ZC_ACCEPT_ENTER
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+#if PACKETVER >= 20090401
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20090325
+packetLen(0x0075, 22) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20090225
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20090218
+packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20090114
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+#elif PACKETVER >= 20090107
+packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+#if PACKETVER >= 20090406
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090401
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090325
+packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090311
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090225
+packetLen(0x0077, 7) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090211
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090204
+packetLen(0x0077, 7) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090129
+packetLen(0x0077, 3) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090120
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090114
+packetLen(0x0077, 7) // ZC_NOTIFY_UPDATEPLAYER
+#elif PACKETVER >= 20090107
+packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+#endif
+
+// Packet: 0x0078
+#if PACKETVER >= 20090406
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20090318
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20090311
+packetLen(0x0078, 2) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20090114
+packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x0078, 22) // ZC_NOTIFY_STANDENTRY
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0079
+#if PACKETVER >= 20090406
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20090318
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20090311
+packetLen(0x0079, 15) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20090225
+packetLen(0x0079, 20) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20090129
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20090120
+packetLen(0x0079, 3) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20090114
+packetLen(0x0079, 21) // ZC_NOTIFY_NEWENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+#endif
+
+// Packet: 0x007a
+#if PACKETVER >= 20090406
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20090325
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20090318
+packetLen(0x007a, 3) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20090225
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20090120
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20090114
+packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+#endif
+
+// Packet: 0x007b
+#if PACKETVER >= 20090406
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20090401
+packetLen(0x007b, 8) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20090325
+packetLen(0x007b, 3) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20090211
+packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20090204
+packetLen(0x007b, 5) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20090129
+packetLen(0x007b, 14) // ZC_NOTIFY_MOVEENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+#endif
+
+// Packet: 0x007c
+#if PACKETVER >= 20090617
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090406
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090401
+packetLen(0x007c, 14) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090325
+packetLen(0x007c, 182) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090311
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090225
+packetLen(0x007c, 19) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090218
+packetLen(0x007c, 10) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090211
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090204
+packetLen(0x007c, 5) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090120
+packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090114
+packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+#elif PACKETVER >= 20090107
+packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x007d
+#if PACKETVER >= 20090406
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20090401
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20090325
+packetLen(0x007d, 10) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20090114
+packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+#elif PACKETVER >= 20090107
+packetLen(0x007d, 282) // CZ_NOTIFY_ACTORINIT
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+#if PACKETVER >= 20090406
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20090401
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20090325
+packetLen(0x007f, 2) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20090318
+packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20090204
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20090129
+packetLen(0x007f, 8) // ZC_NOTIFY_TIME
+#elif PACKETVER >= 20090107
+packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+#endif
+
+// Packet: 0x0080
+#if PACKETVER >= 20090406
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20090318
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20090311
+packetLen(0x0080, 6) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20090225
+packetLen(0x0080, 36) // ZC_NOTIFY_VANISH
+#elif PACKETVER >= 20090107
+packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+#endif
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+#if PACKETVER >= 20090406
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090325
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090318
+packetLen(0x0083, 65) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090311
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090225
+packetLen(0x0083, 8) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090211
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090204
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090129
+packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090120
+packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090114
+packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+#elif PACKETVER >= 20090107
+packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+#if PACKETVER >= 20090406
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20090325
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20090318
+packetLen(0x0086, 4) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20090225
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20090218
+packetLen(0x0086, 7) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20090129
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20090120
+packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20090114
+packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+#elif PACKETVER >= 20090107
+packetLen(0x0086, 17) // ZC_NOTIFY_MOVE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0087
+#if PACKETVER >= 20090406
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090401
+packetLen(0x0087, 39) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090325
+packetLen(0x0087, 15) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090318
+packetLen(0x0087, 3) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090311
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090225
+packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090218
+packetLen(0x0087, 21) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090211
+packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090204
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090129
+packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090114
+packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+#elif PACKETVER >= 20090107
+packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0088
+#if PACKETVER >= 20090406
+packetLen(0x0088, 10) // ZC_STOPMOVE
+#elif PACKETVER >= 20090318
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20090311
+packetLen(0x0088, 4) // ZC_STOPMOVE
+#elif PACKETVER >= 20090225
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20090218
+packetLen(0x0088, 4) // ZC_STOPMOVE
+#elif PACKETVER >= 20090211
+packetLen(0x0088, 37) // ZC_STOPMOVE
+#elif PACKETVER >= 20090204
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20090129
+packetLen(0x0088, 6) // ZC_STOPMOVE
+#elif PACKETVER >= 20090120
+packetLen(0x0088, -1) // ZC_STOPMOVE
+#elif PACKETVER >= 20090114
+packetLen(0x0088, 60) // ZC_STOPMOVE
+#elif PACKETVER >= 20090107
+packetLen(0x0088, 26) // ZC_STOPMOVE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+#if PACKETVER >= 20090406
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20090401
+packetLen(0x008a, 15) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20090325
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20090318
+packetLen(0x008a, 7) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20090311
+packetLen(0x008a, 21) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20090218
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20090211
+packetLen(0x008a, 282) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20090204
+packetLen(0x008a, 2) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20090114
+packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+#elif PACKETVER >= 20090107
+packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+#if PACKETVER >= 20090311
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20090225
+packetLen(0x008d, 34) // ZC_NOTIFY_CHAT
+#elif PACKETVER >= 20090107
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+#endif
+
+// Packet: 0x008e
+#if PACKETVER >= 20090401
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20090325
+packetLen(0x008e, 3) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20090204
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20090129
+packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20090120
+packetLen(0x008e, 8) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20090114
+packetLen(0x008e, 12) // ZC_NOTIFY_PLAYERCHAT
+#elif PACKETVER >= 20090107
+packetLen(0x008e, 60) // ZC_NOTIFY_PLAYERCHAT
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0090
+#if PACKETVER >= 20090406
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090318
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090311
+packetLen(0x0090, 26) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090225
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090218
+packetLen(0x0090, 2) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090211
+packetLen(0x0090, 4) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090204
+packetLen(0x0090, 44) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090129
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090120
+packetLen(0x0090, 3) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090114
+packetLen(0x0090, -1) // CZ_CONTACTNPC
+#elif PACKETVER >= 20090107
+packetLen(0x0090, 36) // CZ_CONTACTNPC
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0091
+#if PACKETVER >= 20090406
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20090401
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20090325
+packetLen(0x0091, 21) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20090114
+packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+#elif PACKETVER >= 20090107
+packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0092
+#if PACKETVER >= 20090406
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090401
+packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090325
+packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090318
+packetLen(0x0092, 30) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090218
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090211
+packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090204
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090129
+packetLen(0x0092, 2) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090120
+packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090114
+packetLen(0x0092, 3) // ZC_NPCACK_SERVERMOVE
+#elif PACKETVER >= 20090107
+packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0093
+#if PACKETVER >= 20090401
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20090225
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20090218
+packetLen(0x0093, 14) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20090211
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20090204
+packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20090129
+packetLen(0x0093, 8) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20090120
+packetLen(0x0093, 4) // ZC_NPCACK_ENABLE
+#elif PACKETVER >= 20090107
+packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+#endif
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+#if PACKETVER >= 20090406
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20090401
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20090325
+packetLen(0x0095, 4) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20090311
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20090225
+packetLen(0x0095, 33) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20090218
+packetLen(0x0095, 60) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20090211
+packetLen(0x0095, 11) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20090129
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20090120
+packetLen(0x0095, 53) // ZC_ACK_REQNAME
+#elif PACKETVER >= 20090107
+packetLen(0x0095, -1) // ZC_ACK_REQNAME
+#endif
+
+// Packet: 0x0096
+#if PACKETVER >= 20090406
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20090401
+packetLen(0x0096, 6) // CZ_WHISPER
+#elif PACKETVER >= 20090325
+packetLen(0x0096, 71) // CZ_WHISPER
+#elif PACKETVER >= 20090318
+packetLen(0x0096, 11) // CZ_WHISPER
+#elif PACKETVER >= 20090311
+packetLen(0x0096, 9) // CZ_WHISPER
+#elif PACKETVER >= 20090225
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20090218
+packetLen(0x0096, 39) // CZ_WHISPER
+#elif PACKETVER >= 20090211
+packetLen(0x0096, -1) // CZ_WHISPER
+#elif PACKETVER >= 20090204
+packetLen(0x0096, 2) // CZ_WHISPER
+#elif PACKETVER >= 20090129
+packetLen(0x0096, 3) // CZ_WHISPER
+#elif PACKETVER >= 20090120
+packetLen(0x0096, 30) // CZ_WHISPER
+#elif PACKETVER >= 20090107
+packetLen(0x0096, -1) // CZ_WHISPER
+#endif
+
+// Packet: 0x0097
+#if PACKETVER >= 20090406
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20090401
+packetLen(0x0097, 30) // ZC_WHISPER
+#elif PACKETVER >= 20090325
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20090318
+packetLen(0x0097, 6) // ZC_WHISPER
+#elif PACKETVER >= 20090311
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20090225
+packetLen(0x0097, 4) // ZC_WHISPER
+#elif PACKETVER >= 20090211
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20090204
+packetLen(0x0097, 4) // ZC_WHISPER
+#elif PACKETVER >= 20090120
+packetLen(0x0097, -1) // ZC_WHISPER
+#elif PACKETVER >= 20090114
+packetLen(0x0097, 10) // ZC_WHISPER
+#elif PACKETVER >= 20090107
+packetLen(0x0097, 37) // ZC_WHISPER
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0098
+#if PACKETVER >= 20090406
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20090401
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20090325
+packetLen(0x0098, 26) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20090318
+packetLen(0x0098, 10) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20090225
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20090218
+packetLen(0x0098, 26) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20090129
+packetLen(0x0098, -1) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20090120
+packetLen(0x0098, 20) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20090114
+packetLen(0x0098, 8) // ZC_ACK_WHISPER
+#elif PACKETVER >= 20090107
+packetLen(0x0098, 9) // ZC_ACK_WHISPER
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0099
+#if PACKETVER >= 20090318
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20090311
+packetLen(0x0099, 6) // CZ_BROADCAST
+#elif PACKETVER >= 20090225
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20090218
+packetLen(0x0099, 8) // CZ_BROADCAST
+#elif PACKETVER >= 20090211
+packetLen(0x0099, 6) // CZ_BROADCAST
+#elif PACKETVER >= 20090204
+packetLen(0x0099, 2) // CZ_BROADCAST
+#elif PACKETVER >= 20090129
+packetLen(0x0099, -1) // CZ_BROADCAST
+#elif PACKETVER >= 20090120
+packetLen(0x0099, 4) // CZ_BROADCAST
+#elif PACKETVER >= 20090107
+packetLen(0x0099, 31) // CZ_BROADCAST
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x009a
+#if PACKETVER >= 20090311
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20090225
+packetLen(0x009a, 2) // ZC_BROADCAST
+#elif PACKETVER >= 20090218
+packetLen(0x009a, 10) // ZC_BROADCAST
+#elif PACKETVER >= 20090211
+packetLen(0x009a, 4) // ZC_BROADCAST
+#elif PACKETVER >= 20090129
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20090120
+packetLen(0x009a, 6) // ZC_BROADCAST
+#elif PACKETVER >= 20090114
+packetLen(0x009a, -1) // ZC_BROADCAST
+#elif PACKETVER >= 20090107
+packetLen(0x009a, 65) // ZC_BROADCAST
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+#if PACKETVER >= 20090406
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20090401
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20090325
+packetLen(0x009c, 79) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20090318
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20090311
+packetLen(0x009c, 29) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20090225
+packetLen(0x009c, 65) // ZC_CHANGE_DIRECTION
+#elif PACKETVER >= 20090107
+packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009d
+#if PACKETVER >= 20090406
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090401
+packetLen(0x009d, 2) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090318
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090311
+packetLen(0x009d, 54) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090225
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x009d, 68) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090211
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090204
+packetLen(0x009d, 3) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090120
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090114
+packetLen(0x009d, 3) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20090406
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090401
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090325
+packetLen(0x009e, 8) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090318
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090311
+packetLen(0x009e, 114) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090225
+packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090211
+packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090204
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090129
+packetLen(0x009e, 7) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090120
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090114
+packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+#if PACKETVER >= 20090406
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20090325
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20090318
+packetLen(0x00a0, 10) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20090211
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20090204
+packetLen(0x00a0, 2) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20090107
+packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+#endif
+
+// Packet: 0x00a1
+#if PACKETVER >= 20090406
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20090401
+packetLen(0x00a1, 8) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20090325
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20090318
+packetLen(0x00a1, 4) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20090311
+packetLen(0x00a1, 27) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20090225
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20090218
+packetLen(0x00a1, 4) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20090211
+packetLen(0x00a1, 30) // ZC_ITEM_DISAPPEAR
+#elif PACKETVER >= 20090107
+packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+#endif
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+#if PACKETVER >= 20090406
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090401
+packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x00a3, 5) // ZC_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+#endif
+
+// Packet: 0x00a4
+#if PACKETVER >= 20090401
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090325
+packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090318
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x00a4, 3) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090225
+packetLen(0x00a4, 31) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x00a4, 54) // ZC_EQUIPMENT_ITEMLIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00a5
+#if PACKETVER >= 20090406
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090401
+packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090225
+packetLen(0x00a5, 12) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x00a5, 54) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x00a5, 24) // ZC_STORE_NORMAL_ITEMLIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00a6
+#if PACKETVER >= 20090406
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090401
+packetLen(0x00a6, 59) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090325
+packetLen(0x00a6, 4) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090225
+packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090218
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090211
+packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090204
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x00a6, 18) // ZC_STORE_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x00a6, 20) // ZC_STORE_EQUIPMENT_ITEMLIST
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+#if PACKETVER >= 20090406
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090401
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090325
+packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090318
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090311
+packetLen(0x00a8, 30) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090218
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090211
+packetLen(0x00a8, 20) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090204
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090129
+packetLen(0x00a8, 54) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090120
+packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090114
+packetLen(0x00a8, 27) // ZC_USE_ITEM_ACK
+#elif PACKETVER >= 20090107
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00a9
+#if PACKETVER >= 20090406
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20090401
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20090325
+packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20090318
+packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20090311
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+#elif PACKETVER >= 20090107
+packetLen(0x00a9, 30) // CZ_REQ_WEAR_EQUIP
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00aa
+#if PACKETVER >= 20090406
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090325
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090318
+packetLen(0x00aa, 8) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090311
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090225
+packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090218
+packetLen(0x00aa, 5) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090211
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090204
+packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090129
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090120
+packetLen(0x00aa, 53) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090114
+packetLen(0x00aa, 26) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20090107
+packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+#endif
+
+// Packet: 0x00ab
+#if PACKETVER >= 20090406
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20090325
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20090318
+packetLen(0x00ab, 14) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20090204
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20090129
+packetLen(0x00ab, 6) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20090120
+packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20090114
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+#elif PACKETVER >= 20090107
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00ac
+#if PACKETVER >= 20090325
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20090311
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20090225
+packetLen(0x00ac, 14) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20090211
+packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20090114
+packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+#elif PACKETVER >= 20090107
+packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+#if PACKETVER >= 20090406
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20090401
+packetLen(0x00af, 54) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20090325
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20090318
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20090225
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20090218
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20090211
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20090204
+packetLen(0x00af, 14) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20090129
+packetLen(0x00af, 4) // ZC_ITEM_THROW_ACK
+#elif PACKETVER >= 20090107
+packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+#endif
+
+// Packet: 0x00b0
+#if PACKETVER >= 20090406
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20090401
+packetLen(0x00b0, 10) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20090318
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20090311
+packetLen(0x00b0, 57) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20090114
+packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x00b0, 30) // ZC_PAR_CHANGE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00b1
+#if PACKETVER >= 20090406
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20090401
+packetLen(0x00b1, 3) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20090325
+packetLen(0x00b1, 27) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20090311
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20090225
+packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20090204
+packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20090129
+packetLen(0x00b1, 29) // ZC_LONGPAR_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x00b1, 11) // ZC_LONGPAR_CHANGE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00b2
+#if PACKETVER >= 20090406
+packetLen(0x00b2, 3) // CZ_RESTART
+#elif PACKETVER >= 20090401
+packetLen(0x00b2, 42) // CZ_RESTART
+#elif PACKETVER >= 20090325
+packetLen(0x00b2, 32) // CZ_RESTART
+#elif PACKETVER >= 20090318
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20090311
+packetLen(0x00b2, 186) // CZ_RESTART
+#elif PACKETVER >= 20090225
+packetLen(0x00b2, 6) // CZ_RESTART
+#elif PACKETVER >= 20090218
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20090211
+packetLen(0x00b2, 2) // CZ_RESTART
+#elif PACKETVER >= 20090129
+packetLen(0x00b2, -1) // CZ_RESTART
+#elif PACKETVER >= 20090120
+packetLen(0x00b2, 97) // CZ_RESTART
+#elif PACKETVER >= 20090107
+packetLen(0x00b2, 23) // CZ_RESTART
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00b3
+#if PACKETVER >= 20090406
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+#elif PACKETVER >= 20090401
+packetLen(0x00b3, 4) // ZC_RESTART_ACK
+#elif PACKETVER >= 20090318
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20090311
+packetLen(0x00b3, 6) // ZC_RESTART_ACK
+#elif PACKETVER >= 20090204
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20090129
+packetLen(0x00b3, 2) // ZC_RESTART_ACK
+#elif PACKETVER >= 20090114
+packetLen(0x00b3, -1) // ZC_RESTART_ACK
+#elif PACKETVER >= 20090107
+packetLen(0x00b3, 2) // ZC_RESTART_ACK
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00b4
+#if PACKETVER >= 20090325
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20090318
+packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20090311
+packetLen(0x00b4, 37) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20090225
+packetLen(0x00b4, 30) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20090211
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20090204
+packetLen(0x00b4, 7) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20090129
+packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+#elif PACKETVER >= 20090107
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+#endif
+
+// Packet: 0x00b5
+#if PACKETVER >= 20090406
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20090318
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20090311
+packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20090225
+packetLen(0x00b5, 32) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20090211
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20090204
+packetLen(0x00b5, 2) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20090120
+packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20090114
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+#elif PACKETVER >= 20090107
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00b6
+#if PACKETVER >= 20090406
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20090311
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20090225
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20090218
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20090211
+packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20090204
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20090129
+packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20090120
+packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20090114
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+#elif PACKETVER >= 20090107
+packetLen(0x00b6, 26) // ZC_CLOSE_DIALOG
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00b7
+#if PACKETVER >= 20090406
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20090401
+packetLen(0x00b7, 3) // ZC_MENU_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x00b7, 29) // ZC_MENU_LIST
+#elif PACKETVER >= 20090311
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x00b7, 2) // ZC_MENU_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20090211
+packetLen(0x00b7, 54) // ZC_MENU_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x00b7, 2) // ZC_MENU_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+#endif
+
+// Packet: 0x00b8
+#if PACKETVER >= 20090406
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20090311
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20090225
+packetLen(0x00b8, 2) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20090218
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20090211
+packetLen(0x00b8, 33) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20090129
+packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20090120
+packetLen(0x00b8, 10) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20090114
+packetLen(0x00b8, 2) // CZ_CHOOSE_MENU
+#elif PACKETVER >= 20090107
+packetLen(0x00b8, 3) // CZ_CHOOSE_MENU
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00b9
+#if PACKETVER >= 20090406
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20090401
+packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20090311
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20090225
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20090204
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20090129
+packetLen(0x00b9, 31) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20090114
+packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+#elif PACKETVER >= 20090107
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+#if PACKETVER >= 20090406
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20090401
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20090318
+packetLen(0x00bb, 7) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20090311
+packetLen(0x00bb, 43) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20090211
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20090204
+packetLen(0x00bb, 4) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20090129
+packetLen(0x00bb, 9) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20090120
+packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20090114
+packetLen(0x00bb, 10) // CZ_STATUS_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x00bb, 2) // CZ_STATUS_CHANGE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00bc
+#if PACKETVER >= 20090406
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090401
+packetLen(0x00bc, 65) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090325
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090318
+packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090311
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090225
+packetLen(0x00bc, 27) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090218
+packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090211
+packetLen(0x00bc, 81) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090204
+packetLen(0x00bc, 15) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090129
+packetLen(0x00bc, 8) // ZC_STATUS_CHANGE_ACK
+#elif PACKETVER >= 20090107
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00bd
+#if PACKETVER >= 20090406
+packetLen(0x00bd, 44) // ZC_STATUS
+#elif PACKETVER >= 20090225
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20090218
+packetLen(0x00bd, 2) // ZC_STATUS
+#elif PACKETVER >= 20090211
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20090204
+packetLen(0x00bd, 60) // ZC_STATUS
+#elif PACKETVER >= 20090120
+packetLen(0x00bd, -1) // ZC_STATUS
+#elif PACKETVER >= 20090114
+packetLen(0x00bd, 10) // ZC_STATUS
+#elif PACKETVER >= 20090107
+packetLen(0x00bd, 14) // ZC_STATUS
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00be
+#if PACKETVER >= 20090406
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20090401
+packetLen(0x00be, 30) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20090325
+packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20090318
+packetLen(0x00be, 10) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20090311
+packetLen(0x00be, 2) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20090218
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20090211
+packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20090120
+packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20090114
+packetLen(0x00be, 14) // ZC_STATUS_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00bf
+#if PACKETVER >= 20090406
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20090325
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20090318
+packetLen(0x00bf, 18) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20090311
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20090225
+packetLen(0x00bf, 4) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20090211
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20090204
+packetLen(0x00bf, 28) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20090129
+packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20090114
+packetLen(0x00bf, 6) // CZ_REQ_EMOTION
+#elif PACKETVER >= 20090107
+packetLen(0x00bf, 86) // CZ_REQ_EMOTION
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c0
+#if PACKETVER >= 20090406
+packetLen(0x00c0, 7) // ZC_EMOTION
+#elif PACKETVER >= 20090401
+packetLen(0x00c0, 10) // ZC_EMOTION
+#elif PACKETVER >= 20090325
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20090318
+packetLen(0x00c0, 4) // ZC_EMOTION
+#elif PACKETVER >= 20090129
+packetLen(0x00c0, -1) // ZC_EMOTION
+#elif PACKETVER >= 20090120
+packetLen(0x00c0, 6) // ZC_EMOTION
+#elif PACKETVER >= 20090114
+packetLen(0x00c0, 31) // ZC_EMOTION
+#elif PACKETVER >= 20090107
+packetLen(0x00c0, 54) // ZC_EMOTION
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00c1
+#if PACKETVER >= 20090406
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090401
+packetLen(0x00c1, 67) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090318
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090311
+packetLen(0x00c1, 10) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090225
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090218
+packetLen(0x00c1, 54) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090211
+packetLen(0x00c1, 30) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090204
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090129
+packetLen(0x00c1, 8) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090120
+packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+#elif PACKETVER >= 20090107
+packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+#endif
+
+// Packet: 0x00c2
+#if PACKETVER >= 20090406
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+#elif PACKETVER >= 20090401
+packetLen(0x00c2, 30) // ZC_USER_COUNT
+#elif PACKETVER >= 20090318
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20090311
+packetLen(0x00c2, 12) // ZC_USER_COUNT
+#elif PACKETVER >= 20090225
+packetLen(0x00c2, 9) // ZC_USER_COUNT
+#elif PACKETVER >= 20090218
+packetLen(0x00c2, 14) // ZC_USER_COUNT
+#elif PACKETVER >= 20090204
+packetLen(0x00c2, -1) // ZC_USER_COUNT
+#elif PACKETVER >= 20090129
+packetLen(0x00c2, 60) // ZC_USER_COUNT
+#elif PACKETVER >= 20090120
+packetLen(0x00c2, 5) // ZC_USER_COUNT
+#elif PACKETVER >= 20090114
+packetLen(0x00c2, 4) // ZC_USER_COUNT
+#elif PACKETVER >= 20090107
+packetLen(0x00c2, 2) // ZC_USER_COUNT
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c3
+#if PACKETVER >= 20090406
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20090401
+packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20090325
+packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20090318
+packetLen(0x00c3, 6) // ZC_SPRITE_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x00c3, 5) // ZC_SPRITE_CHANGE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00c4
+#if PACKETVER >= 20090406
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20090401
+packetLen(0x00c4, 9) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20090218
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20090211
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20090114
+packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+#elif PACKETVER >= 20090107
+packetLen(0x00c4, 3) // ZC_SELECT_DEALTYPE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c5
+#if PACKETVER >= 20090406
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20090318
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20090311
+packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20090218
+packetLen(0x00c5, 2) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20090211
+packetLen(0x00c5, 32) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20090129
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20090120
+packetLen(0x00c5, 2) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20090114
+packetLen(0x00c5, 6) // CZ_ACK_SELECT_DEALTYPE
+#elif PACKETVER >= 20090107
+packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+#endif
+
+// Packet: 0x00c6
+#if PACKETVER >= 20090325
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090318
+packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090225
+packetLen(0x00c6, 14) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090218
+packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090204
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x00c6, 57) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c7
+#if PACKETVER >= 20090406
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090401
+packetLen(0x00c7, 5) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090325
+packetLen(0x00c7, 53) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090318
+packetLen(0x00c7, 54) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x00c7, 27) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090225
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090218
+packetLen(0x00c7, 23) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090211
+packetLen(0x00c7, 57) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x00c7, 2) // ZC_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+#endif
+
+// Packet: 0x00c8
+#if PACKETVER >= 20090401
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090325
+packetLen(0x00c8, 58) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090318
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x00c8, 8) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090218
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090211
+packetLen(0x00c8, 9) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090204
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x00c8, 26) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x00c8, 8) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x00c8, 42) // CZ_PC_PURCHASE_ITEMLIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c9
+#if PACKETVER >= 20090401
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090325
+packetLen(0x00c9, 2) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090318
+packetLen(0x00c9, 8) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x00c9, 29) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090218
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090211
+packetLen(0x00c9, 30) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090204
+packetLen(0x00c9, 22) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x00c9, 15) // CZ_PC_SELL_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+#endif
+
+// Packet: 0x00ca
+#if PACKETVER >= 20090406
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090401
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090325
+packetLen(0x00ca, 282) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090318
+packetLen(0x00ca, 4) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090311
+packetLen(0x00ca, 7) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090225
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090218
+packetLen(0x00ca, 22) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090211
+packetLen(0x00ca, 21) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090204
+packetLen(0x00ca, 6) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090114
+packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+#elif PACKETVER >= 20090107
+packetLen(0x00ca, 10) // ZC_PC_PURCHASE_RESULT
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+#if PACKETVER >= 20090406
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20090401
+packetLen(0x00cc, 7) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20090325
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20090318
+packetLen(0x00cc, 9) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20090204
+packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20090129
+packetLen(0x00cc, 12) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20090120
+packetLen(0x00cc, 39) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20090114
+packetLen(0x00cc, 8) // CZ_DISCONNECT_CHARACTER
+#elif PACKETVER >= 20090107
+packetLen(0x00cc, 5) // CZ_DISCONNECT_CHARACTER
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+#if PACKETVER >= 20090406
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20090401
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20090325
+packetLen(0x00ce, 4) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20090318
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20090311
+packetLen(0x00ce, 3) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20090204
+packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20090129
+packetLen(0x00ce, 14) // CZ_DISCONNECT_ALL_CHARACTER
+#elif PACKETVER >= 20090107
+packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00cf
+#if PACKETVER >= 20090406
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090401
+packetLen(0x00cf, 16) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090325
+packetLen(0x00cf, 282) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090318
+packetLen(0x00cf, 44) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090311
+packetLen(0x00cf, 14) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090225
+packetLen(0x00cf, 79) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090211
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090204
+packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090129
+packetLen(0x00cf, 10) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090120
+packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090114
+packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090107
+packetLen(0x00cf, 14) // CZ_SETTING_WHISPER_PC
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00d0
+#if PACKETVER >= 20090406
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090401
+packetLen(0x00d0, 8) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090325
+packetLen(0x00d0, 37) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090318
+packetLen(0x00d0, 30) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090225
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090218
+packetLen(0x00d0, 2) // CZ_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090107
+packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+#endif
+
+// Packet: 0x00d1
+#if PACKETVER >= 20090406
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090325
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090318
+packetLen(0x00d1, 2) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090311
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090218
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090211
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090129
+packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090120
+packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+#elif PACKETVER >= 20090107
+packetLen(0x00d1, 16) // ZC_SETTING_WHISPER_PC
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00d2
+#if PACKETVER >= 20090406
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090401
+packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090325
+packetLen(0x00d2, 5) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090311
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090225
+packetLen(0x00d2, 2) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090120
+packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090114
+packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+#elif PACKETVER >= 20090107
+packetLen(0x00d2, 8) // ZC_SETTING_WHISPER_STATE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00d3
+#if PACKETVER >= 20090401
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20090311
+packetLen(0x00d3, 12) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x00d3, 10) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x00d3, 7) // CZ_REQ_WHISPER_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+#if PACKETVER >= 20090401
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20090325
+packetLen(0x00d5, 12) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20090318
+packetLen(0x00d5, 26) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20090311
+packetLen(0x00d5, 30) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20090114
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+#elif PACKETVER >= 20090107
+packetLen(0x00d5, 58) // CZ_CREATE_CHATROOM
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00d6
+#if PACKETVER >= 20090406
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20090401
+packetLen(0x00d6, 11) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20090318
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20090311
+packetLen(0x00d6, 2) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20090225
+packetLen(0x00d6, 4) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20090218
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20090211
+packetLen(0x00d6, 59) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20090204
+packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20090114
+packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+#elif PACKETVER >= 20090107
+packetLen(0x00d6, 18) // ZC_ACK_CREATE_CHATROOM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00d7
+#if PACKETVER >= 20090406
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090401
+packetLen(0x00d7, 6) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090325
+packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090318
+packetLen(0x00d7, 11) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090225
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x00d7, 26) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090211
+packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090204
+packetLen(0x00d7, 23) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090129
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090120
+packetLen(0x00d7, 2) // ZC_ROOM_NEWENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+#endif
+
+// Packet: 0x00d8
+#if PACKETVER >= 20090406
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090401
+packetLen(0x00d8, 14) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090325
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090311
+packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090225
+packetLen(0x00d8, 97) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090218
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090211
+packetLen(0x00d8, 3) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090204
+packetLen(0x00d8, 42) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090129
+packetLen(0x00d8, 15) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090120
+packetLen(0x00d8, 4) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090114
+packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+#elif PACKETVER >= 20090107
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00d9
+#if PACKETVER >= 20090406
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20090401
+packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20090325
+packetLen(0x00d9, 26) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20090318
+packetLen(0x00d9, 4) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20090311
+packetLen(0x00d9, 2) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20090225
+packetLen(0x00d9, 58) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20090218
+packetLen(0x00d9, 7) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20090211
+packetLen(0x00d9, 5) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20090204
+packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+#elif PACKETVER >= 20090107
+packetLen(0x00d9, 55) // CZ_REQ_ENTER_ROOM
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00da
+#if PACKETVER >= 20090406
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20090311
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20090225
+packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20090218
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20090211
+packetLen(0x00da, 19) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20090204
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20090129
+packetLen(0x00da, 2) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20090114
+packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+#elif PACKETVER >= 20090107
+packetLen(0x00da, 31) // ZC_REFUSE_ENTER_ROOM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00db
+#if PACKETVER >= 20090401
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20090325
+packetLen(0x00db, 9) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20090311
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20090225
+packetLen(0x00db, 10) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20090218
+packetLen(0x00db, 8) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20090120
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20090114
+packetLen(0x00db, 8) // ZC_ENTER_ROOM
+#elif PACKETVER >= 20090107
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+#endif
+
+// Packet: 0x00dc
+#if PACKETVER >= 20090406
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090401
+packetLen(0x00dc, 282) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090318
+packetLen(0x00dc, 3) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090311
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090225
+packetLen(0x00dc, 26) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090211
+packetLen(0x00dc, 67) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090129
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090120
+packetLen(0x00dc, 26) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090114
+packetLen(0x00dc, 4) // ZC_MEMBER_NEWENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+#endif
+
+// Packet: 0x00dd
+#if PACKETVER >= 20090406
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20090401
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20090325
+packetLen(0x00dd, 30) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20090225
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20090218
+packetLen(0x00dd, 8) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20090129
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20090120
+packetLen(0x00dd, 11) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20090114
+packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+#elif PACKETVER >= 20090107
+packetLen(0x00dd, 30) // ZC_MEMBER_EXIT
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00de
+#if PACKETVER >= 20090406
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090401
+packetLen(0x00de, 10) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090325
+packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090311
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090225
+packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090218
+packetLen(0x00de, 4) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090211
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090204
+packetLen(0x00de, 32) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090129
+packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090120
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090114
+packetLen(0x00de, 282) // CZ_CHANGE_CHATROOM
+#elif PACKETVER >= 20090107
+packetLen(0x00de, 26) // CZ_CHANGE_CHATROOM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00df
+#if PACKETVER >= 20090406
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090401
+packetLen(0x00df, 33) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090325
+packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090311
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090225
+packetLen(0x00df, 2) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090218
+packetLen(0x00df, 27) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090211
+packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090204
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090129
+packetLen(0x00df, 2) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090120
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090114
+packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+#elif PACKETVER >= 20090107
+packetLen(0x00df, 22) // ZC_CHANGE_CHATROOM
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e0
+#if PACKETVER >= 20090406
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20090401
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20090311
+packetLen(0x00e0, 5) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20090218
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20090211
+packetLen(0x00e0, 11) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20090204
+packetLen(0x00e0, 33) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20090114
+packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x00e0, 10) // CZ_REQ_ROLE_CHANGE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00e1
+#if PACKETVER >= 20090406
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20090401
+packetLen(0x00e1, 6) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20090325
+packetLen(0x00e1, 7) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20090318
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20090311
+packetLen(0x00e1, 14) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20090218
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20090211
+packetLen(0x00e1, 23) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20090120
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20090114
+packetLen(0x00e1, 28) // ZC_ROLE_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+#endif
+
+// Packet: 0x00e2
+#if PACKETVER >= 20090406
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20090401
+packetLen(0x00e2, 3) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20090225
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20090218
+packetLen(0x00e2, 3) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20090120
+packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20090114
+packetLen(0x00e2, 7) // CZ_REQ_EXPEL_MEMBER
+#elif PACKETVER >= 20090107
+packetLen(0x00e2, 8) // CZ_REQ_EXPEL_MEMBER
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e3
+#if PACKETVER >= 20090406
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090401
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090325
+packetLen(0x00e3, 7) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090318
+packetLen(0x00e3, 55) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090311
+packetLen(0x00e3, 15) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090225
+packetLen(0x00e3, 7) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090218
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090211
+packetLen(0x00e3, 21) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090129
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090120
+packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090114
+packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+#elif PACKETVER >= 20090107
+packetLen(0x00e3, 26) // CZ_EXIT_ROOM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00e4
+#if PACKETVER >= 20090401
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00e4, 8) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090218
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00e4, 20) // CZ_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00e4, 7) // CZ_REQ_EXCHANGE_ITEM
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e5
+#if PACKETVER >= 20090406
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090318
+packetLen(0x00e5, 68) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090311
+packetLen(0x00e5, 11) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090225
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090218
+packetLen(0x00e5, 37) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090120
+packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090114
+packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e6
+#if PACKETVER >= 20090406
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090401
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00e6, 86) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090120
+packetLen(0x00e6, 58) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090114
+packetLen(0x00e6, 57) // CZ_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e7
+#if PACKETVER >= 20090406
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090401
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00e7, 55) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090218
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00e7, 2) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090120
+packetLen(0x00e7, 68) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090114
+packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00e7, 42) // ZC_ACK_EXCHANGE_ITEM
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e8
+#if PACKETVER >= 20090406
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090311
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090225
+packetLen(0x00e8, 7) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00e8, 58) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00e8, 14) // CZ_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00e9
+#if PACKETVER >= 20090406
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090318
+packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090311
+packetLen(0x00e9, 22) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090225
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090218
+packetLen(0x00e9, 5) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00e9, 10) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00e9, 33) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00e9, 32) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090120
+packetLen(0x00e9, 54) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ea
+#if PACKETVER >= 20090406
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090401
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00ea, 4) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090318
+packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090311
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090225
+packetLen(0x00ea, 12) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090218
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00ea, 282) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090120
+packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090114
+packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00eb
+#if PACKETVER >= 20090406
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090401
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00eb, 10) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090318
+packetLen(0x00eb, 15) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090311
+packetLen(0x00eb, 11) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090225
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090218
+packetLen(0x00eb, 10) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00eb, 71) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090114
+packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00eb, 14) // CZ_CONCLUDE_EXCHANGE_ITEM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ec
+#if PACKETVER >= 20090406
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090401
+packetLen(0x00ec, 60) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090318
+packetLen(0x00ec, 27) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090311
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090225
+packetLen(0x00ec, 5) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090218
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00ec, 15) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090120
+packetLen(0x00ec, 2) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090114
+packetLen(0x00ec, 6) // ZC_CONCLUDE_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00ec, 18) // ZC_CONCLUDE_EXCHANGE_ITEM
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00ed
+#if PACKETVER >= 20090406
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090225
+packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090218
+packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00ed, 22) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00ed, 6) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00ed, 282) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090114
+packetLen(0x00ed, 8) // CZ_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ee
+#if PACKETVER >= 20090401
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090318
+packetLen(0x00ee, 282) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090311
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090225
+packetLen(0x00ee, 4) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00ee, 24) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090120
+packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090114
+packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00ee, 16) // ZC_CANCEL_EXCHANGE_ITEM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ef
+#if PACKETVER >= 20090406
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090401
+packetLen(0x00ef, 8) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090311
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090225
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090218
+packetLen(0x00ef, 16) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00ef, 43) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090120
+packetLen(0x00ef, 81) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090114
+packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00ef, 39) // CZ_EXEC_EXCHANGE_ITEM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00f0
+#if PACKETVER >= 20090406
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090401
+packetLen(0x00f0, 7) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090318
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090311
+packetLen(0x00f0, 34) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090211
+packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x00f0, 31) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x00f0, 26) // ZC_EXEC_EXCHANGE_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x00f0, 26) // ZC_EXEC_EXCHANGE_ITEM
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+#if PACKETVER >= 20090406
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090401
+packetLen(0x00f2, 2) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090325
+packetLen(0x00f2, 32) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090318
+packetLen(0x00f2, 8) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090311
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090225
+packetLen(0x00f2, 8) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090218
+packetLen(0x00f2, 3) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090211
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090204
+packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090129
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090120
+packetLen(0x00f2, 11) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#elif PACKETVER >= 20090107
+packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+#endif
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+#if PACKETVER >= 20090406
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20090401
+packetLen(0x00f4, 18) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20090311
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20090225
+packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20090218
+packetLen(0x00f4, 14) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20090211
+packetLen(0x00f4, 53) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20090129
+packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20090120
+packetLen(0x00f4, 43) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20090114
+packetLen(0x00f4, 26) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20090107
+packetLen(0x00f4, 14) // ZC_ADD_ITEM_TO_STORE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+#if PACKETVER >= 20090406
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20090401
+packetLen(0x00f6, 4) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20090318
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20090311
+packetLen(0x00f6, 10) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20090225
+packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20090218
+packetLen(0x00f6, 30) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20090129
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20090120
+packetLen(0x00f6, 21) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20090114
+packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+#elif PACKETVER >= 20090107
+packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+#if PACKETVER >= 20090401
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20090318
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20090311
+packetLen(0x00f8, 10) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20090225
+packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20090218
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20090211
+packetLen(0x00f8, 65) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20090204
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20090129
+packetLen(0x00f8, 60) // ZC_CLOSE_STORE
+#elif PACKETVER >= 20090107
+packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+#endif
+
+// Packet: 0x00f9
+#if PACKETVER >= 20090406
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20090325
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20090318
+packetLen(0x00f9, 11) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20090225
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20090218
+packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20090211
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20090204
+packetLen(0x00f9, 39) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20090129
+packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20090120
+packetLen(0x00f9, 12) // CZ_MAKE_GROUP
+#elif PACKETVER >= 20090107
+packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+#endif
+
+// Packet: 0x00fa
+#if PACKETVER >= 20090406
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20090325
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20090318
+packetLen(0x00fa, 20) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20090311
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20090225
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20090218
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20090211
+packetLen(0x00fa, 114) // ZC_ACK_MAKE_GROUP
+#elif PACKETVER >= 20090107
+packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+#endif
+
+// Packet: 0x00fb
+#if PACKETVER >= 20090406
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090401
+packetLen(0x00fb, 7) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090311
+packetLen(0x00fb, 36) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x00fb, 8) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090211
+packetLen(0x00fb, 7) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x00fb, 6) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x00fb, 3) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090114
+packetLen(0x00fb, 16) // ZC_GROUP_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x00fb, 282) // ZC_GROUP_LIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00fc
+#if PACKETVER >= 20090406
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090401
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090325
+packetLen(0x00fc, 22) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090120
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090114
+packetLen(0x00fc, 3) // CZ_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090107
+packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+#endif
+
+// Packet: 0x00fd
+#if PACKETVER >= 20090406
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090218
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090211
+packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090204
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090129
+packetLen(0x00fd, 7) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090114
+packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090107
+packetLen(0x00fd, 10) // ZC_ACK_REQ_JOIN_GROUP
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00fe
+#if PACKETVER >= 20090406
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090401
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090325
+packetLen(0x00fe, 67) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090211
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090204
+packetLen(0x00fe, 29) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090129
+packetLen(0x00fe, 2) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090114
+packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+#elif PACKETVER >= 20090107
+packetLen(0x00fe, 21) // ZC_REQ_JOIN_GROUP
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ff
+#if PACKETVER >= 20090406
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090401
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090325
+packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090318
+packetLen(0x00ff, 4) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090218
+packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090211
+packetLen(0x00ff, 30) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090204
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090129
+packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090120
+packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090114
+packetLen(0x00ff, 3) // CZ_JOIN_GROUP
+#elif PACKETVER >= 20090107
+packetLen(0x00ff, 5) // CZ_JOIN_GROUP
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0100
+#if PACKETVER >= 20090406
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20090401
+packetLen(0x0100, 10) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20090311
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20090225
+packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20090218
+packetLen(0x0100, 81) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20090211
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20090204
+packetLen(0x0100, 5) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20090114
+packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+#elif PACKETVER >= 20090107
+packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0101
+#if PACKETVER >= 20090406
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20090225
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20090218
+packetLen(0x0101, 20) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20090120
+packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20090114
+packetLen(0x0101, 20) // ZC_GROUPINFO_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0102
+#if PACKETVER >= 20090406
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090401
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090318
+packetLen(0x0102, 10) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090311
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090225
+packetLen(0x0102, 11) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090218
+packetLen(0x0102, 7) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090211
+packetLen(0x0102, 282) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090204
+packetLen(0x0102, 8) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090129
+packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090114
+packetLen(0x0102, 30) // CZ_CHANGE_GROUPEXPOPTION
+#elif PACKETVER >= 20090107
+packetLen(0x0102, 9) // CZ_CHANGE_GROUPEXPOPTION
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0103
+#if PACKETVER >= 20090406
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20090318
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20090311
+packetLen(0x0103, 2) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20090218
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20090211
+packetLen(0x0103, 54) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20090204
+packetLen(0x0103, 28) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20090129
+packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20090120
+packetLen(0x0103, 66) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20090114
+packetLen(0x0103, 11) // CZ_REQ_EXPEL_GROUP_MEMBER
+#elif PACKETVER >= 20090107
+packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0104
+#if PACKETVER >= 20090406
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20090325
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20090318
+packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20090311
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20090225
+packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20090218
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20090211
+packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20090120
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20090114
+packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+#elif PACKETVER >= 20090107
+packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0105
+#if PACKETVER >= 20090406
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20090401
+packetLen(0x0105, 10) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20090325
+packetLen(0x0105, 2) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20090204
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20090129
+packetLen(0x0105, 14) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20090114
+packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+#elif PACKETVER >= 20090107
+packetLen(0x0105, 2) // ZC_DELETE_MEMBER_FROM_GROUP
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0106
+#if PACKETVER >= 20090406
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20090401
+packetLen(0x0106, 24) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20090325
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20090318
+packetLen(0x0106, 2) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20090211
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20090204
+packetLen(0x0106, 9) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20090129
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20090120
+packetLen(0x0106, 7) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20090114
+packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+#elif PACKETVER >= 20090107
+packetLen(0x0106, 6) // ZC_NOTIFY_HP_TO_GROUPM
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0107
+#if PACKETVER >= 20090406
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20090401
+packetLen(0x0107, 16) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20090325
+packetLen(0x0107, 14) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20090225
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20090218
+packetLen(0x0107, 4) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20090204
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20090129
+packetLen(0x0107, 23) // ZC_NOTIFY_POSITION_TO_GROUPM
+#elif PACKETVER >= 20090107
+packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+#endif
+
+// Packet: 0x0108
+#if PACKETVER >= 20090325
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20090318
+packetLen(0x0108, 4) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20090129
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20090120
+packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+#elif PACKETVER >= 20090107
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+#endif
+
+// Packet: 0x0109
+#if PACKETVER >= 20090325
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20090318
+packetLen(0x0109, 81) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20090225
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20090218
+packetLen(0x0109, 8) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20090204
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20090129
+packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20090120
+packetLen(0x0109, 5) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20090114
+packetLen(0x0109, 3) // ZC_NOTIFY_CHAT_PARTY
+#elif PACKETVER >= 20090107
+packetLen(0x0109, 11) // ZC_NOTIFY_CHAT_PARTY
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x010a
+#if PACKETVER >= 20090406
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20090401
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20090325
+packetLen(0x010a, 26) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20090204
+packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20090129
+packetLen(0x010a, 22) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20090107
+packetLen(0x010a, 8) // ZC_MVP_GETTING_ITEM
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x010b
+#if PACKETVER >= 20090401
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20090325
+packetLen(0x010b, 17) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20090211
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20090204
+packetLen(0x010b, 14) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20090129
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20090120
+packetLen(0x010b, 2) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20090114
+packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+#elif PACKETVER >= 20090107
+packetLen(0x010b, 23) // ZC_MVP_GETTING_SPECIAL_EXP
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x010c
+#if PACKETVER >= 20090406
+packetLen(0x010c, 6) // ZC_MVP
+#elif PACKETVER >= 20090401
+packetLen(0x010c, 2) // ZC_MVP
+#elif PACKETVER >= 20090218
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20090211
+packetLen(0x010c, 2) // ZC_MVP
+#elif PACKETVER >= 20090204
+packetLen(0x010c, -1) // ZC_MVP
+#elif PACKETVER >= 20090129
+packetLen(0x010c, 27) // ZC_MVP
+#elif PACKETVER >= 20090120
+packetLen(0x010c, 2) // ZC_MVP
+#elif PACKETVER >= 20090114
+packetLen(0x010c, 8) // ZC_MVP
+#elif PACKETVER >= 20090107
+packetLen(0x010c, 6) // ZC_MVP
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+#if PACKETVER >= 20090406
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20090325
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20090318
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20090218
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20090211
+packetLen(0x010e, 86) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20090204
+packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20090129
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+#elif PACKETVER >= 20090107
+packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x010f
+#if PACKETVER >= 20090325
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x010f, 26) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20090114
+packetLen(0x010f, 43) // ZC_SKILLINFO_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x010f, 81) // ZC_SKILLINFO_LIST
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0110
+#if PACKETVER >= 20090406
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20090318
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20090311
+packetLen(0x0110, 9) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20090225
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20090218
+packetLen(0x0110, 29) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20090129
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20090120
+packetLen(0x0110, 30) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20090107
+packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+#endif
+
+// Packet: 0x0111
+#if PACKETVER >= 20090406
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+#elif PACKETVER >= 20090325
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20090318
+packetLen(0x0111, 20) // ZC_ADD_SKILL
+#elif PACKETVER >= 20090218
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#elif PACKETVER >= 20090211
+packetLen(0x0111, 6) // ZC_ADD_SKILL
+#elif PACKETVER >= 20090107
+packetLen(0x0111, -1) // ZC_ADD_SKILL
+#endif
+
+// Packet: 0x0112
+#if PACKETVER >= 20090406
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20090401
+packetLen(0x0112, 3) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20090318
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20090311
+packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20090211
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20090204
+packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20090114
+packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+#elif PACKETVER >= 20090107
+packetLen(0x0112, 29) // CZ_UPGRADE_SKILLLEVEL
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+#if PACKETVER >= 20090406
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20090401
+packetLen(0x0114, 28) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20090325
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20090318
+packetLen(0x0114, 2) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20090211
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20090204
+packetLen(0x0114, 17) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20090129
+packetLen(0x0114, 182) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20090120
+packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20090114
+packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+#elif PACKETVER >= 20090107
+packetLen(0x0114, 60) // ZC_NOTIFY_SKILL
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+#if PACKETVER >= 20090406
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20090325
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20090318
+packetLen(0x0117, 2) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20090311
+packetLen(0x0117, 282) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20090129
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20090120
+packetLen(0x0117, 30) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20090114
+packetLen(0x0117, 26) // ZC_NOTIFY_GROUNDSKILL
+#elif PACKETVER >= 20090107
+packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+#endif
+
+// Packet: 0x0118
+#if PACKETVER >= 20090406
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20090401
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20090325
+packetLen(0x0118, 6) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20090318
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20090311
+packetLen(0x0118, 27) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20090225
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20090218
+packetLen(0x0118, 4) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20090114
+packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+#elif PACKETVER >= 20090107
+packetLen(0x0118, 33) // CZ_CANCEL_LOCKON
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0119
+#if PACKETVER >= 20090406
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20090325
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20090318
+packetLen(0x0119, 6) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20090225
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20090218
+packetLen(0x0119, 97) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20090114
+packetLen(0x0119, -1) // ZC_STATE_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x0119, 30) // ZC_STATE_CHANGE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x011a
+#if PACKETVER >= 20090406
+packetLen(0x011a, 15) // ZC_USE_SKILL
+#elif PACKETVER >= 20090401
+packetLen(0x011a, 6) // ZC_USE_SKILL
+#elif PACKETVER >= 20090325
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20090318
+packetLen(0x011a, 8) // ZC_USE_SKILL
+#elif PACKETVER >= 20090311
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20090225
+packetLen(0x011a, 9) // ZC_USE_SKILL
+#elif PACKETVER >= 20090218
+packetLen(0x011a, 3) // ZC_USE_SKILL
+#elif PACKETVER >= 20090204
+packetLen(0x011a, -1) // ZC_USE_SKILL
+#elif PACKETVER >= 20090129
+packetLen(0x011a, 282) // ZC_USE_SKILL
+#elif PACKETVER >= 20090120
+packetLen(0x011a, 9) // ZC_USE_SKILL
+#elif PACKETVER >= 20090114
+packetLen(0x011a, 8) // ZC_USE_SKILL
+#elif PACKETVER >= 20090107
+packetLen(0x011a, 3) // ZC_USE_SKILL
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x011b
+#if PACKETVER >= 20090406
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090401
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090325
+packetLen(0x011b, 3) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090318
+packetLen(0x011b, 24) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090311
+packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090225
+packetLen(0x011b, 30) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090211
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090204
+packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090129
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090120
+packetLen(0x011b, 32) // CZ_SELECT_WARPPOINT
+#elif PACKETVER >= 20090107
+packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+#endif
+
+// Packet: 0x011c
+#if PACKETVER >= 20090406
+packetLen(0x011c, 68) // ZC_WARPLIST
+#elif PACKETVER >= 20090325
+packetLen(0x011c, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20090318
+packetLen(0x011c, 282) // ZC_WARPLIST
+#elif PACKETVER >= 20090311
+packetLen(0x011c, 58) // ZC_WARPLIST
+#elif PACKETVER >= 20090225
+packetLen(0x011c, 26) // ZC_WARPLIST
+#elif PACKETVER >= 20090218
+packetLen(0x011c, 14) // ZC_WARPLIST
+#elif PACKETVER >= 20090107
+packetLen(0x011c, -1) // ZC_WARPLIST
+#endif
+
+// Packet: 0x011d
+#if PACKETVER >= 20090406
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090401
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090325
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090318
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090311
+packetLen(0x011d, 30) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090225
+packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090211
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090204
+packetLen(0x011d, 32) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090129
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090120
+packetLen(0x011d, 182) // CZ_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090107
+packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+#endif
+
+// Packet: 0x011e
+#if PACKETVER >= 20090406
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090318
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090311
+packetLen(0x011e, 2) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090225
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090218
+packetLen(0x011e, 60) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090211
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090204
+packetLen(0x011e, 22) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090120
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090114
+packetLen(0x011e, 2) // ZC_ACK_REMEMBER_WARPPOINT
+#elif PACKETVER >= 20090107
+packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+#endif
+
+// Packet: 0x011f
+#if PACKETVER >= 20090406
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20090401
+packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20090311
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20090225
+packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20090211
+packetLen(0x011f, 3) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20090129
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20090120
+packetLen(0x011f, 282) // ZC_SKILL_ENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+#endif
+
+// Packet: 0x0120
+#if PACKETVER >= 20090406
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090401
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090325
+packetLen(0x0120, 9) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090311
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090225
+packetLen(0x0120, 15) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090218
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090211
+packetLen(0x0120, 8) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090204
+packetLen(0x0120, 10) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090120
+packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090114
+packetLen(0x0120, 12) // ZC_SKILL_DISAPPEAR
+#elif PACKETVER >= 20090107
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0121
+#if PACKETVER >= 20090406
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20090318
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20090225
+packetLen(0x0121, 10) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20090218
+packetLen(0x0121, 31) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20090211
+packetLen(0x0121, 12) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20090204
+packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20090129
+packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20090120
+packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20090114
+packetLen(0x0121, 67) // ZC_NOTIFY_CARTITEM_COUNTINFO
+#elif PACKETVER >= 20090107
+packetLen(0x0121, 10) // ZC_NOTIFY_CARTITEM_COUNTINFO
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0122
+#if PACKETVER >= 20090204
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x0122, 20) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x0122, 3) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x0122, 4) // ZC_CART_EQUIPMENT_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x0122, 9) // ZC_CART_EQUIPMENT_ITEMLIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0123
+#if PACKETVER >= 20090401
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090325
+packetLen(0x0123, 10) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090318
+packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090225
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090218
+packetLen(0x0123, 22) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0124
+#if PACKETVER >= 20090406
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20090325
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20090318
+packetLen(0x0124, 8) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20090218
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20090211
+packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20090204
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20090129
+packetLen(0x0124, 28) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20090114
+packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20090107
+packetLen(0x0124, 3) // ZC_ADD_ITEM_TO_CART
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0125
+#if PACKETVER >= 20090406
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20090318
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20090311
+packetLen(0x0125, 282) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20090225
+packetLen(0x0125, 7) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20090218
+packetLen(0x0125, 28) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20090211
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20090204
+packetLen(0x0125, 20) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20090129
+packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20090120
+packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+#elif PACKETVER >= 20090107
+packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+#endif
+
+// Packet: 0x0126
+#if PACKETVER >= 20090406
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090401
+packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090325
+packetLen(0x0126, 282) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090318
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090311
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090225
+packetLen(0x0126, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090218
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090211
+packetLen(0x0126, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090204
+packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090129
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090120
+packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090114
+packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+#elif PACKETVER >= 20090107
+packetLen(0x0126, 60) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0127
+#if PACKETVER >= 20090406
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090401
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090325
+packetLen(0x0127, 66) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090318
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090311
+packetLen(0x0127, 10) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090225
+packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090218
+packetLen(0x0127, 44) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090211
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090204
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090129
+packetLen(0x0127, 30) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090120
+packetLen(0x0127, 3) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090114
+packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+#elif PACKETVER >= 20090107
+packetLen(0x0127, 18) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0128
+#if PACKETVER >= 20090406
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20090401
+packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20090325
+packetLen(0x0128, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20090318
+packetLen(0x0128, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20090311
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20090129
+packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20090120
+packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20090114
+packetLen(0x0128, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+#elif PACKETVER >= 20090107
+packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0129
+#if PACKETVER >= 20090406
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20090401
+packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20090218
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20090211
+packetLen(0x0129, 30) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20090204
+packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20090129
+packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20090114
+packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+#elif PACKETVER >= 20090107
+packetLen(0x0129, 22) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x012a
+#if PACKETVER >= 20090406
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090325
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090318
+packetLen(0x012a, 13) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090311
+packetLen(0x012a, 33) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090225
+packetLen(0x012a, 7) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090211
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090204
+packetLen(0x012a, 34) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090129
+packetLen(0x012a, 4) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090120
+packetLen(0x012a, 29) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090114
+packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+#elif PACKETVER >= 20090107
+packetLen(0x012a, 11) // CZ_REQ_CARTOFF
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+#if PACKETVER >= 20090406
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20090401
+packetLen(0x012c, 6) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20090211
+packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20090204
+packetLen(0x012c, 13) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20090129
+packetLen(0x012c, 4) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20090120
+packetLen(0x012c, 282) // ZC_ACK_ADDITEM_TO_CART
+#elif PACKETVER >= 20090107
+packetLen(0x012c, 79) // ZC_ACK_ADDITEM_TO_CART
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x012d
+#if PACKETVER >= 20090406
+packetLen(0x012d, 4) // ZC_OPENSTORE
+#elif PACKETVER >= 20090401
+packetLen(0x012d, 43) // ZC_OPENSTORE
+#elif PACKETVER >= 20090325
+packetLen(0x012d, 4) // ZC_OPENSTORE
+#elif PACKETVER >= 20090311
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20090225
+packetLen(0x012d, 22) // ZC_OPENSTORE
+#elif PACKETVER >= 20090204
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#elif PACKETVER >= 20090129
+packetLen(0x012d, 79) // ZC_OPENSTORE
+#elif PACKETVER >= 20090120
+packetLen(0x012d, 11) // ZC_OPENSTORE
+#elif PACKETVER >= 20090114
+packetLen(0x012d, 13) // ZC_OPENSTORE
+#elif PACKETVER >= 20090107
+packetLen(0x012d, -1) // ZC_OPENSTORE
+#endif
+
+// Packet: 0x012e
+#if PACKETVER >= 20090406
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20090401
+packetLen(0x012e, 14) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20090311
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20090225
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20090129
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20090120
+packetLen(0x012e, 28) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20090114
+packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+#elif PACKETVER >= 20090107
+packetLen(0x012e, 65) // CZ_REQ_CLOSESTORE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+#if PACKETVER >= 20090406
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090401
+packetLen(0x0130, 7) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090325
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090318
+packetLen(0x0130, 7) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090311
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090225
+packetLen(0x0130, 8) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090211
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090204
+packetLen(0x0130, 7) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090129
+packetLen(0x0130, 8) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090120
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090114
+packetLen(0x0130, 30) // CZ_REQ_BUY_FROMMC
+#elif PACKETVER >= 20090107
+packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+#endif
+
+// Packet: 0x0131
+#if PACKETVER >= 20090406
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20090401
+packetLen(0x0131, 37) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20090325
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20090318
+packetLen(0x0131, 6) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20090311
+packetLen(0x0131, 17) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20090211
+packetLen(0x0131, 7) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20090120
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20090114
+packetLen(0x0131, 5) // ZC_STORE_ENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x0131, -1) // ZC_STORE_ENTRY
+#endif
+
+// Packet: 0x0132
+#if PACKETVER >= 20090406
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090401
+packetLen(0x0132, 11) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090318
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090311
+packetLen(0x0132, 28) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090225
+packetLen(0x0132, 39) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090218
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090211
+packetLen(0x0132, 27) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090204
+packetLen(0x0132, 7) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090129
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090120
+packetLen(0x0132, 2) // ZC_DISAPPEAR_ENTRY
+#elif PACKETVER >= 20090107
+packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+#endif
+
+// Packet: 0x0133
+#if PACKETVER >= 20090325
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090318
+packetLen(0x0133, 4) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090311
+packetLen(0x0133, 60) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090225
+packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090218
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090211
+packetLen(0x0133, 10) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090204
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090129
+packetLen(0x0133, 68) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090107
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+#endif
+
+// Packet: 0x0134
+#if PACKETVER >= 20090406
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090401
+packetLen(0x0134, 29) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090325
+packetLen(0x0134, 2) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090318
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090311
+packetLen(0x0134, 58) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090225
+packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090218
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090211
+packetLen(0x0134, 3) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090204
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090129
+packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090120
+packetLen(0x0134, 10) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090114
+packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#elif PACKETVER >= 20090107
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+#endif
+
+// Packet: 0x0135
+#if PACKETVER >= 20090406
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20090401
+packetLen(0x0135, 97) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20090311
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20090225
+packetLen(0x0135, 3) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20090218
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20090211
+packetLen(0x0135, 44) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20090204
+packetLen(0x0135, 282) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20090129
+packetLen(0x0135, 59) // ZC_PC_PURCHASE_RESULT_FROMMC
+#elif PACKETVER >= 20090107
+packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+#endif
+
+// Packet: 0x0136
+#if PACKETVER >= 20090401
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20090325
+packetLen(0x0136, 53) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20090318
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x0136, 2) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20090225
+packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20090218
+packetLen(0x0136, 26) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x0136, 16) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x0136, 26) // ZC_PC_PURCHASE_MYITEMLIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0137
+#if PACKETVER >= 20090406
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20090325
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20090318
+packetLen(0x0137, 16) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20090311
+packetLen(0x0137, 3) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20090225
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20090218
+packetLen(0x0137, 3) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20090211
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20090204
+packetLen(0x0137, 68) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20090129
+packetLen(0x0137, 2) // ZC_DELETEITEM_FROM_MCSTORE
+#elif PACKETVER >= 20090107
+packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+#endif
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+#if PACKETVER >= 20090406
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20090211
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20090204
+packetLen(0x0139, 21) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20090129
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20090120
+packetLen(0x0139, 54) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#elif PACKETVER >= 20090107
+packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+#endif
+
+// Packet: 0x013a
+#if PACKETVER >= 20090406
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20090401
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20090325
+packetLen(0x013a, 2) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20090318
+packetLen(0x013a, 10) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20090311
+packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20090225
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20090218
+packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20090211
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20090204
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+#elif PACKETVER >= 20090107
+packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+#endif
+
+// Packet: 0x013b
+#if PACKETVER >= 20090406
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090325
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090318
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090311
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090225
+packetLen(0x013b, 3) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090218
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090211
+packetLen(0x013b, 18) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090204
+packetLen(0x013b, 5) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090129
+packetLen(0x013b, 32) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090120
+packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090114
+packetLen(0x013b, 8) // ZC_ACTION_FAILURE
+#elif PACKETVER >= 20090107
+packetLen(0x013b, 7) // ZC_ACTION_FAILURE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x013c
+#if PACKETVER >= 20090406
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090401
+packetLen(0x013c, 34) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090325
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090318
+packetLen(0x013c, 30) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090225
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090218
+packetLen(0x013c, 28) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090211
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090204
+packetLen(0x013c, 7) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090129
+packetLen(0x013c, 3) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090114
+packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+#elif PACKETVER >= 20090107
+packetLen(0x013c, 5) // ZC_EQUIP_ARROW
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x013d
+#if PACKETVER >= 20090406
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20090311
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20090225
+packetLen(0x013d, 6) // ZC_RECOVERY
+#elif PACKETVER >= 20090204
+packetLen(0x013d, -1) // ZC_RECOVERY
+#elif PACKETVER >= 20090129
+packetLen(0x013d, 53) // ZC_RECOVERY
+#elif PACKETVER >= 20090120
+packetLen(0x013d, 36) // ZC_RECOVERY
+#elif PACKETVER >= 20090114
+packetLen(0x013d, 3) // ZC_RECOVERY
+#elif PACKETVER >= 20090107
+packetLen(0x013d, -1) // ZC_RECOVERY
+#endif
+
+// Packet: 0x013e
+#if PACKETVER >= 20090406
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090318
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090311
+packetLen(0x013e, 4) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090225
+packetLen(0x013e, 6) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090218
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090211
+packetLen(0x013e, 2) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090204
+packetLen(0x013e, 10) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090129
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090120
+packetLen(0x013e, 23) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090114
+packetLen(0x013e, -1) // ZC_USESKILL_ACK
+#elif PACKETVER >= 20090107
+packetLen(0x013e, 182) // ZC_USESKILL_ACK
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x013f
+#if PACKETVER >= 20090406
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090401
+packetLen(0x013f, 14) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090325
+packetLen(0x013f, 29) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090318
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090311
+packetLen(0x013f, 3) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090225
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090218
+packetLen(0x013f, 4) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090211
+packetLen(0x013f, 14) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090204
+packetLen(0x013f, 53) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090129
+packetLen(0x013f, 6) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090120
+packetLen(0x013f, -1) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090114
+packetLen(0x013f, 6) // CZ_ITEM_CREATE
+#elif PACKETVER >= 20090107
+packetLen(0x013f, 10) // CZ_ITEM_CREATE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0140
+#if PACKETVER >= 20090406
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20090318
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20090311
+packetLen(0x0140, 2) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20090204
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20090129
+packetLen(0x0140, 30) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20090120
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20090114
+packetLen(0x0140, 4) // CZ_MOVETO_MAP
+#elif PACKETVER >= 20090107
+packetLen(0x0140, -1) // CZ_MOVETO_MAP
+#endif
+
+// Packet: 0x0141
+#if PACKETVER >= 20090406
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090325
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090318
+packetLen(0x0141, 11) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090311
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090225
+packetLen(0x0141, 17) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090218
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090211
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090204
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090129
+packetLen(0x0141, -1) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090120
+packetLen(0x0141, 6) // ZC_COUPLESTATUS
+#elif PACKETVER >= 20090107
+packetLen(0x0141, 8) // ZC_COUPLESTATUS
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0142
+#if PACKETVER >= 20090406
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20090401
+packetLen(0x0142, 10) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20090211
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20090204
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20090129
+packetLen(0x0142, 30) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20090120
+packetLen(0x0142, 60) // ZC_OPEN_EDITDLG
+#elif PACKETVER >= 20090107
+packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+#endif
+
+// Packet: 0x0143
+#if PACKETVER >= 20090406
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20090401
+packetLen(0x0143, 30) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20090211
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20090204
+packetLen(0x0143, 26) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20090120
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20090114
+packetLen(0x0143, 22) // CZ_INPUT_EDITDLG
+#elif PACKETVER >= 20090107
+packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+#endif
+
+// Packet: 0x0144
+#if PACKETVER >= 20090406
+packetLen(0x0144, 23) // ZC_COMPASS
+#elif PACKETVER >= 20090218
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20090211
+packetLen(0x0144, 4) // ZC_COMPASS
+#elif PACKETVER >= 20090129
+packetLen(0x0144, -1) // ZC_COMPASS
+#elif PACKETVER >= 20090120
+packetLen(0x0144, 6) // ZC_COMPASS
+#elif PACKETVER >= 20090114
+packetLen(0x0144, 2) // ZC_COMPASS
+#elif PACKETVER >= 20090107
+packetLen(0x0144, 6) // ZC_COMPASS
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+#if PACKETVER >= 20090406
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20090401
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20090325
+packetLen(0x0146, 3) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20090225
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20090218
+packetLen(0x0146, 3) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20090211
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20090204
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20090114
+packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+#elif PACKETVER >= 20090107
+packetLen(0x0146, 2) // CZ_CLOSE_DIALOG
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0147
+#if PACKETVER >= 20090406
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20090401
+packetLen(0x0147, 3) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20090211
+packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20090204
+packetLen(0x0147, 114) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20090129
+packetLen(0x0147, 4) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20090120
+packetLen(0x0147, 30) // ZC_AUTORUN_SKILL
+#elif PACKETVER >= 20090107
+packetLen(0x0147, 2) // ZC_AUTORUN_SKILL
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0148
+#if PACKETVER >= 20090406
+packetLen(0x0148, 8) // ZC_RESURRECTION
+#elif PACKETVER >= 20090325
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20090311
+packetLen(0x0148, 26) // ZC_RESURRECTION
+#elif PACKETVER >= 20090225
+packetLen(0x0148, 10) // ZC_RESURRECTION
+#elif PACKETVER >= 20090218
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20090211
+packetLen(0x0148, 22) // ZC_RESURRECTION
+#elif PACKETVER >= 20090204
+packetLen(0x0148, 30) // ZC_RESURRECTION
+#elif PACKETVER >= 20090114
+packetLen(0x0148, -1) // ZC_RESURRECTION
+#elif PACKETVER >= 20090107
+packetLen(0x0148, 2) // ZC_RESURRECTION
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0149
+#if PACKETVER >= 20090406
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20090401
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20090325
+packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20090318
+packetLen(0x0149, 22) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20090311
+packetLen(0x0149, 29) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20090225
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20090218
+packetLen(0x0149, 10) // CZ_REQ_GIVE_MANNER_POINT
+#elif PACKETVER >= 20090107
+packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+#endif
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+#if PACKETVER >= 20090406
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090401
+packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090325
+packetLen(0x014c, 10) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090318
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090311
+packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090225
+packetLen(0x014c, 57) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090204
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090129
+packetLen(0x014c, 5) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090120
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090114
+packetLen(0x014c, 2) // ZC_MYGUILD_BASIC_INFO
+#elif PACKETVER >= 20090107
+packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x014d
+#if PACKETVER >= 20090406
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20090401
+packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20090325
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20090318
+packetLen(0x014d, 39) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20090218
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20090211
+packetLen(0x014d, 30) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20090204
+packetLen(0x014d, 13) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20090129
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20090114
+packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+#elif PACKETVER >= 20090107
+packetLen(0x014d, 282) // CZ_REQ_GUILD_MENUINTERFACE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+#if PACKETVER >= 20090406
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090401
+packetLen(0x014f, 2) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090325
+packetLen(0x014f, 16) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090318
+packetLen(0x014f, 58) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090311
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090225
+packetLen(0x014f, 7) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090211
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090204
+packetLen(0x014f, 10) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090129
+packetLen(0x014f, 26) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090120
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090114
+packetLen(0x014f, 182) // CZ_REQ_GUILD_MENU
+#elif PACKETVER >= 20090107
+packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+#endif
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+#if PACKETVER >= 20090318
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20090311
+packetLen(0x0154, 26) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20090225
+packetLen(0x0154, 17) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20090218
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20090211
+packetLen(0x0154, 4) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20090204
+packetLen(0x0154, 10) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20090129
+packetLen(0x0154, 21) // ZC_MEMBERMGR_INFO
+#elif PACKETVER >= 20090107
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+#endif
+
+// Packet: 0x0155
+#if PACKETVER >= 20090318
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20090311
+packetLen(0x0155, 3) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20090218
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20090211
+packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20090204
+packetLen(0x0155, 26) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20090114
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+#elif PACKETVER >= 20090107
+packetLen(0x0155, 10) // CZ_REQ_CHANGE_MEMBERPOS
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+#if PACKETVER >= 20090406
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x0159, 34) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20090318
+packetLen(0x0159, 8) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20090311
+packetLen(0x0159, 18) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20090218
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20090211
+packetLen(0x0159, 5) // CZ_REQ_LEAVE_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+#endif
+
+// Packet: 0x015a
+#if PACKETVER >= 20090406
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090318
+packetLen(0x015a, 2) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090311
+packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090225
+packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090211
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x015a, 14) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090129
+packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090120
+packetLen(0x015a, 4) // ZC_ACK_LEAVE_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x015b
+#if PACKETVER >= 20090406
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x015b, 8) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20090225
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20090218
+packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20090211
+packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x015b, 11) // CZ_REQ_BAN_GUILD
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x015c
+#if PACKETVER >= 20090406
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x015c, 8) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20090225
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20090218
+packetLen(0x015c, 3) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20090114
+packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x015c, 14) // ZC_ACK_BAN_GUILD
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+#if PACKETVER >= 20090406
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20090401
+packetLen(0x015e, 26) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20090311
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20090225
+packetLen(0x015e, 21) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20090218
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#elif PACKETVER >= 20090107
+packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+#endif
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+#if PACKETVER >= 20090406
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090401
+packetLen(0x0160, 17) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090325
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090311
+packetLen(0x0160, 6) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090225
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090218
+packetLen(0x0160, 6) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090211
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090204
+packetLen(0x0160, 8) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090129
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090120
+packetLen(0x0160, 6) // ZC_POSITION_INFO
+#elif PACKETVER >= 20090107
+packetLen(0x0160, 37) // ZC_POSITION_INFO
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0161
+#if PACKETVER >= 20090406
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090401
+packetLen(0x0161, 10) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090325
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090318
+packetLen(0x0161, 7) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090311
+packetLen(0x0161, 14) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090225
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090218
+packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090204
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090129
+packetLen(0x0161, 54) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090120
+packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090114
+packetLen(0x0161, 30) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+#elif PACKETVER >= 20090107
+packetLen(0x0161, 4) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0162
+#if PACKETVER >= 20090406
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20090401
+packetLen(0x0162, 54) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20090225
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20090218
+packetLen(0x0162, 4) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20090120
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20090114
+packetLen(0x0162, 10) // ZC_GUILD_SKILLINFO
+#elif PACKETVER >= 20090107
+packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0163
+#if PACKETVER >= 20090401
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x0163, 8) // ZC_BAN_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x0163, 3) // ZC_BAN_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x0163, 27) // ZC_BAN_LIST
+#elif PACKETVER >= 20090211
+packetLen(0x0163, 22) // ZC_BAN_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x0163, 9) // ZC_BAN_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x0163, -1) // ZC_BAN_LIST
+#endif
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+#if PACKETVER >= 20090406
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x0165, 2) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20090218
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20090211
+packetLen(0x0165, 26) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20090129
+packetLen(0x0165, 6) // CZ_REQ_MAKE_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+#endif
+
+// Packet: 0x0166
+#if PACKETVER >= 20090401
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20090325
+packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20090318
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20090311
+packetLen(0x0166, 26) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20090225
+packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20090218
+packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20090211
+packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20090204
+packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+#elif PACKETVER >= 20090107
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+#endif
+
+// Packet: 0x0167
+#if PACKETVER >= 20090406
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x0167, 53) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x0167, 8) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20090218
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20090211
+packetLen(0x0167, 14) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20090129
+packetLen(0x0167, 11) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20090120
+packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20090114
+packetLen(0x0167, 5) // ZC_RESULT_MAKE_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x0167, 26) // ZC_RESULT_MAKE_GUILD
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0168
+#if PACKETVER >= 20090406
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x0168, 23) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090129
+packetLen(0x0168, 27) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090114
+packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0169
+#if PACKETVER >= 20090406
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090318
+packetLen(0x0169, 29) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090311
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090225
+packetLen(0x0169, 26) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090218
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090211
+packetLen(0x0169, 17) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090129
+packetLen(0x0169, 11) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090114
+packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x016a
+#if PACKETVER >= 20090406
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090211
+packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x016a, 3) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090129
+packetLen(0x016a, 7) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090120
+packetLen(0x016a, 34) // ZC_REQ_JOIN_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x016a, 5) // ZC_REQ_JOIN_GUILD
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x016b
+#if PACKETVER >= 20090406
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x016b, 2) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090318
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090311
+packetLen(0x016b, 6) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090225
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090218
+packetLen(0x016b, 4) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090129
+packetLen(0x016b, 8) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090120
+packetLen(0x016b, -1) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090114
+packetLen(0x016b, 30) // CZ_JOIN_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x016b, 6) // CZ_JOIN_GUILD
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x016c
+#if PACKETVER >= 20090406
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20090225
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20090218
+packetLen(0x016c, 11) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20090211
+packetLen(0x016c, 16) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20090114
+packetLen(0x016c, -1) // ZC_UPDATE_GDID
+#elif PACKETVER >= 20090107
+packetLen(0x016c, 53) // ZC_UPDATE_GDID
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x016d
+#if PACKETVER >= 20090406
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20090401
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20090325
+packetLen(0x016d, 9) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20090318
+packetLen(0x016d, 11) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20090225
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20090218
+packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20090129
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20090120
+packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20090114
+packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+#elif PACKETVER >= 20090107
+packetLen(0x016d, 11) // ZC_UPDATE_CHARSTAT
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x016e
+#if PACKETVER >= 20090406
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20090311
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20090225
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20090218
+packetLen(0x016e, 30) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20090204
+packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20090129
+packetLen(0x016e, 6) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20090120
+packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20090114
+packetLen(0x016e, 97) // CZ_GUILD_NOTICE
+#elif PACKETVER >= 20090107
+packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x016f
+#if PACKETVER >= 20090406
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090401
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090325
+packetLen(0x016f, 67) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090318
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090311
+packetLen(0x016f, 7) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090225
+packetLen(0x016f, 10) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090204
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090129
+packetLen(0x016f, 10) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090120
+packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090114
+packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+#elif PACKETVER >= 20090107
+packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+#endif
+
+// Packet: 0x0170
+#if PACKETVER >= 20090406
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x0170, 36) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090318
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090311
+packetLen(0x0170, 2) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090211
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x0170, 2) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090129
+packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090120
+packetLen(0x0170, 10) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090114
+packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x0170, 79) // CZ_REQ_ALLY_GUILD
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0171
+#if PACKETVER >= 20090406
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090401
+packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090318
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090311
+packetLen(0x0171, 7) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090225
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090218
+packetLen(0x0171, 4) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090120
+packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090114
+packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x0171, 43) // ZC_REQ_ALLY_GUILD
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0172
+#if PACKETVER >= 20090406
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20090325
+packetLen(0x0172, 3) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20090318
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20090225
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20090218
+packetLen(0x0172, 55) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20090211
+packetLen(0x0172, 11) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20090204
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20090129
+packetLen(0x0172, 6) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20090120
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+#elif PACKETVER >= 20090107
+packetLen(0x0172, -1) // CZ_ALLY_GUILD
+#endif
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+#if PACKETVER >= 20090406
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090401
+packetLen(0x0177, 26) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x0177, 5) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x0177, 6) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x0177, 22) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090114
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0178
+#if PACKETVER >= 20090406
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20090401
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20090325
+packetLen(0x0178, 2) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20090318
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20090311
+packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20090225
+packetLen(0x0178, 68) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20090120
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20090114
+packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+#elif PACKETVER >= 20090107
+packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+#endif
+
+// Packet: 0x0179
+#if PACKETVER >= 20090406
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090401
+packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090325
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090318
+packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090311
+packetLen(0x0179, 32) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090225
+packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090218
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090211
+packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090204
+packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090129
+packetLen(0x0179, 33) // ZC_ACK_ITEMIDENTIFY
+#elif PACKETVER >= 20090107
+packetLen(0x0179, 53) // ZC_ACK_ITEMIDENTIFY
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x017a
+#if PACKETVER >= 20090406
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x017a, 10) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090211
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x017a, 29) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x017a, 11) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090114
+packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x017a, 30) // CZ_REQ_ITEMCOMPOSITION_LIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x017b
+#if PACKETVER >= 20090401
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x017b, 13) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x017b, 30) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090211
+packetLen(0x017b, 14) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x017b, 8) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x017b, 17) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090114
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x017b, 11) // ZC_ITEMCOMPOSITION_LIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x017c
+#if PACKETVER >= 20090406
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20090325
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20090318
+packetLen(0x017c, 282) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20090311
+packetLen(0x017c, 8) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20090225
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20090218
+packetLen(0x017c, 3) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20090204
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20090129
+packetLen(0x017c, 4) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20090114
+packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+#elif PACKETVER >= 20090107
+packetLen(0x017c, 3) // CZ_REQ_ITEMCOMPOSITION
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x017d
+#if PACKETVER >= 20090406
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20090401
+packetLen(0x017d, 53) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20090325
+packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20090318
+packetLen(0x017d, 28) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20090311
+packetLen(0x017d, 2) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20090225
+packetLen(0x017d, 31) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20090218
+packetLen(0x017d, 9) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20090211
+packetLen(0x017d, 6) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20090204
+packetLen(0x017d, 11) // ZC_ACK_ITEMCOMPOSITION
+#elif PACKETVER >= 20090107
+packetLen(0x017d, 2) // ZC_ACK_ITEMCOMPOSITION
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x017e
+#if PACKETVER >= 20090325
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20090318
+packetLen(0x017e, 26) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20090311
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20090225
+packetLen(0x017e, 30) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20090218
+packetLen(0x017e, 6) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20090204
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20090129
+packetLen(0x017e, 14) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20090120
+packetLen(0x017e, 186) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20090114
+packetLen(0x017e, 6) // CZ_GUILD_CHAT
+#elif PACKETVER >= 20090107
+packetLen(0x017e, 2) // CZ_GUILD_CHAT
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x017f
+#if PACKETVER >= 20090311
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20090225
+packetLen(0x017f, 3) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20090129
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20090120
+packetLen(0x017f, 33) // ZC_GUILD_CHAT
+#elif PACKETVER >= 20090107
+packetLen(0x017f, 30) // ZC_GUILD_CHAT
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+#if PACKETVER >= 20090406
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20090311
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20090225
+packetLen(0x0188, 10) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20090218
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20090211
+packetLen(0x0188, 5) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20090114
+packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+#elif PACKETVER >= 20090107
+packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0189
+#if PACKETVER >= 20090406
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20090325
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20090318
+packetLen(0x0189, 90) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20090204
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20090129
+packetLen(0x0189, 2) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20090120
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20090114
+packetLen(0x0189, 6) // ZC_NOTIFY_MAPINFO
+#elif PACKETVER >= 20090107
+packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+#endif
+
+// Packet: 0x018a
+#if PACKETVER >= 20090406
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20090311
+packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20090225
+packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20090218
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20090211
+packetLen(0x018a, 71) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20090204
+packetLen(0x018a, 10) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20090120
+packetLen(0x018a, 3) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20090114
+packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+#elif PACKETVER >= 20090107
+packetLen(0x018a, 8) // CZ_REQ_DISCONNECT
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x018b
+#if PACKETVER >= 20090401
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20090325
+packetLen(0x018b, 30) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20090311
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20090225
+packetLen(0x018b, 21) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20090129
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20090120
+packetLen(0x018b, 7) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20090114
+packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+#elif PACKETVER >= 20090107
+packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x018c
+#if PACKETVER >= 20090406
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090401
+packetLen(0x018c, 11) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090318
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090311
+packetLen(0x018c, 2) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090225
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090218
+packetLen(0x018c, 30) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090211
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090204
+packetLen(0x018c, 3) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090129
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090120
+packetLen(0x018c, 30) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090114
+packetLen(0x018c, -1) // ZC_MONSTER_INFO
+#elif PACKETVER >= 20090107
+packetLen(0x018c, 8) // ZC_MONSTER_INFO
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x018d
+#if PACKETVER >= 20090401
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090325
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090318
+packetLen(0x018d, 14) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x018d, 4) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090218
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090211
+packetLen(0x018d, 28) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090204
+packetLen(0x018d, 18) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x018d, 7) // ZC_MAKABLEITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x018e
+#if PACKETVER >= 20090406
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20090401
+packetLen(0x018e, 7) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20090318
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20090311
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20090225
+packetLen(0x018e, 5) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20090218
+packetLen(0x018e, 8) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20090107
+packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20090406
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20090401
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20090325
+packetLen(0x018f, 2) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20090318
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20090311
+packetLen(0x018f, 4) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20090129
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20090120
+packetLen(0x018f, 10) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20090107
+packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+#if PACKETVER >= 20090406
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20090401
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20090325
+packetLen(0x0194, 28) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20090318
+packetLen(0x0194, 6) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20090311
+packetLen(0x0194, 54) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20090225
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20090218
+packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20090211
+packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20090114
+packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+#elif PACKETVER >= 20090107
+packetLen(0x0194, 12) // ZC_ACK_REQNAME_BYGID
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0195
+#if PACKETVER >= 20090406
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20090401
+packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20090325
+packetLen(0x0195, 7) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20090318
+packetLen(0x0195, 4) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20090311
+packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20090225
+packetLen(0x0195, 8) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20090218
+packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+#elif PACKETVER >= 20090107
+packetLen(0x0195, 29) // ZC_ACK_REQNAMEALL
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0196
+#if PACKETVER >= 20090406
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20090311
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20090225
+packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20090204
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20090129
+packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+#endif
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+#if PACKETVER >= 20090406
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20090401
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20090325
+packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20090318
+packetLen(0x0199, 67) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20090218
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20090204
+packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20090129
+packetLen(0x0199, 26) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20090120
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20090114
+packetLen(0x0199, 282) // ZC_NOTIFY_MAPPROPERTY
+#elif PACKETVER >= 20090107
+packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+#endif
+
+// Packet: 0x019a
+#if PACKETVER >= 20090406
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20090401
+packetLen(0x019a, 20) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20090325
+packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20090318
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20090218
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20090211
+packetLen(0x019a, 33) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20090204
+packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20090129
+packetLen(0x019a, 4) // ZC_NOTIFY_RANKING
+#elif PACKETVER >= 20090107
+packetLen(0x019a, 17) // ZC_NOTIFY_RANKING
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x019b
+#if PACKETVER >= 20090406
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20090401
+packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20090325
+packetLen(0x019b, 65) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20090311
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20090225
+packetLen(0x019b, 6) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20090211
+packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20090204
+packetLen(0x019b, 11) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20090129
+packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20090120
+packetLen(0x019b, 26) // ZC_NOTIFY_EFFECT
+#elif PACKETVER >= 20090107
+packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x019c
+#if PACKETVER >= 20090406
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20090401
+packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20090325
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20090318
+packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20090211
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20090204
+packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20090114
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+#elif PACKETVER >= 20090107
+packetLen(0x019c, 15) // CZ_LOCALBROADCAST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x019d
+#if PACKETVER >= 20090406
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20090401
+packetLen(0x019d, 282) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20090325
+packetLen(0x019d, 30) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20090318
+packetLen(0x019d, 13) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20090311
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20090225
+packetLen(0x019d, 10) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20090114
+packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+#elif PACKETVER >= 20090107
+packetLen(0x019d, 60) // CZ_CHANGE_EFFECTSTATE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+#if PACKETVER >= 20090406
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090401
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090325
+packetLen(0x019f, 4) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090318
+packetLen(0x019f, 53) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090311
+packetLen(0x019f, 8) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090225
+packetLen(0x019f, 5) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090218
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090211
+packetLen(0x019f, 7) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090129
+packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090120
+packetLen(0x019f, 15) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090114
+packetLen(0x019f, 7) // CZ_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090107
+packetLen(0x019f, 26) // CZ_TRYCAPTURE_MONSTER
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01a0
+#if PACKETVER >= 20090406
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090325
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090318
+packetLen(0x01a0, 79) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090114
+packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+#elif PACKETVER >= 20090107
+packetLen(0x01a0, 114) // ZC_TRYCAPTURE_MONSTER
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01a1
+#if PACKETVER >= 20090406
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+#elif PACKETVER >= 20090325
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#elif PACKETVER >= 20090318
+packetLen(0x01a1, 30) // CZ_COMMAND_PET
+#elif PACKETVER >= 20090311
+packetLen(0x01a1, 26) // CZ_COMMAND_PET
+#elif PACKETVER >= 20090107
+packetLen(0x01a1, -1) // CZ_COMMAND_PET
+#endif
+
+// Packet: 0x01a2
+#if PACKETVER >= 20090406
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20090401
+packetLen(0x01a2, 21) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20090325
+packetLen(0x01a2, 31) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20090225
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20090218
+packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20090211
+packetLen(0x01a2, 4) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20090129
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20090120
+packetLen(0x01a2, 59) // ZC_PROPERTY_PET
+#elif PACKETVER >= 20090107
+packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+#endif
+
+// Packet: 0x01a3
+#if PACKETVER >= 20090406
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#elif PACKETVER >= 20090401
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20090325
+packetLen(0x01a3, 8) // ZC_FEED_PET
+#elif PACKETVER >= 20090211
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20090204
+packetLen(0x01a3, 6) // ZC_FEED_PET
+#elif PACKETVER >= 20090129
+packetLen(0x01a3, -1) // ZC_FEED_PET
+#elif PACKETVER >= 20090120
+packetLen(0x01a3, 6) // ZC_FEED_PET
+#elif PACKETVER >= 20090114
+packetLen(0x01a3, 3) // ZC_FEED_PET
+#elif PACKETVER >= 20090107
+packetLen(0x01a3, 2) // ZC_FEED_PET
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01a4
+#if PACKETVER >= 20090406
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20090325
+packetLen(0x01a4, 6) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20090225
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20090218
+packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20090211
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20090204
+packetLen(0x01a4, 3) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20090129
+packetLen(0x01a4, 27) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20090114
+packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+#elif PACKETVER >= 20090107
+packetLen(0x01a4, 20) // ZC_CHANGESTATE_PET
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+#if PACKETVER >= 20090401
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x01a6, 23) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x01a6, 182) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x01a6, 26) // ZC_PETEGG_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x01a6, 58) // ZC_PETEGG_LIST
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01a7
+#if PACKETVER >= 20090406
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20090401
+packetLen(0x01a7, 27) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20090325
+packetLen(0x01a7, 3) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20090318
+packetLen(0x01a7, 60) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20090311
+packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20090225
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20090218
+packetLen(0x01a7, 10) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20090204
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20090129
+packetLen(0x01a7, 5) // CZ_SELECT_PETEGG
+#elif PACKETVER >= 20090107
+packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+#endif
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+#if PACKETVER >= 20090406
+packetLen(0x01aa, 10) // ZC_PET_ACT
+#elif PACKETVER >= 20090401
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20090325
+packetLen(0x01aa, 14) // ZC_PET_ACT
+#elif PACKETVER >= 20090225
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#elif PACKETVER >= 20090218
+packetLen(0x01aa, 86) // ZC_PET_ACT
+#elif PACKETVER >= 20090211
+packetLen(0x01aa, 79) // ZC_PET_ACT
+#elif PACKETVER >= 20090107
+packetLen(0x01aa, -1) // ZC_PET_ACT
+#endif
+
+// Packet: 0x01ab
+#if PACKETVER >= 20090406
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090401
+packetLen(0x01ab, 4) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090325
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090318
+packetLen(0x01ab, 23) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090311
+packetLen(0x01ab, 26) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090225
+packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090211
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090204
+packetLen(0x01ab, 57) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090129
+packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090120
+packetLen(0x01ab, 6) // ZC_PAR_CHANGE_USER
+#elif PACKETVER >= 20090107
+packetLen(0x01ab, 5) // ZC_PAR_CHANGE_USER
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01ac
+#if PACKETVER >= 20090406
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090401
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090325
+packetLen(0x01ac, 28) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090318
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090311
+packetLen(0x01ac, 4) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090225
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090218
+packetLen(0x01ac, 13) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090211
+packetLen(0x01ac, 68) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090120
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090114
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+#elif PACKETVER >= 20090107
+packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+#endif
+
+// Packet: 0x01ad
+#if PACKETVER >= 20090401
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x01ad, 24) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x01ad, 90) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20090211
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x01ad, 27) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x01ad, 60) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20090114
+packetLen(0x01ad, 14) // ZC_MAKINGARROW_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+#endif
+
+// Packet: 0x01ae
+#if PACKETVER >= 20090406
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20090401
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20090325
+packetLen(0x01ae, 18) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20090311
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20090225
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20090218
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20090204
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20090120
+packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20090114
+packetLen(0x01ae, 11) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20090107
+packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+#if PACKETVER >= 20090406
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20090325
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20090318
+packetLen(0x01b0, 7) // ZC_NPCSPRITE_CHANGE
+#elif PACKETVER >= 20090107
+packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+#endif
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+#if PACKETVER >= 20090406
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090401
+packetLen(0x01b2, 4) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090318
+packetLen(0x01b2, 6) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090311
+packetLen(0x01b2, 44) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090225
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090218
+packetLen(0x01b2, 58) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090204
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090129
+packetLen(0x01b2, 7) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090120
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090114
+packetLen(0x01b2, 60) // CZ_REQ_OPENSTORE2
+#elif PACKETVER >= 20090107
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+#endif
+
+// Packet: 0x01b3
+#if PACKETVER >= 20090406
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20090401
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20090325
+packetLen(0x01b3, 3) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20090318
+packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20090218
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20090211
+packetLen(0x01b3, 8) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20090114
+packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+#elif PACKETVER >= 20090107
+packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+#if PACKETVER >= 20090406
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090401
+packetLen(0x01b6, 8) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090325
+packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090318
+packetLen(0x01b6, 33) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090311
+packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090225
+packetLen(0x01b6, 18) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090218
+packetLen(0x01b6, 27) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090211
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090204
+packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090120
+packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090114
+packetLen(0x01b6, 13) // ZC_GUILD_INFO2
+#elif PACKETVER >= 20090107
+packetLen(0x01b6, 16) // ZC_GUILD_INFO2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+#if PACKETVER >= 20090406
+packetLen(0x01b9, 6) // ZC_DISPEL
+#elif PACKETVER >= 20090401
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20090325
+packetLen(0x01b9, 6) // ZC_DISPEL
+#elif PACKETVER >= 20090311
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20090225
+packetLen(0x01b9, 2) // ZC_DISPEL
+#elif PACKETVER >= 20090211
+packetLen(0x01b9, -1) // ZC_DISPEL
+#elif PACKETVER >= 20090204
+packetLen(0x01b9, 26) // ZC_DISPEL
+#elif PACKETVER >= 20090129
+packetLen(0x01b9, 3) // ZC_DISPEL
+#elif PACKETVER >= 20090107
+packetLen(0x01b9, -1) // ZC_DISPEL
+#endif
+
+// Packet: 0x01ba
+#if PACKETVER >= 20090406
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+#elif PACKETVER >= 20090325
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20090318
+packetLen(0x01ba, 6) // CZ_REMOVE_AID
+#elif PACKETVER >= 20090218
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20090211
+packetLen(0x01ba, 10) // CZ_REMOVE_AID
+#elif PACKETVER >= 20090204
+packetLen(0x01ba, 6) // CZ_REMOVE_AID
+#elif PACKETVER >= 20090129
+packetLen(0x01ba, 30) // CZ_REMOVE_AID
+#elif PACKETVER >= 20090120
+packetLen(0x01ba, -1) // CZ_REMOVE_AID
+#elif PACKETVER >= 20090114
+packetLen(0x01ba, 30) // CZ_REMOVE_AID
+#elif PACKETVER >= 20090107
+packetLen(0x01ba, 15) // CZ_REMOVE_AID
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01bb
+#if PACKETVER >= 20090406
+packetLen(0x01bb, 26) // CZ_SHIFT
+#elif PACKETVER >= 20090325
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20090318
+packetLen(0x01bb, 6) // CZ_SHIFT
+#elif PACKETVER >= 20090225
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20090218
+packetLen(0x01bb, 6) // CZ_SHIFT
+#elif PACKETVER >= 20090211
+packetLen(0x01bb, 26) // CZ_SHIFT
+#elif PACKETVER >= 20090204
+packetLen(0x01bb, 12) // CZ_SHIFT
+#elif PACKETVER >= 20090129
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20090120
+packetLen(0x01bb, 4) // CZ_SHIFT
+#elif PACKETVER >= 20090114
+packetLen(0x01bb, -1) // CZ_SHIFT
+#elif PACKETVER >= 20090107
+packetLen(0x01bb, 10) // CZ_SHIFT
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01bc
+#if PACKETVER >= 20090406
+packetLen(0x01bc, 26) // CZ_RECALL
+#elif PACKETVER >= 20090401
+packetLen(0x01bc, 6) // CZ_RECALL
+#elif PACKETVER >= 20090325
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20090318
+packetLen(0x01bc, 6) // CZ_RECALL
+#elif PACKETVER >= 20090225
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20090218
+packetLen(0x01bc, 14) // CZ_RECALL
+#elif PACKETVER >= 20090129
+packetLen(0x01bc, -1) // CZ_RECALL
+#elif PACKETVER >= 20090120
+packetLen(0x01bc, 7) // CZ_RECALL
+#elif PACKETVER >= 20090107
+packetLen(0x01bc, 4) // CZ_RECALL
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01bd
+#if PACKETVER >= 20090406
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+#elif PACKETVER >= 20090401
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20090325
+packetLen(0x01bd, 30) // CZ_RECALL_GID
+#elif PACKETVER >= 20090318
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20090311
+packetLen(0x01bd, 22) // CZ_RECALL_GID
+#elif PACKETVER >= 20090211
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#elif PACKETVER >= 20090204
+packetLen(0x01bd, 65) // CZ_RECALL_GID
+#elif PACKETVER >= 20090129
+packetLen(0x01bd, 10) // CZ_RECALL_GID
+#elif PACKETVER >= 20090107
+packetLen(0x01bd, -1) // CZ_RECALL_GID
+#endif
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+#if PACKETVER >= 20090318
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20090311
+packetLen(0x01c3, 15) // ZC_BROADCAST2
+#elif PACKETVER >= 20090218
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20090211
+packetLen(0x01c3, 2) // ZC_BROADCAST2
+#elif PACKETVER >= 20090129
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#elif PACKETVER >= 20090120
+packetLen(0x01c3, 2) // ZC_BROADCAST2
+#elif PACKETVER >= 20090114
+packetLen(0x01c3, 15) // ZC_BROADCAST2
+#elif PACKETVER >= 20090107
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+#endif
+
+// Packet: 0x01c4
+#if PACKETVER >= 20090406
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20090401
+packetLen(0x01c4, 81) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20090325
+packetLen(0x01c4, 8) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20090318
+packetLen(0x01c4, 16) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20090311
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20090225
+packetLen(0x01c4, 7) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20090204
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20090129
+packetLen(0x01c4, 6) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20090114
+packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20090107
+packetLen(0x01c4, 9) // ZC_ADD_ITEM_TO_STORE2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20090406
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20090401
+packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20090325
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20090318
+packetLen(0x01c5, 10) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20090311
+packetLen(0x01c5, 6) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20090120
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20090114
+packetLen(0x01c5, 2) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20090107
+packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+#if PACKETVER >= 20090406
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20090325
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20090318
+packetLen(0x01c8, 43) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20090311
+packetLen(0x01c8, 3) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20090225
+packetLen(0x01c8, 53) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20090211
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20090204
+packetLen(0x01c8, 10) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20090120
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20090114
+packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20090107
+packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+#endif
+
+// Packet: 0x01c9
+#if PACKETVER >= 20090406
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090401
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090325
+packetLen(0x01c9, 28) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090318
+packetLen(0x01c9, 54) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090311
+packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090225
+packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090218
+packetLen(0x01c9, 282) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090211
+packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090204
+packetLen(0x01c9, 14) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090129
+packetLen(0x01c9, 102) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090120
+packetLen(0x01c9, 10) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090114
+packetLen(0x01c9, 79) // ZC_SKILL_ENTRY2
+#elif PACKETVER >= 20090107
+packetLen(0x01c9, 32) // ZC_SKILL_ENTRY2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+#if PACKETVER >= 20090406
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20090318
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20090311
+packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20090211
+packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20090204
+packetLen(0x01cd, 26) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20090129
+packetLen(0x01cd, 8) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20090120
+packetLen(0x01cd, 18) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20090114
+packetLen(0x01cd, 33) // ZC_AUTOSPELLLIST
+#elif PACKETVER >= 20090107
+packetLen(0x01cd, 20) // ZC_AUTOSPELLLIST
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01ce
+#if PACKETVER >= 20090406
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20090401
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20090325
+packetLen(0x01ce, 26) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20090211
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20090204
+packetLen(0x01ce, 11) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20090129
+packetLen(0x01ce, 14) // CZ_SELECTAUTOSPELL
+#elif PACKETVER >= 20090107
+packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+#endif
+
+// Packet: 0x01cf
+#if PACKETVER >= 20090406
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20090225
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20090211
+packetLen(0x01cf, 4) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20090114
+packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+#elif PACKETVER >= 20090107
+packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01d0
+#if PACKETVER >= 20090406
+packetLen(0x01d0, 8) // ZC_SPIRITS
+#elif PACKETVER >= 20090401
+packetLen(0x01d0, 23) // ZC_SPIRITS
+#elif PACKETVER >= 20090325
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20090318
+packetLen(0x01d0, 26) // ZC_SPIRITS
+#elif PACKETVER >= 20090225
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20090218
+packetLen(0x01d0, 30) // ZC_SPIRITS
+#elif PACKETVER >= 20090211
+packetLen(0x01d0, 8) // ZC_SPIRITS
+#elif PACKETVER >= 20090204
+packetLen(0x01d0, 36) // ZC_SPIRITS
+#elif PACKETVER >= 20090129
+packetLen(0x01d0, 10) // ZC_SPIRITS
+#elif PACKETVER >= 20090114
+packetLen(0x01d0, -1) // ZC_SPIRITS
+#elif PACKETVER >= 20090107
+packetLen(0x01d0, 30) // ZC_SPIRITS
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+#if PACKETVER >= 20090406
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+#elif PACKETVER >= 20090401
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20090325
+packetLen(0x01d2, 54) // ZC_COMBODELAY
+#elif PACKETVER >= 20090318
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20090311
+packetLen(0x01d2, 2) // ZC_COMBODELAY
+#elif PACKETVER >= 20090225
+packetLen(0x01d2, 26) // ZC_COMBODELAY
+#elif PACKETVER >= 20090218
+packetLen(0x01d2, 3) // ZC_COMBODELAY
+#elif PACKETVER >= 20090129
+packetLen(0x01d2, -1) // ZC_COMBODELAY
+#elif PACKETVER >= 20090120
+packetLen(0x01d2, 22) // ZC_COMBODELAY
+#elif PACKETVER >= 20090107
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+#if PACKETVER >= 20090406
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20090401
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20090325
+packetLen(0x01d4, 7) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20090318
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20090311
+packetLen(0x01d4, 53) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20090204
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20090129
+packetLen(0x01d4, 8) // ZC_OPEN_EDITDLGSTR
+#elif PACKETVER >= 20090107
+packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+#endif
+
+// Packet: 0x01d5
+#if PACKETVER >= 20090401
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20090318
+packetLen(0x01d5, 2) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20090120
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20090114
+packetLen(0x01d5, 14) // CZ_INPUT_EDITDLGSTR
+#elif PACKETVER >= 20090107
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+#endif
+
+// Packet: 0x01d6
+#if PACKETVER >= 20090406
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20090401
+packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20090325
+packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20090318
+packetLen(0x01d6, 8) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20090311
+packetLen(0x01d6, 30) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20090211
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20090204
+packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20090129
+packetLen(0x01d6, 26) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20090114
+packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+#elif PACKETVER >= 20090107
+packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01d7
+#if PACKETVER >= 20090406
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20090401
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20090325
+packetLen(0x01d7, 14) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20090311
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20090225
+packetLen(0x01d7, 5) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20090218
+packetLen(0x01d7, 59) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20090204
+packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20090129
+packetLen(0x01d7, 16) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20090107
+packetLen(0x01d7, 114) // ZC_SPRITE_CHANGE2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20090406
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20090401
+packetLen(0x01d8, 19) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20090325
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20090318
+packetLen(0x01d8, 57) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20090129
+packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20090114
+packetLen(0x01d8, 7) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20090107
+packetLen(0x01d8, 39) // ZC_NOTIFY_STANDENTRY2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20090406
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090325
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090318
+packetLen(0x01d9, 3) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090311
+packetLen(0x01d9, 31) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090218
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090211
+packetLen(0x01d9, 11) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090204
+packetLen(0x01d9, 22) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090129
+packetLen(0x01d9, 37) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090120
+packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090114
+packetLen(0x01d9, 54) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20090107
+packetLen(0x01d9, 28) // ZC_NOTIFY_NEWENTRY2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20090406
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20090401
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20090325
+packetLen(0x01da, 11) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20090204
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20090129
+packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20090120
+packetLen(0x01da, 22) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20090114
+packetLen(0x01da, 4) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20090107
+packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+#if PACKETVER >= 20090406
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090401
+packetLen(0x01de, 18) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090318
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090311
+packetLen(0x01de, 67) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090225
+packetLen(0x01de, 59) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090218
+packetLen(0x01de, 11) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090204
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090129
+packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090120
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090114
+packetLen(0x01de, 282) // ZC_NOTIFY_SKILL2
+#elif PACKETVER >= 20090107
+packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+#endif
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+#if PACKETVER >= 20090406
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+#elif PACKETVER >= 20090325
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20090311
+packetLen(0x01e1, 5) // ZC_SPIRITS2
+#elif PACKETVER >= 20090218
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20090211
+packetLen(0x01e1, 10) // ZC_SPIRITS2
+#elif PACKETVER >= 20090129
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#elif PACKETVER >= 20090120
+packetLen(0x01e1, 26) // ZC_SPIRITS2
+#elif PACKETVER >= 20090114
+packetLen(0x01e1, 7) // ZC_SPIRITS2
+#elif PACKETVER >= 20090107
+packetLen(0x01e1, -1) // ZC_SPIRITS2
+#endif
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+#if PACKETVER >= 20090406
+packetLen(0x01e7, 2) // CZ_DORIDORI
+#elif PACKETVER >= 20090401
+packetLen(0x01e7, 8) // CZ_DORIDORI
+#elif PACKETVER >= 20090325
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20090318
+packetLen(0x01e7, 86) // CZ_DORIDORI
+#elif PACKETVER >= 20090311
+packetLen(0x01e7, 10) // CZ_DORIDORI
+#elif PACKETVER >= 20090225
+packetLen(0x01e7, 7) // CZ_DORIDORI
+#elif PACKETVER >= 20090218
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20090211
+packetLen(0x01e7, 8) // CZ_DORIDORI
+#elif PACKETVER >= 20090129
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20090120
+packetLen(0x01e7, 5) // CZ_DORIDORI
+#elif PACKETVER >= 20090114
+packetLen(0x01e7, -1) // CZ_DORIDORI
+#elif PACKETVER >= 20090107
+packetLen(0x01e7, 15) // CZ_DORIDORI
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20090406
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20090401
+packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20090325
+packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20090225
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20090218
+packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20090204
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20090129
+packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20090120
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20090114
+packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+#elif PACKETVER >= 20090107
+packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20090406
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20090325
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20090318
+packetLen(0x01e9, 28) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20090211
+packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20090204
+packetLen(0x01e9, 79) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20090129
+packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20090120
+packetLen(0x01e9, 27) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20090114
+packetLen(0x01e9, 55) // ZC_ADD_MEMBER_TO_GROUP2
+#elif PACKETVER >= 20090107
+packetLen(0x01e9, 17) // ZC_ADD_MEMBER_TO_GROUP2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20090406
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090401
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090325
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090318
+packetLen(0x01ea, 2) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090311
+packetLen(0x01ea, 59) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090225
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090218
+packetLen(0x01ea, 66) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090211
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090204
+packetLen(0x01ea, 3) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090129
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090120
+packetLen(0x01ea, 90) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090114
+packetLen(0x01ea, -1) // ZC_CONGRATULATION
+#elif PACKETVER >= 20090107
+packetLen(0x01ea, 3) // ZC_CONGRATULATION
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20090406
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090401
+packetLen(0x01eb, 2) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090325
+packetLen(0x01eb, 14) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090225
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090218
+packetLen(0x01eb, 33) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090211
+packetLen(0x01eb, 6) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090204
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090129
+packetLen(0x01eb, 23) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090120
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090114
+packetLen(0x01eb, 59) // ZC_NOTIFY_POSITION_TO_GUILDM
+#elif PACKETVER >= 20090107
+packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+#endif
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+#if PACKETVER >= 20090406
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#elif PACKETVER >= 20090401
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20090325
+packetLen(0x01ed, 5) // CZ_CHOPOKGI
+#elif PACKETVER >= 20090311
+packetLen(0x01ed, -1) // CZ_CHOPOKGI
+#elif PACKETVER >= 20090211
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+#elif PACKETVER >= 20090107
+packetLen(0x01ed, 67) // CZ_CHOPOKGI
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20090401
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090325
+packetLen(0x01ee, 4) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090318
+packetLen(0x01ee, 7) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090311
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090218
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090211
+packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090129
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090120
+packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090114
+packetLen(0x01ee, 11) // ZC_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090107
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20090325
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090318
+packetLen(0x01ef, 9) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090225
+packetLen(0x01ef, 2) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090218
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090211
+packetLen(0x01ef, 4) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090204
+packetLen(0x01ef, 18) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090129
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090120
+packetLen(0x01ef, 14) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090114
+packetLen(0x01ef, 30) // ZC_CART_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090107
+packetLen(0x01ef, 14) // ZC_CART_NORMAL_ITEMLIST2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20090401
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090325
+packetLen(0x01f0, 60) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090318
+packetLen(0x01f0, 6) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090218
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090211
+packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090204
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090129
+packetLen(0x01f0, 6) // ZC_STORE_NORMAL_ITEMLIST2
+#elif PACKETVER >= 20090107
+packetLen(0x01f0, 10) // ZC_STORE_NORMAL_ITEMLIST2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+#if PACKETVER >= 20090406
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20090325
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20090318
+packetLen(0x01f2, 11) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20090311
+packetLen(0x01f2, 4) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20090225
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20090218
+packetLen(0x01f2, 18) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20090211
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20090204
+packetLen(0x01f2, 5) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20090114
+packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+#elif PACKETVER >= 20090107
+packetLen(0x01f2, 12) // ZC_UPDATE_CHARSTAT2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+#if PACKETVER >= 20090406
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090401
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090325
+packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090318
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090311
+packetLen(0x01f4, 20) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090225
+packetLen(0x01f4, 37) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090120
+packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090114
+packetLen(0x01f4, 8) // ZC_REQ_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090107
+packetLen(0x01f4, 12) // ZC_REQ_EXCHANGE_ITEM2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20090406
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090225
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090218
+packetLen(0x01f5, 26) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090211
+packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090204
+packetLen(0x01f5, 54) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090129
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090120
+packetLen(0x01f5, 11) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090114
+packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+#elif PACKETVER >= 20090107
+packetLen(0x01f5, 3) // ZC_ACK_EXCHANGE_ITEM2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+#if PACKETVER >= 20090325
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20090318
+packetLen(0x01fc, 8) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20090225
+packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20090211
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20090204
+packetLen(0x01fc, 30) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x01fc, 11) // ZC_REPAIRITEMLIST
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20090406
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20090401
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20090325
+packetLen(0x01fd, 10) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20090318
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20090311
+packetLen(0x01fd, 10) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20090225
+packetLen(0x01fd, 29) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20090218
+packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20090120
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20090114
+packetLen(0x01fd, 53) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20090107
+packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20090406
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20090401
+packetLen(0x01fe, 28) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20090325
+packetLen(0x01fe, 44) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20090120
+packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20090114
+packetLen(0x01fe, 10) // ZC_ACK_ITEMREPAIR
+#elif PACKETVER >= 20090107
+packetLen(0x01fe, 15) // ZC_ACK_ITEMREPAIR
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+#if PACKETVER >= 20090406
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20090401
+packetLen(0x0201, 58) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x0201, 5) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20090114
+packetLen(0x0201, 4) // ZC_FRIENDS_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20090406
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20090401
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20090218
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20090211
+packetLen(0x0202, 27) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20090204
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20090129
+packetLen(0x0202, 13) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20090114
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20090107
+packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20090406
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090401
+packetLen(0x0203, 26) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090325
+packetLen(0x0203, 2) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090318
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090311
+packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090225
+packetLen(0x0203, 11) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090218
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090211
+packetLen(0x0203, 29) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090204
+packetLen(0x0203, 67) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090129
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090120
+packetLen(0x0203, 2) // CZ_DELETE_FRIENDS
+#elif PACKETVER >= 20090107
+packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+#endif
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+#if PACKETVER >= 20090406
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090401
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090325
+packetLen(0x0206, 18) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090318
+packetLen(0x0206, 71) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090311
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090225
+packetLen(0x0206, 14) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090218
+packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090211
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090204
+packetLen(0x0206, 3) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090129
+packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090120
+packetLen(0x0206, 4) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20090107
+packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20090406
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090401
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090325
+packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090318
+packetLen(0x0207, 9) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090311
+packetLen(0x0207, 3) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090225
+packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090218
+packetLen(0x0207, 9) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090211
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090204
+packetLen(0x0207, 30) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090129
+packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090107
+packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20090406
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090401
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090325
+packetLen(0x0208, 2) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090318
+packetLen(0x0208, 31) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090311
+packetLen(0x0208, 8) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090225
+packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090218
+packetLen(0x0208, 30) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090120
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090114
+packetLen(0x0208, 26) // CZ_ACK_REQ_ADD_FRIENDS
+#elif PACKETVER >= 20090107
+packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20090406
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20090401
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20090311
+packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x0209, 2) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x0209, 86) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20090406
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20090401
+packetLen(0x020a, 31) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20090311
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20090225
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20090218
+packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20090120
+packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20090114
+packetLen(0x020a, 4) // ZC_DELETE_FRIENDS
+#elif PACKETVER >= 20090107
+packetLen(0x020a, 4) // ZC_DELETE_FRIENDS
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+#if PACKETVER >= 20090406
+packetLen(0x020e, 32) // ZC_STARSKILL
+#elif PACKETVER >= 20090318
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20090311
+packetLen(0x020e, 12) // ZC_STARSKILL
+#elif PACKETVER >= 20090225
+packetLen(0x020e, -1) // ZC_STARSKILL
+#elif PACKETVER >= 20090218
+packetLen(0x020e, 10) // ZC_STARSKILL
+#elif PACKETVER >= 20090211
+packetLen(0x020e, 4) // ZC_STARSKILL
+#elif PACKETVER >= 20090204
+packetLen(0x020e, 6) // ZC_STARSKILL
+#elif PACKETVER >= 20090129
+packetLen(0x020e, 2) // ZC_STARSKILL
+#elif PACKETVER >= 20090120
+packetLen(0x020e, 6) // ZC_STARSKILL
+#elif PACKETVER >= 20090107
+packetLen(0x020e, 6) // ZC_STARSKILL
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+#if PACKETVER >= 20090406
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090401
+packetLen(0x0217, 102) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090325
+packetLen(0x0217, 3) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090311
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090225
+packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090218
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090211
+packetLen(0x0217, 26) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090204
+packetLen(0x0217, 24) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090129
+packetLen(0x0217, 10) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090120
+packetLen(0x0217, 14) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090114
+packetLen(0x0217, 44) // CZ_BLACKSMITH_RANK
+#elif PACKETVER >= 20090107
+packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20090406
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20090325
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20090318
+packetLen(0x0218, 28) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20090225
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20090218
+packetLen(0x0218, 9) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20090211
+packetLen(0x0218, 66) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20090204
+packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+#elif PACKETVER >= 20090107
+packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20090406
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20090311
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20090225
+packetLen(0x0219, 28) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20090218
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20090211
+packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20090204
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20090129
+packetLen(0x0219, 58) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20090120
+packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20090114
+packetLen(0x0219, 2) // ZC_BLACKSMITH_RANK
+#elif PACKETVER >= 20090107
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20090406
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20090325
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20090318
+packetLen(0x021a, 23) // ZC_ALCHEMIST_RANK
+#elif PACKETVER >= 20090107
+packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20090406
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20090311
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20090225
+packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20090218
+packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20090204
+packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20090129
+packetLen(0x021b, 55) // ZC_BLACKSMITH_POINT
+#elif PACKETVER >= 20090107
+packetLen(0x021b, 28) // ZC_BLACKSMITH_POINT
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20090406
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090401
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090325
+packetLen(0x021c, 11) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090311
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090225
+packetLen(0x021c, 9) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090218
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090211
+packetLen(0x021c, 11) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090204
+packetLen(0x021c, 2) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090129
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090120
+packetLen(0x021c, 79) // ZC_ALCHEMIST_POINT
+#elif PACKETVER >= 20090107
+packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+#endif
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+#if PACKETVER >= 20090406
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090401
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090325
+packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090318
+packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090225
+packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090218
+packetLen(0x0224, 19) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090211
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090204
+packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090129
+packetLen(0x0224, 16) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090120
+packetLen(0x0224, 26) // ZC_TAEKWON_POINT
+#elif PACKETVER >= 20090107
+packetLen(0x0224, 60) // ZC_TAEKWON_POINT
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20090406
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090401
+packetLen(0x0225, 66) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090325
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090318
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090311
+packetLen(0x0225, 4) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090225
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090218
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090211
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090204
+packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090129
+packetLen(0x0225, 44) // CZ_TAEKWON_RANK
+#elif PACKETVER >= 20090107
+packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20090406
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20090401
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20090325
+packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20090318
+packetLen(0x0226, 53) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20090311
+packetLen(0x0226, 55) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20090218
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20090211
+packetLen(0x0226, 10) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20090129
+packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20090114
+packetLen(0x0226, 6) // ZC_TAEKWON_RANK
+#elif PACKETVER >= 20090107
+packetLen(0x0226, 102) // ZC_TAEKWON_RANK
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20090406
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090401
+packetLen(0x0227, 22) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090311
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090225
+packetLen(0x0227, 86) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090218
+packetLen(0x0227, 17) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090211
+packetLen(0x0227, 20) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090204
+packetLen(0x0227, -1) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090129
+packetLen(0x0227, 4) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090120
+packetLen(0x0227, 29) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090114
+packetLen(0x0227, 4) // ZC_GAME_GUARD
+#elif PACKETVER >= 20090107
+packetLen(0x0227, 9) // ZC_GAME_GUARD
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+#if PACKETVER >= 20090406
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20090401
+packetLen(0x0229, 33) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20090325
+packetLen(0x0229, 39) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20090318
+packetLen(0x0229, 27) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20090129
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20090120
+packetLen(0x0229, 9) // ZC_STATE_CHANGE3
+#elif PACKETVER >= 20090107
+packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20090406
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090401
+packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090325
+packetLen(0x022a, 6) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090318
+packetLen(0x022a, 26) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090311
+packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090225
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090218
+packetLen(0x022a, 6) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090211
+packetLen(0x022a, 26) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090204
+packetLen(0x022a, 4) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090129
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090120
+packetLen(0x022a, 282) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090114
+packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20090107
+packetLen(0x022a, 30) // ZC_NOTIFY_STANDENTRY3
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20090406
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20090401
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20090325
+packetLen(0x022b, 2) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20090225
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20090218
+packetLen(0x022b, 12) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20090211
+packetLen(0x022b, 16) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20090129
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20090120
+packetLen(0x022b, 3) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20090107
+packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20090406
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20090401
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20090318
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20090311
+packetLen(0x022c, 2) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20090211
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20090204
+packetLen(0x022c, 5) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20090114
+packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20090107
+packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20090406
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090401
+packetLen(0x022d, 27) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090325
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090318
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090311
+packetLen(0x022d, 28) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090225
+packetLen(0x022d, 11) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090218
+packetLen(0x022d, 67) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090211
+packetLen(0x022d, 31) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090204
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090114
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20090107
+packetLen(0x022d, 14) // CZ_COMMAND_MER
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20090406
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20090401
+packetLen(0x022e, 2) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20090325
+packetLen(0x022e, 16) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20090311
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20090225
+packetLen(0x022e, 26) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20090129
+packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20090120
+packetLen(0x022e, 8) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20090107
+packetLen(0x022e, 186) // ZC_PROPERTY_HOMUN
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20090406
+packetLen(0x022f, 5) // ZC_FEED_MER
+#elif PACKETVER >= 20090401
+packetLen(0x022f, 17) // ZC_FEED_MER
+#elif PACKETVER >= 20090325
+packetLen(0x022f, 39) // ZC_FEED_MER
+#elif PACKETVER >= 20090318
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20090311
+packetLen(0x022f, 23) // ZC_FEED_MER
+#elif PACKETVER >= 20090225
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20090218
+packetLen(0x022f, 12) // ZC_FEED_MER
+#elif PACKETVER >= 20090211
+packetLen(0x022f, 5) // ZC_FEED_MER
+#elif PACKETVER >= 20090129
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20090120
+packetLen(0x022f, 31) // ZC_FEED_MER
+#elif PACKETVER >= 20090114
+packetLen(0x022f, -1) // ZC_FEED_MER
+#elif PACKETVER >= 20090107
+packetLen(0x022f, 2) // ZC_FEED_MER
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20090406
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20090311
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20090225
+packetLen(0x0230, 30) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20090218
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20090211
+packetLen(0x0230, 10) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20090204
+packetLen(0x0230, 15) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20090129
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20090120
+packetLen(0x0230, 15) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20090114
+packetLen(0x0230, 5) // ZC_CHANGESTATE_MER
+#elif PACKETVER >= 20090107
+packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+#endif
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+#if PACKETVER >= 20090406
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20090325
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20090318
+packetLen(0x0232, 6) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20090311
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20090225
+packetLen(0x0232, 8) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20090114
+packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+#elif PACKETVER >= 20090107
+packetLen(0x0232, 3) // CZ_REQUEST_MOVENPC
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20090406
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20090401
+packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20090325
+packetLen(0x0233, 4) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20090311
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20090225
+packetLen(0x0233, 60) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20090218
+packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20090204
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20090129
+packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20090114
+packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+#elif PACKETVER >= 20090107
+packetLen(0x0233, 7) // CZ_REQUEST_ACTNPC
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20090406
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20090401
+packetLen(0x0234, 7) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20090318
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20090225
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20090218
+packetLen(0x0234, 7) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20090211
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20090204
+packetLen(0x0234, 16) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20090129
+packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20090120
+packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+#elif PACKETVER >= 20090107
+packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20090311
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x0235, 22) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x0235, 79) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20090211
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20090204
+packetLen(0x0235, 21) // ZC_HOSKILLINFO_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+#endif
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+#if PACKETVER >= 20090401
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#elif PACKETVER >= 20090325
+packetLen(0x0237, 43) // CZ_KILLER_RANK
+#elif PACKETVER >= 20090211
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20090204
+packetLen(0x0237, 19) // CZ_KILLER_RANK
+#elif PACKETVER >= 20090129
+packetLen(0x0237, 6) // CZ_KILLER_RANK
+#elif PACKETVER >= 20090120
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#elif PACKETVER >= 20090114
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+#elif PACKETVER >= 20090107
+packetLen(0x0237, -1) // CZ_KILLER_RANK
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20090406
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090401
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090325
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090318
+packetLen(0x0238, 3) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090225
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090218
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090211
+packetLen(0x0238, 3) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090204
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090129
+packetLen(0x0238, 6) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090120
+packetLen(0x0238, -1) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090114
+packetLen(0x0238, 12) // ZC_KILLER_RANK
+#elif PACKETVER >= 20090107
+packetLen(0x0238, 22) // ZC_KILLER_RANK
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20090406
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090401
+packetLen(0x0239, 12) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090325
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090318
+packetLen(0x0239, 97) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090218
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090211
+packetLen(0x0239, 3) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090204
+packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090129
+packetLen(0x0239, 66) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090120
+packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090114
+packetLen(0x0239, 71) // ZC_HOSKILLINFO_UPDATE
+#elif PACKETVER >= 20090107
+packetLen(0x0239, 7) // ZC_HOSKILLINFO_UPDATE
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20090406
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20090401
+packetLen(0x023a, 15) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20090318
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20090311
+packetLen(0x023a, 79) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20090225
+packetLen(0x023a, 8) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20090204
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20090129
+packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20090120
+packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20090114
+packetLen(0x023a, 22) // ZC_REQ_STORE_PASSWORD
+#elif PACKETVER >= 20090107
+packetLen(0x023a, 90) // ZC_REQ_STORE_PASSWORD
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+#if PACKETVER >= 20090406
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20090318
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20090311
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20090218
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20090211
+packetLen(0x023c, 4) // ZC_RESULT_STORE_PASSWORD
+#elif PACKETVER >= 20090107
+packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+#endif
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+#if PACKETVER >= 20090406
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20090401
+packetLen(0x0274, 15) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20090311
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20090225
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20090129
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20090120
+packetLen(0x0274, 2) // ZC_ACK_MAIL_RETURN
+#elif PACKETVER >= 20090107
+packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+#endif
+
+// Packet: 0x0275
+#if PACKETVER >= 20090701
+packetLen(0x0275, 37) // CH_ENTER2
+#endif
+
+// Packet: 0x0276
+#if PACKETVER >= 20090701
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+#endif
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+#if PACKETVER >= 20090406
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090401
+packetLen(0x0287, 10) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090311
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090225
+packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090218
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090211
+packetLen(0x0287, 7) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090204
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090129
+packetLen(0x0287, 8) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090120
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090114
+packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+#elif PACKETVER >= 20090107
+packetLen(0x0287, 29) // ZC_PC_CASH_POINT_ITEMLIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0288
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+#if PACKETVER >= 20090318
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090311
+packetLen(0x0295, 81) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090225
+packetLen(0x0295, 8) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090218
+packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090107
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20090406
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090401
+packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090311
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090218
+packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090211
+packetLen(0x0296, 36) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090204
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090129
+packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090120
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090114
+packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090107
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20090211
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090204
+packetLen(0x0297, 59) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090129
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090120
+packetLen(0x0297, 58) // ZC_CART_EQUIPMENT_ITEMLIST2
+#elif PACKETVER >= 20090107
+packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+#if PACKETVER >= 20090406
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090401
+packetLen(0x029a, 9) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090325
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090318
+packetLen(0x029a, 15) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090311
+packetLen(0x029a, 32) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090218
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090211
+packetLen(0x029a, 102) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090204
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090129
+packetLen(0x029a, 2) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090120
+packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20090107
+packetLen(0x029a, 6) // ZC_ITEM_PICKUP_ACK2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+#if PACKETVER >= 20090408
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+#elif PACKETVER >= 20090325
+packetLen(0x02a6, 404) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20090408
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+#elif PACKETVER >= 20090325
+packetLen(0x02a7, 404) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+#if PACKETVER >= 20090406
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090325
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090318
+packetLen(0x02e1, 114) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090311
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090225
+packetLen(0x02e1, 3) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090218
+packetLen(0x02e1, 2) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090211
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090204
+packetLen(0x02e1, 30) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090129
+packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090120
+packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090114
+packetLen(0x02e1, 60) // ZC_NOTIFY_ACT2
+#elif PACKETVER >= 20090107
+packetLen(0x02e1, 7) // ZC_NOTIFY_ACT2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+#if PACKETVER >= 20090406
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20090318
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20090311
+packetLen(0x02ec, 7) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20090225
+packetLen(0x02ec, 2) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20090218
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20090211
+packetLen(0x02ec, 26) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20090204
+packetLen(0x02ec, 4) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20090120
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20090114
+packetLen(0x02ec, 9) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20090107
+packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20090406
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090401
+packetLen(0x02ed, 28) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090325
+packetLen(0x02ed, 15) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090318
+packetLen(0x02ed, 2) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090311
+packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090225
+packetLen(0x02ed, 29) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090211
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090204
+packetLen(0x02ed, 23) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090129
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090120
+packetLen(0x02ed, 2) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20090107
+packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20090406
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20090401
+packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20090325
+packetLen(0x02ee, 6) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20090318
+packetLen(0x02ee, 5) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20090311
+packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20090211
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20090204
+packetLen(0x02ee, 20) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20090129
+packetLen(0x02ee, 13) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20090120
+packetLen(0x02ee, 21) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20090107
+packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+#if PACKETVER >= 20090406
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20090401
+packetLen(0x02f3, 58) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20090318
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20090311
+packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20090218
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20090211
+packetLen(0x02f3, 10) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20090204
+packetLen(0x02f3, 27) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20090129
+packetLen(0x02f3, 8) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20090120
+packetLen(0x02f3, 4) // CZ_IRMAIL_SEND
+#elif PACKETVER >= 20090107
+packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20090401
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090325
+packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090318
+packetLen(0x02f4, 2) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090311
+packetLen(0x02f4, 39) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090225
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090218
+packetLen(0x02f4, 11) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090211
+packetLen(0x02f4, 7) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090204
+packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090129
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090120
+packetLen(0x02f4, 8) // ZC_IRMAIL_SEND_RES
+#elif PACKETVER >= 20090107
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20090325
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20090318
+packetLen(0x02f5, 10) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20090311
+packetLen(0x02f5, 60) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20090225
+packetLen(0x02f5, 6) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20090218
+packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20090120
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20090114
+packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+#elif PACKETVER >= 20090107
+packetLen(0x02f5, 6) // ZC_IRMAIL_NOTIFY
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20090401
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090325
+packetLen(0x02f6, 26) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090318
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090311
+packetLen(0x02f6, 65) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090225
+packetLen(0x02f6, 19) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090218
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090211
+packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090129
+packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090120
+packetLen(0x02f6, 18) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090114
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#elif PACKETVER >= 20090107
+packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20090406
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x02f7, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x02f7, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x02f7, 24)
+#elif PACKETVER >= 20090204
+packetLen(0x02f7, 282)
+#elif PACKETVER >= 20090114
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x02f7, 22)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20090406
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x02f8, 5)
+#elif PACKETVER >= 20090325
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x02f8, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x02f8, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x02f8, 15)
+#elif PACKETVER >= 20090129
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x02f8, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x02f8, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20090318
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x02f9, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x02f9, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x02f9, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x02f9, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x02f9, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20090225
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x02fa, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x02fa, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x02fa, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x02fa, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20090311
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x02fb, 58)
+#elif PACKETVER >= 20090218
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x02fb, 42)
+#elif PACKETVER >= 20090204
+packetLen(0x02fb, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x02fb, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20090325
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02fc, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x02fc, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x02fc, 39)
+#elif PACKETVER >= 20090129
+packetLen(0x02fc, 54)
+#elif PACKETVER >= 20090107
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20090406
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x02fd, 5)
+#elif PACKETVER >= 20090325
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02fd, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x02fd, 42)
+#elif PACKETVER >= 20090218
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x02fd, 182)
+#elif PACKETVER >= 20090129
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x02fd, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x02fd, 102)
+#elif PACKETVER >= 20090107
+packetLen(0x02fd, 11)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20090325
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02fe, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x02fe, 19)
+#elif PACKETVER >= 20090218
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x02fe, 9)
+#elif PACKETVER >= 20090204
+packetLen(0x02fe, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x02fe, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20090406
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x02ff, 27)
+#elif PACKETVER >= 20090325
+packetLen(0x02ff, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x02ff, 54)
+#elif PACKETVER >= 20090204
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x02ff, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x02ff, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x02ff, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x02ff, -1)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20090318
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0300, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x0300, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0300, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0300, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0300, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20090406
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0301, 22)
+#elif PACKETVER >= 20090325
+packetLen(0x0301, 36)
+#elif PACKETVER >= 20090218
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0301, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x0301, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0301, 28)
+#elif PACKETVER >= 20090120
+packetLen(0x0301, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0301, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20090325
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0302, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0302, 81)
+#elif PACKETVER >= 20090114
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0302, 55)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20090318
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0303, 53)
+#elif PACKETVER >= 20090211
+packetLen(0x0303, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0303, 39)
+#elif PACKETVER >= 20090120
+packetLen(0x0303, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20090406
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x0304, 29)
+#elif PACKETVER >= 20090318
+packetLen(0x0304, 19)
+#elif PACKETVER >= 20090225
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0304, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0304, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0304, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20090318
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0305, 16)
+#elif PACKETVER >= 20090120
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0305, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0305, 282)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20090406
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0306, 12)
+#elif PACKETVER >= 20090318
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0306, 282)
+#elif PACKETVER >= 20090225
+packetLen(0x0306, 24)
+#elif PACKETVER >= 20090218
+packetLen(0x0306, 33)
+#elif PACKETVER >= 20090120
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0306, 42)
+#elif PACKETVER >= 20090107
+packetLen(0x0306, 33)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20090225
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0307, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0307, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20090406
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0308, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x0308, 16)
+#elif PACKETVER >= 20090311
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0308, 16)
+#elif PACKETVER >= 20090218
+packetLen(0x0308, 53)
+#elif PACKETVER >= 20090211
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20090204
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0308, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0308, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20090406
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0309, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0309, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x0309, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0309, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x0309, 32)
+#elif PACKETVER >= 20090107
+packetLen(0x0309, 14)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20090325
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x030a, 9)
+#elif PACKETVER >= 20090311
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x030a, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x030a, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x030a, 182)
+#elif PACKETVER >= 20090129
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x030a, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x030a, 32)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20090325
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x030b, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x030b, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x030b, 43)
+#elif PACKETVER >= 20090211
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x030b, 282)
+#elif PACKETVER >= 20090129
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x030b, 19)
+#elif PACKETVER >= 20090114
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x030b, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20090325
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x030c, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x030c, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x030c, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x030c, -1)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20090406
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x030d, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x030d, 67)
+#elif PACKETVER >= 20090218
+packetLen(0x030d, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x030d, 27)
+#elif PACKETVER >= 20090129
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x030d, 33)
+#elif PACKETVER >= 20090114
+packetLen(0x030d, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x030d, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20090406
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x030e, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x030e, 65)
+#elif PACKETVER >= 20090107
+packetLen(0x030e, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20090401
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x030f, 57)
+#elif PACKETVER >= 20090225
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x030f, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x030f, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x030f, 53)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20090218
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0310, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x0310, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0310, 15)
+#elif PACKETVER >= 20090114
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20090406
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x0311, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0311, 27)
+#elif PACKETVER >= 20090114
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0311, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20090325
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0312, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x0312, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0312, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x0312, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0312, 97)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20090325
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0313, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x0313, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0313, 37)
+#elif PACKETVER >= 20090129
+packetLen(0x0313, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0313, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0313, -1)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20090406
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0314, 60)
+#elif PACKETVER >= 20090129
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0314, 102)
+#elif PACKETVER >= 20090114
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0314, 11)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20090401
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0315, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0315, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0315, 20)
+#elif PACKETVER >= 20090114
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0315, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20090406
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0316, 13)
+#elif PACKETVER >= 20090325
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0316, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0316, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0316, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0316, 13)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20090406
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0317, 16)
+#elif PACKETVER >= 20090318
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0317, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x0317, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0317, 21)
+#elif PACKETVER >= 20090120
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0317, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20090401
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0318, 59)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20090401
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0319, 33)
+#elif PACKETVER >= 20090318
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0319, 60)
+#elif PACKETVER >= 20090218
+packetLen(0x0319, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0319, -1)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20090406
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x031a, 33)
+#elif PACKETVER >= 20090225
+packetLen(0x031a, 282)
+#elif PACKETVER >= 20090218
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x031a, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x031a, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x031a, 23)
+#elif PACKETVER >= 20090107
+packetLen(0x031a, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20090218
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x031b, 19)
+#elif PACKETVER >= 20090129
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x031b, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x031b, 282)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20090401
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x031c, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x031c, 20)
+#elif PACKETVER >= 20090211
+packetLen(0x031c, 186)
+#elif PACKETVER >= 20090204
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x031c, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x031c, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20090401
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x031d, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x031d, 28)
+#elif PACKETVER >= 20090204
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x031d, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x031d, -1)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20090311
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x031e, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x031e, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x031e, 54)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20090401
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x031f, 114)
+#elif PACKETVER >= 20090318
+packetLen(0x031f, 17)
+#elif PACKETVER >= 20090311
+packetLen(0x031f, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x031f, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x031f, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x031f, 71)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20090204
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0320, 12)
+#elif PACKETVER >= 20090120
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0320, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x0320, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20090401
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0321, 22)
+#elif PACKETVER >= 20090218
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0321, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0321, 186)
+#elif PACKETVER >= 20090107
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20090401
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0322, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0322, 9)
+#elif PACKETVER >= 20090218
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0322, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0322, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x0322, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0322, 27)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20090406
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0323, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0323, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0323, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0323, 12)
+#elif PACKETVER >= 20090120
+packetLen(0x0323, 37)
+#elif PACKETVER >= 20090114
+packetLen(0x0323, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0323, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20090406
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0324, 5)
+#elif PACKETVER >= 20090325
+packetLen(0x0324, 33)
+#elif PACKETVER >= 20090311
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0324, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0324, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0324, 12)
+#elif PACKETVER >= 20090204
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0324, 97)
+#elif PACKETVER >= 20090120
+packetLen(0x0324, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0324, 10)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20090311
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0325, 27)
+#elif PACKETVER >= 20090129
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0325, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0325, 32)
+#elif PACKETVER >= 20090107
+packetLen(0x0325, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20090401
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0326, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0326, 17)
+#elif PACKETVER >= 20090204
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0326, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20090406
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0327, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0327, 28)
+#elif PACKETVER >= 20090211
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0327, 9)
+#elif PACKETVER >= 20090129
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0327, 13)
+#elif PACKETVER >= 20090107
+packetLen(0x0327, -1)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20090318
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0328, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0328, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0328, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x0328, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x0328, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0328, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20090406
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0329, 60)
+#elif PACKETVER >= 20090318
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0329, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0329, 54)
+#elif PACKETVER >= 20090218
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0329, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0329, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0329, 114)
+#elif PACKETVER >= 20090107
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20090318
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x032a, 66)
+#elif PACKETVER >= 20090204
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x032a, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x032a, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20090406
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x032b, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x032b, 17)
+#elif PACKETVER >= 20090211
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x032b, 55)
+#elif PACKETVER >= 20090107
+packetLen(0x032b, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20090401
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x032c, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x032c, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x032c, 58)
+#elif PACKETVER >= 20090211
+packetLen(0x032c, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x032c, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x032c, 19)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20090401
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x032d, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x032d, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20090406
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x032e, 68)
+#elif PACKETVER >= 20090318
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x032e, 17)
+#elif PACKETVER >= 20090225
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x032e, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x032e, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20090218
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x032f, 90)
+#elif PACKETVER >= 20090204
+packetLen(0x032f, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20090318
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0330, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0330, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0330, -1)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20090318
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0331, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0331, 71)
+#elif PACKETVER >= 20090129
+packetLen(0x0331, 29)
+#elif PACKETVER >= 20090107
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20090401
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0332, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0332, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0332, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0332, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20090406
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0333, 282)
+#elif PACKETVER >= 20090325
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0333, 102)
+#elif PACKETVER >= 20090311
+packetLen(0x0333, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0333, 14)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20090406
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0334, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0334, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0334, 97)
+#elif PACKETVER >= 20090225
+packetLen(0x0334, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0334, 31)
+#elif PACKETVER >= 20090120
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0334, 27)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20090401
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0335, 11)
+#elif PACKETVER >= 20090318
+packetLen(0x0335, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0335, 71)
+#elif PACKETVER >= 20090225
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0335, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0335, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0335, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20090325
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0336, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0336, 65)
+#elif PACKETVER >= 20090120
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0336, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0336, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20090401
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0337, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0337, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0337, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0337, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0337, 27)
+#elif PACKETVER >= 20090107
+packetLen(0x0337, 6)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20090211
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0338, 12)
+#elif PACKETVER >= 20090114
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0338, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20090311
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0339, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x0339, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0339, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0339, -1)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20090401
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x033a, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x033a, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x033a, 39)
+#elif PACKETVER >= 20090204
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x033a, 114)
+#elif PACKETVER >= 20090120
+packetLen(0x033a, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x033a, -1)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20090225
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x033b, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x033b, 17)
+#elif PACKETVER >= 20090120
+packetLen(0x033b, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x033b, 97)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20090401
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x033c, 27)
+#elif PACKETVER >= 20090311
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x033c, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x033c, 282)
+#elif PACKETVER >= 20090129
+packetLen(0x033c, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x033c, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20090406
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x033d, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x033d, 11)
+#elif PACKETVER >= 20090318
+packetLen(0x033d, 39)
+#elif PACKETVER >= 20090311
+packetLen(0x033d, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x033d, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x033d, 43)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20090225
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x033e, 114)
+#elif PACKETVER >= 20090204
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x033e, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x033e, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20090406
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x033f, 42)
+#elif PACKETVER >= 20090311
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x033f, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x033f, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20090406
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0340, 71)
+#elif PACKETVER >= 20090325
+packetLen(0x0340, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0340, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0340, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0340, 68)
+#elif PACKETVER >= 20090107
+packetLen(0x0340, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20090406
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0341, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0341, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x0341, 39)
+#elif PACKETVER >= 20090218
+packetLen(0x0341, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0341, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0341, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20090401
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0342, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0342, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0342, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0342, 36)
+#elif PACKETVER >= 20090120
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0342, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0342, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20090325
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0343, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0343, 32)
+#elif PACKETVER >= 20090218
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0343, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0343, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x0343, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0343, 27)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20090401
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0344, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x0344, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x0344, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0344, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20090401
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0345, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0345, 19)
+#elif PACKETVER >= 20090107
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20090406
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0346, 13)
+#elif PACKETVER >= 20090325
+packetLen(0x0346, 59)
+#elif PACKETVER >= 20090318
+packetLen(0x0346, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0346, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0346, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0346, 22)
+#elif PACKETVER >= 20090114
+packetLen(0x0346, 19)
+#elif PACKETVER >= 20090107
+packetLen(0x0346, 13)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20090401
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0347, 11)
+#elif PACKETVER >= 20090318
+packetLen(0x0347, 15)
+#elif PACKETVER >= 20090311
+packetLen(0x0347, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0347, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0347, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0347, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0347, 23)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20090406
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0348, 7)
+#elif PACKETVER >= 20090325
+packetLen(0x0348, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0348, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20090406
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0349, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0349, 31)
+#elif PACKETVER >= 20090129
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0349, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x0349, 11)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20090406
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x034a, 9)
+#elif PACKETVER >= 20090325
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x034a, 31)
+#elif PACKETVER >= 20090311
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x034a, 22)
+#elif PACKETVER >= 20090218
+packetLen(0x034a, 19)
+#elif PACKETVER >= 20090211
+packetLen(0x034a, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x034a, 36)
+#elif PACKETVER >= 20090107
+packetLen(0x034a, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20090225
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x034b, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x034b, 23)
+#elif PACKETVER >= 20090204
+packetLen(0x034b, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x034b, 54)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20090225
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x034c, 54)
+#elif PACKETVER >= 20090211
+packetLen(0x034c, 28)
+#elif PACKETVER >= 20090204
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x034c, 282)
+#elif PACKETVER >= 20090120
+packetLen(0x034c, 65)
+#elif PACKETVER >= 20090114
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x034c, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20090406
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x034d, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x034d, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x034d, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x034d, 23)
+#elif PACKETVER >= 20090114
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x034d, 60)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20090401
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x034e, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x034e, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x034e, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x034e, 31)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20090406
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x034f, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x034f, 19)
+#elif PACKETVER >= 20090311
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x034f, 66)
+#elif PACKETVER >= 20090218
+packetLen(0x034f, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x034f, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x034f, 27)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20090406
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0350, 14)
+#elif PACKETVER >= 20090325
+packetLen(0x0350, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0350, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0350, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20090401
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0351, 12)
+#elif PACKETVER >= 20090311
+packetLen(0x0351, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0351, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0351, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20090406
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0352, 14)
+#elif PACKETVER >= 20090325
+packetLen(0x0352, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x0352, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0352, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0352, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0352, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0352, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20090406
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0353, 54)
+#elif PACKETVER >= 20090218
+packetLen(0x0353, 39)
+#elif PACKETVER >= 20090120
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0353, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20090311
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0354, 23)
+#elif PACKETVER >= 20090218
+packetLen(0x0354, 16)
+#elif PACKETVER >= 20090211
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0354, 97)
+#elif PACKETVER >= 20090129
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0354, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x0354, 29)
+#elif PACKETVER >= 20090107
+packetLen(0x0354, 20)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20090401
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0355, 97)
+#elif PACKETVER >= 20090318
+packetLen(0x0355, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0355, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0355, 16)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20090406
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0356, 28)
+#elif PACKETVER >= 20090325
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0356, 37)
+#elif PACKETVER >= 20090311
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0356, 81)
+#elif PACKETVER >= 20090211
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0356, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x0356, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x0356, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0356, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x0356, -1)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20090406
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0357, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0357, 20)
+#elif PACKETVER >= 20090225
+packetLen(0x0357, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0357, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x0357, 13)
+#elif PACKETVER >= 20090204
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0357, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0357, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0357, -1)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20090325
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0358, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0358, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0358, 32)
+#elif PACKETVER >= 20090120
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0358, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0358, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20090218
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0359, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0359, 29)
+#elif PACKETVER >= 20090129
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20090406
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x035a, 11)
+#elif PACKETVER >= 20090311
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x035a, 29)
+#elif PACKETVER >= 20090218
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x035a, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x035a, 12)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20090325
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x035b, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x035b, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x035b, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x035b, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20090406
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20090401
+packetLen(0x035f, 11) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20090325
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20090318
+packetLen(0x035f, 67) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20090311
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20090225
+packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20090218
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20090129
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20090120
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20090107
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20090401
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090325
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090318
+packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090311
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090225
+packetLen(0x0360, 8) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090211
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090204
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090129
+packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090120
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090114
+packetLen(0x0360, 11) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20090107
+packetLen(0x0360, 29) // CZ_REQUEST_TIME2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20090406
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20090401
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20090325
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20090225
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20090218
+packetLen(0x0361, 22) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20090211
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20090204
+packetLen(0x0361, 86) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20090120
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20090114
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20090107
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20090318
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20090225
+packetLen(0x0362, 3) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20090218
+packetLen(0x0362, 11) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20090211
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20090204
+packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20090120
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20090114
+packetLen(0x0362, 15) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20090107
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20090401
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20090325
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20090311
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20090225
+packetLen(0x0363, 13) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20090211
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20090204
+packetLen(0x0363, 30) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20090120
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20090114
+packetLen(0x0363, 4) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20090107
+packetLen(0x0363, 34) // CZ_ITEM_THROW2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20090406
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090401
+packetLen(0x0364, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090325
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090318
+packetLen(0x0364, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090311
+packetLen(0x0364, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090225
+packetLen(0x0364, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090218
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090204
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090129
+packetLen(0x0364, 7) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090120
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090114
+packetLen(0x0364, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20090107
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20090318
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20090311
+packetLen(0x0365, 60) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20090211
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20090204
+packetLen(0x0365, 54) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20090120
+packetLen(0x0365, 67) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20090107
+packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20090406
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20090401
+packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20090318
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20090311
+packetLen(0x0366, 16) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20090107
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20090406
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20090401
+packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20090325
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20090318
+packetLen(0x0367, 30) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20090218
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20090211
+packetLen(0x0367, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20090204
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20090129
+packetLen(0x0367, 29) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20090107
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20090204
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20090129
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20090120
+packetLen(0x0368, 71) // CZ_REQNAME2
+#elif PACKETVER >= 20090114
+packetLen(0x0368, 30) // CZ_REQNAME2
+#elif PACKETVER >= 20090107
+packetLen(0x0368, 53) // CZ_REQNAME2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20090318
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20090311
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20090225
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20090211
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20090204
+packetLen(0x0369, 3) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20090114
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20090107
+packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20090311
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036a, 44)
+#elif PACKETVER >= 20090218
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x036a, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x036a, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x036a, 24)
+#elif PACKETVER >= 20090114
+packetLen(0x036a, 282)
+#elif PACKETVER >= 20090107
+packetLen(0x036a, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20090311
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036b, 9)
+#elif PACKETVER >= 20090218
+packetLen(0x036b, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x036b, 19)
+#elif PACKETVER >= 20090120
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x036b, 53)
+#elif PACKETVER >= 20090107
+packetLen(0x036b, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20090401
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x036c, 186)
+#elif PACKETVER >= 20090311
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x036c, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x036c, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x036c, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20090406
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x036d, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036d, 18)
+#elif PACKETVER >= 20090218
+packetLen(0x036d, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x036d, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x036d, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20090406
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x036e, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036e, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x036e, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20090325
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x036f, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036f, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x036f, 29)
+#elif PACKETVER >= 20090204
+packetLen(0x036f, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x036f, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x036f, 28)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20090406
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0370, 60)
+#elif PACKETVER >= 20090218
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0370, 9)
+#elif PACKETVER >= 20090204
+packetLen(0x0370, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0370, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20090406
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0371, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0371, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x0371, 22)
+#elif PACKETVER >= 20090218
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0371, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0371, 86)
+#elif PACKETVER >= 20090107
+packetLen(0x0371, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20090318
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0372, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0372, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0372, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0372, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20090406
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0373, 7)
+#elif PACKETVER >= 20090325
+packetLen(0x0373, 14)
+#elif PACKETVER >= 20090318
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0373, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0373, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0373, 67)
+#elif PACKETVER >= 20090204
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0373, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20090406
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0374, 29)
+#elif PACKETVER >= 20090325
+packetLen(0x0374, 68)
+#elif PACKETVER >= 20090318
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0374, 13)
+#elif PACKETVER >= 20090225
+packetLen(0x0374, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0374, 60)
+#elif PACKETVER >= 20090204
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0374, 19)
+#elif PACKETVER >= 20090120
+packetLen(0x0374, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0374, 36)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20090129
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0375, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x0375, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0375, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20090406
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0376, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0376, 60)
+#elif PACKETVER >= 20090204
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0376, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0376, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x0376, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20090406
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0377, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0377, 12)
+#elif PACKETVER >= 20090107
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20090325
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0378, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0378, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0378, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0378, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20090406
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0379, 26)
+#elif PACKETVER >= 20090318
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0379, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x0379, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0379, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0379, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0379, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20090401
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x037a, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x037a, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x037a, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x037a, 19)
+#elif PACKETVER >= 20090107
+packetLen(0x037a, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20090318
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x037b, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x037b, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x037b, 66)
+#elif PACKETVER >= 20090129
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x037b, 55)
+#elif PACKETVER >= 20090114
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x037b, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20090406
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x037c, 22)
+#elif PACKETVER >= 20090318
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x037c, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x037c, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x037c, 282)
+#elif PACKETVER >= 20090211
+packetLen(0x037c, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x037c, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x037c, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20090406
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x037d, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x037d, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x037d, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x037d, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x037d, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x037d, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20090401
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x037e, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x037e, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x037e, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x037e, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x037e, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20090311
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x037f, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x037f, 22)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20090406
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0380, 55)
+#elif PACKETVER >= 20090325
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0380, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0380, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20090406
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0381, 90)
+#elif PACKETVER >= 20090325
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0381, 282)
+#elif PACKETVER >= 20090218
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0381, 16)
+#elif PACKETVER >= 20090204
+packetLen(0x0381, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0381, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20090325
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0382, 32)
+#elif PACKETVER >= 20090225
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0382, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0382, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0382, 2)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20090325
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0383, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0383, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x0383, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0383, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0383, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20090406
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0384, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0384, 24)
+#elif PACKETVER >= 20090225
+packetLen(0x0384, 16)
+#elif PACKETVER >= 20090218
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0384, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0384, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x0384, 186)
+#elif PACKETVER >= 20090120
+packetLen(0x0384, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20090325
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0385, 11)
+#elif PACKETVER >= 20090311
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0385, 90)
+#elif PACKETVER >= 20090218
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0385, 28)
+#elif PACKETVER >= 20090129
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0385, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0385, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20090406
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x0386, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0386, 27)
+#elif PACKETVER >= 20090129
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0386, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0386, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20090318
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0387, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0387, 54)
+#elif PACKETVER >= 20090218
+packetLen(0x0387, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x0387, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x0387, 71)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20090318
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0388, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0388, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x0388, 22)
+#elif PACKETVER >= 20090129
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0388, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20090406
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0389, 9)
+#elif PACKETVER >= 20090318
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0389, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0389, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0389, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0389, 66)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20090406
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x038a, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x038a, 9)
+#elif PACKETVER >= 20090318
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x038a, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x038a, 27)
+#elif PACKETVER >= 20090218
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x038a, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20090401
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x038b, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x038b, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x038b, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x038b, 53)
+#elif PACKETVER >= 20090218
+packetLen(0x038b, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x038b, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x038b, 114)
+#elif PACKETVER >= 20090114
+packetLen(0x038b, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x038b, 27)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20090114
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x038c, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20090318
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x038d, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x038d, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x038d, 43)
+#elif PACKETVER >= 20090204
+packetLen(0x038d, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x038d, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x038d, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x038d, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x038d, 32)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20090401
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x038e, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x038e, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x038e, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x038e, 17)
+#elif PACKETVER >= 20090107
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20090311
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x038f, 182)
+#elif PACKETVER >= 20090218
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x038f, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x038f, 9)
+#elif PACKETVER >= 20090114
+packetLen(0x038f, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x038f, 39)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20090318
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0390, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0390, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0390, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0390, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0390, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20090225
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0391, 23)
+#elif PACKETVER >= 20090211
+packetLen(0x0391, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0391, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x0391, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x0391, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20090318
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0392, 9)
+#elif PACKETVER >= 20090211
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0392, 28)
+#elif PACKETVER >= 20090129
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0392, 12)
+#elif PACKETVER >= 20090114
+packetLen(0x0392, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x0392, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20090401
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0393, 102)
+#elif PACKETVER >= 20090218
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0393, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0393, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0393, 16)
+#elif PACKETVER >= 20090120
+packetLen(0x0393, 12)
+#elif PACKETVER >= 20090107
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20090406
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0394, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0394, 32)
+#elif PACKETVER >= 20090107
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20090406
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0395, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0395, 9)
+#elif PACKETVER >= 20090211
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0395, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x0395, 31)
+#elif PACKETVER >= 20090114
+packetLen(0x0395, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20090401
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0396, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0396, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0396, 24)
+#elif PACKETVER >= 20090211
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0396, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20090401
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0397, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0397, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x0397, 55)
+#elif PACKETVER >= 20090114
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0397, 9)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20090401
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0398, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0398, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0398, 12)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20090406
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0399, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0399, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0399, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x0399, 282)
+#elif PACKETVER >= 20090218
+packetLen(0x0399, 186)
+#elif PACKETVER >= 20090211
+packetLen(0x0399, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0399, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0399, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0399, 9)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20090318
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x039a, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x039a, 3)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20090325
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x039b, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x039b, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x039b, 90)
+#elif PACKETVER >= 20090129
+packetLen(0x039b, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x039b, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20090406
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x039c, 12)
+#elif PACKETVER >= 20090218
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x039c, 39)
+#elif PACKETVER >= 20090204
+packetLen(0x039c, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x039c, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x039c, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x039c, 86)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20090406
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x039d, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x039d, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x039d, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x039d, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x039d, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20090406
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x039e, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x039e, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x039e, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x039e, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20090406
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x039f, 29)
+#elif PACKETVER >= 20090325
+packetLen(0x039f, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x039f, 60)
+#elif PACKETVER >= 20090204
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x039f, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x039f, 18)
+#elif PACKETVER >= 20090107
+packetLen(0x039f, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20090406
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a0, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03a0, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a0, 54)
+#elif PACKETVER >= 20090107
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20090406
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a1, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x03a1, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03a1, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03a1, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x03a1, 57)
+#elif PACKETVER >= 20090211
+packetLen(0x03a1, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a1, 39)
+#elif PACKETVER >= 20090107
+packetLen(0x03a1, 44)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20090401
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03a2, 23)
+#elif PACKETVER >= 20090225
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03a2, 28)
+#elif PACKETVER >= 20090120
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a2, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03a2, 282)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20090401
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03a3, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x03a3, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03a3, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a3, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x03a3, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20090406
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a4, 31)
+#elif PACKETVER >= 20090325
+packetLen(0x03a4, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x03a4, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03a4, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x03a4, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x03a4, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x03a4, 44)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20090325
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03a5, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03a5, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03a5, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20090401
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03a6, 15)
+#elif PACKETVER >= 20090225
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03a6, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x03a6, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03a6, 17)
+#elif PACKETVER >= 20090114
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03a6, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20090406
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a7, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03a7, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x03a7, 13)
+#elif PACKETVER >= 20090211
+packetLen(0x03a7, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03a7, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x03a7, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x03a7, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20090325
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03a8, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x03a8, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03a8, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x03a8, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x03a8, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x03a8, 86)
+#elif PACKETVER >= 20090114
+packetLen(0x03a8, 19)
+#elif PACKETVER >= 20090107
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20090406
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a9, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x03a9, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x03a9, 27)
+#elif PACKETVER >= 20090311
+packetLen(0x03a9, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x03a9, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03a9, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a9, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03a9, 15)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20090406
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03aa, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03aa, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03aa, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x03aa, 18)
+#elif PACKETVER >= 20090114
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03aa, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20090401
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03ab, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03ab, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03ab, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03ab, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ab, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x03ab, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20090325
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ac, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03ac, 71)
+#elif PACKETVER >= 20090129
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03ac, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x03ac, 54)
+#elif PACKETVER >= 20090107
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20090325
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ad, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03ad, 15)
+#elif PACKETVER >= 20090218
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03ad, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20090325
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ae, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x03ae, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x03ae, 282)
+#elif PACKETVER >= 20090218
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03ae, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20090406
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03af, 5)
+#elif PACKETVER >= 20090325
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03af, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03af, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03af, 54)
+#elif PACKETVER >= 20090114
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03af, 23)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20090406
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b0, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03b0, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03b0, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03b0, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03b0, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20090406
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b1, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03b1, 18)
+#elif PACKETVER >= 20090225
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03b1, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03b1, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x03b1, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x03b1, 17)
+#elif PACKETVER >= 20090107
+packetLen(0x03b1, 22)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20090311
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03b2, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03b2, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x03b2, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20090406
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b3, 79)
+#elif PACKETVER >= 20090325
+packetLen(0x03b3, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03b3, 53)
+#elif PACKETVER >= 20090218
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03b3, 31)
+#elif PACKETVER >= 20090114
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03b3, 39)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20090406
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b4, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03b4, 31)
+#elif PACKETVER >= 20090211
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03b4, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03b4, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x03b4, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20090311
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03b5, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03b5, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03b5, 37)
+#elif PACKETVER >= 20090107
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20090406
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b6, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03b6, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03b6, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03b6, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x03b6, 60)
+#elif PACKETVER >= 20090114
+packetLen(0x03b6, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x03b6, 22)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20090401
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03b7, 31)
+#elif PACKETVER >= 20090311
+packetLen(0x03b7, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03b7, 32)
+#elif PACKETVER >= 20090211
+packetLen(0x03b7, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03b7, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x03b7, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03b7, 29)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20090401
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03b8, 17)
+#elif PACKETVER >= 20090318
+packetLen(0x03b8, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03b8, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x03b8, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20090401
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03b9, 26)
+#elif PACKETVER >= 20090318
+packetLen(0x03b9, 58)
+#elif PACKETVER >= 20090218
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03b9, 22)
+#elif PACKETVER >= 20090204
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03b9, 28)
+#elif PACKETVER >= 20090120
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03b9, 20)
+#elif PACKETVER >= 20090107
+packetLen(0x03b9, 18)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20090406
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03ba, 12)
+#elif PACKETVER >= 20090325
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ba, 22)
+#elif PACKETVER >= 20090311
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03ba, 23)
+#elif PACKETVER >= 20090218
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03ba, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x03ba, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x03ba, 42)
+#elif PACKETVER >= 20090114
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03ba, 67)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20090406
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03bb, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03bb, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03bb, 34)
+#elif PACKETVER >= 20090107
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20090325
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03bc, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x03bc, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03bc, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x03bc, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03bc, 53)
+#elif PACKETVER >= 20090120
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03bc, 186)
+#elif PACKETVER >= 20090107
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20090401
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03bd, 20)
+#elif PACKETVER >= 20090311
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03bd, 67)
+#elif PACKETVER >= 20090211
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03bd, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x03bd, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20090406
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03be, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x03be, 42)
+#elif PACKETVER >= 20090311
+packetLen(0x03be, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03be, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20090406
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03bf, 11)
+#elif PACKETVER >= 20090325
+packetLen(0x03bf, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03bf, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03bf, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03bf, 12)
+#elif PACKETVER >= 20090211
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03bf, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03bf, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03bf, 28)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20090325
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c0, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x03c0, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c0, 102)
+#elif PACKETVER >= 20090204
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03c0, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03c0, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20090401
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03c1, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x03c1, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x03c1, 13)
+#elif PACKETVER >= 20090225
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c1, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03c1, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x03c1, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x03c1, 18)
+#elif PACKETVER >= 20090107
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20090406
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c2, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x03c2, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c2, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03c2, 55)
+#elif PACKETVER >= 20090204
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03c2, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x03c2, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20090406
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c3, 114)
+#elif PACKETVER >= 20090325
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c3, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x03c3, 18)
+#elif PACKETVER >= 20090225
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c3, 15)
+#elif PACKETVER >= 20090120
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03c3, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20090406
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c4, 39)
+#elif PACKETVER >= 20090325
+packetLen(0x03c4, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03c4, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c4, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20090325
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c5, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03c5, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x03c5, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03c5, 90)
+#elif PACKETVER >= 20090107
+packetLen(0x03c5, 12)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20090406
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c6, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c6, 21)
+#elif PACKETVER >= 20090311
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03c6, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03c6, 58)
+#elif PACKETVER >= 20090204
+packetLen(0x03c6, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03c6, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x03c6, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20090406
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c7, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03c7, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x03c7, 282)
+#elif PACKETVER >= 20090211
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03c7, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03c7, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x03c7, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x03c7, 9)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20090325
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c8, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03c8, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03c8, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20090406
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c9, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03c9, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03c9, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x03c9, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03c9, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x03c9, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03c9, 68)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20090406
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03ca, 57)
+#elif PACKETVER >= 20090225
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03ca, 18)
+#elif PACKETVER >= 20090211
+packetLen(0x03ca, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03ca, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ca, 34)
+#elif PACKETVER >= 20090107
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20090225
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03cb, 60)
+#elif PACKETVER >= 20090211
+packetLen(0x03cb, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03cb, 33)
+#elif PACKETVER >= 20090107
+packetLen(0x03cb, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20090401
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03cc, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x03cc, 29)
+#elif PACKETVER >= 20090225
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03cc, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x03cc, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20090406
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03cd, 20)
+#elif PACKETVER >= 20090325
+packetLen(0x03cd, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x03cd, 66)
+#elif PACKETVER >= 20090311
+packetLen(0x03cd, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03cd, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03cd, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20090225
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03ce, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03ce, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ce, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x03ce, 7)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20090225
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03cf, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03cf, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03cf, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03cf, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20090406
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d0, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d0, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x03d0, 18)
+#elif PACKETVER >= 20090120
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03d0, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03d0, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20090406
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d1, 54)
+#elif PACKETVER >= 20090325
+packetLen(0x03d1, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03d1, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x03d1, 36)
+#elif PACKETVER >= 20090211
+packetLen(0x03d1, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03d1, 28)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20090406
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d2, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03d2, 29)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20090401
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03d3, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03d3, 26)
+#elif PACKETVER >= 20090211
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d3, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03d3, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03d3, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20090406
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d4, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03d4, 15)
+#elif PACKETVER >= 20090218
+packetLen(0x03d4, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03d4, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03d4, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03d4, 282)
+#elif PACKETVER >= 20090114
+packetLen(0x03d4, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03d4, 21)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20090325
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03d5, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03d5, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d5, 60)
+#elif PACKETVER >= 20090114
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03d5, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20090406
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d6, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03d6, 32)
+#elif PACKETVER >= 20090311
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03d6, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03d6, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d6, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03d6, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20090406
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d7, 182)
+#elif PACKETVER >= 20090318
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03d7, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x03d7, 42)
+#elif PACKETVER >= 20090218
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03d7, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03d7, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03d7, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03d7, 27)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20090318
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03d8, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03d8, 32)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20090406
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d9, 11)
+#elif PACKETVER >= 20090325
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d9, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03d9, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03d9, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20090204
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03da, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x03da, 44)
+#elif PACKETVER >= 20090114
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03da, 102)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20090325
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03db, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03db, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03db, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20090211
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03dc, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03dc, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x03dc, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03dc, 90)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x03e2
+#if PACKETVER >= 20090401
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03e2, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03e2, 29)
+#elif PACKETVER >= 20090204
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03e2, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x03e2, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x03e2, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03e2, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20090401
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03e3, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x03e3, 54)
+#elif PACKETVER >= 20090311
+packetLen(0x03e3, 67)
+#elif PACKETVER >= 20090129
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03e3, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x03e3, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x03e3, -1)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20090401
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03e4, 58)
+#elif PACKETVER >= 20090318
+packetLen(0x03e4, 12)
+#elif PACKETVER >= 20090311
+packetLen(0x03e4, 19)
+#elif PACKETVER >= 20090211
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03e4, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03e4, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20090211
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03e5, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03e5, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x03e5, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20090406
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03e6, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03e6, 54)
+#elif PACKETVER >= 20090318
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03e6, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03e6, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x03e6, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03e6, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x03e6, 58)
+#elif PACKETVER >= 20090107
+packetLen(0x03e6, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20090225
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03e7, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03e7, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03e7, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x03e7, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x03e7, 66)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20090401
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03e8, 14)
+#elif PACKETVER >= 20090318
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03e8, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03e8, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x03e8, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03e8, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x03e8, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03e8, 81)
+#elif PACKETVER >= 20090107
+packetLen(0x03e8, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20090406
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03e9, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03e9, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03e9, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x03e9, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03e9, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x03e9, 53)
+#elif PACKETVER >= 20090129
+packetLen(0x03e9, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03e9, 58)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20090406
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03ea, 44)
+#elif PACKETVER >= 20090325
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ea, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03ea, 97)
+#elif PACKETVER >= 20090107
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20090406
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03eb, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03eb, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03eb, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x03eb, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03eb, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x03eb, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03eb, 39)
+#elif PACKETVER >= 20090107
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20090318
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03ec, 68)
+#elif PACKETVER >= 20090225
+packetLen(0x03ec, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x03ec, 282)
+#elif PACKETVER >= 20090204
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03ec, 34)
+#elif PACKETVER >= 20090114
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03ec, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20090406
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03ed, 32)
+#elif PACKETVER >= 20090325
+packetLen(0x03ed, 186)
+#elif PACKETVER >= 20090311
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03ed, 13)
+#elif PACKETVER >= 20090218
+packetLen(0x03ed, 9)
+#elif PACKETVER >= 20090211
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03ed, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03ed, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ed, 33)
+#elif PACKETVER >= 20090107
+packetLen(0x03ed, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20090401
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03ee, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03ee, 39)
+#elif PACKETVER >= 20090225
+packetLen(0x03ee, 43)
+#elif PACKETVER >= 20090211
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03ee, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03ee, 60)
+#elif PACKETVER >= 20090107
+packetLen(0x03ee, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20090325
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ef, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03ef, 28)
+#elif PACKETVER >= 20090129
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03ef, 16)
+#elif PACKETVER >= 20090114
+packetLen(0x03ef, 27)
+#elif PACKETVER >= 20090107
+packetLen(0x03ef, 17)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20090406
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03f0, 186)
+#elif PACKETVER >= 20090318
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f0, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x03f0, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x03f0, 21)
+#elif PACKETVER >= 20090211
+packetLen(0x03f0, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03f0, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x03f0, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x03f0, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03f0, -1)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20090401
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03f1, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f1, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x03f1, 30)
+#elif PACKETVER >= 20090218
+packetLen(0x03f1, 65)
+#elif PACKETVER >= 20090211
+packetLen(0x03f1, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03f1, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03f1, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20090311
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03f2, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x03f2, 26)
+#elif PACKETVER >= 20090211
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f2, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x03f2, 282)
+#elif PACKETVER >= 20090120
+packetLen(0x03f2, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20090401
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03f3, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f3, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x03f3, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f3, 9)
+#elif PACKETVER >= 20090129
+packetLen(0x03f3, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03f3, 67)
+#elif PACKETVER >= 20090114
+packetLen(0x03f3, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20090406
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03f4, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03f4, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03f4, 32)
+#elif PACKETVER >= 20090129
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03f4, 13)
+#elif PACKETVER >= 20090114
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03f4, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20090318
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f5, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f5, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x03f5, -1)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20090406
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03f6, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f6, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f6, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03f6, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x03f6, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x03f6, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20090401
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03f7, 54)
+#elif PACKETVER >= 20090318
+packetLen(0x03f7, 16)
+#elif PACKETVER >= 20090311
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03f7, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f7, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03f7, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x03f7, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x03f7, -1)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20090406
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03f8, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f8, 21)
+#elif PACKETVER >= 20090211
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f8, 17)
+#elif PACKETVER >= 20090129
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03f8, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03f8, -1)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20090225
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03f9, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f9, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03f9, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x03f9, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x03f9, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03f9, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20090406
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03fa, 282)
+#elif PACKETVER >= 20090325
+packetLen(0x03fa, 90)
+#elif PACKETVER >= 20090318
+packetLen(0x03fa, 33)
+#elif PACKETVER >= 20090311
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03fa, 71)
+#elif PACKETVER >= 20090218
+packetLen(0x03fa, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03fa, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x03fa, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x03fa, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x03fa, 57)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20090406
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03fb, 19)
+#elif PACKETVER >= 20090325
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03fb, 60)
+#elif PACKETVER >= 20090311
+packetLen(0x03fb, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03fb, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03fb, 68)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20090406
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03fc, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03fc, 16)
+#elif PACKETVER >= 20090211
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03fc, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03fc, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x03fc, 182)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20090211
+packetLen(0x03fd, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03fd, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x03fd, -1)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20090204
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03fe, 22)
+#elif PACKETVER >= 20090114
+packetLen(0x03fe, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20090401
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03ff, 13)
+#elif PACKETVER >= 20090120
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ff, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03ff, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20090401
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0400, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0400, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0400, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x0400, 67)
+#elif PACKETVER >= 20090107
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20090401
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0401, 60)
+#elif PACKETVER >= 20090318
+packetLen(0x0401, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0401, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x0401, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0401, 29)
+#elif PACKETVER >= 20090204
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0401, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0401, 2)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20090225
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0402, 42)
+#elif PACKETVER >= 20090211
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0402, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0402, 27)
+#elif PACKETVER >= 20090114
+packetLen(0x0402, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0402, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20090401
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0403, 27)
+#elif PACKETVER >= 20090318
+packetLen(0x0403, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0403, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0403, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0403, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0403, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0403, 58)
+#elif PACKETVER >= 20090107
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20090406
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0404, 7)
+#elif PACKETVER >= 20090325
+packetLen(0x0404, 282)
+#elif PACKETVER >= 20090318
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0404, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0404, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x0404, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0404, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x0404, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0404, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0404, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20090406
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0405, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0405, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0405, 22)
+#elif PACKETVER >= 20090211
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0405, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0405, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20090225
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0406, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0406, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0406, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0406, 16)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20090318
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0407, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20090401
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0408, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x0408, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0408, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0408, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0408, 22)
+#elif PACKETVER >= 20090120
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0408, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0408, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20090401
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0409, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0409, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x0409, 67)
+#elif PACKETVER >= 20090107
+packetLen(0x0409, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20090406
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x040a, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x040a, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x040a, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x040a, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x040a, 58)
+#elif PACKETVER >= 20090204
+packetLen(0x040a, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x040a, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x040a, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x040a, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20090406
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x040b, 21)
+#elif PACKETVER >= 20090318
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x040b, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x040b, 102)
+#elif PACKETVER >= 20090218
+packetLen(0x040b, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x040b, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x040b, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20090401
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x040c, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x040c, 21)
+#elif PACKETVER >= 20090311
+packetLen(0x040c, 182)
+#elif PACKETVER >= 20090218
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x040c, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x040c, 60)
+#elif PACKETVER >= 20090114
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x040c, 67)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20090401
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x040d, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x040d, 28)
+#elif PACKETVER >= 20090211
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x040d, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x040d, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x040d, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x040d, 282)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20090406
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x040e, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x040e, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x040e, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x040e, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x040e, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x040e, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x040e, 58)
+#elif PACKETVER >= 20090129
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x040e, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x040e, 66)
+#elif PACKETVER >= 20090107
+packetLen(0x040e, -1)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20090401
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x040f, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x040f, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x040f, 29)
+#elif PACKETVER >= 20090114
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x040f, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20090406
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0410, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x0410, 21)
+#elif PACKETVER >= 20090211
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0410, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0410, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0410, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20090318
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0411, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0411, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0411, 81)
+#elif PACKETVER >= 20090120
+packetLen(0x0411, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0411, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0411, 186)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20090401
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0412, 81)
+#elif PACKETVER >= 20090318
+packetLen(0x0412, 22)
+#elif PACKETVER >= 20090218
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0412, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0412, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0412, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20090325
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0413, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x0413, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x0413, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0413, 282)
+#elif PACKETVER >= 20090204
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0413, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x0413, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x0413, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20090225
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0414, 34)
+#elif PACKETVER >= 20090211
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0414, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x0414, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20090406
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0415, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x0415, 29)
+#elif PACKETVER >= 20090318
+packetLen(0x0415, 17)
+#elif PACKETVER >= 20090311
+packetLen(0x0415, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0415, 114)
+#elif PACKETVER >= 20090218
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0415, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0415, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x0415, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x0415, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0415, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20090401
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0416, 28)
+#elif PACKETVER >= 20090318
+packetLen(0x0416, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0416, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0416, 15)
+#elif PACKETVER >= 20090114
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0416, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20090325
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0417, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0417, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0417, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0417, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0417, 59)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20090401
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0418, 60)
+#elif PACKETVER >= 20090318
+packetLen(0x0418, 182)
+#elif PACKETVER >= 20090311
+packetLen(0x0418, 23)
+#elif PACKETVER >= 20090225
+packetLen(0x0418, 33)
+#elif PACKETVER >= 20090218
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0418, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0418, 15)
+#elif PACKETVER >= 20090120
+packetLen(0x0418, 42)
+#elif PACKETVER >= 20090114
+packetLen(0x0418, 21)
+#elif PACKETVER >= 20090107
+packetLen(0x0418, -1)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20090401
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0419, 20)
+#elif PACKETVER >= 20090311
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0419, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0419, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0419, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0419, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0419, -1)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20090325
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x041a, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x041a, 102)
+#elif PACKETVER >= 20090225
+packetLen(0x041a, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x041a, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x041a, -1)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20090318
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x041b, 86)
+#elif PACKETVER >= 20090225
+packetLen(0x041b, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x041b, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x041b, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x041b, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x041b, 54)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20090406
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x041c, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x041c, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x041c, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x041c, 20)
+#elif PACKETVER >= 20090218
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x041c, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x041c, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x041c, 17)
+#elif PACKETVER >= 20090107
+packetLen(0x041c, 34)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20090318
+packetLen(0x041d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x041d, 282)
+#elif PACKETVER >= 20090225
+packetLen(0x041d, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x041d, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x041d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x041d, 90)
+#elif PACKETVER >= 20090107
+packetLen(0x041d, 67)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20090406
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x041e, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x041e, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x041e, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x041e, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x041e, -1)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20090401
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x041f, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x041f, 34)
+#elif PACKETVER >= 20090311
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x041f, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x041f, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x041f, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x041f, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x041f, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20090406
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0420, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x0420, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0420, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0420, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0420, 23)
+#elif PACKETVER >= 20090107
+packetLen(0x0420, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20090401
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0421, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x0421, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0421, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0421, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0421, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20090406
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0422, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0422, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0422, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0422, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0422, 28)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20090406
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0423, 86)
+#elif PACKETVER >= 20090325
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0423, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0423, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0423, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0423, 58)
+#elif PACKETVER >= 20090107
+packetLen(0x0423, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20090225
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0424, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0424, 9)
+#elif PACKETVER >= 20090204
+packetLen(0x0424, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0424, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0424, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20090318
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0425, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0425, 60)
+#elif PACKETVER >= 20090107
+packetLen(0x0425, 57)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20090225
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0426, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0426, 53)
+#elif PACKETVER >= 20090204
+packetLen(0x0426, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0426, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0426, -1)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20090325
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0427, 22)
+#elif PACKETVER >= 20090311
+packetLen(0x0427, 16)
+#elif PACKETVER >= 20090218
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0427, 13)
+#elif PACKETVER >= 20090129
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0427, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0427, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0427, 28)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20090401
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0428, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x0428, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0428, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0428, 102)
+#elif PACKETVER >= 20090129
+packetLen(0x0428, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x0428, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0428, 19)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20090406
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0429, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x0429, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0429, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0429, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0429, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20090406
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x042a, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x042a, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x042a, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20090406
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x042b, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x042b, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x042b, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x042b, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x042b, 58)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20090311
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x042c, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x042c, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x042c, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x042c, 29)
+#elif PACKETVER >= 20090107
+packetLen(0x042c, 31)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20090401
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x042d, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x042d, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x042d, 24)
+#elif PACKETVER >= 20090107
+packetLen(0x042d, -1)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20090401
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x042e, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x042e, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x042e, 67)
+#elif PACKETVER >= 20090120
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x042e, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x042e, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20090325
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x042f, 28)
+#elif PACKETVER >= 20090311
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x042f, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x042f, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x042f, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x042f, 11)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20090325
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0430, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0430, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0430, 28)
+#elif PACKETVER >= 20090218
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0430, 29)
+#elif PACKETVER >= 20090204
+packetLen(0x0430, 16)
+#elif PACKETVER >= 20090129
+packetLen(0x0430, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0430, -1)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20090406
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0431, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0431, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0431, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0431, 43)
+#elif PACKETVER >= 20090120
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0431, 7)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20090218
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0432, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0432, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20090406
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0433, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0433, 54)
+#elif PACKETVER >= 20090225
+packetLen(0x0433, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0433, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0433, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x0433, 31)
+#elif PACKETVER >= 20090107
+packetLen(0x0433, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20090401
+packetLen(0x0434, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0434, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0434, 59)
+#elif PACKETVER >= 20090311
+packetLen(0x0434, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0434, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0434, 67)
+#elif PACKETVER >= 20090120
+packetLen(0x0434, 39)
+#elif PACKETVER >= 20090107
+packetLen(0x0434, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20090325
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0435, 36)
+#elif PACKETVER >= 20090311
+packetLen(0x0435, 90)
+#elif PACKETVER >= 20090204
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0435, 15)
+#elif PACKETVER >= 20090120
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0435, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0435, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0436
+#if PACKETVER >= 20090406
+packetLen(0x0436, 19) // CZ_ENTER2
+#elif PACKETVER >= 20090325
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20090318
+packetLen(0x0436, 8) // CZ_ENTER2
+#elif PACKETVER >= 20090311
+packetLen(0x0436, 10) // CZ_ENTER2
+#elif PACKETVER >= 20090225
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20090120
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20090114
+packetLen(0x0436, 14) // CZ_ENTER2
+#elif PACKETVER >= 20090107
+packetLen(0x0436, -1) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20090406
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090401
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090325
+packetLen(0x0437, 4) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090318
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090311
+packetLen(0x0437, 30) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090225
+packetLen(0x0437, 16) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090218
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090211
+packetLen(0x0437, 54) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090204
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090129
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090120
+packetLen(0x0437, 57) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20090107
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20090406
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20090318
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20090311
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20090225
+packetLen(0x0438, 3) // CZ_USE_SKILL2
+#elif PACKETVER >= 20090204
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20090129
+packetLen(0x0438, 39) // CZ_USE_SKILL2
+#elif PACKETVER >= 20090120
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20090114
+packetLen(0x0438, 3) // CZ_USE_SKILL2
+#elif PACKETVER >= 20090107
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0439
+#if PACKETVER >= 20090406
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+#elif PACKETVER >= 20090401
+packetLen(0x0439, 5) // CZ_USE_ITEM2
+#elif PACKETVER >= 20090218
+packetLen(0x0439, -1) // CZ_USE_ITEM2
+#elif PACKETVER >= 20090211
+packetLen(0x0439, 6) // CZ_USE_ITEM2
+#elif PACKETVER >= 20090129
+packetLen(0x0439, -1) // CZ_USE_ITEM2
+#elif PACKETVER >= 20090120
+packetLen(0x0439, 10) // CZ_USE_ITEM2
+#elif PACKETVER >= 20090114
+packetLen(0x0439, 28) // CZ_USE_ITEM2
+#elif PACKETVER >= 20090107
+packetLen(0x0439, 3) // CZ_USE_ITEM2
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+#if PACKETVER >= 20090114
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+#elif PACKETVER >= 20090107
+packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+#endif
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+#if PACKETVER >= 20090218
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+#endif
+
+// Packet: 0x0447
+#if PACKETVER >= 20090520
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+#endif
+
+// Packet: 0x0448
+#if PACKETVER >= 20090225
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+#endif
+
+// Packet: 0x0449
+#if PACKETVER >= 20090401
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+#endif
+
+// Packet: 0x044a
+#if PACKETVER >= 20090406
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+#endif
+
+// Packet: 0x044b
+#if PACKETVER >= 20090514
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+#endif
+
+// Packet: 0x07d0
+#if PACKETVER >= 20090520
+packetLen(0x07d0, 6) // ZC_ES_RESULT
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20090520
+packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20090520
+packetLen(0x07d2, -1) // ZC_ES_LIST
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20090520
+packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20090520
+packetLen(0x07d4, 4) // CZ_ES_CANCEL
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20090520
+packetLen(0x07d5, 4) // ZC_ES_READY
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20090520
+packetLen(0x07d6, 4) // ZC_ES_GOTO
+#endif
+
+// Packet: 0x07d7
+#if PACKETVER >= 20090603
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+#endif
+
+// Packet: 0x07d8
+#if PACKETVER >= 20090603
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+#endif
+
+// Packet: 0x07d9
+#if PACKETVER >= 20090617
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+#elif PACKETVER >= 20090603
+packetLen(0x07d9, 254) // ZC_SHORTCUT_KEY_LIST_V2
+#endif
+
+// Packet: 0x07da
+#if PACKETVER >= 20090603
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+#endif
+
+// Packet: 0x07db
+#if PACKETVER >= 20090610
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+#endif
+
+// Packet: 0x07dc
+#if PACKETVER >= 20090617
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+#endif
+
+// Packet: 0x07dd
+#if PACKETVER >= 20090617
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+#endif
+
+// Packet: 0x07de
+#if PACKETVER >= 20090617
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+#endif
+
+// Packet: 0x07df
+#if PACKETVER >= 20090617
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+#endif
+
+// Packet: 0x07e0
+#if PACKETVER >= 20090708
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+#endif
+
+// Packet: 0x07e1
+#if PACKETVER >= 20090715
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+#endif
+
+// Packet: 0x07e2
+#if PACKETVER >= 20090805
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+#endif
+
+// Packet: 0x07e3
+#if PACKETVER >= 20090818
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+#endif
+
+// Packet: 0x07e4
+#if PACKETVER >= 20090818
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+#if PACKETVER >= 20090922
+packetLen(0x07e5, 8) // CH_ENTER_CHECKBOT
+#elif PACKETVER >= 20090825
+packetLen(0x07e5, -1) // CH_ENTER_CHECKBOT
+#endif
+
+// Packet: 0x07e6
+#if PACKETVER >= 20090818
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+#endif
+
+// Packet: 0x07e7
+#if PACKETVER >= 20090922
+packetLen(0x07e7, 32) // CH_CHECKBOT
+#elif PACKETVER >= 20090825
+packetLen(0x07e7, 5) // CH_CHECKBOT
+#endif
+
+// Packet: 0x07e8
+#if PACKETVER >= 20090922
+packetLen(0x07e8, -1) // HC_CHECKBOT
+#endif
+
+// Packet: 0x07e9
+#if PACKETVER >= 20090922
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+#endif
+
+// Packet: 0x07ea
+#if PACKETVER >= 20090929
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+#endif
+
+// Packet: 0x07eb
+#if PACKETVER >= 20090929
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+#endif
+
+// Packet: 0x07ec
+#if PACKETVER >= 20091006
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20090929
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+#if PACKETVER >= 20091006
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20090929
+packetLen(0x07ed, 8) // ZC_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ee
+#if PACKETVER >= 20090929
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ef
+#if PACKETVER >= 20090929
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+#endif
+
+// Packet: 0x07f0
+#if PACKETVER >= 20090929
+packetLen(0x07f0, 8) // CZ_REQ_BATTLE_STATE_MONITOR
+#endif
+
+// Packet: 0x07f1
+#if PACKETVER >= 20090929
+packetLen(0x07f1, 15) // ZC_ACK_BATTLE_STATE_MONITOR
+#endif
+
+// Packet: 0x07f2
+#if PACKETVER >= 20091006
+packetLen(0x07f2, 6) // ZC_BATTLE_NOTI_START_STEP
+#elif PACKETVER >= 20090929
+packetLen(0x07f2, 4) // ZC_BATTLE_NOTI_START_STEP
+#endif
+
+// Packet: 0x07f3
+#if PACKETVER >= 20091006
+packetLen(0x07f3, 4) // ZC_BATTLE_JOIN_NOTI_DEFER
+#elif PACKETVER >= 20090929
+packetLen(0x07f3, 3) // ZC_BATTLE_JOIN_NOTI_DEFER
+#endif
+
+// Packet: 0x07f4
+#if PACKETVER >= 20091006
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+#endif
+
+// Packet: 0x07f5
+#if PACKETVER >= 20091027
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+#endif
+
+// Packet: 0x07f6
+#if PACKETVER >= 20091027
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+#endif
+
+// Packet: 0x07f7
+#if PACKETVER >= 20091103
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+#endif
+
+// Packet: 0x07f8
+#if PACKETVER >= 20091103
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+#endif
+
+// Packet: 0x07f9
+#if PACKETVER >= 20091103
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+#endif
+
+// Packet: 0x07fa
+#if PACKETVER >= 20091117
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+#endif
+
+// Packet: 0x07fb
+#if PACKETVER >= 20091124
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+#endif
+
+// Packet: 0x07fc
+#if PACKETVER >= 20091201
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+#endif
+
+// Packet: 0x07fd
+#if PACKETVER >= 20091201
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+#endif
+
+// Packet: 0x07fe
+#if PACKETVER >= 20091201
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+#endif
+
+// Packet: 0x07ff
+#if PACKETVER >= 20091201
+packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+#endif
+
+// Packet: 0x0800
+#if PACKETVER >= 20091215
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+#endif
+
+// Packet: 0x0801
+#if PACKETVER >= 20091215
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+#endif
+
+// Packet: 0x0802
+#if PACKETVER >= 20091222
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+#if PACKETVER >= 20091222
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+#endif
+
+// Packet: 0x0804
+#if PACKETVER >= 20091228
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+#elif PACKETVER >= 20091222
+packetLen(0x0804, 8) // CZ_PARTY_BOOKING_REQ_SEARCH
+#endif
+
+// Packet: 0x0805
+#if PACKETVER >= 20091222
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+#endif
+
+// Packet: 0x0806
+#if PACKETVER >= 20091228
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+#elif PACKETVER >= 20091222
+packetLen(0x0806, 4) // CZ_PARTY_BOOKING_REQ_DELETE
+#endif
+
+// Packet: 0x0807
+#if PACKETVER >= 20091228
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+#elif PACKETVER >= 20091222
+packetLen(0x0807, 2) // ZC_PARTY_BOOKING_ACK_DELETE
+#endif
+
+// Packet: 0x0808
+#if PACKETVER >= 20091228
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+#elif PACKETVER >= 20091222
+packetLen(0x0808, 4) // CZ_PARTY_BOOKING_REQ_UPDATE
+#endif
+
+// Packet: 0x0809
+#if PACKETVER >= 20091228
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+#elif PACKETVER >= 20091222
+packetLen(0x0809, 14) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+#endif
+
+// Packet: 0x080a
+#if PACKETVER >= 20091228
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+#elif PACKETVER >= 20091222
+packetLen(0x080a, 50) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+#endif
+
+// Packet: 0x080b
+#if PACKETVER >= 20091228
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+#elif PACKETVER >= 20091222
+packetLen(0x080b, 18) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+#endif
+
+// Packet: 0x080c
+#if PACKETVER >= 20091228
+// removed
+#elif PACKETVER >= 20091222
+packetLen(0x080c, 6) // CZ_SIMPLE_CASH_BTNSHOW
+#endif
+
+
+#endif /* COMMON_PACKETS2009_LEN_MAIN_H */
diff --git a/src/common/packets/packets2009_len_re.h b/src/common/packets/packets2009_len_re.h
new file mode 100644
index 000000000..4cd76c5ca
--- /dev/null
+++ b/src/common/packets/packets2009_len_re.h
@@ -0,0 +1,3418 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2009_LEN_RE_H
+#define COMMON_PACKETS2009_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+#if PACKETVER >= 20090617
+packetLen(0x0072, 25) // CZ_ENTER
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0072, 22) // CZ_ENTER
+#endif
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+#if PACKETVER >= 20090617
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+#if PACKETVER >= 20090617
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+#if PACKETVER >= 20090617
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+#if PACKETVER >= 20090617
+packetLen(0x008c, 14)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x008c, 14)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+#if PACKETVER >= 20090617
+packetLen(0x0094, 19) // CZ_REQNAME
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0094, 19) // CZ_REQNAME
+#endif
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+#if PACKETVER >= 20090617
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+#if PACKETVER >= 20090617
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+#if PACKETVER >= 20090617
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+#if PACKETVER >= 20090617
+packetLen(0x00a7, 9)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x00a7, 9)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+#if PACKETVER >= 20090617
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+#if PACKETVER >= 20090617
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+#endif
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+#if PACKETVER >= 20090617
+packetLen(0x0113, 25) // CZ_USE_SKILL
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0113, 25) // CZ_USE_SKILL
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+#if PACKETVER >= 20090617
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+#if PACKETVER >= 20090617
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+#if PACKETVER >= 20090701
+packetLen(0x0275, 37) // CH_ENTER2
+#endif
+
+// Packet: 0x0276
+#if PACKETVER >= 20090701
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+#endif
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+#if PACKETVER >= 20090722
+// removed
+#elif PACKETVER >= 20090408
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+#elif PACKETVER >= 20090325
+packetLen(0x02a6, 404) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20090722
+// removed
+#elif PACKETVER >= 20090408
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+#elif PACKETVER >= 20090325
+packetLen(0x02a7, 404) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+#if PACKETVER >= 20090617
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+#endif
+
+// Packet: 0x02e3
+#if PACKETVER >= 20090617
+packetLen(0x02e3, 25) // CZ_USE_SKILL_NEW_JAPEN
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+#endif
+
+// Packet: 0x02e4
+#if PACKETVER >= 20090617
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+#endif
+
+// Packet: 0x02e5
+#if PACKETVER >= 20090617
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+#endif
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+
+// Packet: 0x02f7
+packetLen(0x02f7, -1)
+
+// Packet: 0x02f8
+packetLen(0x02f8, -1)
+
+// Packet: 0x02f9
+packetLen(0x02f9, -1)
+
+// Packet: 0x02fa
+packetLen(0x02fa, -1)
+
+// Packet: 0x02fb
+packetLen(0x02fb, -1)
+
+// Packet: 0x02fc
+packetLen(0x02fc, -1)
+
+// Packet: 0x02fd
+packetLen(0x02fd, -1)
+
+// Packet: 0x02fe
+packetLen(0x02fe, -1)
+
+// Packet: 0x02ff
+packetLen(0x02ff, -1)
+
+// Packet: 0x0300
+packetLen(0x0300, -1)
+
+// Packet: 0x0301
+packetLen(0x0301, -1)
+
+// Packet: 0x0302
+packetLen(0x0302, -1)
+
+// Packet: 0x0303
+packetLen(0x0303, -1)
+
+// Packet: 0x0304
+packetLen(0x0304, -1)
+
+// Packet: 0x0305
+packetLen(0x0305, -1)
+
+// Packet: 0x0306
+packetLen(0x0306, -1)
+
+// Packet: 0x0307
+packetLen(0x0307, -1)
+
+// Packet: 0x0308
+packetLen(0x0308, -1)
+
+// Packet: 0x0309
+packetLen(0x0309, -1)
+
+// Packet: 0x030a
+packetLen(0x030a, -1)
+
+// Packet: 0x030b
+packetLen(0x030b, -1)
+
+// Packet: 0x030c
+packetLen(0x030c, -1)
+
+// Packet: 0x030d
+packetLen(0x030d, -1)
+
+// Packet: 0x030e
+packetLen(0x030e, -1)
+
+// Packet: 0x030f
+packetLen(0x030f, -1)
+
+// Packet: 0x0310
+packetLen(0x0310, -1)
+
+// Packet: 0x0311
+packetLen(0x0311, -1)
+
+// Packet: 0x0312
+packetLen(0x0312, -1)
+
+// Packet: 0x0313
+packetLen(0x0313, -1)
+
+// Packet: 0x0314
+packetLen(0x0314, -1)
+
+// Packet: 0x0315
+packetLen(0x0315, -1)
+
+// Packet: 0x0316
+packetLen(0x0316, -1)
+
+// Packet: 0x0317
+packetLen(0x0317, -1)
+
+// Packet: 0x0318
+packetLen(0x0318, -1)
+
+// Packet: 0x0319
+packetLen(0x0319, -1)
+
+// Packet: 0x031a
+packetLen(0x031a, -1)
+
+// Packet: 0x031b
+packetLen(0x031b, -1)
+
+// Packet: 0x031c
+packetLen(0x031c, -1)
+
+// Packet: 0x031d
+packetLen(0x031d, -1)
+
+// Packet: 0x031e
+packetLen(0x031e, -1)
+
+// Packet: 0x031f
+packetLen(0x031f, -1)
+
+// Packet: 0x0320
+packetLen(0x0320, -1)
+
+// Packet: 0x0321
+packetLen(0x0321, -1)
+
+// Packet: 0x0322
+packetLen(0x0322, -1)
+
+// Packet: 0x0323
+packetLen(0x0323, -1)
+
+// Packet: 0x0324
+packetLen(0x0324, -1)
+
+// Packet: 0x0325
+packetLen(0x0325, -1)
+
+// Packet: 0x0326
+packetLen(0x0326, -1)
+
+// Packet: 0x0327
+packetLen(0x0327, -1)
+
+// Packet: 0x0328
+packetLen(0x0328, -1)
+
+// Packet: 0x0329
+packetLen(0x0329, -1)
+
+// Packet: 0x032a
+packetLen(0x032a, -1)
+
+// Packet: 0x032b
+packetLen(0x032b, -1)
+
+// Packet: 0x032c
+packetLen(0x032c, -1)
+
+// Packet: 0x032d
+packetLen(0x032d, -1)
+
+// Packet: 0x032e
+packetLen(0x032e, -1)
+
+// Packet: 0x032f
+packetLen(0x032f, -1)
+
+// Packet: 0x0330
+packetLen(0x0330, -1)
+
+// Packet: 0x0331
+packetLen(0x0331, -1)
+
+// Packet: 0x0332
+packetLen(0x0332, -1)
+
+// Packet: 0x0333
+packetLen(0x0333, -1)
+
+// Packet: 0x0334
+packetLen(0x0334, -1)
+
+// Packet: 0x0335
+packetLen(0x0335, -1)
+
+// Packet: 0x0336
+packetLen(0x0336, -1)
+
+// Packet: 0x0337
+packetLen(0x0337, -1)
+
+// Packet: 0x0338
+packetLen(0x0338, -1)
+
+// Packet: 0x0339
+packetLen(0x0339, -1)
+
+// Packet: 0x033a
+packetLen(0x033a, -1)
+
+// Packet: 0x033b
+packetLen(0x033b, -1)
+
+// Packet: 0x033c
+packetLen(0x033c, -1)
+
+// Packet: 0x033d
+packetLen(0x033d, -1)
+
+// Packet: 0x033e
+packetLen(0x033e, -1)
+
+// Packet: 0x033f
+packetLen(0x033f, -1)
+
+// Packet: 0x0340
+packetLen(0x0340, -1)
+
+// Packet: 0x0341
+packetLen(0x0341, -1)
+
+// Packet: 0x0342
+packetLen(0x0342, -1)
+
+// Packet: 0x0343
+packetLen(0x0343, -1)
+
+// Packet: 0x0344
+packetLen(0x0344, -1)
+
+// Packet: 0x0345
+packetLen(0x0345, -1)
+
+// Packet: 0x0346
+packetLen(0x0346, -1)
+
+// Packet: 0x0347
+packetLen(0x0347, -1)
+
+// Packet: 0x0348
+packetLen(0x0348, -1)
+
+// Packet: 0x0349
+packetLen(0x0349, -1)
+
+// Packet: 0x034a
+packetLen(0x034a, -1)
+
+// Packet: 0x034b
+packetLen(0x034b, -1)
+
+// Packet: 0x034c
+packetLen(0x034c, -1)
+
+// Packet: 0x034d
+packetLen(0x034d, -1)
+
+// Packet: 0x034e
+packetLen(0x034e, -1)
+
+// Packet: 0x034f
+packetLen(0x034f, -1)
+
+// Packet: 0x0350
+packetLen(0x0350, -1)
+
+// Packet: 0x0351
+packetLen(0x0351, -1)
+
+// Packet: 0x0352
+packetLen(0x0352, -1)
+
+// Packet: 0x0353
+packetLen(0x0353, -1)
+
+// Packet: 0x0354
+packetLen(0x0354, -1)
+
+// Packet: 0x0355
+packetLen(0x0355, -1)
+
+// Packet: 0x0356
+packetLen(0x0356, -1)
+
+// Packet: 0x0357
+packetLen(0x0357, -1)
+
+// Packet: 0x0358
+packetLen(0x0358, -1)
+
+// Packet: 0x0359
+packetLen(0x0359, -1)
+
+// Packet: 0x035a
+packetLen(0x035a, -1)
+
+// Packet: 0x035b
+packetLen(0x035b, -1)
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+
+// Packet: 0x0360
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+
+// Packet: 0x0361
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+
+// Packet: 0x0362
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+
+// Packet: 0x0363
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+
+// Packet: 0x0364
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+
+// Packet: 0x0365
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+
+// Packet: 0x0366
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+
+// Packet: 0x0367
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+
+// Packet: 0x0368
+packetLen(0x0368, -1) // CZ_REQNAME2
+
+// Packet: 0x0369
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+
+// Packet: 0x036a
+packetLen(0x036a, -1)
+
+// Packet: 0x036b
+packetLen(0x036b, -1)
+
+// Packet: 0x036c
+packetLen(0x036c, -1)
+
+// Packet: 0x036d
+packetLen(0x036d, -1)
+
+// Packet: 0x036e
+packetLen(0x036e, -1)
+
+// Packet: 0x036f
+packetLen(0x036f, -1)
+
+// Packet: 0x0370
+packetLen(0x0370, -1)
+
+// Packet: 0x0371
+packetLen(0x0371, -1)
+
+// Packet: 0x0372
+packetLen(0x0372, -1)
+
+// Packet: 0x0373
+packetLen(0x0373, -1)
+
+// Packet: 0x0374
+packetLen(0x0374, -1)
+
+// Packet: 0x0375
+packetLen(0x0375, -1)
+
+// Packet: 0x0376
+packetLen(0x0376, -1)
+
+// Packet: 0x0377
+packetLen(0x0377, -1)
+
+// Packet: 0x0378
+packetLen(0x0378, -1)
+
+// Packet: 0x0379
+packetLen(0x0379, -1)
+
+// Packet: 0x037a
+packetLen(0x037a, -1)
+
+// Packet: 0x037b
+packetLen(0x037b, -1)
+
+// Packet: 0x037c
+packetLen(0x037c, -1)
+
+// Packet: 0x037d
+packetLen(0x037d, -1)
+
+// Packet: 0x037e
+packetLen(0x037e, -1)
+
+// Packet: 0x037f
+packetLen(0x037f, -1)
+
+// Packet: 0x0380
+packetLen(0x0380, -1)
+
+// Packet: 0x0381
+packetLen(0x0381, -1)
+
+// Packet: 0x0382
+packetLen(0x0382, -1)
+
+// Packet: 0x0383
+packetLen(0x0383, -1)
+
+// Packet: 0x0384
+packetLen(0x0384, -1)
+
+// Packet: 0x0385
+packetLen(0x0385, -1)
+
+// Packet: 0x0386
+packetLen(0x0386, -1)
+
+// Packet: 0x0387
+packetLen(0x0387, -1)
+
+// Packet: 0x0388
+packetLen(0x0388, -1)
+
+// Packet: 0x0389
+packetLen(0x0389, -1)
+
+// Packet: 0x038a
+packetLen(0x038a, -1)
+
+// Packet: 0x038b
+packetLen(0x038b, -1)
+
+// Packet: 0x038c
+packetLen(0x038c, -1)
+
+// Packet: 0x038d
+packetLen(0x038d, -1)
+
+// Packet: 0x038e
+packetLen(0x038e, -1)
+
+// Packet: 0x038f
+packetLen(0x038f, -1)
+
+// Packet: 0x0390
+packetLen(0x0390, -1)
+
+// Packet: 0x0391
+packetLen(0x0391, -1)
+
+// Packet: 0x0392
+packetLen(0x0392, -1)
+
+// Packet: 0x0393
+packetLen(0x0393, -1)
+
+// Packet: 0x0394
+packetLen(0x0394, -1)
+
+// Packet: 0x0395
+packetLen(0x0395, -1)
+
+// Packet: 0x0396
+packetLen(0x0396, -1)
+
+// Packet: 0x0397
+packetLen(0x0397, -1)
+
+// Packet: 0x0398
+packetLen(0x0398, -1)
+
+// Packet: 0x0399
+packetLen(0x0399, -1)
+
+// Packet: 0x039a
+packetLen(0x039a, -1)
+
+// Packet: 0x039b
+packetLen(0x039b, -1)
+
+// Packet: 0x039c
+packetLen(0x039c, -1)
+
+// Packet: 0x039d
+packetLen(0x039d, -1)
+
+// Packet: 0x039e
+packetLen(0x039e, -1)
+
+// Packet: 0x039f
+packetLen(0x039f, -1)
+
+// Packet: 0x03a0
+packetLen(0x03a0, -1)
+
+// Packet: 0x03a1
+packetLen(0x03a1, -1)
+
+// Packet: 0x03a2
+packetLen(0x03a2, -1)
+
+// Packet: 0x03a3
+packetLen(0x03a3, -1)
+
+// Packet: 0x03a4
+packetLen(0x03a4, -1)
+
+// Packet: 0x03a5
+packetLen(0x03a5, -1)
+
+// Packet: 0x03a6
+packetLen(0x03a6, -1)
+
+// Packet: 0x03a7
+packetLen(0x03a7, -1)
+
+// Packet: 0x03a8
+packetLen(0x03a8, -1)
+
+// Packet: 0x03a9
+packetLen(0x03a9, -1)
+
+// Packet: 0x03aa
+packetLen(0x03aa, -1)
+
+// Packet: 0x03ab
+packetLen(0x03ab, -1)
+
+// Packet: 0x03ac
+packetLen(0x03ac, -1)
+
+// Packet: 0x03ad
+packetLen(0x03ad, -1)
+
+// Packet: 0x03ae
+packetLen(0x03ae, -1)
+
+// Packet: 0x03af
+packetLen(0x03af, -1)
+
+// Packet: 0x03b0
+packetLen(0x03b0, -1)
+
+// Packet: 0x03b1
+packetLen(0x03b1, -1)
+
+// Packet: 0x03b2
+packetLen(0x03b2, -1)
+
+// Packet: 0x03b3
+packetLen(0x03b3, -1)
+
+// Packet: 0x03b4
+packetLen(0x03b4, -1)
+
+// Packet: 0x03b5
+packetLen(0x03b5, -1)
+
+// Packet: 0x03b6
+packetLen(0x03b6, -1)
+
+// Packet: 0x03b7
+packetLen(0x03b7, -1)
+
+// Packet: 0x03b8
+packetLen(0x03b8, -1)
+
+// Packet: 0x03b9
+packetLen(0x03b9, -1)
+
+// Packet: 0x03ba
+packetLen(0x03ba, -1)
+
+// Packet: 0x03bb
+packetLen(0x03bb, -1)
+
+// Packet: 0x03bc
+packetLen(0x03bc, -1)
+
+// Packet: 0x03bd
+packetLen(0x03bd, -1)
+
+// Packet: 0x03be
+packetLen(0x03be, -1)
+
+// Packet: 0x03bf
+packetLen(0x03bf, -1)
+
+// Packet: 0x03c0
+packetLen(0x03c0, -1)
+
+// Packet: 0x03c1
+packetLen(0x03c1, -1)
+
+// Packet: 0x03c2
+packetLen(0x03c2, -1)
+
+// Packet: 0x03c3
+packetLen(0x03c3, -1)
+
+// Packet: 0x03c4
+packetLen(0x03c4, -1)
+
+// Packet: 0x03c5
+packetLen(0x03c5, -1)
+
+// Packet: 0x03c6
+packetLen(0x03c6, -1)
+
+// Packet: 0x03c7
+packetLen(0x03c7, -1)
+
+// Packet: 0x03c8
+packetLen(0x03c8, -1)
+
+// Packet: 0x03c9
+packetLen(0x03c9, -1)
+
+// Packet: 0x03ca
+packetLen(0x03ca, -1)
+
+// Packet: 0x03cb
+packetLen(0x03cb, -1)
+
+// Packet: 0x03cc
+packetLen(0x03cc, -1)
+
+// Packet: 0x03cd
+packetLen(0x03cd, -1)
+
+// Packet: 0x03ce
+packetLen(0x03ce, -1)
+
+// Packet: 0x03cf
+packetLen(0x03cf, -1)
+
+// Packet: 0x03d0
+packetLen(0x03d0, -1)
+
+// Packet: 0x03d1
+packetLen(0x03d1, -1)
+
+// Packet: 0x03d2
+packetLen(0x03d2, -1)
+
+// Packet: 0x03d3
+packetLen(0x03d3, -1)
+
+// Packet: 0x03d4
+packetLen(0x03d4, -1)
+
+// Packet: 0x03d5
+packetLen(0x03d5, -1)
+
+// Packet: 0x03d6
+packetLen(0x03d6, -1)
+
+// Packet: 0x03d7
+packetLen(0x03d7, -1)
+
+// Packet: 0x03d8
+packetLen(0x03d8, -1)
+
+// Packet: 0x03d9
+packetLen(0x03d9, -1)
+
+// Packet: 0x03da
+packetLen(0x03da, -1)
+
+// Packet: 0x03db
+packetLen(0x03db, -1)
+
+// Packet: 0x03dc
+packetLen(0x03dc, -1)
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x03e2
+packetLen(0x03e2, -1)
+
+// Packet: 0x03e3
+packetLen(0x03e3, -1)
+
+// Packet: 0x03e4
+packetLen(0x03e4, -1)
+
+// Packet: 0x03e5
+packetLen(0x03e5, -1)
+
+// Packet: 0x03e6
+packetLen(0x03e6, -1)
+
+// Packet: 0x03e7
+packetLen(0x03e7, -1)
+
+// Packet: 0x03e8
+packetLen(0x03e8, -1)
+
+// Packet: 0x03e9
+packetLen(0x03e9, -1)
+
+// Packet: 0x03ea
+packetLen(0x03ea, -1)
+
+// Packet: 0x03eb
+packetLen(0x03eb, -1)
+
+// Packet: 0x03ec
+packetLen(0x03ec, -1)
+
+// Packet: 0x03ed
+packetLen(0x03ed, -1)
+
+// Packet: 0x03ee
+packetLen(0x03ee, -1)
+
+// Packet: 0x03ef
+packetLen(0x03ef, -1)
+
+// Packet: 0x03f0
+packetLen(0x03f0, -1)
+
+// Packet: 0x03f1
+packetLen(0x03f1, -1)
+
+// Packet: 0x03f2
+packetLen(0x03f2, -1)
+
+// Packet: 0x03f3
+packetLen(0x03f3, -1)
+
+// Packet: 0x03f4
+packetLen(0x03f4, -1)
+
+// Packet: 0x03f5
+packetLen(0x03f5, -1)
+
+// Packet: 0x03f6
+packetLen(0x03f6, -1)
+
+// Packet: 0x03f7
+packetLen(0x03f7, -1)
+
+// Packet: 0x03f8
+packetLen(0x03f8, -1)
+
+// Packet: 0x03f9
+packetLen(0x03f9, -1)
+
+// Packet: 0x03fa
+packetLen(0x03fa, -1)
+
+// Packet: 0x03fb
+packetLen(0x03fb, -1)
+
+// Packet: 0x03fc
+packetLen(0x03fc, -1)
+
+// Packet: 0x03fd
+packetLen(0x03fd, -1)
+
+// Packet: 0x03fe
+packetLen(0x03fe, -1)
+
+// Packet: 0x03ff
+packetLen(0x03ff, -1)
+
+// Packet: 0x0400
+packetLen(0x0400, -1)
+
+// Packet: 0x0401
+packetLen(0x0401, -1)
+
+// Packet: 0x0402
+packetLen(0x0402, -1)
+
+// Packet: 0x0403
+packetLen(0x0403, -1)
+
+// Packet: 0x0404
+packetLen(0x0404, -1)
+
+// Packet: 0x0405
+packetLen(0x0405, -1)
+
+// Packet: 0x0406
+packetLen(0x0406, -1)
+
+// Packet: 0x0407
+packetLen(0x0407, -1)
+
+// Packet: 0x0408
+packetLen(0x0408, -1)
+
+// Packet: 0x0409
+packetLen(0x0409, -1)
+
+// Packet: 0x040a
+packetLen(0x040a, -1)
+
+// Packet: 0x040b
+packetLen(0x040b, -1)
+
+// Packet: 0x040c
+packetLen(0x040c, -1)
+
+// Packet: 0x040d
+packetLen(0x040d, -1)
+
+// Packet: 0x040e
+packetLen(0x040e, -1)
+
+// Packet: 0x040f
+packetLen(0x040f, -1)
+
+// Packet: 0x0410
+packetLen(0x0410, -1)
+
+// Packet: 0x0411
+packetLen(0x0411, -1)
+
+// Packet: 0x0412
+packetLen(0x0412, -1)
+
+// Packet: 0x0413
+packetLen(0x0413, -1)
+
+// Packet: 0x0414
+packetLen(0x0414, -1)
+
+// Packet: 0x0415
+packetLen(0x0415, -1)
+
+// Packet: 0x0416
+packetLen(0x0416, -1)
+
+// Packet: 0x0417
+packetLen(0x0417, -1)
+
+// Packet: 0x0418
+packetLen(0x0418, -1)
+
+// Packet: 0x0419
+packetLen(0x0419, -1)
+
+// Packet: 0x041a
+packetLen(0x041a, -1)
+
+// Packet: 0x041b
+packetLen(0x041b, -1)
+
+// Packet: 0x041c
+packetLen(0x041c, -1)
+
+// Packet: 0x041d
+packetLen(0x041d, -1)
+
+// Packet: 0x041e
+packetLen(0x041e, -1)
+
+// Packet: 0x041f
+packetLen(0x041f, -1)
+
+// Packet: 0x0420
+packetLen(0x0420, -1)
+
+// Packet: 0x0421
+packetLen(0x0421, -1)
+
+// Packet: 0x0422
+packetLen(0x0422, -1)
+
+// Packet: 0x0423
+packetLen(0x0423, -1)
+
+// Packet: 0x0424
+packetLen(0x0424, -1)
+
+// Packet: 0x0425
+packetLen(0x0425, -1)
+
+// Packet: 0x0426
+packetLen(0x0426, -1)
+
+// Packet: 0x0427
+packetLen(0x0427, -1)
+
+// Packet: 0x0428
+packetLen(0x0428, -1)
+
+// Packet: 0x0429
+packetLen(0x0429, -1)
+
+// Packet: 0x042a
+packetLen(0x042a, -1)
+
+// Packet: 0x042b
+packetLen(0x042b, -1)
+
+// Packet: 0x042c
+packetLen(0x042c, -1)
+
+// Packet: 0x042d
+packetLen(0x042d, -1)
+
+// Packet: 0x042e
+packetLen(0x042e, -1)
+
+// Packet: 0x042f
+packetLen(0x042f, -1)
+
+// Packet: 0x0430
+packetLen(0x0430, -1)
+
+// Packet: 0x0431
+packetLen(0x0431, -1)
+
+// Packet: 0x0432
+packetLen(0x0432, -1)
+
+// Packet: 0x0433
+packetLen(0x0433, -1)
+
+// Packet: 0x0434
+packetLen(0x0434, -1)
+
+// Packet: 0x0435
+packetLen(0x0435, -1)
+
+// Packet: 0x0436
+packetLen(0x0436, 19) // CZ_ENTER2
+
+// Packet: 0x0437
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+
+// Packet: 0x0438
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+#if PACKETVER >= 20090113
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+#elif PACKETVER >= 20090107
+packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+#endif
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+#if PACKETVER >= 20090113
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+#endif
+
+// Packet: 0x0445
+#if PACKETVER >= 20090113
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0446
+#if PACKETVER >= 20090218
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+#endif
+
+// Packet: 0x0447
+#if PACKETVER >= 20090520
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+#endif
+
+// Packet: 0x0448
+#if PACKETVER >= 20090226
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+#endif
+
+// Packet: 0x0449
+#if PACKETVER >= 20090722
+// removed
+#elif PACKETVER >= 20090401
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+#endif
+
+// Packet: 0x044a
+#if PACKETVER >= 20090408
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+#endif
+
+// Packet: 0x044b
+#if PACKETVER >= 20090514
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+#endif
+
+// Packet: 0x07d0
+#if PACKETVER >= 20090520
+packetLen(0x07d0, 6) // ZC_ES_RESULT
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20090520
+packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20090520
+packetLen(0x07d2, -1) // ZC_ES_LIST
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20090520
+packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20090520
+packetLen(0x07d4, 4) // CZ_ES_CANCEL
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20090520
+packetLen(0x07d5, 4) // ZC_ES_READY
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20090520
+packetLen(0x07d6, 4) // ZC_ES_GOTO
+#endif
+
+// Packet: 0x07d7
+#if PACKETVER >= 20090603
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+#endif
+
+// Packet: 0x07d8
+#if PACKETVER >= 20090603
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+#endif
+
+// Packet: 0x07d9
+#if PACKETVER >= 20090617
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+#elif PACKETVER >= 20090603
+packetLen(0x07d9, 254) // ZC_SHORTCUT_KEY_LIST_V2
+#endif
+
+// Packet: 0x07da
+#if PACKETVER >= 20090603
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+#endif
+
+// Packet: 0x07db
+#if PACKETVER >= 20090610
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+#endif
+
+// Packet: 0x07dc
+#if PACKETVER >= 20090617
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+#endif
+
+// Packet: 0x07dd
+#if PACKETVER >= 20090617
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+#endif
+
+// Packet: 0x07de
+#if PACKETVER >= 20090617
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+#endif
+
+// Packet: 0x07df
+#if PACKETVER >= 20090617
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+#endif
+
+// Packet: 0x07e0
+#if PACKETVER >= 20090708
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+#endif
+
+// Packet: 0x07e1
+#if PACKETVER >= 20090715
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+#endif
+
+// Packet: 0x07e2
+#if PACKETVER >= 20090805
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+#endif
+
+// Packet: 0x07e3
+#if PACKETVER >= 20090818
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+#endif
+
+// Packet: 0x07e4
+#if PACKETVER >= 20090818
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+#if PACKETVER >= 20090922
+packetLen(0x07e5, 8) // CH_ENTER_CHECKBOT
+#elif PACKETVER >= 20090825
+packetLen(0x07e5, -1) // CH_ENTER_CHECKBOT
+#endif
+
+// Packet: 0x07e6
+#if PACKETVER >= 20090818
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+#endif
+
+// Packet: 0x07e7
+#if PACKETVER >= 20090922
+packetLen(0x07e7, 32) // CH_CHECKBOT
+#elif PACKETVER >= 20090825
+packetLen(0x07e7, 5) // CH_CHECKBOT
+#endif
+
+// Packet: 0x07e8
+#if PACKETVER >= 20090922
+packetLen(0x07e8, -1) // HC_CHECKBOT
+#endif
+
+// Packet: 0x07e9
+#if PACKETVER >= 20090922
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+#endif
+
+// Packet: 0x07ea
+#if PACKETVER >= 20090929
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+#endif
+
+// Packet: 0x07eb
+#if PACKETVER >= 20090929
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+#endif
+
+// Packet: 0x07ec
+#if PACKETVER >= 20091006
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20090929
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+#if PACKETVER >= 20091006
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20090929
+packetLen(0x07ed, 8) // ZC_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ee
+#if PACKETVER >= 20090929
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ef
+#if PACKETVER >= 20090929
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+#endif
+
+// Packet: 0x07f0
+#if PACKETVER >= 20090929
+packetLen(0x07f0, 8) // CZ_REQ_BATTLE_STATE_MONITOR
+#endif
+
+// Packet: 0x07f1
+#if PACKETVER >= 20090929
+packetLen(0x07f1, 15) // ZC_ACK_BATTLE_STATE_MONITOR
+#endif
+
+// Packet: 0x07f2
+#if PACKETVER >= 20091006
+packetLen(0x07f2, 6) // ZC_BATTLE_NOTI_START_STEP
+#elif PACKETVER >= 20090929
+packetLen(0x07f2, 4) // ZC_BATTLE_NOTI_START_STEP
+#endif
+
+// Packet: 0x07f3
+#if PACKETVER >= 20091006
+packetLen(0x07f3, 4) // ZC_BATTLE_JOIN_NOTI_DEFER
+#elif PACKETVER >= 20090929
+packetLen(0x07f3, 3) // ZC_BATTLE_JOIN_NOTI_DEFER
+#endif
+
+// Packet: 0x07f4
+#if PACKETVER >= 20091006
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+#endif
+
+// Packet: 0x07f5
+#if PACKETVER >= 20091027
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+#endif
+
+// Packet: 0x07f6
+#if PACKETVER >= 20091027
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+#endif
+
+// Packet: 0x07f7
+#if PACKETVER >= 20091103
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+#endif
+
+// Packet: 0x07f8
+#if PACKETVER >= 20091103
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+#endif
+
+// Packet: 0x07f9
+#if PACKETVER >= 20091103
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+#endif
+
+// Packet: 0x07fa
+#if PACKETVER >= 20091117
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+#endif
+
+// Packet: 0x07fb
+#if PACKETVER >= 20091124
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+#endif
+
+// Packet: 0x07fc
+#if PACKETVER >= 20091201
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+#endif
+
+// Packet: 0x07fd
+#if PACKETVER >= 20091201
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+#endif
+
+// Packet: 0x07fe
+#if PACKETVER >= 20091201
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+#endif
+
+// Packet: 0x07ff
+#if PACKETVER >= 20091201
+packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+#endif
+
+// Packet: 0x0800
+#if PACKETVER >= 20091215
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+#endif
+
+// Packet: 0x0801
+#if PACKETVER >= 20091215
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+#endif
+
+// Packet: 0x0802
+#if PACKETVER >= 20091222
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+#if PACKETVER >= 20091222
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+#endif
+
+// Packet: 0x0804
+#if PACKETVER >= 20091229
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+#elif PACKETVER >= 20091222
+packetLen(0x0804, 8) // CZ_PARTY_BOOKING_REQ_SEARCH
+#endif
+
+// Packet: 0x0805
+#if PACKETVER >= 20091222
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+#endif
+
+// Packet: 0x0806
+#if PACKETVER >= 20091229
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+#elif PACKETVER >= 20091222
+packetLen(0x0806, 4) // CZ_PARTY_BOOKING_REQ_DELETE
+#endif
+
+// Packet: 0x0807
+#if PACKETVER >= 20091229
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+#elif PACKETVER >= 20091222
+packetLen(0x0807, 2) // ZC_PARTY_BOOKING_ACK_DELETE
+#endif
+
+// Packet: 0x0808
+#if PACKETVER >= 20091229
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+#elif PACKETVER >= 20091222
+packetLen(0x0808, 4) // CZ_PARTY_BOOKING_REQ_UPDATE
+#endif
+
+// Packet: 0x0809
+#if PACKETVER >= 20091229
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+#elif PACKETVER >= 20091222
+packetLen(0x0809, 14) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+#endif
+
+// Packet: 0x080a
+#if PACKETVER >= 20091229
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+#elif PACKETVER >= 20091222
+packetLen(0x080a, 50) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+#endif
+
+// Packet: 0x080b
+#if PACKETVER >= 20091229
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+#elif PACKETVER >= 20091222
+packetLen(0x080b, 18) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+#endif
+
+// Packet: 0x080c
+#if PACKETVER >= 20091229
+// removed
+#elif PACKETVER >= 20091222
+packetLen(0x080c, 6) // CZ_SIMPLE_CASH_BTNSHOW
+#endif
+
+
+#endif /* COMMON_PACKETS2009_LEN_RE_H */
diff --git a/src/common/packets/packets2009_len_sak.h b/src/common/packets/packets2009_len_sak.h
new file mode 100644
index 000000000..f732fddea
--- /dev/null
+++ b/src/common/packets/packets2009_len_sak.h
@@ -0,0 +1,3054 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2009_LEN_SAK_H
+#define COMMON_PACKETS2009_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 25) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 102) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 8) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 11)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 14) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 15) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 8)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 22) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+#if PACKETVER >= 20090408
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+#elif PACKETVER >= 20090320
+packetLen(0x02a6, 404) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20090408
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+#elif PACKETVER >= 20090320
+packetLen(0x02a7, 404) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 14) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 25) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 8) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 8) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+
+// Packet: 0x02f7
+packetLen(0x02f7, -1)
+
+// Packet: 0x02f8
+packetLen(0x02f8, -1)
+
+// Packet: 0x02f9
+packetLen(0x02f9, -1)
+
+// Packet: 0x02fa
+packetLen(0x02fa, -1)
+
+// Packet: 0x02fb
+packetLen(0x02fb, -1)
+
+// Packet: 0x02fc
+packetLen(0x02fc, -1)
+
+// Packet: 0x02fd
+packetLen(0x02fd, -1)
+
+// Packet: 0x02fe
+packetLen(0x02fe, -1)
+
+// Packet: 0x02ff
+packetLen(0x02ff, -1)
+
+// Packet: 0x0300
+packetLen(0x0300, -1)
+
+// Packet: 0x0301
+packetLen(0x0301, -1)
+
+// Packet: 0x0302
+packetLen(0x0302, -1)
+
+// Packet: 0x0303
+packetLen(0x0303, -1)
+
+// Packet: 0x0304
+packetLen(0x0304, -1)
+
+// Packet: 0x0305
+packetLen(0x0305, -1)
+
+// Packet: 0x0306
+packetLen(0x0306, -1)
+
+// Packet: 0x0307
+packetLen(0x0307, -1)
+
+// Packet: 0x0308
+packetLen(0x0308, -1)
+
+// Packet: 0x0309
+packetLen(0x0309, -1)
+
+// Packet: 0x030a
+packetLen(0x030a, -1)
+
+// Packet: 0x030b
+packetLen(0x030b, -1)
+
+// Packet: 0x030c
+packetLen(0x030c, -1)
+
+// Packet: 0x030d
+packetLen(0x030d, -1)
+
+// Packet: 0x030e
+packetLen(0x030e, -1)
+
+// Packet: 0x030f
+packetLen(0x030f, -1)
+
+// Packet: 0x0310
+packetLen(0x0310, -1)
+
+// Packet: 0x0311
+packetLen(0x0311, -1)
+
+// Packet: 0x0312
+packetLen(0x0312, -1)
+
+// Packet: 0x0313
+packetLen(0x0313, -1)
+
+// Packet: 0x0314
+packetLen(0x0314, -1)
+
+// Packet: 0x0315
+packetLen(0x0315, -1)
+
+// Packet: 0x0316
+packetLen(0x0316, -1)
+
+// Packet: 0x0317
+packetLen(0x0317, -1)
+
+// Packet: 0x0318
+packetLen(0x0318, -1)
+
+// Packet: 0x0319
+packetLen(0x0319, -1)
+
+// Packet: 0x031a
+packetLen(0x031a, -1)
+
+// Packet: 0x031b
+packetLen(0x031b, -1)
+
+// Packet: 0x031c
+packetLen(0x031c, -1)
+
+// Packet: 0x031d
+packetLen(0x031d, -1)
+
+// Packet: 0x031e
+packetLen(0x031e, -1)
+
+// Packet: 0x031f
+packetLen(0x031f, -1)
+
+// Packet: 0x0320
+packetLen(0x0320, -1)
+
+// Packet: 0x0321
+packetLen(0x0321, -1)
+
+// Packet: 0x0322
+packetLen(0x0322, -1)
+
+// Packet: 0x0323
+packetLen(0x0323, -1)
+
+// Packet: 0x0324
+packetLen(0x0324, -1)
+
+// Packet: 0x0325
+packetLen(0x0325, -1)
+
+// Packet: 0x0326
+packetLen(0x0326, -1)
+
+// Packet: 0x0327
+packetLen(0x0327, -1)
+
+// Packet: 0x0328
+packetLen(0x0328, -1)
+
+// Packet: 0x0329
+packetLen(0x0329, -1)
+
+// Packet: 0x032a
+packetLen(0x032a, -1)
+
+// Packet: 0x032b
+packetLen(0x032b, -1)
+
+// Packet: 0x032c
+packetLen(0x032c, -1)
+
+// Packet: 0x032d
+packetLen(0x032d, -1)
+
+// Packet: 0x032e
+packetLen(0x032e, -1)
+
+// Packet: 0x032f
+packetLen(0x032f, -1)
+
+// Packet: 0x0330
+packetLen(0x0330, -1)
+
+// Packet: 0x0331
+packetLen(0x0331, -1)
+
+// Packet: 0x0332
+packetLen(0x0332, -1)
+
+// Packet: 0x0333
+packetLen(0x0333, -1)
+
+// Packet: 0x0334
+packetLen(0x0334, -1)
+
+// Packet: 0x0335
+packetLen(0x0335, -1)
+
+// Packet: 0x0336
+packetLen(0x0336, -1)
+
+// Packet: 0x0337
+packetLen(0x0337, -1)
+
+// Packet: 0x0338
+packetLen(0x0338, -1)
+
+// Packet: 0x0339
+packetLen(0x0339, -1)
+
+// Packet: 0x033a
+packetLen(0x033a, -1)
+
+// Packet: 0x033b
+packetLen(0x033b, -1)
+
+// Packet: 0x033c
+packetLen(0x033c, -1)
+
+// Packet: 0x033d
+packetLen(0x033d, -1)
+
+// Packet: 0x033e
+packetLen(0x033e, -1)
+
+// Packet: 0x033f
+packetLen(0x033f, -1)
+
+// Packet: 0x0340
+packetLen(0x0340, -1)
+
+// Packet: 0x0341
+packetLen(0x0341, -1)
+
+// Packet: 0x0342
+packetLen(0x0342, -1)
+
+// Packet: 0x0343
+packetLen(0x0343, -1)
+
+// Packet: 0x0344
+packetLen(0x0344, -1)
+
+// Packet: 0x0345
+packetLen(0x0345, -1)
+
+// Packet: 0x0346
+packetLen(0x0346, -1)
+
+// Packet: 0x0347
+packetLen(0x0347, -1)
+
+// Packet: 0x0348
+packetLen(0x0348, -1)
+
+// Packet: 0x0349
+packetLen(0x0349, -1)
+
+// Packet: 0x034a
+packetLen(0x034a, -1)
+
+// Packet: 0x034b
+packetLen(0x034b, -1)
+
+// Packet: 0x034c
+packetLen(0x034c, -1)
+
+// Packet: 0x034d
+packetLen(0x034d, -1)
+
+// Packet: 0x034e
+packetLen(0x034e, -1)
+
+// Packet: 0x034f
+packetLen(0x034f, -1)
+
+// Packet: 0x0350
+packetLen(0x0350, -1)
+
+// Packet: 0x0351
+packetLen(0x0351, -1)
+
+// Packet: 0x0352
+packetLen(0x0352, -1)
+
+// Packet: 0x0353
+packetLen(0x0353, -1)
+
+// Packet: 0x0354
+packetLen(0x0354, -1)
+
+// Packet: 0x0355
+packetLen(0x0355, -1)
+
+// Packet: 0x0356
+packetLen(0x0356, -1)
+
+// Packet: 0x0357
+packetLen(0x0357, -1)
+
+// Packet: 0x0358
+packetLen(0x0358, -1)
+
+// Packet: 0x0359
+packetLen(0x0359, -1)
+
+// Packet: 0x035a
+packetLen(0x035a, -1)
+
+// Packet: 0x035b
+packetLen(0x035b, -1)
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+
+// Packet: 0x0360
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+
+// Packet: 0x0361
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+
+// Packet: 0x0362
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+
+// Packet: 0x0363
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+
+// Packet: 0x0364
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+
+// Packet: 0x0365
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+
+// Packet: 0x0366
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+
+// Packet: 0x0367
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+
+// Packet: 0x0368
+packetLen(0x0368, -1) // CZ_REQNAME2
+
+// Packet: 0x0369
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+
+// Packet: 0x036a
+packetLen(0x036a, -1)
+
+// Packet: 0x036b
+packetLen(0x036b, -1)
+
+// Packet: 0x036c
+packetLen(0x036c, -1)
+
+// Packet: 0x036d
+packetLen(0x036d, -1)
+
+// Packet: 0x036e
+packetLen(0x036e, -1)
+
+// Packet: 0x036f
+packetLen(0x036f, -1)
+
+// Packet: 0x0370
+packetLen(0x0370, -1)
+
+// Packet: 0x0371
+packetLen(0x0371, -1)
+
+// Packet: 0x0372
+packetLen(0x0372, -1)
+
+// Packet: 0x0373
+packetLen(0x0373, -1)
+
+// Packet: 0x0374
+packetLen(0x0374, -1)
+
+// Packet: 0x0375
+packetLen(0x0375, -1)
+
+// Packet: 0x0376
+packetLen(0x0376, -1)
+
+// Packet: 0x0377
+packetLen(0x0377, -1)
+
+// Packet: 0x0378
+packetLen(0x0378, -1)
+
+// Packet: 0x0379
+packetLen(0x0379, -1)
+
+// Packet: 0x037a
+packetLen(0x037a, -1)
+
+// Packet: 0x037b
+packetLen(0x037b, -1)
+
+// Packet: 0x037c
+packetLen(0x037c, -1)
+
+// Packet: 0x037d
+packetLen(0x037d, -1)
+
+// Packet: 0x037e
+packetLen(0x037e, -1)
+
+// Packet: 0x037f
+packetLen(0x037f, -1)
+
+// Packet: 0x0380
+packetLen(0x0380, -1)
+
+// Packet: 0x0381
+packetLen(0x0381, -1)
+
+// Packet: 0x0382
+packetLen(0x0382, -1)
+
+// Packet: 0x0383
+packetLen(0x0383, -1)
+
+// Packet: 0x0384
+packetLen(0x0384, -1)
+
+// Packet: 0x0385
+packetLen(0x0385, -1)
+
+// Packet: 0x0386
+packetLen(0x0386, -1)
+
+// Packet: 0x0387
+packetLen(0x0387, -1)
+
+// Packet: 0x0388
+packetLen(0x0388, -1)
+
+// Packet: 0x0389
+packetLen(0x0389, -1)
+
+// Packet: 0x038a
+packetLen(0x038a, -1)
+
+// Packet: 0x038b
+packetLen(0x038b, -1)
+
+// Packet: 0x038c
+packetLen(0x038c, -1)
+
+// Packet: 0x038d
+packetLen(0x038d, -1)
+
+// Packet: 0x038e
+packetLen(0x038e, -1)
+
+// Packet: 0x038f
+packetLen(0x038f, -1)
+
+// Packet: 0x0390
+packetLen(0x0390, -1)
+
+// Packet: 0x0391
+packetLen(0x0391, -1)
+
+// Packet: 0x0392
+packetLen(0x0392, -1)
+
+// Packet: 0x0393
+packetLen(0x0393, -1)
+
+// Packet: 0x0394
+packetLen(0x0394, -1)
+
+// Packet: 0x0395
+packetLen(0x0395, -1)
+
+// Packet: 0x0396
+packetLen(0x0396, -1)
+
+// Packet: 0x0397
+packetLen(0x0397, -1)
+
+// Packet: 0x0398
+packetLen(0x0398, -1)
+
+// Packet: 0x0399
+packetLen(0x0399, -1)
+
+// Packet: 0x039a
+packetLen(0x039a, -1)
+
+// Packet: 0x039b
+packetLen(0x039b, -1)
+
+// Packet: 0x039c
+packetLen(0x039c, -1)
+
+// Packet: 0x039d
+packetLen(0x039d, -1)
+
+// Packet: 0x039e
+packetLen(0x039e, -1)
+
+// Packet: 0x039f
+packetLen(0x039f, -1)
+
+// Packet: 0x03a0
+packetLen(0x03a0, -1)
+
+// Packet: 0x03a1
+packetLen(0x03a1, -1)
+
+// Packet: 0x03a2
+packetLen(0x03a2, -1)
+
+// Packet: 0x03a3
+packetLen(0x03a3, -1)
+
+// Packet: 0x03a4
+packetLen(0x03a4, -1)
+
+// Packet: 0x03a5
+packetLen(0x03a5, -1)
+
+// Packet: 0x03a6
+packetLen(0x03a6, -1)
+
+// Packet: 0x03a7
+packetLen(0x03a7, -1)
+
+// Packet: 0x03a8
+packetLen(0x03a8, -1)
+
+// Packet: 0x03a9
+packetLen(0x03a9, -1)
+
+// Packet: 0x03aa
+packetLen(0x03aa, -1)
+
+// Packet: 0x03ab
+packetLen(0x03ab, -1)
+
+// Packet: 0x03ac
+packetLen(0x03ac, -1)
+
+// Packet: 0x03ad
+packetLen(0x03ad, -1)
+
+// Packet: 0x03ae
+packetLen(0x03ae, -1)
+
+// Packet: 0x03af
+packetLen(0x03af, -1)
+
+// Packet: 0x03b0
+packetLen(0x03b0, -1)
+
+// Packet: 0x03b1
+packetLen(0x03b1, -1)
+
+// Packet: 0x03b2
+packetLen(0x03b2, -1)
+
+// Packet: 0x03b3
+packetLen(0x03b3, -1)
+
+// Packet: 0x03b4
+packetLen(0x03b4, -1)
+
+// Packet: 0x03b5
+packetLen(0x03b5, -1)
+
+// Packet: 0x03b6
+packetLen(0x03b6, -1)
+
+// Packet: 0x03b7
+packetLen(0x03b7, -1)
+
+// Packet: 0x03b8
+packetLen(0x03b8, -1)
+
+// Packet: 0x03b9
+packetLen(0x03b9, -1)
+
+// Packet: 0x03ba
+packetLen(0x03ba, -1)
+
+// Packet: 0x03bb
+packetLen(0x03bb, -1)
+
+// Packet: 0x03bc
+packetLen(0x03bc, -1)
+
+// Packet: 0x03bd
+packetLen(0x03bd, -1)
+
+// Packet: 0x03be
+packetLen(0x03be, -1)
+
+// Packet: 0x03bf
+packetLen(0x03bf, -1)
+
+// Packet: 0x03c0
+packetLen(0x03c0, -1)
+
+// Packet: 0x03c1
+packetLen(0x03c1, -1)
+
+// Packet: 0x03c2
+packetLen(0x03c2, -1)
+
+// Packet: 0x03c3
+packetLen(0x03c3, -1)
+
+// Packet: 0x03c4
+packetLen(0x03c4, -1)
+
+// Packet: 0x03c5
+packetLen(0x03c5, -1)
+
+// Packet: 0x03c6
+packetLen(0x03c6, -1)
+
+// Packet: 0x03c7
+packetLen(0x03c7, -1)
+
+// Packet: 0x03c8
+packetLen(0x03c8, -1)
+
+// Packet: 0x03c9
+packetLen(0x03c9, -1)
+
+// Packet: 0x03ca
+packetLen(0x03ca, -1)
+
+// Packet: 0x03cb
+packetLen(0x03cb, -1)
+
+// Packet: 0x03cc
+packetLen(0x03cc, -1)
+
+// Packet: 0x03cd
+packetLen(0x03cd, -1)
+
+// Packet: 0x03ce
+packetLen(0x03ce, -1)
+
+// Packet: 0x03cf
+packetLen(0x03cf, -1)
+
+// Packet: 0x03d0
+packetLen(0x03d0, -1)
+
+// Packet: 0x03d1
+packetLen(0x03d1, -1)
+
+// Packet: 0x03d2
+packetLen(0x03d2, -1)
+
+// Packet: 0x03d3
+packetLen(0x03d3, -1)
+
+// Packet: 0x03d4
+packetLen(0x03d4, -1)
+
+// Packet: 0x03d5
+packetLen(0x03d5, -1)
+
+// Packet: 0x03d6
+packetLen(0x03d6, -1)
+
+// Packet: 0x03d7
+packetLen(0x03d7, -1)
+
+// Packet: 0x03d8
+packetLen(0x03d8, -1)
+
+// Packet: 0x03d9
+packetLen(0x03d9, -1)
+
+// Packet: 0x03da
+packetLen(0x03da, -1)
+
+// Packet: 0x03db
+packetLen(0x03db, -1)
+
+// Packet: 0x03dc
+packetLen(0x03dc, -1)
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x03e2
+packetLen(0x03e2, -1)
+
+// Packet: 0x03e3
+packetLen(0x03e3, -1)
+
+// Packet: 0x03e4
+packetLen(0x03e4, -1)
+
+// Packet: 0x03e5
+packetLen(0x03e5, -1)
+
+// Packet: 0x03e6
+packetLen(0x03e6, -1)
+
+// Packet: 0x03e7
+packetLen(0x03e7, -1)
+
+// Packet: 0x03e8
+packetLen(0x03e8, -1)
+
+// Packet: 0x03e9
+packetLen(0x03e9, -1)
+
+// Packet: 0x03ea
+packetLen(0x03ea, -1)
+
+// Packet: 0x03eb
+packetLen(0x03eb, -1)
+
+// Packet: 0x03ec
+packetLen(0x03ec, -1)
+
+// Packet: 0x03ed
+packetLen(0x03ed, -1)
+
+// Packet: 0x03ee
+packetLen(0x03ee, -1)
+
+// Packet: 0x03ef
+packetLen(0x03ef, -1)
+
+// Packet: 0x03f0
+packetLen(0x03f0, -1)
+
+// Packet: 0x03f1
+packetLen(0x03f1, -1)
+
+// Packet: 0x03f2
+packetLen(0x03f2, -1)
+
+// Packet: 0x03f3
+packetLen(0x03f3, -1)
+
+// Packet: 0x03f4
+packetLen(0x03f4, -1)
+
+// Packet: 0x03f5
+packetLen(0x03f5, -1)
+
+// Packet: 0x03f6
+packetLen(0x03f6, -1)
+
+// Packet: 0x03f7
+packetLen(0x03f7, -1)
+
+// Packet: 0x03f8
+packetLen(0x03f8, -1)
+
+// Packet: 0x03f9
+packetLen(0x03f9, -1)
+
+// Packet: 0x03fa
+packetLen(0x03fa, -1)
+
+// Packet: 0x03fb
+packetLen(0x03fb, -1)
+
+// Packet: 0x03fc
+packetLen(0x03fc, -1)
+
+// Packet: 0x03fd
+packetLen(0x03fd, -1)
+
+// Packet: 0x03fe
+packetLen(0x03fe, -1)
+
+// Packet: 0x03ff
+packetLen(0x03ff, -1)
+
+// Packet: 0x0400
+packetLen(0x0400, -1)
+
+// Packet: 0x0401
+packetLen(0x0401, -1)
+
+// Packet: 0x0402
+packetLen(0x0402, -1)
+
+// Packet: 0x0403
+packetLen(0x0403, -1)
+
+// Packet: 0x0404
+packetLen(0x0404, -1)
+
+// Packet: 0x0405
+packetLen(0x0405, -1)
+
+// Packet: 0x0406
+packetLen(0x0406, -1)
+
+// Packet: 0x0407
+packetLen(0x0407, -1)
+
+// Packet: 0x0408
+packetLen(0x0408, -1)
+
+// Packet: 0x0409
+packetLen(0x0409, -1)
+
+// Packet: 0x040a
+packetLen(0x040a, -1)
+
+// Packet: 0x040b
+packetLen(0x040b, -1)
+
+// Packet: 0x040c
+packetLen(0x040c, -1)
+
+// Packet: 0x040d
+packetLen(0x040d, -1)
+
+// Packet: 0x040e
+packetLen(0x040e, -1)
+
+// Packet: 0x040f
+packetLen(0x040f, -1)
+
+// Packet: 0x0410
+packetLen(0x0410, -1)
+
+// Packet: 0x0411
+packetLen(0x0411, -1)
+
+// Packet: 0x0412
+packetLen(0x0412, -1)
+
+// Packet: 0x0413
+packetLen(0x0413, -1)
+
+// Packet: 0x0414
+packetLen(0x0414, -1)
+
+// Packet: 0x0415
+packetLen(0x0415, -1)
+
+// Packet: 0x0416
+packetLen(0x0416, -1)
+
+// Packet: 0x0417
+packetLen(0x0417, -1)
+
+// Packet: 0x0418
+packetLen(0x0418, -1)
+
+// Packet: 0x0419
+packetLen(0x0419, -1)
+
+// Packet: 0x041a
+packetLen(0x041a, -1)
+
+// Packet: 0x041b
+packetLen(0x041b, -1)
+
+// Packet: 0x041c
+packetLen(0x041c, -1)
+
+// Packet: 0x041d
+packetLen(0x041d, -1)
+
+// Packet: 0x041e
+packetLen(0x041e, -1)
+
+// Packet: 0x041f
+packetLen(0x041f, -1)
+
+// Packet: 0x0420
+packetLen(0x0420, -1)
+
+// Packet: 0x0421
+packetLen(0x0421, -1)
+
+// Packet: 0x0422
+packetLen(0x0422, -1)
+
+// Packet: 0x0423
+packetLen(0x0423, -1)
+
+// Packet: 0x0424
+packetLen(0x0424, -1)
+
+// Packet: 0x0425
+packetLen(0x0425, -1)
+
+// Packet: 0x0426
+packetLen(0x0426, -1)
+
+// Packet: 0x0427
+packetLen(0x0427, -1)
+
+// Packet: 0x0428
+packetLen(0x0428, -1)
+
+// Packet: 0x0429
+packetLen(0x0429, -1)
+
+// Packet: 0x042a
+packetLen(0x042a, -1)
+
+// Packet: 0x042b
+packetLen(0x042b, -1)
+
+// Packet: 0x042c
+packetLen(0x042c, -1)
+
+// Packet: 0x042d
+packetLen(0x042d, -1)
+
+// Packet: 0x042e
+packetLen(0x042e, -1)
+
+// Packet: 0x042f
+packetLen(0x042f, -1)
+
+// Packet: 0x0430
+packetLen(0x0430, -1)
+
+// Packet: 0x0431
+packetLen(0x0431, -1)
+
+// Packet: 0x0432
+packetLen(0x0432, -1)
+
+// Packet: 0x0433
+packetLen(0x0433, -1)
+
+// Packet: 0x0434
+packetLen(0x0434, -1)
+
+// Packet: 0x0435
+packetLen(0x0435, -1)
+
+// Packet: 0x0436
+packetLen(0x0436, 19) // CZ_ENTER2
+
+// Packet: 0x0437
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+
+// Packet: 0x0438
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+#if PACKETVER >= 20090114
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+#elif PACKETVER >= 20090107
+packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+#endif
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+#if PACKETVER >= 20090114
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+#endif
+
+// Packet: 0x0445
+#if PACKETVER >= 20090114
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0446
+#if PACKETVER >= 20090218
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+#endif
+
+// Packet: 0x0447
+#if PACKETVER >= 20090520
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+#endif
+
+// Packet: 0x0448
+#if PACKETVER >= 20090225
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+#endif
+
+// Packet: 0x0449
+#if PACKETVER >= 20090330
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+#endif
+
+// Packet: 0x044a
+#if PACKETVER >= 20090408
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+#endif
+
+// Packet: 0x044b
+#if PACKETVER >= 20090514
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+#endif
+
+// Packet: 0x07d0
+#if PACKETVER >= 20090520
+packetLen(0x07d0, 6) // ZC_ES_RESULT
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20090520
+packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20090520
+packetLen(0x07d2, -1) // ZC_ES_LIST
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20090520
+packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20090520
+packetLen(0x07d4, 4) // CZ_ES_CANCEL
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20090520
+packetLen(0x07d5, 4) // ZC_ES_READY
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20090520
+packetLen(0x07d6, 4) // ZC_ES_GOTO
+#endif
+
+// Packet: 0x07d7
+#if PACKETVER >= 20090603
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+#endif
+
+// Packet: 0x07d8
+#if PACKETVER >= 20090603
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+#endif
+
+// Packet: 0x07d9
+#if PACKETVER >= 20090617
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+#elif PACKETVER >= 20090603
+packetLen(0x07d9, 254) // ZC_SHORTCUT_KEY_LIST_V2
+#endif
+
+// Packet: 0x07da
+#if PACKETVER >= 20090603
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+#endif
+
+// Packet: 0x07db
+#if PACKETVER >= 20090610
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+#endif
+
+// Packet: 0x07dc
+#if PACKETVER >= 20090617
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+#endif
+
+// Packet: 0x07dd
+#if PACKETVER >= 20090617
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+#endif
+
+// Packet: 0x07de
+#if PACKETVER >= 20090617
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+#endif
+
+// Packet: 0x07df
+#if PACKETVER >= 20090617
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+#endif
+
+
+#endif /* COMMON_PACKETS2009_LEN_SAK_H */
diff --git a/src/common/packets/packets2010_len_main.h b/src/common/packets/packets2010_len_main.h
new file mode 100644
index 000000000..32424bac8
--- /dev/null
+++ b/src/common/packets/packets2010_len_main.h
@@ -0,0 +1,5784 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2010_LEN_MAIN_H
+#define COMMON_PACKETS2010_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20100803
+packetLen(0x006d, 134) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20100728
+packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20100727
+packetLen(0x006d, 130) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20100105
+packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+#if PACKETVER >= 20101123
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20100105
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+#endif
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+#if PACKETVER >= 20100817
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+#endif
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20101228
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20101221
+packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20101130
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20101123
+packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20100105
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20101214
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20101207
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20101130
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20101123
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20100105
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20101228
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20101221
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20101214
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20101207
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20101123
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20100105
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20101228
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20101221
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20101123
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20100105
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+#if PACKETVER >= 20100803
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20100105
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20101123
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20100105
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f8, -1)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f9, -1)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fa, -1)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fb, -1)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fd, -1)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02ff, -1)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0308, -1)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0309, -1)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030b, -1)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030c, -1)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030d, -1)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030e, -1)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0311, -1)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0312, -1)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0313, -1)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0314, -1)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0315, -1)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0316, -1)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0318, -1)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0319, -1)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031a, -1)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031b, -1)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031c, -1)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031d, -1)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031f, -1)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0320, -1)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0322, -1)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0323, -1)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0325, -1)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0327, -1)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0328, -1)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032a, -1)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032e, -1)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0330, -1)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0332, -1)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0334, -1)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0336, -1)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0337, -1)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0339, -1)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033a, -1)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033b, -1)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033c, -1)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033d, -1)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033e, -1)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0341, -1)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0342, -1)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0346, -1)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0348, -1)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0349, -1)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034b, -1)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034d, -1)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034e, -1)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034f, -1)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0352, -1)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0354, -1)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0355, -1)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0356, -1)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0357, -1)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0358, -1)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x035b, -1)
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20101221
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20101214
+packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20101130
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20101123
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20100105
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20101214
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20101207
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20101123
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20100105
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20101228
+packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20101221
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20101214
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20101130
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20101123
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20100105
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20101221
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20101214
+packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20101207
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20101130
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20100105
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20101228
+packetLen(0x0363, 12) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20101221
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20101207
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20101130
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20101123
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20100105
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20101214
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20101207
+packetLen(0x0364, 12) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20101123
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20100105
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20101228
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20101130
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20101123
+packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20100105
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20101221
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20101214
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20101207
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20101130
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20101123
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20100105
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20101228
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20101221
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20101123
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20100105
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20101228
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20101221
+packetLen(0x0368, 10) // CZ_REQNAME2
+#elif PACKETVER >= 20101214
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20101207
+packetLen(0x0368, 4) // CZ_REQNAME2
+#elif PACKETVER >= 20101130
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20101123
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20100105
+packetLen(0x0368, -1) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20101228
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20101207
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20101130
+packetLen(0x0369, 90) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20101123
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20100105
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x03e2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e2, -1)
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e3, -1)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e5, -1)
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e6, -1)
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e7, -1)
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e8, -1)
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e9, -1)
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ec, -1)
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ed, -1)
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ee, -1)
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ef, -1)
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f0, -1)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f1, -1)
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f4, -1)
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f5, -1)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f6, -1)
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f7, -1)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f8, -1)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f9, -1)
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fa, -1)
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fb, -1)
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fc, -1)
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fd, -1)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ff, -1)
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0401, -1)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0402, -1)
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0404, -1)
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0405, -1)
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0406, -1)
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0408, -1)
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0409, -1)
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040c, -1)
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040d, -1)
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040e, -1)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040f, -1)
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0410, -1)
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0411, -1)
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0412, -1)
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0415, -1)
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0416, -1)
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0417, -1)
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0418, -1)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0419, -1)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041a, -1)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041b, -1)
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041c, -1)
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041d, -1)
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041e, -1)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0420, -1)
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0421, -1)
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0422, -1)
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0423, -1)
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0425, -1)
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0426, -1)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0427, -1)
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0428, -1)
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042b, -1)
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042c, -1)
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042d, -1)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042e, -1)
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042f, -1)
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0430, -1)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0431, -1)
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0432, -1)
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0433, -1)
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0434, -1)
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0435, -1)
+#endif
+
+// Packet: 0x0436
+#if PACKETVER >= 20101228
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20101221
+packetLen(0x0436, 12) // CZ_ENTER2
+#elif PACKETVER >= 20101214
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20101123
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20100105
+packetLen(0x0436, 19) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20101228
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20101221
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20101207
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20101130
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20101123
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20100105
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20101214
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20101207
+packetLen(0x0438, 7) // CZ_USE_SKILL2
+#elif PACKETVER >= 20101130
+packetLen(0x0438, 12) // CZ_USE_SKILL2
+#elif PACKETVER >= 20100105
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+#if PACKETVER >= 20100817
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+#elif PACKETVER >= 20100105
+packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+#endif
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d0
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d0, 6) // ZC_ES_RESULT
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d2, -1) // ZC_ES_LIST
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d4, 4) // CZ_ES_CANCEL
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d5, 4) // ZC_ES_READY
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d6, 4) // ZC_ES_GOTO
+#endif
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20101228
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20101221
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20101214
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20101207
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20101123
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20100105
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+#if PACKETVER >= 20101012
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+#elif PACKETVER >= 20100105
+packetLen(0x07e5, 8) // CH_ENTER_CHECKBOT
+#endif
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20101207
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20101130
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20101123
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20100105
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+#if PACKETVER >= 20100209
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+#elif PACKETVER >= 20100105
+packetLen(0x07f0, 8) // CZ_REQ_BATTLE_STATE_MONITOR
+#endif
+
+// Packet: 0x07f1
+#if PACKETVER >= 20100629
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+#elif PACKETVER >= 20100105
+packetLen(0x07f1, 15) // ZC_ACK_BATTLE_STATE_MONITOR
+#endif
+
+// Packet: 0x07f2
+#if PACKETVER >= 20100629
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+#elif PACKETVER >= 20100105
+packetLen(0x07f2, 6) // ZC_BATTLE_NOTI_START_STEP
+#endif
+
+// Packet: 0x07f3
+#if PACKETVER >= 20100629
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+#elif PACKETVER >= 20100105
+packetLen(0x07f3, 4) // ZC_BATTLE_JOIN_NOTI_DEFER
+#endif
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x07ff
+packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20101228
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20101221
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20101214
+packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20101130
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20101123
+packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20100105
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+#if PACKETVER >= 20100113
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+#endif
+
+// Packet: 0x080d
+#if PACKETVER >= 20100113
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+#endif
+
+// Packet: 0x080e
+#if PACKETVER >= 20100119
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+#endif
+
+// Packet: 0x080f
+#if PACKETVER >= 20100223
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x0810
+#if PACKETVER >= 20100303
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0811
+#if PACKETVER >= 20101228
+packetLen(0x0811, 90) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20101221
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20101207
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20101130
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20101123
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+#if PACKETVER >= 20100420
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+#elif PACKETVER >= 20100303
+packetLen(0x0812, 86) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+#endif
+
+// Packet: 0x0813
+#if PACKETVER >= 20100309
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0813, 6) // ZC_MYITEMLIST_BUYING_STORE
+#endif
+
+// Packet: 0x0814
+#if PACKETVER >= 20100420
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+#elif PACKETVER >= 20100309
+packetLen(0x0814, 2) // ZC_BUYING_STORE_ENTRY
+#elif PACKETVER >= 20100303
+packetLen(0x0814, 6) // ZC_BUYING_STORE_ENTRY
+#endif
+
+// Packet: 0x0815
+#if PACKETVER >= 20101228
+packetLen(0x0815, 7) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20101221
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20101214
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20101207
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20101130
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20100420
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20100309
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+#if PACKETVER >= 20100309
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+#endif
+
+// Packet: 0x0817
+#if PACKETVER >= 20101228
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20101221
+packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20101130
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20101123
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20100420
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+#if PACKETVER >= 20100309
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0818, 6) // ZC_ACK_ITEMLIST_BUYING_STORE
+#endif
+
+// Packet: 0x0819
+#if PACKETVER >= 20101207
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20101130
+packetLen(0x0819, 7) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20101123
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20100420
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20100309
+packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0819, 4) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+#if PACKETVER >= 20100420
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+#elif PACKETVER >= 20100413
+packetLen(0x081a, 10) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+#elif PACKETVER >= 20100331
+packetLen(0x081a, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+#elif PACKETVER >= 20100309
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+#endif
+
+// Packet: 0x081b
+#if PACKETVER >= 20100420
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#elif PACKETVER >= 20100414
+packetLen(0x081b, 8) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#elif PACKETVER >= 20100309
+packetLen(0x081b, 4) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#endif
+
+// Packet: 0x081c
+#if PACKETVER >= 20100420
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+#elif PACKETVER >= 20100309
+packetLen(0x081c, 6) // ZC_ITEM_DELETE_BUYING_STORE
+#endif
+
+// Packet: 0x081d
+#if PACKETVER >= 20100309
+packetLen(0x081d, 22) // ZC_EL_INIT
+#endif
+
+// Packet: 0x081e
+#if PACKETVER >= 20100309
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+#endif
+
+// Packet: 0x081f
+#if PACKETVER >= 20100323
+packetLen(0x081f, -1) // ZC_BROADCAST4
+#endif
+
+// Packet: 0x0820
+#if PACKETVER >= 20100413
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+#endif
+
+// Packet: 0x0821
+#if PACKETVER >= 20100413
+packetLen(0x0821, 2) // AC_OTP_USER
+#endif
+
+// Packet: 0x0822
+#if PACKETVER >= 20100413
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+#endif
+
+// Packet: 0x0823
+#if PACKETVER >= 20100413
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+#endif
+
+// Packet: 0x0824
+#if PACKETVER >= 20100420
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+#endif
+
+// Packet: 0x0825
+#if PACKETVER >= 20100601
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+#endif
+
+// Packet: 0x0826
+#if PACKETVER >= 20101019
+// removed
+#elif PACKETVER >= 20100601
+packetLen(0x0826, 4) // AC_SSO_LOGIN_ACK
+#endif
+
+// Packet: 0x0827
+#if PACKETVER >= 20100713
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+#endif
+
+// Packet: 0x0828
+#if PACKETVER >= 20100713
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+#endif
+
+// Packet: 0x0829
+#if PACKETVER >= 20100728
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+#elif PACKETVER >= 20100713
+packetLen(0x0829, 6) // CH_DELETE_CHAR3
+#endif
+
+// Packet: 0x082a
+#if PACKETVER >= 20100713
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+#endif
+
+// Packet: 0x082b
+#if PACKETVER >= 20100713
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+#endif
+
+// Packet: 0x082c
+#if PACKETVER >= 20100720
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+#elif PACKETVER >= 20100713
+packetLen(0x082c, 14) // HC_DELETE_CHAR3_CANCEL
+#endif
+
+// Packet: 0x082d
+#if PACKETVER >= 20101221
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+#endif
+
+// Packet: 0x0835
+#if PACKETVER >= 20101228
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20101214
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20101207
+packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20101130
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20101123
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20100601
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+#if PACKETVER >= 20100601
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+#endif
+
+// Packet: 0x0837
+#if PACKETVER >= 20100601
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+#endif
+
+// Packet: 0x0838
+#if PACKETVER >= 20101228
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20101214
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20101207
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20101130
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20100608
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20100601
+packetLen(0x0838, 3) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+#if PACKETVER >= 20100608
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+#endif
+
+// Packet: 0x083a
+#if PACKETVER >= 20100701
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+#elif PACKETVER >= 20100608
+packetLen(0x083a, 4) // ZC_OPEN_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x083b
+#if PACKETVER >= 20100608
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x083c
+#if PACKETVER >= 20101214
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20101207
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20101130
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20101123
+packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20100608
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+#if PACKETVER >= 20100608
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+#endif
+
+// Packet: 0x083e
+#if PACKETVER >= 20100615
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+#endif
+
+// Packet: 0x083f
+#if PACKETVER >= 20100629
+// removed
+#elif PACKETVER >= 20100622
+packetLen(0x083f, 22) // ZC_SEARCH_STORE_OPEN_INFO
+#endif
+
+// Packet: 0x0840
+#if PACKETVER >= 20100713
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+#endif
+
+// Packet: 0x0841
+#if PACKETVER >= 20100714
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+#elif PACKETVER >= 20100713
+packetLen(0x0841, 19) // CH_SELECT_ACCESSIBLE_MAPNAME
+#endif
+
+// Packet: 0x0842
+#if PACKETVER >= 20100720
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+#endif
+
+// Packet: 0x0843
+#if PACKETVER >= 20100720
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+#endif
+
+// Packet: 0x0844
+#if PACKETVER >= 20100824
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+#endif
+
+// Packet: 0x0845
+#if PACKETVER >= 20100824
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+#endif
+
+// Packet: 0x0846
+#if PACKETVER >= 20100824
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+#endif
+
+// Packet: 0x0847
+#if PACKETVER >= 20100824
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+#endif
+
+// Packet: 0x0848
+#if PACKETVER >= 20100824
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+#endif
+
+// Packet: 0x0849
+#if PACKETVER >= 20100914
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+#elif PACKETVER >= 20100824
+packetLen(0x0849, 12) // ZC_SE_PC_BUY_CASHITEM_RESULT
+#endif
+
+// Packet: 0x084a
+#if PACKETVER >= 20101019
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+#endif
+
+// Packet: 0x084b
+#if PACKETVER >= 20101019
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+#endif
+
+// Packet: 0x084c
+#if PACKETVER >= 20101026
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+#endif
+
+// Packet: 0x084d
+#if PACKETVER >= 20101026
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x084e
+#if PACKETVER >= 20101026
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+#endif
+
+// Packet: 0x084f
+#if PACKETVER >= 20101026
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+#endif
+
+// Packet: 0x0850
+#if PACKETVER >= 20101026
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+#endif
+
+// Packet: 0x0851
+#if PACKETVER >= 20101102
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+#endif
+
+// Packet: 0x0852
+#if PACKETVER >= 20101102
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+#endif
+
+// Packet: 0x0853
+#if PACKETVER >= 20101102
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+#endif
+
+// Packet: 0x0854
+#if PACKETVER >= 20101102
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+#endif
+
+// Packet: 0x0855
+#if PACKETVER >= 20101102
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+#endif
+
+// Packet: 0x0856
+#if PACKETVER >= 20101123
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+#endif
+
+// Packet: 0x0857
+#if PACKETVER >= 20101123
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+#endif
+
+// Packet: 0x0858
+#if PACKETVER >= 20101123
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+#endif
+
+// Packet: 0x0859
+#if PACKETVER >= 20101123
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+#endif
+
+// Packet: 0x085a
+#if PACKETVER >= 20101123
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20101123
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20101123
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20101123
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20101123
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20101123
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20101123
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20101123
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20101123
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20101123
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20101123
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20101123
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20101123
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20101123
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20101123
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20101123
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20101123
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20101123
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20101123
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20101123
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20101123
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20101123
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20101123
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20101123
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20101123
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20101123
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20101123
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20101123
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20101123
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20101123
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20101123
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20101123
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20101123
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20101123
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20101123
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20101123
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20101123
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20101123
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20101123
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20101123
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20101123
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20101123
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20101228
+packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20101221
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20101214
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20101123
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20101228
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20101221
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20101214
+packetLen(0x0885, 19) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20101207
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20101123
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20101228
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20101221
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20101207
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20101130
+packetLen(0x0886, 10) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20101123
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20101221
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20101214
+packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20101207
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20101130
+packetLen(0x0887, 18) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20101123
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20101228
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20101221
+packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20101130
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20101123
+packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20101228
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20101221
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20101214
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20101207
+packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20101130
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20101123
+packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20101123
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20101123
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20101228
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20101221
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20101207
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20101130
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20101123
+packetLen(0x088c, 26) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20101228
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20101221
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20101214
+packetLen(0x088d, 12) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20101123
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20101228
+packetLen(0x088e, 18) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20101207
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20101130
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20101123
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20101228
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20101221
+packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20101214
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20101207
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20101130
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20101123
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20101228
+packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20101214
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20101207
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20101123
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20101228
+packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20101214
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20101207
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20101130
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20101123
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20101228
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20101221
+packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20101214
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20101123
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20101228
+packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20101130
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20101123
+packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20101207
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20101130
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20101123
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20101214
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20101207
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20101123
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20101228
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20101214
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20101207
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20101130
+packetLen(0x0896, 10) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20101123
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20101228
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20101221
+packetLen(0x0897, 36) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20101214
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20101123
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20101228
+packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20101221
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20101214
+packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20101207
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20101130
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20101123
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20101228
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20101221
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20101214
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20101207
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20101130
+packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20101123
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20101123
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20101130
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20101123
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20101228
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20101221
+packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20101214
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20101123
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20101228
+packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20101214
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20101207
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20101130
+packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20101123
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20101228
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20101221
+packetLen(0x089e, 90) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20101214
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20101207
+packetLen(0x089e, 18) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20101130
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20101123
+packetLen(0x089e, 4) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20101221
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20101214
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20101207
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20101130
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20101123
+packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20101228
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20101123
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20101221
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20101214
+packetLen(0x08a1, -1) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20101130
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20101123
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20101228
+packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20101214
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20101207
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20101130
+packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20101123
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20101221
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20101214
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20101207
+packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20101130
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20101123
+packetLen(0x08a3, 12) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20101228
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20101221
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20101214
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20101123
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20101228
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20101214
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20101207
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20101123
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20101123
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20101221
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20101214
+packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20101123
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20101123
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20101214
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20101207
+packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20101130
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20101123
+packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20101228
+packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20101221
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20101214
+packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20101207
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20101130
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20101123
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20101207
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20101130
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20101123
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20101228
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20101221
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20101214
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20101207
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20101130
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20101123
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20101228
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20101221
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20101214
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20101207
+packetLen(0x08ad, 90) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20101130
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20101123
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+#if PACKETVER >= 20101228
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+#endif
+
+// Packet: 0x08b1
+#if PACKETVER >= 20101221
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+#endif
+
+// Packet: 0x08b2
+#if PACKETVER >= 20101228
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+#endif
+
+
+#endif /* COMMON_PACKETS2010_LEN_MAIN_H */
diff --git a/src/common/packets/packets2010_len_re.h b/src/common/packets/packets2010_len_re.h
new file mode 100644
index 000000000..ef683fc04
--- /dev/null
+++ b/src/common/packets/packets2010_len_re.h
@@ -0,0 +1,5291 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2010_LEN_RE_H
+#define COMMON_PACKETS2010_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20100803
+packetLen(0x006d, 134) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20100728
+packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20100720
+packetLen(0x006d, 130) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20100105
+packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+#if PACKETVER >= 20100629
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+#elif PACKETVER >= 20100105
+packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+#endif
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0158
+#if PACKETVER >= 20100817
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+#endif
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+#if PACKETVER >= 20100803
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20100105
+packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f8, -1)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f9, -1)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fa, -1)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fb, -1)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fd, -1)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02ff, -1)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0308, -1)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0309, -1)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030b, -1)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030c, -1)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030d, -1)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030e, -1)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0311, -1)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0312, -1)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0313, -1)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0314, -1)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0315, -1)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0316, -1)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0318, -1)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0319, -1)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031a, -1)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031b, -1)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031c, -1)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031d, -1)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031f, -1)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0320, -1)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0322, -1)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0323, -1)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0325, -1)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0327, -1)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0328, -1)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032a, -1)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032e, -1)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0330, -1)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0332, -1)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0334, -1)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0336, -1)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0337, -1)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0339, -1)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033a, -1)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033b, -1)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033c, -1)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033d, -1)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033e, -1)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0341, -1)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0342, -1)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0346, -1)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0348, -1)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0349, -1)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034b, -1)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034d, -1)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034e, -1)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034f, -1)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0352, -1)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0354, -1)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0355, -1)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0356, -1)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0357, -1)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0358, -1)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x035b, -1)
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20101123
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20100105
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20101123
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20100105
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20101123
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20100105
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20101123
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20100105
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20101123
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20100105
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20101123
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20100105
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20101123
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20100105
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20101123
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20100105
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20101123
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20100105
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20101123
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20100105
+packetLen(0x0368, -1) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20101123
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20100105
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x03e2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e2, -1)
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e3, -1)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e5, -1)
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e6, -1)
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e7, -1)
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e8, -1)
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e9, -1)
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ec, -1)
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ed, -1)
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ee, -1)
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ef, -1)
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f0, -1)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f1, -1)
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f4, -1)
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f5, -1)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f6, -1)
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f7, -1)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f8, -1)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f9, -1)
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fa, -1)
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fb, -1)
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fc, -1)
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fd, -1)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ff, -1)
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0401, -1)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0402, -1)
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0404, -1)
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0405, -1)
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0406, -1)
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0408, -1)
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0409, -1)
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040c, -1)
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040d, -1)
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040e, -1)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040f, -1)
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0410, -1)
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0411, -1)
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0412, -1)
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0415, -1)
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0416, -1)
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0417, -1)
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0418, -1)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0419, -1)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041a, -1)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041b, -1)
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041c, -1)
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041d, -1)
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041e, -1)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0420, -1)
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0421, -1)
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0422, -1)
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0423, -1)
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0425, -1)
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0426, -1)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0427, -1)
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0428, -1)
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042b, -1)
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042c, -1)
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042d, -1)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042e, -1)
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042f, -1)
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0430, -1)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0431, -1)
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0432, -1)
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0433, -1)
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0434, -1)
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0435, -1)
+#endif
+
+// Packet: 0x0436
+packetLen(0x0436, 19) // CZ_ENTER2
+
+// Packet: 0x0437
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+
+// Packet: 0x0438
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+#if PACKETVER >= 20100817
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+#elif PACKETVER >= 20100105
+packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+#endif
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d0
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d0, 6) // ZC_ES_RESULT
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d2, -1) // ZC_ES_LIST
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d4, 4) // CZ_ES_CANCEL
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d5, 4) // ZC_ES_READY
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d6, 4) // ZC_ES_GOTO
+#endif
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+
+// Packet: 0x07e5
+#if PACKETVER >= 20101012
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+#elif PACKETVER >= 20100105
+packetLen(0x07e5, 8) // CH_ENTER_CHECKBOT
+#endif
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+#if PACKETVER >= 20100209
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+#elif PACKETVER >= 20100105
+packetLen(0x07f0, 8) // CZ_REQ_BATTLE_STATE_MONITOR
+#endif
+
+// Packet: 0x07f1
+#if PACKETVER >= 20100629
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+#elif PACKETVER >= 20100105
+packetLen(0x07f1, 15) // ZC_ACK_BATTLE_STATE_MONITOR
+#endif
+
+// Packet: 0x07f2
+#if PACKETVER >= 20100629
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+#elif PACKETVER >= 20100105
+packetLen(0x07f2, 6) // ZC_BATTLE_NOTI_START_STEP
+#endif
+
+// Packet: 0x07f3
+#if PACKETVER >= 20100629
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+#elif PACKETVER >= 20100105
+packetLen(0x07f3, 4) // ZC_BATTLE_JOIN_NOTI_DEFER
+#endif
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x07ff
+packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+#if PACKETVER >= 20100113
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+#endif
+
+// Packet: 0x080d
+#if PACKETVER >= 20100113
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+#endif
+
+// Packet: 0x080e
+#if PACKETVER >= 20100119
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+#endif
+
+// Packet: 0x080f
+#if PACKETVER >= 20100223
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x0810
+#if PACKETVER >= 20100303
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0811
+#if PACKETVER >= 20100303
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+#if PACKETVER >= 20100420
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+#elif PACKETVER >= 20100303
+packetLen(0x0812, 86) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+#endif
+
+// Packet: 0x0813
+#if PACKETVER >= 20100309
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0813, 6) // ZC_MYITEMLIST_BUYING_STORE
+#endif
+
+// Packet: 0x0814
+#if PACKETVER >= 20100420
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+#elif PACKETVER >= 20100309
+packetLen(0x0814, 2) // ZC_BUYING_STORE_ENTRY
+#elif PACKETVER >= 20100303
+packetLen(0x0814, 6) // ZC_BUYING_STORE_ENTRY
+#endif
+
+// Packet: 0x0815
+#if PACKETVER >= 20100420
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20100309
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+#if PACKETVER >= 20100309
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+#endif
+
+// Packet: 0x0817
+#if PACKETVER >= 20100420
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+#if PACKETVER >= 20100309
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0818, 6) // ZC_ACK_ITEMLIST_BUYING_STORE
+#endif
+
+// Packet: 0x0819
+#if PACKETVER >= 20100420
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20100309
+packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20100303
+packetLen(0x0819, 4) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+#if PACKETVER >= 20100420
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+#elif PACKETVER >= 20100413
+packetLen(0x081a, 10) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+#elif PACKETVER >= 20100406
+packetLen(0x081a, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+#elif PACKETVER >= 20100309
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+#endif
+
+// Packet: 0x081b
+#if PACKETVER >= 20100420
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#elif PACKETVER >= 20100414
+packetLen(0x081b, 8) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#elif PACKETVER >= 20100309
+packetLen(0x081b, 4) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#endif
+
+// Packet: 0x081c
+#if PACKETVER >= 20100420
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+#elif PACKETVER >= 20100309
+packetLen(0x081c, 6) // ZC_ITEM_DELETE_BUYING_STORE
+#endif
+
+// Packet: 0x081d
+#if PACKETVER >= 20100309
+packetLen(0x081d, 22) // ZC_EL_INIT
+#endif
+
+// Packet: 0x081e
+#if PACKETVER >= 20100309
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+#endif
+
+// Packet: 0x081f
+#if PACKETVER >= 20100323
+packetLen(0x081f, -1) // ZC_BROADCAST4
+#endif
+
+// Packet: 0x0820
+#if PACKETVER >= 20100413
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+#endif
+
+// Packet: 0x0821
+#if PACKETVER >= 20100413
+packetLen(0x0821, 2) // AC_OTP_USER
+#endif
+
+// Packet: 0x0822
+#if PACKETVER >= 20100413
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+#endif
+
+// Packet: 0x0823
+#if PACKETVER >= 20100413
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+#endif
+
+// Packet: 0x0824
+#if PACKETVER >= 20100420
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+#endif
+
+// Packet: 0x0825
+#if PACKETVER >= 20100601
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+#endif
+
+// Packet: 0x0826
+#if PACKETVER >= 20101019
+// removed
+#elif PACKETVER >= 20100601
+packetLen(0x0826, 4) // AC_SSO_LOGIN_ACK
+#endif
+
+// Packet: 0x0827
+#if PACKETVER >= 20100713
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+#endif
+
+// Packet: 0x0828
+#if PACKETVER >= 20100713
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+#endif
+
+// Packet: 0x0829
+#if PACKETVER >= 20100728
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+#elif PACKETVER >= 20100713
+packetLen(0x0829, 6) // CH_DELETE_CHAR3
+#endif
+
+// Packet: 0x082a
+#if PACKETVER >= 20100713
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+#endif
+
+// Packet: 0x082b
+#if PACKETVER >= 20100713
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+#endif
+
+// Packet: 0x082c
+#if PACKETVER >= 20100720
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+#elif PACKETVER >= 20100713
+packetLen(0x082c, 14) // HC_DELETE_CHAR3_CANCEL
+#endif
+
+// Packet: 0x082d
+#if PACKETVER >= 20101221
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+#endif
+
+// Packet: 0x0835
+#if PACKETVER >= 20100601
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+#if PACKETVER >= 20100601
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+#endif
+
+// Packet: 0x0837
+#if PACKETVER >= 20100601
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+#endif
+
+// Packet: 0x0838
+#if PACKETVER >= 20100608
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20100601
+packetLen(0x0838, 3) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+#if PACKETVER >= 20100608
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+#endif
+
+// Packet: 0x083a
+#if PACKETVER >= 20100701
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+#elif PACKETVER >= 20100608
+packetLen(0x083a, 4) // ZC_OPEN_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x083b
+#if PACKETVER >= 20100608
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x083c
+#if PACKETVER >= 20100608
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+#if PACKETVER >= 20100608
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+#endif
+
+// Packet: 0x083e
+#if PACKETVER >= 20100615
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+#endif
+
+// Packet: 0x083f
+#if PACKETVER >= 20100629
+// removed
+#elif PACKETVER >= 20100622
+packetLen(0x083f, 22) // ZC_SEARCH_STORE_OPEN_INFO
+#endif
+
+// Packet: 0x0840
+#if PACKETVER >= 20100713
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+#endif
+
+// Packet: 0x0841
+#if PACKETVER >= 20100714
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+#elif PACKETVER >= 20100713
+packetLen(0x0841, 19) // CH_SELECT_ACCESSIBLE_MAPNAME
+#endif
+
+// Packet: 0x0842
+#if PACKETVER >= 20100720
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+#endif
+
+// Packet: 0x0843
+#if PACKETVER >= 20100720
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+#endif
+
+// Packet: 0x0844
+#if PACKETVER >= 20100824
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+#endif
+
+// Packet: 0x0845
+#if PACKETVER >= 20100824
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+#endif
+
+// Packet: 0x0846
+#if PACKETVER >= 20100824
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+#endif
+
+// Packet: 0x0847
+#if PACKETVER >= 20100824
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+#endif
+
+// Packet: 0x0848
+#if PACKETVER >= 20100824
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+#endif
+
+// Packet: 0x0849
+#if PACKETVER >= 20100914
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+#elif PACKETVER >= 20100824
+packetLen(0x0849, 12) // ZC_SE_PC_BUY_CASHITEM_RESULT
+#endif
+
+// Packet: 0x084a
+#if PACKETVER >= 20101019
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+#endif
+
+// Packet: 0x084b
+#if PACKETVER >= 20101019
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+#endif
+
+// Packet: 0x084c
+#if PACKETVER >= 20101026
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+#endif
+
+// Packet: 0x084d
+#if PACKETVER >= 20101026
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x084e
+#if PACKETVER >= 20101026
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+#endif
+
+// Packet: 0x084f
+#if PACKETVER >= 20101026
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+#endif
+
+// Packet: 0x0850
+#if PACKETVER >= 20101026
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+#endif
+
+// Packet: 0x0851
+#if PACKETVER >= 20101102
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+#endif
+
+// Packet: 0x0852
+#if PACKETVER >= 20101102
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+#endif
+
+// Packet: 0x0853
+#if PACKETVER >= 20101102
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+#endif
+
+// Packet: 0x0854
+#if PACKETVER >= 20101102
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+#endif
+
+// Packet: 0x0855
+#if PACKETVER >= 20101102
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+#endif
+
+// Packet: 0x0856
+#if PACKETVER >= 20101123
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+#endif
+
+// Packet: 0x0857
+#if PACKETVER >= 20101123
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+#endif
+
+// Packet: 0x0858
+#if PACKETVER >= 20101123
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+#endif
+
+// Packet: 0x0859
+#if PACKETVER >= 20101123
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+#endif
+
+// Packet: 0x085a
+#if PACKETVER >= 20101123
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20101123
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20101123
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20101123
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20101123
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20101123
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20101123
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20101123
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20101123
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20101123
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20101123
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20101123
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20101123
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20101123
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20101123
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20101123
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20101123
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20101123
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20101123
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20101123
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20101123
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20101123
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20101123
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20101123
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20101123
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20101123
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20101123
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20101123
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20101123
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20101123
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20101123
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20101123
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20101123
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20101123
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20101123
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20101123
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20101123
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20101123
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20101123
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20101123
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20101123
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20101123
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20101123
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20101123
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20101123
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20101123
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20101123
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20101123
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20101123
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20101123
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20101123
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20101123
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20101123
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20101123
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20101123
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20101123
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20101123
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20101123
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20101123
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20101123
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20101123
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20101123
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20101123
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20101123
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20101123
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20101123
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20101123
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20101123
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20101123
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20101123
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20101123
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20101123
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20101123
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20101123
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20101123
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20101123
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20101123
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20101123
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20101123
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20101123
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20101123
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20101123
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20101123
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20101123
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+#if PACKETVER >= 20101228
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+#endif
+
+// Packet: 0x08b1
+#if PACKETVER >= 20101221
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+#endif
+
+// Packet: 0x08b2
+#if PACKETVER >= 20101228
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+#endif
+
+
+#endif /* COMMON_PACKETS2010_LEN_RE_H */
diff --git a/src/common/packets/packets2011_len_main.h b/src/common/packets/packets2011_len_main.h
new file mode 100644
index 000000000..2728aeb61
--- /dev/null
+++ b/src/common/packets/packets2011_len_main.h
@@ -0,0 +1,7200 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2011_LEN_MAIN_H
+#define COMMON_PACKETS2011_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20111101
+packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20110111
+packetLen(0x006d, 138) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20110104
+packetLen(0x006d, 134) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20111220
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111213
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111207
+packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111122
+packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111101
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111025
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111017
+packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111010
+packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110920
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110906
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110823
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110816
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110726
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110718
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110711
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110531
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110523
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110517
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110511
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110426
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110419
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110405
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110329
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110322
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110315
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110308
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110222
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110215
+packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110125
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110118
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110111
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110104
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20111227
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111220
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111213
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111207
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111122
+packetLen(0x022d, 7) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111114
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111108
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111025
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111017
+packetLen(0x022d, 12) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111004
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110920
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110906
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110823
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110816
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110809
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110802
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110726
+packetLen(0x022d, 12) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110705
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110627
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110620
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110614
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110531
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110523
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110503
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110426
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110412
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110405
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110329
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110315
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110308
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110215
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110208
+packetLen(0x022d, 36) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110131
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110125
+packetLen(0x022d, 26) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110118
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110111
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110104
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20111220
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111213
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111207
+packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111114
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111108
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111101
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111025
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111010
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111004
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110928
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110920
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110906
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110831
+packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110823
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110816
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110726
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110718
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110705
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110627
+packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110620
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110531
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110523
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110517
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110511
+packetLen(0x023b, 7) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110426
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110419
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110405
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110329
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110308
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110228
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110222
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110215
+packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110208
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110131
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110125
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110118
+packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110111
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110104
+packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20111227
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111220
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111213
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111207
+packetLen(0x0281, 7) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111122
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111114
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111108
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111101
+packetLen(0x0281, 36) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111025
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111004
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110928
+packetLen(0x0281, 5) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110920
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110906
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110823
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110816
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110809
+packetLen(0x0281, 18) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110726
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110718
+packetLen(0x0281, 18) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110711
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110705
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110627
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110620
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110607
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110531
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110523
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110511
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110503
+packetLen(0x0281, 7) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110426
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110419
+packetLen(0x0281, 8) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110412
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110405
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110329
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110315
+packetLen(0x0281, 8) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110308
+packetLen(0x0281, 36) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110228
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110222
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110125
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110118
+packetLen(0x0281, 7) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110104
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20111227
+packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111220
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111213
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111122
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111108
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111101
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111010
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111004
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110831
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110823
+packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110816
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110809
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110802
+packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110726
+packetLen(0x02c4, 4) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110718
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110711
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110705
+packetLen(0x02c4, 4) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110627
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110614
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110607
+packetLen(0x02c4, 19) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110523
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110517
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110511
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110503
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110426
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110419
+packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110322
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110315
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110228
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110222
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110215
+packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110125
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110118
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110104
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+#if PACKETVER >= 20110131
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20110131
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20110131
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20110131
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20111227
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111220
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111213
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111207
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111108
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111101
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111025
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111017
+packetLen(0x035f, 19) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111010
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110928
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110920
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110906
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110823
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110802
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110726
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110718
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110711
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110627
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110620
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110517
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110503
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110419
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110405
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110329
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110322
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110308
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110222
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110208
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110131
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110125
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110118
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110104
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20111227
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111220
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111122
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111108
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111101
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111025
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111017
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111004
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110928
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110920
+packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110906
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110831
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110823
+packetLen(0x0360, 12) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110809
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110802
+packetLen(0x0360, 90) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110711
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110705
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110620
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110614
+packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110517
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110511
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110503
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110426
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110419
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110405
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110329
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110322
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110315
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110308
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110228
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110222
+packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110208
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110131
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110125
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110118
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110104
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20111220
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111213
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111207
+packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111122
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111114
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111025
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111017
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111010
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111004
+packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110928
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110831
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110823
+packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110816
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110809
+packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110726
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110718
+packetLen(0x0361, 90) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110711
+packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110705
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110627
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110620
+packetLen(0x0361, 4) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110614
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110607
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110531
+packetLen(0x0361, 7) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110523
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110511
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110503
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110405
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110329
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110322
+packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110315
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110308
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110228
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110131
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110125
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110118
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110111
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110104
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20111213
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111207
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111122
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111017
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111010
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111004
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110928
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110920
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110906
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110831
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110823
+packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110816
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110809
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110802
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110726
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110620
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110607
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110531
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110523
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110517
+packetLen(0x0362, 4) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110511
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110426
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110419
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110412
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110405
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110329
+packetLen(0x0362, 36) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110322
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110315
+packetLen(0x0362, 4) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110308
+packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110208
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110131
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110125
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110118
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110104
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20111227
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111220
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111207
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111122
+packetLen(0x0363, 90) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111114
+packetLen(0x0363, 18) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111101
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111025
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111017
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111010
+packetLen(0x0363, 7) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111004
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110928
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110920
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110906
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110823
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110816
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110809
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110718
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110711
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110627
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110620
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110607
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110531
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110523
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110503
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110426
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110419
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110412
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110405
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110329
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110322
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110315
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110308
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110228
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110222
+packetLen(0x0363, 4) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110208
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110131
+packetLen(0x0363, 10) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110125
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110118
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110104
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20111227
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111220
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111207
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111114
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111108
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111101
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111017
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111010
+packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111004
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110928
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110920
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110906
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110823
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110816
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110809
+packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110726
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110718
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110705
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110627
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110620
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110607
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110531
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110523
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110517
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110511
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110503
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110419
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110412
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110405
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110329
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110315
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110308
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110228
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110222
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110215
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110208
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110131
+packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110125
+packetLen(0x0364, 12) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110104
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20111227
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111220
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111213
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111207
+packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111122
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111114
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111108
+packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111010
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111004
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110928
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110920
+packetLen(0x0365, 90) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110906
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110831
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110823
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110816
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110809
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110705
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110627
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110620
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110607
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110531
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110523
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110517
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110511
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110503
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110426
+packetLen(0x0365, 90) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110412
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110405
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110329
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110118
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110104
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20111227
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111220
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111213
+packetLen(0x0366, 4) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111207
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111122
+packetLen(0x0366, 12) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111108
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111101
+packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111025
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111017
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111010
+packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110928
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110920
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110906
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110831
+packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110823
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110816
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110809
+packetLen(0x0366, 4) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110802
+packetLen(0x0366, 12) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110711
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110705
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110620
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110517
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110426
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110419
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110405
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110329
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110322
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110308
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110228
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110208
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110131
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110125
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110118
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110104
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20111220
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111213
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111207
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111122
+packetLen(0x0367, 4) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111101
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111025
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111017
+packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111010
+packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111004
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110906
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110831
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110816
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110809
+packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110802
+packetLen(0x0367, 5) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110726
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110718
+packetLen(0x0367, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110627
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110620
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110614
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110531
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110523
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110517
+packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110419
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110405
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110329
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110322
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110315
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110131
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110125
+packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110118
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110111
+packetLen(0x0367, 36) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110104
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20111227
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20111220
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20111122
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20111108
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20111101
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20111025
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20111010
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110906
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110831
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110809
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110802
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110726
+packetLen(0x0368, 8) // CZ_REQNAME2
+#elif PACKETVER >= 20110718
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110711
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110627
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110620
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110523
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110426
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110419
+packetLen(0x0368, 4) // CZ_REQNAME2
+#elif PACKETVER >= 20110412
+packetLen(0x0368, 19) // CZ_REQNAME2
+#elif PACKETVER >= 20110405
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110329
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110322
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110315
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110308
+packetLen(0x0368, 5) // CZ_REQNAME2
+#elif PACKETVER >= 20110228
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110208
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110131
+packetLen(0x0368, 26) // CZ_REQNAME2
+#elif PACKETVER >= 20110125
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110118
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110104
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20111227
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111220
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111207
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111122
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111114
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111108
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111101
+packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111025
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111010
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111004
+packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110928
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110920
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110906
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110831
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110823
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110816
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110809
+packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110726
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110718
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110711
+packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110705
+packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110620
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110607
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110531
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110517
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110503
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110426
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110419
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110412
+packetLen(0x0369, 4) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110405
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110329
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110322
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110308
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110228
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110208
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110131
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110125
+packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110118
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110104
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20111227
+packetLen(0x0436, 10) // CZ_ENTER2
+#elif PACKETVER >= 20111213
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20111122
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20111108
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20111101
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20111025
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20111017
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20111010
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20111004
+packetLen(0x0436, 19) // CZ_ENTER2
+#elif PACKETVER >= 20110928
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110920
+packetLen(0x0436, 12) // CZ_ENTER2
+#elif PACKETVER >= 20110906
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20110831
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110823
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20110816
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20110809
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110802
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20110726
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110718
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20110711
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110705
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20110620
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110614
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20110607
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20110531
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110523
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20110511
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110503
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20110426
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110419
+packetLen(0x0436, 36) // CZ_ENTER2
+#elif PACKETVER >= 20110412
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20110329
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20110315
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110308
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20110222
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110215
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20110118
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110111
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20110104
+packetLen(0x0436, 2) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20111220
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111122
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111108
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111101
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111025
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111010
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110906
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110823
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110809
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110802
+packetLen(0x0437, 18) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110726
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110718
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110711
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110705
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110620
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110523
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110517
+packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110511
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110503
+packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110426
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110419
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110412
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110405
+packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110329
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110322
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110308
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110228
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110222
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110215
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110208
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110131
+packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110125
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110118
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110104
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20111227
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111220
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111122
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111114
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111108
+packetLen(0x0438, 8) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111025
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111017
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111010
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110928
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110920
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110906
+packetLen(0x0438, 26) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110831
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110823
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110809
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110802
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110726
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110718
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110627
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110620
+packetLen(0x0438, 18) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110517
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110503
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110426
+packetLen(0x0438, 8) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110419
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110412
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110405
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110329
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110322
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110308
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110228
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110222
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110215
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110208
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110131
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110125
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110118
+packetLen(0x0438, 8) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110104
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20111227
+packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20111220
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20111004
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110928
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110920
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110906
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110831
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110823
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110816
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110809
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110802
+packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110726
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110718
+packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110711
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110705
+packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110627
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110620
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110614
+packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110607
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110531
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110523
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110517
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110511
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110419
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110412
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110405
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110329
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110322
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110315
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110308
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110118
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110104
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20111227
+packetLen(0x07ec, 90) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111220
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111213
+packetLen(0x07ec, 10) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111207
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111122
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111114
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111108
+packetLen(0x07ec, 18) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111101
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111025
+packetLen(0x07ec, 10) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111017
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111010
+packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111004
+packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110928
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110920
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110906
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110831
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110823
+packetLen(0x07ec, 36) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110816
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110809
+packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110802
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110726
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110718
+packetLen(0x07ec, 12) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110711
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110705
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110620
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110614
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110607
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110531
+packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110523
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110517
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110503
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110426
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110419
+packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110405
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110329
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110322
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110308
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110228
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110222
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110131
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110118
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110104
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x07ff
+#if PACKETVER >= 20110718
+// removed
+#elif PACKETVER >= 20110104
+packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+#endif
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20111220
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111122
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111114
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111025
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111017
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111010
+packetLen(0x0802, 12) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111004
+packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110928
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110920
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110906
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110831
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110823
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110816
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110802
+packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110711
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110705
+packetLen(0x0802, 7) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110620
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110607
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110531
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110523
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110511
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110503
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110426
+packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110419
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110412
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110405
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110329
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110308
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110228
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110222
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110215
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110208
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110131
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110125
+packetLen(0x0802, 7) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110118
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110104
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20111227
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20111220
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20111122
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20111101
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20111010
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110928
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110920
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110906
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110823
+packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110809
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110802
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110726
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110718
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110711
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110627
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110620
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110517
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110511
+packetLen(0x0811, 90) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110426
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110419
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110412
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110405
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110329
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110322
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110308
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110228
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110215
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110208
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110131
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110125
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110118
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110104
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20111227
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111220
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111114
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111108
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111101
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111025
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111010
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111004
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110928
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110920
+packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110831
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110823
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110809
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110802
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110726
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110718
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110711
+packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110620
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110614
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110607
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110523
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110503
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110426
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110419
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110405
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110329
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110322
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110315
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110308
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110228
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110222
+packetLen(0x0815, 8) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110215
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110131
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110125
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110118
+packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110104
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20111220
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111213
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111108
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111101
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111025
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111017
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110906
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110831
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110718
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110711
+packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110705
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110627
+packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110419
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110412
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110329
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110322
+packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110104
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20111227
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111220
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111213
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111207
+packetLen(0x0819, 18) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111122
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111114
+packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111108
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111101
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111025
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111017
+packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111010
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110928
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110920
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110906
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110831
+packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110823
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110816
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110809
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110802
+packetLen(0x0819, 7) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110718
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110711
+packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110705
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110627
+packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110620
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110531
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110523
+packetLen(0x0819, 36) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110517
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110503
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110426
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110419
+packetLen(0x0819, 26) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110412
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110405
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110329
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110322
+packetLen(0x0819, 90) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110315
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110308
+packetLen(0x0819, 26) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110228
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110222
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110208
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110131
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110125
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110118
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110104
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20111213
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111207
+packetLen(0x0835, 10) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111122
+packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111108
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111101
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111025
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111010
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111004
+packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110906
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110831
+packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110823
+packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110809
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110802
+packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110726
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110718
+packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110711
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110705
+packetLen(0x0835, 36) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110627
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110503
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110426
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110412
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110405
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110315
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110308
+packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110222
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110215
+packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110208
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110131
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110125
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110118
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110104
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20111227
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111220
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111213
+packetLen(0x0838, 19) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111122
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111108
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111101
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111025
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111010
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110928
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110920
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110906
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110823
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110809
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110802
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110726
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110718
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110711
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110705
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110620
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110517
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110511
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110503
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110426
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110419
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110412
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110405
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110329
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110315
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110308
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110228
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110208
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110131
+packetLen(0x0838, 4) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110125
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110118
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110104
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20111227
+packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111220
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111122
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111114
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111108
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111101
+packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111017
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111010
+packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111004
+packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110928
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110920
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110906
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110831
+packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110823
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110816
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110809
+packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110726
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110718
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110711
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110705
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110627
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110620
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110523
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110511
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110503
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110426
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110419
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110412
+packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110405
+packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110329
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110322
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110315
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110308
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110228
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110208
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110131
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110125
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110118
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110104
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+
+// Packet: 0x085b
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+
+// Packet: 0x085c
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+
+// Packet: 0x085d
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+
+// Packet: 0x085e
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+
+// Packet: 0x085f
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+
+// Packet: 0x0860
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+
+// Packet: 0x0861
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+
+// Packet: 0x0862
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+
+// Packet: 0x0863
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+
+// Packet: 0x0864
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+
+// Packet: 0x0865
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+
+// Packet: 0x0866
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+
+// Packet: 0x0867
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+
+// Packet: 0x0868
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+
+// Packet: 0x0869
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+
+// Packet: 0x086a
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+
+// Packet: 0x086b
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+
+// Packet: 0x086c
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+
+// Packet: 0x086d
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+
+// Packet: 0x086e
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+
+// Packet: 0x086f
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+
+// Packet: 0x0870
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+
+// Packet: 0x0871
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+
+// Packet: 0x0872
+packetLen(0x0872, 2)
+
+// Packet: 0x0873
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+
+// Packet: 0x0874
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+
+// Packet: 0x0875
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+
+// Packet: 0x0876
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+
+// Packet: 0x0877
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+
+// Packet: 0x0878
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+
+// Packet: 0x0879
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+
+// Packet: 0x087a
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+
+// Packet: 0x087b
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+
+// Packet: 0x087c
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+
+// Packet: 0x087d
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+
+// Packet: 0x087e
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+
+// Packet: 0x087f
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+
+// Packet: 0x0880
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+
+// Packet: 0x0881
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+
+// Packet: 0x0882
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+
+// Packet: 0x0883
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+
+// Packet: 0x0884
+#if PACKETVER >= 20111114
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20111108
+packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20111025
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20111017
+packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20111010
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110928
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110920
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110831
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110823
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110802
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110726
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110718
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110711
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110705
+packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110627
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110620
+packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110523
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110517
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110503
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110426
+packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110315
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110308
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110215
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110208
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110131
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110104
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20111227
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111108
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111101
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111025
+packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111017
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111010
+packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111004
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110928
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110920
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110906
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110831
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110726
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110718
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110607
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110531
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110517
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110511
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110503
+packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110426
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110412
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110405
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110322
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110315
+packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110228
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110222
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110215
+packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110208
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110125
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110118
+packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110104
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20111227
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20111025
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20111017
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20111010
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110920
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110906
+packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110802
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110726
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110718
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110711
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110627
+packetLen(0x0886, 10) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110607
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110531
+packetLen(0x0886, 18) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110517
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110511
+packetLen(0x0886, 12) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110503
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110426
+packetLen(0x0886, 4) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110419
+packetLen(0x0886, 18) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110412
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110405
+packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110329
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110322
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110315
+packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110131
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110125
+packetLen(0x0886, 19) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110118
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110104
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20111220
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111213
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111207
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111122
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111114
+packetLen(0x0887, 7) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111101
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111025
+packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111010
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111004
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110906
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110831
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110802
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110726
+packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110711
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110705
+packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110627
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110620
+packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110523
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110517
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110511
+packetLen(0x0887, 18) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110412
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110405
+packetLen(0x0887, 12) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110322
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110315
+packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110308
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110228
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110222
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110215
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110208
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110131
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110111
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110104
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20111227
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111122
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111114
+packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111108
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111101
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111025
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110831
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110823
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110809
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110802
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110718
+packetLen(0x0888, 36) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110705
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110627
+packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110607
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110531
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110523
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110517
+packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110511
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110503
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110426
+packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110419
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110412
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110405
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110329
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110322
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110315
+packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110308
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110228
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110222
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110215
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110208
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110131
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110104
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20111227
+packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20111220
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20111213
+packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20111010
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20111004
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110809
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110802
+packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110607
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110531
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110523
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110517
+packetLen(0x0889, 10) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110511
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110503
+packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110426
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110419
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110412
+packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110405
+packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110329
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110322
+packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110315
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110308
+packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110228
+packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110222
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110215
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110104
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20111108
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20111101
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20111017
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20111010
+packetLen(0x088a, 18) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110906
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110831
+packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110718
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110711
+packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110627
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110620
+packetLen(0x088a, 7) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110419
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110412
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110329
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110322
+packetLen(0x088a, 18) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110228
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110222
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110215
+packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110208
+packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110111
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110104
+packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20111227
+packetLen(0x088b, 12) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111220
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111213
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111207
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111114
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111108
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110809
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110802
+packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110726
+packetLen(0x088b, 10) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110718
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110711
+packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110705
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110627
+packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110620
+packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110614
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110607
+packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110517
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110511
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110503
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110426
+packetLen(0x088b, 10) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110208
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110131
+packetLen(0x088b, 7) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110104
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20111213
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20111122
+packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20111017
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20111010
+packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20111004
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110928
+packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110920
+packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110831
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110823
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110802
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110726
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110705
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110627
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110511
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110503
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110322
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110315
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110125
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110118
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110104
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20111213
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111207
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111108
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111101
+packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111017
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111010
+packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110928
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110920
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110816
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110809
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110802
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110726
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110711
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110705
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110517
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110511
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110419
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110412
+packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110329
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110322
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110104
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20111025
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20111017
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110928
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110920
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110809
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110802
+packetLen(0x088e, 19) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110718
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110711
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110705
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110627
+packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110412
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110405
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110329
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110322
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110208
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110131
+packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110125
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110118
+packetLen(0x088e, 19) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110104
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20111220
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111213
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111207
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111025
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111017
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111010
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110906
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110831
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110823
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110816
+packetLen(0x088f, 36) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110809
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110802
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110718
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110711
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110627
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110620
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110517
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110511
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110412
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110405
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110329
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110322
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110308
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110228
+packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110125
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110118
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110111
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110104
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20111220
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111213
+packetLen(0x0890, 12) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111207
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111108
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111101
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111025
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111017
+packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111010
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110928
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110920
+packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110831
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110823
+packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110523
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110517
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110511
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110503
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110329
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110322
+packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110308
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110228
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110208
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110131
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110125
+packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110118
+packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110104
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20111227
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111220
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111213
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111207
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111122
+packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111025
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111010
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111004
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110928
+packetLen(0x0891, 4) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110920
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110718
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110711
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110627
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110620
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110517
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110511
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110503
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110426
+packetLen(0x0891, 7) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110329
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110322
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110315
+packetLen(0x0891, 36) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110215
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110208
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110131
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110104
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20111227
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111220
+packetLen(0x0892, 26) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111207
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111122
+packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111114
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111108
+packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110607
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110531
+packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110517
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110511
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110503
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110426
+packetLen(0x0892, 12) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110419
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110412
+packetLen(0x0892, 7) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110228
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110222
+packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110208
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110131
+packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110104
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20111227
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111220
+packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111213
+packetLen(0x0893, 10) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111122
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111108
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111101
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111025
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110920
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110906
+packetLen(0x0893, 5) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110831
+packetLen(0x0893, 90) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110823
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110816
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110809
+packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110802
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110726
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110718
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110711
+packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110308
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110228
+packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110222
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110215
+packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110208
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110131
+packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110104
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20111213
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111207
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111114
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111108
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111101
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111025
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111017
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111010
+packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110906
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110831
+packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110816
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110809
+packetLen(0x0894, 36) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110614
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110607
+packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110517
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110511
+packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110503
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110426
+packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110419
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110412
+packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110329
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110322
+packetLen(0x0894, 12) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110104
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20111207
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20111122
+packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20111114
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20111108
+packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20111101
+packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110906
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110831
+packetLen(0x0895, 36) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110802
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110726
+packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110718
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110711
+packetLen(0x0895, 12) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110627
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110620
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110412
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110405
+packetLen(0x0895, 10) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110104
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20111220
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111213
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111207
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111122
+packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111114
+packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111004
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110928
+packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110920
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110802
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110726
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110705
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110627
+packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110607
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110531
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110517
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110511
+packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110426
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110419
+packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110308
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110228
+packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110208
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110131
+packetLen(0x0896, 18) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110104
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20111227
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111220
+packetLen(0x0897, 36) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111213
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111207
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111108
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111101
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111025
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111017
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111010
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110809
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110802
+packetLen(0x0897, 10) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110726
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110705
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110627
+packetLen(0x0897, 12) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110620
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110517
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110511
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110315
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110308
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110228
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110208
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110131
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110125
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110118
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110104
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20111220
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111213
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111207
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111122
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111108
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111101
+packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111025
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111017
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111010
+packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110831
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110823
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110705
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110627
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110511
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110503
+packetLen(0x0898, 12) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110329
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110322
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110308
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110222
+packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110208
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110131
+packetLen(0x0898, 12) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110125
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110118
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110104
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20111207
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20111122
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20111114
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20111108
+packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110928
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110920
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110831
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110823
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110802
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110726
+packetLen(0x0899, 7) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110718
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110711
+packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110705
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110627
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110620
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110511
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110503
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110426
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110419
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110412
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110405
+packetLen(0x0899, 7) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110104
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20111220
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111213
+packetLen(0x089a, 90) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111122
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111114
+packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111010
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111004
+packetLen(0x089a, 4) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110928
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110920
+packetLen(0x089a, 10) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110726
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110718
+packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110711
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110517
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110511
+packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110503
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110208
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110131
+packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110104
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20111227
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111213
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111207
+packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111101
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111025
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111017
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111010
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111004
+packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110928
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110920
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110831
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110823
+packetLen(0x089b, 19) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110802
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110726
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110718
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110711
+packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110705
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110627
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110620
+packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110607
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110531
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110523
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110511
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110503
+packetLen(0x089b, 90) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110426
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110419
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110412
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110405
+packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110308
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110228
+packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110125
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110118
+packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110111
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110104
+packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20111227
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111220
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111213
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111122
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111114
+packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111025
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111010
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110928
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110920
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110831
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110823
+packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110816
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110809
+packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110718
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110711
+packetLen(0x089c, 7) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110627
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110620
+packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110503
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110426
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110329
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110322
+packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110315
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110308
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110228
+packetLen(0x089c, 12) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110215
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110208
+packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110131
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110125
+packetLen(0x089c, 4) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110118
+packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110104
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20111213
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20111207
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20111122
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20111114
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110928
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110920
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110906
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110831
+packetLen(0x089d, 7) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110802
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110726
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110718
+packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110711
+packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110523
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110517
+packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110511
+packetLen(0x089d, 10) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110503
+packetLen(0x089d, 4) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110419
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110412
+packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110228
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110222
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110215
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110208
+packetLen(0x089d, 26) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110104
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20111207
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111122
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111108
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111101
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111025
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111017
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110802
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110726
+packetLen(0x089e, 19) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110607
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110531
+packetLen(0x089e, 36) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110517
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110511
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110503
+packetLen(0x089e, 10) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110419
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110412
+packetLen(0x089e, 18) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110329
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110322
+packetLen(0x089e, 19) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110308
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110228
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110208
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110125
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110104
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20111025
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20111017
+packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110802
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110726
+packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110627
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110620
+packetLen(0x089f, 12) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110511
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110503
+packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110419
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110412
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110405
+packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110308
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110228
+packetLen(0x089f, 19) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110222
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110215
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110104
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20110928
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110920
+packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110906
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110831
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110711
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110705
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110627
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110620
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110517
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110511
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110308
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110228
+packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110215
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110208
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110104
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20111207
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111122
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111114
+packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111108
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111101
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111025
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111017
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110831
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110823
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110627
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110620
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110419
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110412
+packetLen(0x08a1, 90) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110208
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110131
+packetLen(0x08a1, 26) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110125
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110104
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20111227
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111207
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111122
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111114
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111108
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111101
+packetLen(0x08a2, 12) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111025
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111017
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111010
+packetLen(0x08a2, 90) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111004
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110928
+packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110809
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110802
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110718
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110711
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110705
+packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110627
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110620
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110523
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110517
+packetLen(0x08a2, 18) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110308
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110228
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110208
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110131
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110125
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110118
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110104
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20110831
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110823
+packetLen(0x08a3, 7) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110523
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110517
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110511
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110503
+packetLen(0x08a3, 10) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110412
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110405
+packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110215
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110208
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110104
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20111227
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111220
+packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111207
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111122
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111017
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111010
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111004
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110928
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110920
+packetLen(0x08a4, 7) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110906
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110831
+packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110823
+packetLen(0x08a4, 4) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110809
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110802
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110726
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110718
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110711
+packetLen(0x08a4, 90) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110627
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110620
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110614
+packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110517
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110511
+packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110426
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110419
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110412
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110329
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110322
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110228
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110222
+packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110131
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110125
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110104
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20111220
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20111213
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20111207
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20111108
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20111101
+packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110906
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110831
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110802
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110726
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110705
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110627
+packetLen(0x08a5, 7) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110607
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110531
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110511
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110503
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110426
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110412
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110405
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110329
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110322
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110315
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110308
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110228
+packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110131
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110125
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110104
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20111227
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111220
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111213
+packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111101
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111025
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111017
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111010
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110928
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110920
+packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110906
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110831
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110816
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110809
+packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110802
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110726
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110718
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110711
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110705
+packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110104
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20111227
+packetLen(0x08a7, 19) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111220
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111213
+packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111207
+packetLen(0x08a7, 90) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111010
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111004
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110906
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110831
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110705
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110627
+packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110620
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110614
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110607
+packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110531
+packetLen(0x08a7, 19) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110503
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110426
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110228
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110222
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110215
+packetLen(0x08a7, 26) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110208
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110131
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110125
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110118
+packetLen(0x08a7, 12) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110104
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20111213
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111207
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111114
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111108
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111101
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111025
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110928
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110920
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110802
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110726
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110419
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110412
+packetLen(0x08a8, 12) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110329
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110322
+packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110308
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110228
+packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110215
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110208
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110104
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20111213
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20111207
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110809
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110802
+packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110705
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110627
+packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110620
+packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110523
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110517
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110419
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110412
+packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110405
+packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110329
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110322
+packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110222
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110215
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110125
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110118
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110104
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20111220
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111213
+packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111207
+packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111108
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111101
+packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111025
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111017
+packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110928
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110920
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110906
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110823
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110523
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110517
+packetLen(0x08aa, 19) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110511
+packetLen(0x08aa, 10) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110503
+packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110426
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110419
+packetLen(0x08aa, 19) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110228
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110222
+packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110208
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110131
+packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110104
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20111213
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20111207
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20111108
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20111101
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20111025
+packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110809
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110802
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110718
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110711
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110620
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110614
+packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110523
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110517
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110511
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110503
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110412
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110405
+packetLen(0x08ab, 10) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110329
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110322
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110228
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110222
+packetLen(0x08ab, 19) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110111
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110104
+packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20111227
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110809
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110802
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110726
+packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110511
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110503
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110426
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110308
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110228
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110215
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110208
+packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110131
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110125
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110104
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20111227
+packetLen(0x08ad, 7) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111220
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111207
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111122
+packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111114
+packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111108
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111101
+packetLen(0x08ad, 90) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111025
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111004
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110928
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110920
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110906
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110831
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110809
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110802
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110726
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110718
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110711
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110705
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110620
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110614
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110517
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110426
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110419
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110412
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110405
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110329
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110322
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110308
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110228
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110222
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110215
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110208
+packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110131
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110125
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110118
+packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110104
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+#if PACKETVER >= 20110111
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+#endif
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+#if PACKETVER >= 20110111
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+#endif
+
+// Packet: 0x08b4
+#if PACKETVER >= 20110125
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+#endif
+
+// Packet: 0x08b5
+#if PACKETVER >= 20110125
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+#endif
+
+// Packet: 0x08b6
+#if PACKETVER >= 20110125
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+#endif
+
+// Packet: 0x08b7
+#if PACKETVER >= 20110222
+// removed
+#elif PACKETVER >= 20110215
+packetLen(0x08b7, 10) // HC_SECOND_PASSWD_REQ
+#endif
+
+// Packet: 0x08b8
+#if PACKETVER >= 20110308
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+#elif PACKETVER >= 20110215
+packetLen(0x08b8, 12) // CH_SECOND_PASSWD_ACK
+#endif
+
+// Packet: 0x08b9
+#if PACKETVER >= 20110222
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+#endif
+
+// Packet: 0x08ba
+#if PACKETVER >= 20110308
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08ba, 12) // CH_MAKE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08bb
+#if PACKETVER >= 20110308
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08bb, 4) // HC_MAKE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08bc
+#if PACKETVER >= 20110308
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08bc, 12) // CH_DELETE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08bd
+#if PACKETVER >= 20111207
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08bd, 12) // HC_DELETE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08be
+#if PACKETVER >= 20110308
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+#elif PACKETVER >= 20110228
+packetLen(0x08be, 18) // CH_EDIT_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08be, 12) // CH_EDIT_SECOND_PASSWD
+#endif
+
+// Packet: 0x08bf
+#if PACKETVER >= 20110308
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08bf, 4) // HC_EDIT_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c0
+#if PACKETVER >= 20110222
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+#endif
+
+// Packet: 0x08c1
+#if PACKETVER >= 20110222
+packetLen(0x08c1, 2) // CZ_MACRO_START
+#endif
+
+// Packet: 0x08c2
+#if PACKETVER >= 20110222
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+#endif
+
+// Packet: 0x08c3
+#if PACKETVER >= 20110308
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+#elif PACKETVER >= 20110228
+packetLen(0x08c3, 12) // CH_NOT_AVAILABLE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c4
+#if PACKETVER >= 20110308
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+#elif PACKETVER >= 20110228
+packetLen(0x08c4, 4) // HC_NOT_AVAILABLE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c5
+#if PACKETVER >= 20110308
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+#elif PACKETVER >= 20110228
+packetLen(0x08c5, 12) // CH_AVAILABLE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c6
+#if PACKETVER >= 20110228
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c7
+#if PACKETVER >= 20110419
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+#endif
+
+// Packet: 0x08c8
+#if PACKETVER >= 20110614
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+#endif
+
+// Packet: 0x08c9
+#if PACKETVER >= 20110614
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+#endif
+
+// Packet: 0x08ca
+#if PACKETVER >= 20110614
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+#endif
+
+// Packet: 0x08cb
+#if PACKETVER >= 20110627
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+#endif
+
+// Packet: 0x08cc
+#if PACKETVER >= 20110726
+packetLen(0x08cc, 109) // CA_LOGIN5
+#elif PACKETVER >= 20110711
+// removed
+#elif PACKETVER >= 20110705
+packetLen(0x08cc, 5) // CA_LOGIN5
+#endif
+
+// Packet: 0x08cd
+#if PACKETVER >= 20110802
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+#endif
+
+// Packet: 0x08ce
+#if PACKETVER >= 20110809
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+#elif PACKETVER >= 20110802
+packetLen(0x08ce, 10) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+#endif
+
+// Packet: 0x08cf
+#if PACKETVER >= 20110809
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+#endif
+
+// Packet: 0x08d0
+#if PACKETVER >= 20110809
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+#endif
+
+// Packet: 0x08d1
+#if PACKETVER >= 20110809
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+#endif
+
+// Packet: 0x08d2
+#if PACKETVER >= 20110809
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+#endif
+
+// Packet: 0x08d3
+#if PACKETVER >= 20110816
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+#endif
+
+// Packet: 0x08d4
+#if PACKETVER >= 20111101
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+#elif PACKETVER >= 20110928
+packetLen(0x08d4, 12) // CH_REQ_CHANGE_CHARACTER_SLOT
+#elif PACKETVER >= 20110920
+packetLen(0x08d4, 10) // CH_REQ_CHANGE_CHARACTER_SLOT
+#elif PACKETVER >= 20110906
+packetLen(0x08d4, 14) // CH_REQ_CHANGE_CHARACTER_SLOT
+#endif
+
+// Packet: 0x08d5
+#if PACKETVER >= 20110906
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+#endif
+
+// Packet: 0x08d6
+#if PACKETVER >= 20110928
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+#endif
+
+// Packet: 0x08d7
+#if PACKETVER >= 20111004
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+#endif
+
+// Packet: 0x08d8
+#if PACKETVER >= 20111004
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+#endif
+
+// Packet: 0x08d9
+#if PACKETVER >= 20111004
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+#endif
+
+// Packet: 0x08da
+#if PACKETVER >= 20111004
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+#endif
+
+// Packet: 0x08db
+#if PACKETVER >= 20111004
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+#endif
+
+// Packet: 0x08dc
+#if PACKETVER >= 20111004
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+#endif
+
+// Packet: 0x08dd
+#if PACKETVER >= 20111004
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+#endif
+
+// Packet: 0x08de
+#if PACKETVER >= 20111004
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+#endif
+
+// Packet: 0x08df
+#if PACKETVER >= 20111004
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+#endif
+
+// Packet: 0x08e0
+#if PACKETVER >= 20111004
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+#endif
+
+// Packet: 0x08e1
+#if PACKETVER >= 20111004
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+#endif
+
+// Packet: 0x08e2
+#if PACKETVER >= 20111108
+packetLen(0x08e2, 25) // ZC_NAVIGATION_ACTIVE
+#elif PACKETVER >= 20111004
+packetLen(0x08e2, 23) // ZC_NAVIGATION_ACTIVE
+#endif
+
+// Packet: 0x08e3
+#if PACKETVER >= 20111101
+packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+#elif PACKETVER >= 20111017
+packetLen(0x08e3, 138) // HC_UPDATE_CHARINFO
+#endif
+
+// Packet: 0x08e4
+#if PACKETVER >= 20111025
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+#endif
+
+// Packet: 0x08e5
+#if PACKETVER >= 20111025
+packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+#endif
+
+// Packet: 0x08e6
+#if PACKETVER >= 20111025
+packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+#endif
+
+// Packet: 0x08e7
+#if PACKETVER >= 20111025
+packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+#endif
+
+// Packet: 0x08e8
+#if PACKETVER >= 20111025
+packetLen(0x08e8, -1)
+#endif
+
+// Packet: 0x08e9
+#if PACKETVER >= 20111025
+packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+#endif
+
+// Packet: 0x08ea
+#if PACKETVER >= 20111025
+packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+#endif
+
+// Packet: 0x08eb
+#if PACKETVER >= 20111025
+packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+#endif
+
+// Packet: 0x08ec
+#if PACKETVER >= 20111025
+packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+#endif
+
+// Packet: 0x08ed
+#if PACKETVER >= 20111025
+packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+#endif
+
+// Packet: 0x08ee
+#if PACKETVER >= 20111025
+packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+#endif
+
+// Packet: 0x08ef
+#if PACKETVER >= 20111101
+packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#elif PACKETVER >= 20111025
+packetLen(0x08ef, -1) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#endif
+
+// Packet: 0x08f0
+#if PACKETVER >= 20111101
+packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#elif PACKETVER >= 20111025
+packetLen(0x08f0, -1) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#endif
+
+// Packet: 0x08f1
+#if PACKETVER >= 20111025
+packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+#endif
+
+// Packet: 0x08f2
+#if PACKETVER >= 20111101
+packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+#elif PACKETVER >= 20111025
+packetLen(0x08f2, 12) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+#endif
+
+// Packet: 0x08f3
+#if PACKETVER >= 20111025
+packetLen(0x08f3, -1)
+#endif
+
+// Packet: 0x08f4
+#if PACKETVER >= 20111025
+packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+#endif
+
+// Packet: 0x08f5
+#if PACKETVER >= 20111108
+packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+#elif PACKETVER >= 20111025
+packetLen(0x08f5, 2) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+#endif
+
+// Packet: 0x08f6
+#if PACKETVER >= 20111108
+packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+#elif PACKETVER >= 20111025
+packetLen(0x08f6, 6) // ZC_PARTY_RECRUIT_RECALL_COST
+#endif
+
+// Packet: 0x08f7
+#if PACKETVER >= 20111108
+packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+#elif PACKETVER >= 20111101
+packetLen(0x08f7, -1) // CZ_PARTY_RECRUIT_ACK_RECALL
+#elif PACKETVER >= 20111025
+packetLen(0x08f7, 6) // CZ_PARTY_RECRUIT_ACK_RECALL
+#endif
+
+// Packet: 0x08f8
+#if PACKETVER >= 20111108
+packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+#elif PACKETVER >= 20111025
+packetLen(0x08f8, 6) // ZC_PARTY_RECRUIT_FAILED_RECALL
+#endif
+
+// Packet: 0x08f9
+#if PACKETVER >= 20111108
+packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+#endif
+
+// Packet: 0x08fa
+#if PACKETVER >= 20111108
+packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+#endif
+
+// Packet: 0x08fb
+#if PACKETVER >= 20111122
+packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+#endif
+
+// Packet: 0x08fc
+#if PACKETVER >= 20111101
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+#endif
+
+// Packet: 0x08fd
+#if PACKETVER >= 20111101
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+#endif
+
+// Packet: 0x08fe
+#if PACKETVER >= 20111101
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+#endif
+
+// Packet: 0x08ff
+#if PACKETVER >= 20111101
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+#endif
+
+// Packet: 0x0900
+#if PACKETVER >= 20111122
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+#endif
+
+// Packet: 0x0901
+#if PACKETVER >= 20111122
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+#endif
+
+// Packet: 0x0902
+#if PACKETVER >= 20111122
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+#endif
+
+// Packet: 0x0903
+#if PACKETVER >= 20111122
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+#endif
+
+// Packet: 0x0904
+#if PACKETVER >= 20111122
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+#endif
+
+// Packet: 0x0905
+#if PACKETVER >= 20111122
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+#endif
+
+// Packet: 0x0906
+#if PACKETVER >= 20111122
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+#endif
+
+// Packet: 0x0907
+#if PACKETVER >= 20111122
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+#endif
+
+// Packet: 0x0908
+#if PACKETVER >= 20111122
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+#endif
+
+// Packet: 0x0909
+#if PACKETVER >= 20111122
+packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+#endif
+
+// Packet: 0x090a
+#if PACKETVER >= 20111207
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+#endif
+
+// Packet: 0x090b
+#if PACKETVER >= 20111207
+packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#endif
+
+// Packet: 0x090c
+#if PACKETVER >= 20111207
+packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#endif
+
+// Packet: 0x090d
+#if PACKETVER >= 20111227
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+#endif
+
+// Packet: 0x090e
+#if PACKETVER >= 20111227
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+#endif
+
+// Packet: 0x09dc
+#if PACKETVER >= 20110809
+// removed
+#elif PACKETVER >= 20110802
+packetLen(0x09dc, 2) // ZC_NOTIFY_NEWENTRY10
+#endif
+
+
+#endif /* COMMON_PACKETS2011_LEN_MAIN_H */
diff --git a/src/common/packets/packets2011_len_re.h b/src/common/packets/packets2011_len_re.h
new file mode 100644
index 000000000..58e647cac
--- /dev/null
+++ b/src/common/packets/packets2011_len_re.h
@@ -0,0 +1,4781 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2011_LEN_RE_H
+#define COMMON_PACKETS2011_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20111025
+packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20110928
+packetLen(0x006d, 142) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20110111
+packetLen(0x006d, 138) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20110104
+packetLen(0x006d, 134) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20111220
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111213
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111207
+packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111122
+packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111101
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111025
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111017
+packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20111010
+packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110920
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110906
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110823
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110816
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20110104
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20111227
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111220
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111213
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111207
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111122
+packetLen(0x022d, 7) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111114
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111108
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111025
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111017
+packetLen(0x022d, 12) // CZ_COMMAND_MER
+#elif PACKETVER >= 20111004
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110920
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110906
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110823
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110816
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20110104
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20111220
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111213
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111207
+packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111114
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111108
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111101
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111025
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111010
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20111004
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110928
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110920
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110906
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110831
+packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110823
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110816
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20110104
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20111227
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111220
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111213
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111207
+packetLen(0x0281, 7) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111122
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111114
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111108
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111101
+packetLen(0x0281, 36) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111025
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20111004
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110928
+packetLen(0x0281, 5) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110920
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110906
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110823
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110816
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20110104
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20111227
+packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111220
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111213
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111122
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111108
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111101
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111010
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20111004
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110831
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110823
+packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110816
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20110104
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+#if PACKETVER >= 20110131
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20110131
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20110131
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20110131
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20111227
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111220
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111213
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111207
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111108
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111101
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111025
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111017
+packetLen(0x035f, 19) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20111010
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110928
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110920
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110906
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110823
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110816
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20110104
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20111227
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111220
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111122
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111108
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111101
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111025
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111017
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20111004
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110928
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110920
+packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110906
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110831
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110823
+packetLen(0x0360, 12) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20110104
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20111220
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111213
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111207
+packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111122
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111114
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111025
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111017
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111010
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20111004
+packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110928
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110831
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110823
+packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20110104
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20111213
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111207
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111122
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111017
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111010
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20111004
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110928
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110920
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110906
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110831
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110823
+packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20110104
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20111227
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111220
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111207
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111122
+packetLen(0x0363, 90) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111114
+packetLen(0x0363, 18) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111101
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111025
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111017
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111010
+packetLen(0x0363, 7) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20111004
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110928
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110920
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110906
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110823
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110816
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20110104
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20111227
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111220
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111207
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111114
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111108
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111101
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111017
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111010
+packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20111004
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110928
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110920
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110906
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110823
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20110104
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20111227
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111220
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111213
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111207
+packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111122
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111114
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111108
+packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111010
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20111004
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110928
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110920
+packetLen(0x0365, 90) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110906
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110831
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110823
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110816
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20110104
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20111227
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111220
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111213
+packetLen(0x0366, 4) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111207
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111122
+packetLen(0x0366, 12) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111108
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111101
+packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111025
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111017
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20111010
+packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110928
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110920
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110906
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110831
+packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110823
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110816
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20110104
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20111220
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111213
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111207
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111122
+packetLen(0x0367, 4) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111101
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111025
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111017
+packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111010
+packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20111004
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110906
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110831
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110816
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20110104
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20111227
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20111220
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20111122
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20111108
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20111101
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20111025
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20111010
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110906
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20110831
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20110104
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20111227
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111220
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111207
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111122
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111114
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111108
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111101
+packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111025
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111010
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20111004
+packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110928
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110920
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110906
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110831
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110823
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110816
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20110104
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20111227
+packetLen(0x0436, 10) // CZ_ENTER2
+#elif PACKETVER >= 20111213
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20111122
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20111108
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20111101
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20111025
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20111017
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20111010
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20111004
+packetLen(0x0436, 19) // CZ_ENTER2
+#elif PACKETVER >= 20110928
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110920
+packetLen(0x0436, 12) // CZ_ENTER2
+#elif PACKETVER >= 20110906
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20110831
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20110823
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20110816
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20110104
+packetLen(0x0436, 19) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20111220
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111122
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111108
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111101
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111025
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20111010
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110906
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110823
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110816
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20110104
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20111227
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111220
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111122
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111114
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111108
+packetLen(0x0438, 8) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111025
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111017
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20111010
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110928
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110920
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110906
+packetLen(0x0438, 26) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110831
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110823
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20110104
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20111227
+packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20111220
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20111004
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110928
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110920
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110906
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110831
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110823
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110816
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20110104
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20111227
+packetLen(0x07ec, 90) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111220
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111213
+packetLen(0x07ec, 10) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111207
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111122
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111114
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111108
+packetLen(0x07ec, 18) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111101
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111025
+packetLen(0x07ec, 10) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111017
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111010
+packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20111004
+packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110928
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110920
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110906
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110831
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110823
+packetLen(0x07ec, 36) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20110104
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x07ff
+#if PACKETVER >= 20110719
+// removed
+#elif PACKETVER >= 20110104
+packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+#endif
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20111220
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111122
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111114
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111025
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111017
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111010
+packetLen(0x0802, 12) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20111004
+packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110928
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110920
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110906
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110831
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110823
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110816
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20110104
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20111227
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20111220
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20111122
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20111101
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20111010
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110928
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110920
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110906
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110823
+packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20110104
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20111227
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111220
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111114
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111108
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111101
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111025
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111010
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20111004
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110928
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110920
+packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110831
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110823
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110816
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20110104
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20111220
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111213
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111108
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111101
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111025
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20111017
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110906
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110831
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110816
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20110104
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20111227
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111220
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111213
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111207
+packetLen(0x0819, 18) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111122
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111114
+packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111108
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111101
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111025
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111017
+packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20111010
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110928
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110920
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110906
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110831
+packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110823
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20110104
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20111213
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111207
+packetLen(0x0835, 10) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111122
+packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111108
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111101
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111025
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111010
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20111004
+packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110906
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110831
+packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110823
+packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110816
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20110104
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20111227
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111220
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111213
+packetLen(0x0838, 19) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111122
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111108
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111101
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111025
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20111010
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110928
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110920
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110906
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110823
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110816
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20110104
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20111227
+packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111220
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111122
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111114
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111108
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111101
+packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111017
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111010
+packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20111004
+packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110928
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110920
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110906
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110831
+packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110823
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110816
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20110104
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+
+// Packet: 0x085b
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+
+// Packet: 0x085c
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+
+// Packet: 0x085d
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+
+// Packet: 0x085e
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+
+// Packet: 0x085f
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+
+// Packet: 0x0860
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+
+// Packet: 0x0861
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+
+// Packet: 0x0862
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+
+// Packet: 0x0863
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+
+// Packet: 0x0864
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+
+// Packet: 0x0865
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+
+// Packet: 0x0866
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+
+// Packet: 0x0867
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+
+// Packet: 0x0868
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+
+// Packet: 0x0869
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+
+// Packet: 0x086a
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+
+// Packet: 0x086b
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+
+// Packet: 0x086c
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+
+// Packet: 0x086d
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+
+// Packet: 0x086e
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+
+// Packet: 0x086f
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+
+// Packet: 0x0870
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+
+// Packet: 0x0871
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+
+// Packet: 0x0872
+packetLen(0x0872, 2)
+
+// Packet: 0x0873
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+
+// Packet: 0x0874
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+
+// Packet: 0x0875
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+
+// Packet: 0x0876
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+
+// Packet: 0x0877
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+
+// Packet: 0x0878
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+
+// Packet: 0x0879
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+
+// Packet: 0x087a
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+
+// Packet: 0x087b
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+
+// Packet: 0x087c
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+
+// Packet: 0x087d
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+
+// Packet: 0x087e
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+
+// Packet: 0x087f
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+
+// Packet: 0x0880
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+
+// Packet: 0x0881
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+
+// Packet: 0x0882
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+
+// Packet: 0x0883
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+
+// Packet: 0x0884
+#if PACKETVER >= 20111114
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20111108
+packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20111025
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20111017
+packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20111010
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110928
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110920
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110831
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110823
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20110104
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20111227
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111108
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111101
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111025
+packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111017
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111010
+packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20111004
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110928
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110920
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110906
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110831
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20110104
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20111227
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20111025
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20111017
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20111010
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110920
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110906
+packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20110104
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20111220
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111213
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111207
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111122
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111114
+packetLen(0x0887, 7) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111101
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111025
+packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111010
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20111004
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110906
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110831
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20110104
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20111227
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111122
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111114
+packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111108
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111101
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20111025
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110831
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110823
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20110104
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20111227
+packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20111220
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20111213
+packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20111010
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20111004
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20110104
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20111108
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20111101
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20111017
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20111010
+packetLen(0x088a, 18) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110906
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110831
+packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20110104
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20111227
+packetLen(0x088b, 12) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111220
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111213
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111207
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111114
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20111108
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20110104
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20111213
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20111122
+packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20111017
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20111010
+packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20111004
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110928
+packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110920
+packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110831
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110823
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20110104
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20111213
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111207
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111108
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111101
+packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111017
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20111010
+packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110928
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110920
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20110104
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20111025
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20111017
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110928
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110920
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20110104
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20111220
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111213
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111207
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111025
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111017
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20111010
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110906
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110831
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110823
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110816
+packetLen(0x088f, 36) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20110104
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20111220
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111213
+packetLen(0x0890, 12) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111207
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111108
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111101
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111025
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111017
+packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20111010
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110928
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110920
+packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110831
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110823
+packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20110104
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20111227
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111220
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111213
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111207
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111122
+packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111025
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111010
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20111004
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110928
+packetLen(0x0891, 4) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110920
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20110104
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20111227
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111220
+packetLen(0x0892, 26) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111207
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111122
+packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111114
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20111108
+packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20110104
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20111227
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111220
+packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111213
+packetLen(0x0893, 10) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111122
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111108
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111101
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20111025
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110920
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110906
+packetLen(0x0893, 5) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110831
+packetLen(0x0893, 90) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110823
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20110104
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20111213
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111207
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111114
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111108
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111101
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111025
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111017
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20111010
+packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110906
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110831
+packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20110104
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20111207
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20111122
+packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20111114
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20111108
+packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20111101
+packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110906
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110831
+packetLen(0x0895, 36) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20110104
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20111220
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111213
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111207
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111122
+packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111114
+packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20111004
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110928
+packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110920
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20110104
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20111227
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111220
+packetLen(0x0897, 36) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111213
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111207
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111108
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111101
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111025
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111017
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20111010
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20110104
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20111220
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111213
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111207
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111122
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111108
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111101
+packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111025
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111017
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20111010
+packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110831
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110823
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20110104
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20111207
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20111122
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20111114
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20111108
+packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110928
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110920
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110831
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110823
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20110104
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20111220
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111213
+packetLen(0x089a, 90) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111122
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111114
+packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111010
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20111004
+packetLen(0x089a, 4) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110928
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110920
+packetLen(0x089a, 10) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20110104
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20111227
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111213
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111207
+packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111101
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111025
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111017
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111010
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20111004
+packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110928
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110920
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110831
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110823
+packetLen(0x089b, 19) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20110104
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20111227
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111220
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111213
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111122
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111114
+packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111025
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20111010
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110928
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110920
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110831
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110823
+packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20110104
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20111213
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20111207
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20111122
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20111114
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110928
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110920
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110906
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110831
+packetLen(0x089d, 7) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20110104
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20111207
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111122
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111108
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111101
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111025
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20111017
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20110104
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20111025
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20111017
+packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20110104
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20110928
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110920
+packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110906
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110831
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20110104
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20111207
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111122
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111114
+packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111108
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111101
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111025
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20111017
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110831
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110823
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20110104
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20111227
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111207
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111122
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111114
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111108
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111101
+packetLen(0x08a2, 12) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111025
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111017
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111010
+packetLen(0x08a2, 90) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20111004
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110928
+packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20110104
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20110831
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110823
+packetLen(0x08a3, 7) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20110104
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20111227
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111220
+packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111207
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111122
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111017
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111010
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20111004
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110928
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110920
+packetLen(0x08a4, 7) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110906
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110831
+packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110823
+packetLen(0x08a4, 4) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20110104
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20111220
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20111213
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20111207
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20111108
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20111101
+packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110906
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110831
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20110104
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20111227
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111220
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111213
+packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111101
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111025
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111017
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20111010
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110928
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110920
+packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110906
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110831
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20110104
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20111227
+packetLen(0x08a7, 19) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111220
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111213
+packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111207
+packetLen(0x08a7, 90) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111010
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20111004
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110906
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110831
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20110104
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20111213
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111207
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111114
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111108
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111101
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20111025
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110928
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110920
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20110104
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20111213
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20111207
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20110104
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20111220
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111213
+packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111207
+packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111108
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111101
+packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111025
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20111017
+packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110928
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110920
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110906
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110823
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20110104
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20111213
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20111207
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20111108
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20111101
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20111025
+packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20110104
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20111227
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20110104
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20111227
+packetLen(0x08ad, 7) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111220
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111207
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111122
+packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111114
+packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111108
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111101
+packetLen(0x08ad, 90) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111025
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20111004
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110928
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110920
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110906
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110831
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110816
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20110104
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+#if PACKETVER >= 20110111
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+#endif
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+#if PACKETVER >= 20110111
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+#endif
+
+// Packet: 0x08b4
+#if PACKETVER >= 20110125
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+#endif
+
+// Packet: 0x08b5
+#if PACKETVER >= 20110125
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+#endif
+
+// Packet: 0x08b6
+#if PACKETVER >= 20110125
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+#endif
+
+// Packet: 0x08b7
+#if PACKETVER >= 20110222
+// removed
+#elif PACKETVER >= 20110215
+packetLen(0x08b7, 10) // HC_SECOND_PASSWD_REQ
+#endif
+
+// Packet: 0x08b8
+#if PACKETVER >= 20110308
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+#elif PACKETVER >= 20110215
+packetLen(0x08b8, 12) // CH_SECOND_PASSWD_ACK
+#endif
+
+// Packet: 0x08b9
+#if PACKETVER >= 20110222
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+#endif
+
+// Packet: 0x08ba
+#if PACKETVER >= 20110308
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08ba, 12) // CH_MAKE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08bb
+#if PACKETVER >= 20110308
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08bb, 4) // HC_MAKE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08bc
+#if PACKETVER >= 20110308
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08bc, 12) // CH_DELETE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08bd
+#if PACKETVER >= 20111207
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08bd, 12) // HC_DELETE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08be
+#if PACKETVER >= 20110308
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+#elif PACKETVER >= 20110228
+packetLen(0x08be, 18) // CH_EDIT_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08be, 12) // CH_EDIT_SECOND_PASSWD
+#endif
+
+// Packet: 0x08bf
+#if PACKETVER >= 20110308
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+#elif PACKETVER >= 20110222
+packetLen(0x08bf, 4) // HC_EDIT_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c0
+#if PACKETVER >= 20110222
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+#endif
+
+// Packet: 0x08c1
+#if PACKETVER >= 20110222
+packetLen(0x08c1, 2) // CZ_MACRO_START
+#endif
+
+// Packet: 0x08c2
+#if PACKETVER >= 20110222
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+#endif
+
+// Packet: 0x08c3
+#if PACKETVER >= 20110308
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+#elif PACKETVER >= 20110228
+packetLen(0x08c3, 12) // CH_NOT_AVAILABLE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c4
+#if PACKETVER >= 20110308
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+#elif PACKETVER >= 20110228
+packetLen(0x08c4, 4) // HC_NOT_AVAILABLE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c5
+#if PACKETVER >= 20110308
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+#elif PACKETVER >= 20110228
+packetLen(0x08c5, 12) // CH_AVAILABLE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c6
+#if PACKETVER >= 20110228
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+#endif
+
+// Packet: 0x08c7
+#if PACKETVER >= 20110419
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+#endif
+
+// Packet: 0x08c8
+#if PACKETVER >= 20110614
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+#endif
+
+// Packet: 0x08c9
+#if PACKETVER >= 20110614
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+#endif
+
+// Packet: 0x08ca
+#if PACKETVER >= 20110614
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+#endif
+
+// Packet: 0x08cb
+#if PACKETVER >= 20110628
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+#endif
+
+// Packet: 0x08cc
+#if PACKETVER >= 20110726
+packetLen(0x08cc, 109) // CA_LOGIN5
+#elif PACKETVER >= 20110713
+// removed
+#elif PACKETVER >= 20110706
+packetLen(0x08cc, 5) // CA_LOGIN5
+#endif
+
+// Packet: 0x08cd
+#if PACKETVER >= 20110803
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+#endif
+
+// Packet: 0x08ce
+#if PACKETVER >= 20110810
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+#elif PACKETVER >= 20110803
+packetLen(0x08ce, 10) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+#endif
+
+// Packet: 0x08cf
+#if PACKETVER >= 20110810
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+#endif
+
+// Packet: 0x08d0
+#if PACKETVER >= 20110810
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+#endif
+
+// Packet: 0x08d1
+#if PACKETVER >= 20110810
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+#endif
+
+// Packet: 0x08d2
+#if PACKETVER >= 20110810
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+#endif
+
+// Packet: 0x08d3
+#if PACKETVER >= 20110816
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+#endif
+
+// Packet: 0x08d4
+#if PACKETVER >= 20111101
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+#elif PACKETVER >= 20110928
+packetLen(0x08d4, 12) // CH_REQ_CHANGE_CHARACTER_SLOT
+#elif PACKETVER >= 20110920
+packetLen(0x08d4, 10) // CH_REQ_CHANGE_CHARACTER_SLOT
+#elif PACKETVER >= 20110906
+packetLen(0x08d4, 14) // CH_REQ_CHANGE_CHARACTER_SLOT
+#endif
+
+// Packet: 0x08d5
+#if PACKETVER >= 20110906
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+#endif
+
+// Packet: 0x08d6
+#if PACKETVER >= 20110928
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+#endif
+
+// Packet: 0x08d7
+#if PACKETVER >= 20111004
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+#endif
+
+// Packet: 0x08d8
+#if PACKETVER >= 20111004
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+#endif
+
+// Packet: 0x08d9
+#if PACKETVER >= 20111004
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+#endif
+
+// Packet: 0x08da
+#if PACKETVER >= 20111004
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+#endif
+
+// Packet: 0x08db
+#if PACKETVER >= 20111004
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+#endif
+
+// Packet: 0x08dc
+#if PACKETVER >= 20111004
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+#endif
+
+// Packet: 0x08dd
+#if PACKETVER >= 20111004
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+#endif
+
+// Packet: 0x08de
+#if PACKETVER >= 20111004
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+#endif
+
+// Packet: 0x08df
+#if PACKETVER >= 20111004
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+#endif
+
+// Packet: 0x08e0
+#if PACKETVER >= 20111004
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+#endif
+
+// Packet: 0x08e1
+#if PACKETVER >= 20111004
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+#endif
+
+// Packet: 0x08e2
+#if PACKETVER >= 20111108
+packetLen(0x08e2, 25) // ZC_NAVIGATION_ACTIVE
+#elif PACKETVER >= 20111004
+packetLen(0x08e2, 23) // ZC_NAVIGATION_ACTIVE
+#endif
+
+// Packet: 0x08e3
+#if PACKETVER >= 20111025
+packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+#elif PACKETVER >= 20111017
+packetLen(0x08e3, 142) // HC_UPDATE_CHARINFO
+#endif
+
+// Packet: 0x08e4
+#if PACKETVER >= 20111025
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+#endif
+
+// Packet: 0x08e5
+#if PACKETVER >= 20111025
+packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+#endif
+
+// Packet: 0x08e6
+#if PACKETVER >= 20111025
+packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+#endif
+
+// Packet: 0x08e7
+#if PACKETVER >= 20111025
+packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+#endif
+
+// Packet: 0x08e8
+#if PACKETVER >= 20111025
+packetLen(0x08e8, -1)
+#endif
+
+// Packet: 0x08e9
+#if PACKETVER >= 20111025
+packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+#endif
+
+// Packet: 0x08ea
+#if PACKETVER >= 20111025
+packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+#endif
+
+// Packet: 0x08eb
+#if PACKETVER >= 20111025
+packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+#endif
+
+// Packet: 0x08ec
+#if PACKETVER >= 20111025
+packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+#endif
+
+// Packet: 0x08ed
+#if PACKETVER >= 20111025
+packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+#endif
+
+// Packet: 0x08ee
+#if PACKETVER >= 20111025
+packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+#endif
+
+// Packet: 0x08ef
+#if PACKETVER >= 20111101
+packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#elif PACKETVER >= 20111025
+packetLen(0x08ef, -1) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#endif
+
+// Packet: 0x08f0
+#if PACKETVER >= 20111101
+packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#elif PACKETVER >= 20111025
+packetLen(0x08f0, -1) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#endif
+
+// Packet: 0x08f1
+#if PACKETVER >= 20111025
+packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+#endif
+
+// Packet: 0x08f2
+#if PACKETVER >= 20111101
+packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+#elif PACKETVER >= 20111025
+packetLen(0x08f2, 12) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+#endif
+
+// Packet: 0x08f3
+#if PACKETVER >= 20111025
+packetLen(0x08f3, -1)
+#endif
+
+// Packet: 0x08f4
+#if PACKETVER >= 20111025
+packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+#endif
+
+// Packet: 0x08f5
+#if PACKETVER >= 20111108
+packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+#elif PACKETVER >= 20111025
+packetLen(0x08f5, 2) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+#endif
+
+// Packet: 0x08f6
+#if PACKETVER >= 20111108
+packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+#elif PACKETVER >= 20111025
+packetLen(0x08f6, 6) // ZC_PARTY_RECRUIT_RECALL_COST
+#endif
+
+// Packet: 0x08f7
+#if PACKETVER >= 20111108
+packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+#elif PACKETVER >= 20111101
+packetLen(0x08f7, -1) // CZ_PARTY_RECRUIT_ACK_RECALL
+#elif PACKETVER >= 20111025
+packetLen(0x08f7, 6) // CZ_PARTY_RECRUIT_ACK_RECALL
+#endif
+
+// Packet: 0x08f8
+#if PACKETVER >= 20111108
+packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+#elif PACKETVER >= 20111025
+packetLen(0x08f8, 6) // ZC_PARTY_RECRUIT_FAILED_RECALL
+#endif
+
+// Packet: 0x08f9
+#if PACKETVER >= 20111108
+packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+#endif
+
+// Packet: 0x08fa
+#if PACKETVER >= 20111108
+packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+#endif
+
+// Packet: 0x08fb
+#if PACKETVER >= 20111122
+packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+#endif
+
+// Packet: 0x08fc
+#if PACKETVER >= 20111101
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+#endif
+
+// Packet: 0x08fd
+#if PACKETVER >= 20111101
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+#endif
+
+// Packet: 0x08fe
+#if PACKETVER >= 20111101
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+#endif
+
+// Packet: 0x08ff
+#if PACKETVER >= 20111101
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+#endif
+
+// Packet: 0x0900
+#if PACKETVER >= 20111122
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+#endif
+
+// Packet: 0x0901
+#if PACKETVER >= 20111122
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+#endif
+
+// Packet: 0x0902
+#if PACKETVER >= 20111122
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+#endif
+
+// Packet: 0x0903
+#if PACKETVER >= 20111122
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+#endif
+
+// Packet: 0x0904
+#if PACKETVER >= 20111122
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+#endif
+
+// Packet: 0x0905
+#if PACKETVER >= 20111122
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+#endif
+
+// Packet: 0x0906
+#if PACKETVER >= 20111122
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+#endif
+
+// Packet: 0x0907
+#if PACKETVER >= 20111122
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+#endif
+
+// Packet: 0x0908
+#if PACKETVER >= 20111122
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+#endif
+
+// Packet: 0x0909
+#if PACKETVER >= 20111122
+packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+#endif
+
+// Packet: 0x090a
+#if PACKETVER >= 20111207
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+#endif
+
+// Packet: 0x090b
+#if PACKETVER >= 20111207
+packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#endif
+
+// Packet: 0x090c
+#if PACKETVER >= 20111207
+packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#endif
+
+// Packet: 0x090d
+#if PACKETVER >= 20111227
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+#endif
+
+// Packet: 0x090e
+#if PACKETVER >= 20111227
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+#endif
+
+// Packet: 0x09dc
+#if PACKETVER >= 20110810
+// removed
+#elif PACKETVER >= 20110803
+packetLen(0x09dc, 2) // ZC_NOTIFY_NEWENTRY10
+#endif
+
+
+#endif /* COMMON_PACKETS2011_LEN_RE_H */
diff --git a/src/common/packets/packets2012_len_main.h b/src/common/packets/packets2012_len_main.h
new file mode 100644
index 000000000..7784ee39a
--- /dev/null
+++ b/src/common/packets/packets2012_len_main.h
@@ -0,0 +1,8486 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2012_LEN_MAIN_H
+#define COMMON_PACKETS2012_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20121227
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20121128
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20121121
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20121017
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20121010
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120925
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120919
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120814
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120808
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120724
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120716
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120710
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120626
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120612
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120515
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120508
+packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120503
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120424
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120417
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120214
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120131
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120120
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120117
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120110
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120103
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20121107
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20121031
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120925
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120919
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120911
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120905
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120830
+packetLen(0x022d, 12) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120724
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120716
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120626
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120612
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120508
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120503
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120424
+packetLen(0x022d, 12) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120417
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120410
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120404
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120228
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120221
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120214
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120207
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120131
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120110
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120103
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20121024
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20121017
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120925
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120919
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120724
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120716
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120626
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120612
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120529
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120522
+packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120515
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120508
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120503
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120424
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120417
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120214
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120207
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120120
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120117
+packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120110
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120103
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20121107
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20121031
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120925
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120919
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120822
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120814
+packetLen(0x0281, 5) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120808
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120724
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120716
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120626
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120612
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120604
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120529
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120508
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120503
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120424
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120417
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120404
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120328
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120320
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120214
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120207
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120117
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120110
+packetLen(0x0281, 36) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120103
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20121227
+packetLen(0x02c4, 19) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120716
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120710
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120515
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120508
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120410
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120404
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120314
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120307
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120131
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120120
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120103
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20121227
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121218
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121212
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121205
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121107
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121031
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121024
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121017
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120925
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120919
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120905
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120830
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120814
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120808
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120801
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120724
+packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120716
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120626
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120612
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120604
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120529
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120515
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120503
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120424
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120417
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120410
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120404
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120328
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120314
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120228
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120221
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120214
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120131
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120117
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120103
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20121227
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121218
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121212
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121205
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121114
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121031
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121024
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121017
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120925
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120919
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120905
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120830
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120814
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120808
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120801
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120724
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120716
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120626
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120612
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120604
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120529
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120515
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120503
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120424
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120410
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120328
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120307
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120228
+packetLen(0x0360, 90) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120221
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120214
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120131
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120120
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120117
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120103
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20121227
+packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20121212
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20121205
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20121114
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20121107
+packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120925
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120919
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120822
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120814
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120724
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120716
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120626
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120612
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120604
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120529
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120522
+packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120508
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120503
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120424
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120417
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120214
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120207
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120131
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120120
+packetLen(0x0361, 19) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120117
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120110
+packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120103
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20121227
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121218
+packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121212
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121205
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121128
+packetLen(0x0362, 19) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121107
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121031
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120925
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120919
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120814
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120808
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120724
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120716
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120710
+packetLen(0x0362, 18) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120626
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120612
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120604
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120529
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120508
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120503
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120424
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120417
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120410
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120404
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120328
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120320
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120214
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120207
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120131
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120120
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120117
+packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120103
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20121227
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121218
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121205
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121128
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121107
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121031
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120925
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120919
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120814
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120808
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120724
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120716
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120710
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120702
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120612
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120604
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120529
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120515
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120508
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120503
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120424
+packetLen(0x0363, 18) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120417
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120328
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120320
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120228
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120221
+packetLen(0x0363, 18) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120214
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120207
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120131
+packetLen(0x0363, 12) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120120
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120117
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120103
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20121121
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20121114
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20121107
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20121031
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120925
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120919
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120814
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120808
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120801
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120724
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120716
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120710
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120702
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120626
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120612
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120604
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120529
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120522
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120515
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120508
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120503
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120424
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120417
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120410
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120404
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120328
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120320
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120314
+packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120214
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120207
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120120
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120117
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120103
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20121121
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121114
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121107
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121031
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121024
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121017
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120925
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120919
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120911
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120905
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120830
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120822
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120814
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120808
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120724
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120716
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120710
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120702
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120626
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120612
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120604
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120529
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120508
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120503
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120424
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120417
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120328
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120320
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120214
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120207
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120131
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120120
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120117
+packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120103
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20121227
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121218
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121107
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121031
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121024
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121017
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120925
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120919
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120905
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120830
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120814
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120808
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120724
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120716
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120702
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120626
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120612
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120604
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120529
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120522
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120515
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120508
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120503
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120424
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120410
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120404
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120328
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120307
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120228
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120221
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120214
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120207
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120120
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120117
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120103
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20120716
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120710
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120314
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120307
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120207
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120131
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120120
+packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120117
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120110
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120103
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20121227
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20121218
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20121212
+packetLen(0x0368, 26) // CZ_REQNAME2
+#elif PACKETVER >= 20121107
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20121031
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20121024
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20121017
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120925
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120919
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120905
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120830
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120814
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120808
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120724
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120716
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120626
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120612
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120604
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120529
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120515
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120417
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120328
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120307
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120228
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120221
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120214
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120207
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120131
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120120
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120117
+packetLen(0x0368, 7) // CZ_REQNAME2
+#elif PACKETVER >= 20120103
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20121227
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121218
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121212
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121107
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121031
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121024
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121017
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120925
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120919
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120905
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120830
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120814
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120808
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120724
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120716
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120626
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120612
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120604
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120529
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120522
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120515
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120503
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120424
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120404
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120328
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120320
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120314
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120307
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120228
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120221
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120214
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120131
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120117
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120103
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20121031
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20121024
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20120925
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120919
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120905
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120830
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20120814
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120808
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120724
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120716
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120710
+packetLen(0x0436, 7) // CZ_ENTER2
+#elif PACKETVER >= 20120626
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120612
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120604
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120529
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120508
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120503
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120424
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120417
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120328
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120320
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120214
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120207
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120131
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120120
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20120117
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120103
+packetLen(0x0436, 4) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20121227
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121218
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121128
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121114
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121107
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121031
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121024
+packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121017
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120925
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120919
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120905
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120830
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120822
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120814
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120808
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120724
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120716
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120626
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120612
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120604
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120529
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120515
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120503
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120424
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120404
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120328
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120307
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120228
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120221
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120214
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120131
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120120
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120117
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120103
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20121227
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121218
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121107
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121031
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121024
+packetLen(0x0438, 12) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121017
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120925
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120919
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120911
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120822
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120814
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120808
+packetLen(0x0438, 90) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120801
+packetLen(0x0438, 18) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120724
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120716
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120626
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120612
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120604
+packetLen(0x0438, 19) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120529
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120515
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120503
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120424
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120404
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120328
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120307
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120228
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120221
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120214
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120131
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120117
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120103
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20121107
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20121031
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20121010
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120925
+packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120919
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120814
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120808
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120724
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120710
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120626
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120612
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120604
+packetLen(0x07e4, 10) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120529
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120508
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120503
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120424
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120417
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120410
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120404
+packetLen(0x07e4, 90) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120328
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120320
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120214
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120207
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120117
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120110
+packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120103
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20121205
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20121128
+packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20121107
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20121031
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120925
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120919
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120822
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120814
+packetLen(0x07ec, 12) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120808
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120724
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120716
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120626
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120612
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120604
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120529
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120508
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120503
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120424
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120417
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120328
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120320
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120307
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120228
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120214
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120207
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120131
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120120
+packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120117
+packetLen(0x07ec, 36) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120103
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20121205
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20121128
+packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20121107
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20121031
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120925
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120919
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120905
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120830
+packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120814
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120808
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120724
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120716
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120710
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120702
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120626
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120612
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120604
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120529
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120508
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120503
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120424
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120417
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120328
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120320
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120214
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120207
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120131
+packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120120
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120103
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20121227
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121218
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121107
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121031
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121024
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121017
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120925
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120919
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120905
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120830
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120814
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120808
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120724
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120716
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120710
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120626
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120612
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120604
+packetLen(0x0811, 12) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120522
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120515
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120503
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120424
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120404
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120328
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120307
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120228
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120221
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120214
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120207
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120131
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120120
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120117
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120103
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20121227
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121218
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121212
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121205
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121121
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121114
+packetLen(0x0815, 90) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121107
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121031
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121024
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121017
+packetLen(0x0815, 8) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121010
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120925
+packetLen(0x0815, 12) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120919
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120905
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120830
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120822
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120814
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120808
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120801
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120716
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120710
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120702
+packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120626
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120612
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120604
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120529
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120515
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120503
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120424
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120404
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120328
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120307
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120228
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120221
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120214
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120207
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120131
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120117
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120103
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20121218
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121212
+packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121031
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121024
+packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121017
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121010
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120911
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120905
+packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120522
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120515
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120508
+packetLen(0x0817, 4) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120503
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120424
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120214
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120207
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120103
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20121227
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121218
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121107
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121031
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121024
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121017
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121010
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120925
+packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120919
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120911
+packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120905
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120830
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120814
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120808
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120724
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120716
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120702
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120626
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120618
+packetLen(0x0819, 36) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120612
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120604
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120529
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120515
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120503
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120424
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120404
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120328
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120314
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120228
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120221
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120214
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120131
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120117
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120103
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20121010
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120925
+packetLen(0x0835, 90) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120905
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120830
+packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120801
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120724
+packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120103
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20121227
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121218
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121121
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121114
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121107
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121031
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121024
+packetLen(0x0838, 18) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121017
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121010
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120925
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120919
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120905
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120830
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120814
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120808
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120724
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120716
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120702
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120626
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120612
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120604
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120529
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120515
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120503
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120424
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120404
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120328
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120307
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120228
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120221
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120214
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120207
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120131
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120120
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120117
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120110
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120103
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20121227
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121218
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121107
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121031
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121024
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121017
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120925
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120919
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120905
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120830
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120814
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120808
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120724
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120716
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120626
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120612
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120604
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120529
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120515
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120503
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120424
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120404
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120328
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120314
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120228
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120221
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120214
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120131
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120117
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120103
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20121107
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20121031
+packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20121024
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120830
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120822
+packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120710
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120702
+packetLen(0x085a, 7) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120522
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120515
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120307
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120228
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120221
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120214
+packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120103
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20120716
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120710
+packetLen(0x085b, 10) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120410
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120404
+packetLen(0x085b, 4) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120103
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20121218
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20121212
+packetLen(0x085c, 7) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20121114
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20121107
+packetLen(0x085c, -1) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120830
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120822
+packetLen(0x085c, -1) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120103
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20121010
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120925
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120911
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120905
+packetLen(0x085d, 10) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120830
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120822
+packetLen(0x085d, 10) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120808
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120801
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120103
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20120822
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120814
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120103
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20120814
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120808
+packetLen(0x085f, 36) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120702
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120626
+packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120612
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120604
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120529
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120522
+packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120103
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20121227
+packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120529
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120522
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120103
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20121205
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121128
+packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121114
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121107
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120905
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120830
+packetLen(0x0861, 19) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120822
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120814
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120710
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120702
+packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120612
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120604
+packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120529
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120522
+packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120404
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120328
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120314
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120307
+packetLen(0x0861, 36) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120103
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20121121
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20121114
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120822
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120814
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120710
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120702
+packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120103
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20121212
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20121205
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20121128
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20121121
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120710
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120702
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120612
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120604
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120503
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120424
+packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120314
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120307
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120228
+packetLen(0x0863, 12) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120103
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20121212
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20121205
+packetLen(0x0864, 18) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120410
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120404
+packetLen(0x0864, 18) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120320
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120314
+packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120103
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20121114
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20121107
+packetLen(0x0865, 19) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120822
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120814
+packetLen(0x0865, 8) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120404
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120328
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120314
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120307
+packetLen(0x0865, 6) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120103
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20120801
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120724
+packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120702
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120626
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120529
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120522
+packetLen(0x0866, 8) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120404
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120328
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120103
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20121227
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121218
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121205
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121128
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120710
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120702
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120515
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120508
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120103
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20121031
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20121024
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20121017
+packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120919
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120911
+packetLen(0x0868, 6) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120822
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120814
+packetLen(0x0868, 7) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120702
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120626
+packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120515
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120508
+packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120103
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20121017
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20121010
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120925
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120702
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120626
+packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120612
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120604
+packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120529
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120522
+packetLen(0x0869, 19) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120515
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120221
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120214
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120103
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20121128
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20121121
+packetLen(0x086a, 90) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120808
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120801
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120604
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120529
+packetLen(0x086a, 36) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120522
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120410
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120404
+packetLen(0x086a, 5) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120314
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120307
+packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120221
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120214
+packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120103
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20121024
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20121017
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120830
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120822
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120808
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120801
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120103
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20121212
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121205
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121128
+packetLen(0x086c, 10) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121121
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121114
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121107
+packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121017
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121010
+packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20120417
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20120410
+packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20120103
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20121128
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20121121
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20121114
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20121107
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120702
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120626
+packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120612
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120604
+packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120103
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20121205
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121128
+packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120830
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120822
+packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120221
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120214
+packetLen(0x086e, 6) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120103
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20121128
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20121121
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120919
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120911
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120905
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120822
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120814
+packetLen(0x086f, 36) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120702
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120626
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120612
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120604
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120328
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120320
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120103
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20121227
+packetLen(0x0870, 12) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121212
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121205
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120314
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120307
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120228
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120221
+packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120103
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20121107
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20121031
+packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120702
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120626
+packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120612
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120604
+packetLen(0x0871, 36) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120503
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120424
+packetLen(0x0871, 10) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120417
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120410
+packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120307
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120228
+packetLen(0x0871, 10) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120103
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20121227
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20121218
+packetLen(0x0872, 4)
+#elif PACKETVER >= 20121205
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0872, 10)
+#elif PACKETVER >= 20121121
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20120822
+packetLen(0x0872, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0872, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20121114
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20121107
+packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20121010
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120925
+packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120808
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120801
+packetLen(0x0873, 10) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120417
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120410
+packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120103
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20121017
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20121010
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120702
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120626
+packetLen(0x0874, 5) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120503
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120424
+packetLen(0x0874, 90) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120404
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120328
+packetLen(0x0874, 12) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120103
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20121212
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121205
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121128
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121121
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121031
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121024
+packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120822
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120814
+packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120808
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120801
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120702
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120626
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120404
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120328
+packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120307
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120228
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120103
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20121121
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20121114
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120919
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120905
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120404
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120328
+packetLen(0x0876, 36) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120103
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20121218
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20121212
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20121107
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20121031
+packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120919
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120911
+packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120905
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120801
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120724
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120716
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120702
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120103
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20121212
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20121205
+packetLen(0x0878, 90) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20121114
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20121107
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120911
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120905
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120716
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120710
+packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120702
+packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120103
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20121121
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20121114
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120919
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120911
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120710
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120702
+packetLen(0x0879, 18) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120103
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20121227
+packetLen(0x087a, 7) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20121218
+packetLen(0x087a, 5) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20121031
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20121024
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20121010
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120925
+packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120919
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120911
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120905
+packetLen(0x087a, 10) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120103
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20121227
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20121218
+packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20121031
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20121024
+packetLen(0x087b, -1) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120911
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120905
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120529
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120522
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120103
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20120830
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120822
+packetLen(0x087c, 90) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120801
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120724
+packetLen(0x087c, 18) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120604
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120529
+packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120522
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120515
+packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120328
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120320
+packetLen(0x087c, 36) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120103
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20121218
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121212
+packetLen(0x087d, 10) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121017
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121010
+packetLen(0x087d, 90) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120830
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120822
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120612
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120604
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120522
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120515
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120103
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20121031
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20121024
+packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20121010
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120925
+packetLen(0x087e, 26) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120911
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120905
+packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120529
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120522
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120515
+packetLen(0x087e, 12) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120103
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20121218
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121212
+packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121114
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121107
+packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120822
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120814
+packetLen(0x087f, 26) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120716
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120710
+packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120529
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120522
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120103
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20121128
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121121
+packetLen(0x0880, 5) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120103
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20120702
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120626
+packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120221
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120214
+packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120103
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20121031
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20121024
+packetLen(0x0882, 36) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120822
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120814
+packetLen(0x0882, 18) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120515
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120508
+packetLen(0x0882, 8) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120103
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20121017
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121010
+packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120710
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120702
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120404
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120328
+packetLen(0x0883, 90) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120307
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120228
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120103
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20120515
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120508
+packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120417
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120410
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120314
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120307
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120103
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20120830
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120822
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120612
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120604
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120515
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120508
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120417
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120410
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120320
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120314
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120307
+packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120228
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120221
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120207
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120131
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120120
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120117
+packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120103
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20121218
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120710
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120702
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120503
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120424
+packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120417
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120404
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120228
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120221
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120120
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120117
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120103
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20121024
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20121017
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20121010
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120925
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120911
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120905
+packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120830
+packetLen(0x0887, 10) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120801
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120724
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120314
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120307
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120207
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120131
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120120
+packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120117
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120103
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20121227
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121212
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121205
+packetLen(0x0888, 36) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121128
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121031
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121024
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121017
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121010
+packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120905
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120830
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120801
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120724
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120228
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120214
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120207
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120131
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120103
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20121227
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121218
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121212
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121205
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121031
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121024
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120710
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120702
+packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120417
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120410
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120320
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120314
+packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120307
+packetLen(0x0889, 10) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120131
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120120
+packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120117
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120103
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20121031
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20121024
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20121010
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120925
+packetLen(0x088a, 26) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120919
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120911
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120830
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120822
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120404
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120328
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120307
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120228
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120207
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120131
+packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120103
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20121212
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121205
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121128
+packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120822
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120814
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120808
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120801
+packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120221
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120214
+packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120103
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20120320
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120314
+packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120221
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120214
+packetLen(0x088c, 26) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120120
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120117
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120103
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20121010
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120925
+packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120822
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120814
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120716
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120710
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120529
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120522
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120221
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120214
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120207
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120131
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120120
+packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120103
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20121227
+packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120801
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120724
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120612
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120604
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120503
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120424
+packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120404
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120328
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120120
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120117
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120103
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20121114
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20121107
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20121017
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20121010
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120925
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120919
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120911
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120814
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120808
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120508
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120503
+packetLen(0x088f, 36) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120131
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120120
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120117
+packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120103
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20121227
+packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20121218
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20121114
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20121107
+packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120905
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120830
+packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120808
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120801
+packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120529
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120522
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120314
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120307
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120221
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120214
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120207
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120131
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120120
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120103
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20121114
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121107
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121017
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121010
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120612
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120604
+packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120529
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120522
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120515
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120417
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120410
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120307
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120228
+packetLen(0x0891, 36) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120131
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120120
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120117
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120103
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20121128
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20121121
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120702
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120626
+packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120120
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120117
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120103
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20121218
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20121212
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120716
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120710
+packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120103
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20121227
+packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20121205
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20121128
+packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120404
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120328
+packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120131
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120120
+packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120103
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20121218
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20121212
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20121205
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20121128
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120911
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120905
+packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120822
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120814
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120808
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120801
+packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120131
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120120
+packetLen(0x0895, 7) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120103
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20121227
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121114
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121107
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121017
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121010
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20120103
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20121024
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20121017
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120911
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120905
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120716
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120710
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120702
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120612
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120604
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120529
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120522
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120117
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120110
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120103
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20121121
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121114
+packetLen(0x0898, 7) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121107
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121031
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121017
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121010
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120207
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120131
+packetLen(0x0898, 4) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120103
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20121128
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20121121
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20121114
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120830
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120822
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120716
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120710
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120410
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120404
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120207
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120131
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120120
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120103
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20121212
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121205
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121128
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121121
+packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121114
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121107
+packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121024
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121017
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120522
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120515
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120508
+packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120503
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120424
+packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120103
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20121114
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20121107
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120503
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120424
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120221
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120214
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120117
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120110
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120103
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20121031
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20121024
+packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120808
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120801
+packetLen(0x089c, 90) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120417
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120410
+packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120404
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120103
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20121212
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20121205
+packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20121010
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120925
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120808
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120801
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120307
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120228
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120120
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120117
+packetLen(0x089d, 90) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120103
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20120710
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120702
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120320
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120314
+packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120120
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120117
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120103
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20120830
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120822
+packetLen(0x089f, 19) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120808
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120801
+packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120724
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120716
+packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120710
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120702
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120221
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120214
+packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120207
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120131
+packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120120
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120103
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20120911
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120905
+packetLen(0x08a0, 4) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120710
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120702
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120626
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120503
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120424
+packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120404
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120328
+packetLen(0x08a0, 18) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120320
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120314
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120131
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120120
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120103
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20121017
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20121010
+packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120801
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120724
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120131
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120120
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120103
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20120808
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120801
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120612
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120604
+packetLen(0x08a2, 7) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120522
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120515
+packetLen(0x08a2, 90) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120417
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120410
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120307
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120228
+packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120207
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120131
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120103
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20121218
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20121212
+packetLen(0x08a3, 19) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120716
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120710
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120529
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120522
+packetLen(0x08a3, 10) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120503
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120424
+packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120410
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120404
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120103
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20121010
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120925
+packetLen(0x08a4, 7) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120919
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120911
+packetLen(0x08a4, 18) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120702
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120626
+packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120503
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120424
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120131
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120117
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120103
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20120919
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120911
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120830
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120822
+packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120522
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120515
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120221
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120214
+packetLen(0x08a5, 4) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120131
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120120
+packetLen(0x08a5, 90) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120103
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20121227
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20121024
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20121017
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20121010
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120919
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120911
+packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120905
+packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120716
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120710
+packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120417
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120410
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120404
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120328
+packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120120
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120117
+packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120103
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20121218
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121212
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121128
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121121
+packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120919
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120911
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120515
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120508
+packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120221
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120214
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120103
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20121205
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20121128
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120822
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120814
+packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120716
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120710
+packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120522
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120515
+packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120424
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120417
+packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120320
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120314
+packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120307
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120228
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120120
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120117
+packetLen(0x08a8, 12) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120103
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20121218
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121212
+packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121121
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121114
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121031
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121024
+packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121017
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121010
+packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120801
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120724
+packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120529
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120522
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120515
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120508
+packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120503
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120424
+packetLen(0x08a9, 7) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120120
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120117
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120103
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20121227
+packetLen(0x08aa, 18) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121218
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121212
+packetLen(0x08aa, 4) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121128
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121121
+packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121031
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121024
+packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120808
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120801
+packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120716
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120710
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120103
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20121121
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20121114
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120830
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120822
+packetLen(0x08ab, 7) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120808
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120801
+packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120724
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120529
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120522
+packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120221
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120214
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120110
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120103
+packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20121218
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20121212
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120529
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120522
+packetLen(0x08ac, 7) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120515
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120328
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120320
+packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120103
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20121212
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121205
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121128
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121114
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121107
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120919
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120911
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120522
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120515
+packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120404
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120328
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120207
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120131
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120120
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120103
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+#if PACKETVER >= 20120307
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+#elif PACKETVER >= 20120103
+packetLen(0x08e2, 25) // ZC_NAVIGATION_ACTIVE
+#endif
+
+// Packet: 0x08e3
+packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08e5
+packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+
+// Packet: 0x08e6
+packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+
+// Packet: 0x08e7
+packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+
+// Packet: 0x08e8
+packetLen(0x08e8, -1)
+
+// Packet: 0x08e9
+packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+
+// Packet: 0x08ea
+packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+
+// Packet: 0x08eb
+packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+
+// Packet: 0x08ec
+packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+
+// Packet: 0x08ed
+packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+
+// Packet: 0x08ee
+packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+
+// Packet: 0x08ef
+packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+
+// Packet: 0x08f0
+packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+
+// Packet: 0x08f1
+packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+
+// Packet: 0x08f2
+packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+
+// Packet: 0x08f3
+packetLen(0x08f3, -1)
+
+// Packet: 0x08f4
+packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+
+// Packet: 0x08f5
+packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+
+// Packet: 0x08f6
+packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+
+// Packet: 0x08f7
+packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+
+// Packet: 0x08f8
+packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+
+// Packet: 0x08f9
+packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+
+// Packet: 0x08fa
+packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+
+// Packet: 0x08fb
+packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x0909
+packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090b
+packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+
+// Packet: 0x090c
+packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+#if PACKETVER >= 20120131
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+#endif
+
+// Packet: 0x0910
+#if PACKETVER >= 20120120
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+#endif
+
+// Packet: 0x0911
+#if PACKETVER >= 20120120
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+#endif
+
+// Packet: 0x0912
+#if PACKETVER >= 20120120
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+#endif
+
+// Packet: 0x0913
+#if PACKETVER >= 20120120
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+#endif
+
+// Packet: 0x0914
+#if PACKETVER >= 20120131
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+#endif
+
+// Packet: 0x0915
+#if PACKETVER >= 20120131
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+#endif
+
+// Packet: 0x0916
+#if PACKETVER >= 20120131
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+#endif
+
+// Packet: 0x0917
+#if PACKETVER >= 20121218
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20121212
+packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120911
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120905
+packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120830
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120822
+packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120808
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120801
+packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120307
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120228
+packetLen(0x0917, 7) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120207
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20121024
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20121017
+packetLen(0x0918, 36) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120911
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120905
+packetLen(0x0918, -1) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120207
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20120604
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120529
+packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120307
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120228
+packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120221
+packetLen(0x0919, 4) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120207
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20121227
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121218
+packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121212
+packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121128
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121121
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121114
+packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120911
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120905
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120522
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120515
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120404
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120328
+packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120221
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120214
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120207
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20121205
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20121128
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120503
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120424
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120404
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120328
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120207
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20121227
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20121218
+packetLen(0x091c, 19) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20121212
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20121205
+packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20121128
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120801
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120724
+packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120417
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120410
+packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120207
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20120905
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120830
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120808
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120801
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120612
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120604
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120417
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120410
+packetLen(0x091d, 18) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120404
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120328
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120207
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20121205
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20121128
+packetLen(0x091e, -1) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120529
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120522
+packetLen(0x091e, 12) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120207
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20121227
+packetLen(0x091f, 4) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20121205
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20121128
+packetLen(0x091f, 90) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120822
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120814
+packetLen(0x091f, 19) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120801
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120724
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120522
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120515
+packetLen(0x091f, 26) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120207
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20121227
+packetLen(0x0920, 90) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121218
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121212
+packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121024
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121017
+packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120822
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120814
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120702
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120626
+packetLen(0x0920, 7) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120404
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120328
+packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120221
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120214
+packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120207
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20121212
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121205
+packetLen(0x0921, 19) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121128
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121121
+packetLen(0x0921, 10) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120221
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120214
+packetLen(0x0921, -1) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120207
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20121205
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20121128
+packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20121114
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20121107
+packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120503
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120424
+packetLen(0x0922, 10) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120207
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20121010
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120925
+packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120522
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120515
+packetLen(0x0923, 7) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120503
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120424
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120207
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20120612
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120604
+packetLen(0x0924, 90) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120207
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20121017
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20121010
+packetLen(0x0925, 12) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120307
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120228
+packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120207
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20120905
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120830
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120503
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120424
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120314
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120307
+packetLen(0x0926, 18) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120207
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20121128
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20121121
+packetLen(0x0927, 19) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20121010
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120925
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120911
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120905
+packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120830
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120822
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120207
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20120801
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120724
+packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120307
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120228
+packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120207
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20121128
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121121
+packetLen(0x0929, 4) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120822
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120814
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120801
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120724
+packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120314
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120307
+packetLen(0x0929, 26) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120207
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20120808
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120801
+packetLen(0x092a, 4) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120320
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120314
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120207
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20121107
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20121031
+packetLen(0x092b, 4) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120801
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120724
+packetLen(0x092b, 90) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120522
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120515
+packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120404
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120328
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120207
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20120710
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120702
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120529
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120522
+packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120207
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20120716
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120710
+packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120307
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120228
+packetLen(0x092d, -1) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120207
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20120808
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120801
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120612
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120604
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120410
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120404
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120207
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20121205
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20121128
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120702
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120626
+packetLen(0x092f, 4) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120612
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120604
+packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120207
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20121121
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20121114
+packetLen(0x0930, 4) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120919
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120911
+packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120808
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120801
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120529
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120522
+packetLen(0x0930, 4) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120228
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120221
+packetLen(0x0930, 26) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120207
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20121205
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20121128
+packetLen(0x0931, 7) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20121031
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20121024
+packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120320
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120314
+packetLen(0x0931, 8) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120207
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20121227
+packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121218
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121212
+packetLen(0x0932, 18) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121010
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120925
+packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120822
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120814
+packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120207
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20121227
+packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120307
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120228
+packetLen(0x0933, 18) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120221
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120214
+packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120207
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20121114
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121107
+packetLen(0x0934, 12) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121017
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121010
+packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120905
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120830
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120822
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120814
+packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120808
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120801
+packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120404
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120328
+packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120207
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20121227
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20121218
+packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20121121
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20121114
+packetLen(0x0935, 10) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120830
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120822
+packetLen(0x0935, 5) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120702
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120626
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120228
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120221
+packetLen(0x0935, -1) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120207
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20120716
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120710
+packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120702
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120626
+packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120612
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120604
+packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120207
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20120830
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120822
+packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120307
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120228
+packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120221
+packetLen(0x0937, 8) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120207
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20121128
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20121121
+packetLen(0x0938, 12) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20121114
+packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120801
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120724
+packetLen(0x0938, 10) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120702
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120626
+packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120417
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120410
+packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120207
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20120207
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20121212
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20121205
+packetLen(0x093a, 6) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20121031
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20121024
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120702
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120626
+packetLen(0x093a, 90) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120604
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120529
+packetLen(0x093a, 19) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120320
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120314
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120207
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20121121
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121114
+packetLen(0x093b, 12) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121107
+packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120314
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120307
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120207
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20121121
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121114
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121017
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121010
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120911
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120905
+packetLen(0x093c, 12) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120808
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120801
+packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120724
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120503
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120424
+packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120228
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120221
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120207
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20120814
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120808
+packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120207
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20121212
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20121205
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120919
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120911
+packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120529
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120522
+packetLen(0x093e, 90) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120404
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120328
+packetLen(0x093e, 10) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120207
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20121212
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20121205
+packetLen(0x093f, 10) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120207
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20121227
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120830
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120822
+packetLen(0x0940, 12) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120814
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120808
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120626
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120618
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120515
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120508
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120410
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120404
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120207
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20121121
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20121114
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120822
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120814
+packetLen(0x0941, 90) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120808
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120801
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120529
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120522
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120503
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120424
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120320
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120314
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120307
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120228
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120207
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20121031
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20121024
+packetLen(0x0942, -1) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20121017
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20121010
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120925
+packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120307
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120228
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120207
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20120830
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120822
+packetLen(0x0943, 8) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120612
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120604
+packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120207
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20121121
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121114
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120911
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120905
+packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120710
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120702
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120522
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120515
+packetLen(0x0944, 18) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120207
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20121205
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20121128
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20121114
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20121107
+packetLen(0x0945, 90) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120911
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120905
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120830
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120801
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120724
+packetLen(0x0945, 7) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120417
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120410
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120328
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120320
+packetLen(0x0945, 19) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120307
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120228
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120207
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20121227
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121218
+packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121212
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121205
+packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121128
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121121
+packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121017
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121010
+packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120808
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120801
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120320
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120314
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120207
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20121227
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121218
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121212
+packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121031
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121024
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121017
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121010
+packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120522
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120515
+packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120503
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120424
+packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120410
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120404
+packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120307
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120228
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120207
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20121010
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120925
+packetLen(0x0948, 18) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120919
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120911
+packetLen(0x0948, 10) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120503
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120424
+packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120207
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20121121
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20121114
+packetLen(0x0949, 18) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120919
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120911
+packetLen(0x0949, 4) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120207
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20121121
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121114
+packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120710
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120702
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120626
+packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120207
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20121212
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121205
+packetLen(0x094b, 6) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121121
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121114
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120919
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120911
+packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120905
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120830
+packetLen(0x094b, 18) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120716
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120710
+packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120522
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120515
+packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120417
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120410
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120207
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20121017
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20121010
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120604
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120529
+packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120207
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20121128
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20121121
+packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20121114
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20121107
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120830
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120822
+packetLen(0x094d, 36) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120529
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120522
+packetLen(0x094d, 26) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120515
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120508
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120307
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120228
+packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120207
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20120830
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120822
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120808
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120801
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120716
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120710
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120612
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120604
+packetLen(0x094e, 5) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120207
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20121121
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20121114
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120320
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120314
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120207
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20121205
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20121128
+packetLen(0x0950, 12) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20121121
+packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20121010
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120925
+packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120911
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120905
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120207
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20121218
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20121212
+packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120702
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120626
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120404
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120328
+packetLen(0x0951, 7) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120207
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20121128
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20121121
+packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120919
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120911
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120221
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120214
+packetLen(0x0952, 19) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120207
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20121227
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121218
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121212
+packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121205
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121128
+packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120830
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120822
+packetLen(0x0953, 18) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120716
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120710
+packetLen(0x0953, 4) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120702
+packetLen(0x0953, 5) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120221
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120214
+packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120207
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20121212
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121205
+packetLen(0x0954, 7) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121128
+packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121121
+packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121031
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121024
+packetLen(0x0954, 90) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120618
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120612
+packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120404
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120328
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120307
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120228
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120207
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20120830
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120822
+packetLen(0x0955, -1) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120503
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120424
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120207
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20121010
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120925
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120919
+packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120716
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120710
+packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120529
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120522
+packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120207
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20121227
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121218
+packetLen(0x0957, 18) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121212
+packetLen(0x0957, 90) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121128
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121121
+packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121017
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120925
+packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120801
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120724
+packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120522
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120515
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120221
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120214
+packetLen(0x0957, 90) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120207
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20121227
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20121128
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20121121
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20121010
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120925
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120919
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120911
+packetLen(0x0958, 10) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120410
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120404
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120207
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20121212
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20121205
+packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20121017
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20121010
+packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120919
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120911
+packetLen(0x0959, 7) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120905
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120801
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120724
+packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120207
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20120207
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20121218
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20121212
+packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120830
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120822
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120612
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120604
+packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120503
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120424
+packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120207
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20121121
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121114
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121017
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121010
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120314
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120307
+packetLen(0x095c, 4) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120228
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120221
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120214
+packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120207
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20121227
+packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20121031
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20121024
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120710
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120702
+packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120404
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120328
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120207
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20121031
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121024
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121010
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120925
+packetLen(0x095e, 10) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120307
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120228
+packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120207
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20120207
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20121205
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121128
+packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121114
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121107
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121024
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121017
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120911
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120905
+packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120716
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120710
+packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120702
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120207
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20120710
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120702
+packetLen(0x0961, 4) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120417
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120410
+packetLen(0x0961, 36) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120307
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120228
+packetLen(0x0961, 10) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120207
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20121227
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20121024
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20121017
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120702
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120626
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120207
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20121114
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20121107
+packetLen(0x0963, 4) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20121010
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120925
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120919
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120911
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120801
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120724
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120612
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120604
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120404
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120328
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120314
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120307
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120221
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120214
+packetLen(0x0963, 7) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120207
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20121017
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20121010
+packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120905
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120830
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120808
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120801
+packetLen(0x0964, 12) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120522
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120515
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120320
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120314
+packetLen(0x0964, 18) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120207
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20121218
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121212
+packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121121
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121114
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121031
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121017
+packetLen(0x0965, 19) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120801
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120724
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120503
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120424
+packetLen(0x0965, 8) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120207
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20121218
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121212
+packetLen(0x0966, -1) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121205
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121114
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121107
+packetLen(0x0966, 18) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120919
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120911
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120801
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120724
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120522
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120515
+packetLen(0x0966, 4) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120328
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120320
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120221
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120214
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120207
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20120911
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120905
+packetLen(0x0967, 7) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120822
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120814
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120404
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120328
+packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120228
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120221
+packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120207
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20121212
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20121205
+packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120919
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120911
+packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120207
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20121017
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20121010
+packetLen(0x0969, 18) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120822
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120814
+packetLen(0x0969, 5) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120228
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120221
+packetLen(0x0969, 19) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120207
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20121227
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121212
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121121
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121114
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121107
+packetLen(0x096a, 26) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121031
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121024
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121017
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120925
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120919
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120911
+packetLen(0x096a, 36) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120905
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120830
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120814
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120808
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120724
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120716
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120626
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120612
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120604
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120529
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120522
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120515
+packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120508
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120503
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120424
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120417
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120410
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120404
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120328
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120307
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120228
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120221
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120214
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120207
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+#if PACKETVER >= 20120404
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120207
+packetLen(0x096b, 3) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x096c
+#if PACKETVER >= 20120207
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x096d
+#if PACKETVER >= 20120228
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+#elif PACKETVER >= 20120214
+packetLen(0x096d, 2) // ZC_MERGE_ITEM_OPEN
+#endif
+
+// Packet: 0x096e
+#if PACKETVER >= 20120228
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+#elif PACKETVER >= 20120221
+packetLen(0x096e, 6) // CZ_REQ_MERGE_ITEM
+#elif PACKETVER >= 20120214
+packetLen(0x096e, 10) // CZ_REQ_MERGE_ITEM
+#endif
+
+// Packet: 0x096f
+#if PACKETVER >= 20120221
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+#elif PACKETVER >= 20120214
+packetLen(0x096f, 3) // ZC_ACK_MERGE_ITEM
+#endif
+
+// Packet: 0x0970
+#if PACKETVER >= 20120214
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+#endif
+
+// Packet: 0x0971
+#if PACKETVER >= 20120214
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x0972
+#if PACKETVER >= 20120214
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+#endif
+
+// Packet: 0x0973
+#if PACKETVER >= 20120214
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+#endif
+
+// Packet: 0x0974
+#if PACKETVER >= 20120221
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+#endif
+
+// Packet: 0x0975
+#if PACKETVER >= 20120221
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+#endif
+
+// Packet: 0x0976
+#if PACKETVER >= 20120221
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+#endif
+
+// Packet: 0x0977
+#if PACKETVER >= 20120228
+packetLen(0x0977, 14) // ZC_HP_INFO
+#elif PACKETVER >= 20120221
+packetLen(0x0977, 15) // ZC_HP_INFO
+#endif
+
+// Packet: 0x0978
+#if PACKETVER >= 20120328
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+#endif
+
+// Packet: 0x0979
+#if PACKETVER >= 20120328
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+#endif
+
+// Packet: 0x097a
+#if PACKETVER >= 20120410
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+#endif
+
+// Packet: 0x097b
+#if PACKETVER >= 20120417
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+#endif
+
+// Packet: 0x097c
+#if PACKETVER >= 20120503
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+#endif
+
+// Packet: 0x097d
+#if PACKETVER >= 20120503
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+#endif
+
+// Packet: 0x097e
+#if PACKETVER >= 20120503
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+#endif
+
+// Packet: 0x097f
+#if PACKETVER >= 20120503
+packetLen(0x097f, -1) // ZC_SELECTCART
+#endif
+
+// Packet: 0x0980
+#if PACKETVER >= 20120503
+packetLen(0x0980, 7) // CZ_SELECTCART
+#endif
+
+// Packet: 0x0981
+#if PACKETVER >= 20120515
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+#endif
+
+// Packet: 0x0982
+#if PACKETVER >= 20120522
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+#elif PACKETVER >= 20120515
+packetLen(0x0982, 3) // ZC_FATIGUE_CHN
+#endif
+
+// Packet: 0x0983
+#if PACKETVER >= 20120529
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+#endif
+
+// Packet: 0x0984
+#if PACKETVER >= 20120529
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+#endif
+
+// Packet: 0x0985
+#if PACKETVER >= 20120604
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+#endif
+
+// Packet: 0x0986
+#if PACKETVER >= 20120626
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+#elif PACKETVER >= 20120612
+packetLen(0x0986, 6) // AC_SHUTDOWN_NOTIFY
+#endif
+
+// Packet: 0x0987
+#if PACKETVER >= 20120702
+packetLen(0x0987, 63) // CA_LOGIN6
+#endif
+
+// Packet: 0x0988
+#if PACKETVER >= 20120716
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+#elif PACKETVER >= 20120702
+packetLen(0x0988, 2) // ZC_NOTIFY_CLAN_CONNECTINFO
+#endif
+
+// Packet: 0x0989
+#if PACKETVER >= 20120716
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+#elif PACKETVER >= 20120702
+packetLen(0x0989, 6) // ZC_ACK_CLAN_LEAVE
+#endif
+
+// Packet: 0x098a
+#if PACKETVER >= 20120702
+packetLen(0x098a, -1) // ZC_CLANINFO
+#endif
+
+// Packet: 0x098b
+#if PACKETVER >= 20120716
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+#endif
+
+// Packet: 0x098c
+#if PACKETVER >= 20120716
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+#endif
+
+// Packet: 0x098d
+#if PACKETVER >= 20120716
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+#endif
+
+// Packet: 0x098e
+#if PACKETVER >= 20120716
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+#endif
+
+// Packet: 0x098f
+#if PACKETVER >= 20120724
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+#endif
+
+// Packet: 0x0990
+#if PACKETVER >= 20120925
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+#endif
+
+// Packet: 0x0991
+#if PACKETVER >= 20120925
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+#endif
+
+// Packet: 0x0992
+#if PACKETVER >= 20120925
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+#endif
+
+// Packet: 0x0993
+#if PACKETVER >= 20120925
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+#endif
+
+// Packet: 0x0994
+#if PACKETVER >= 20120925
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+#endif
+
+// Packet: 0x0995
+#if PACKETVER >= 20120925
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+#endif
+
+// Packet: 0x0996
+#if PACKETVER >= 20120925
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+#endif
+
+// Packet: 0x0997
+#if PACKETVER >= 20120925
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+#endif
+
+// Packet: 0x0998
+#if PACKETVER >= 20120925
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+#endif
+
+// Packet: 0x0999
+#if PACKETVER >= 20120925
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+#endif
+
+// Packet: 0x099a
+#if PACKETVER >= 20120925
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+#endif
+
+// Packet: 0x099b
+#if PACKETVER >= 20121010
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+#endif
+
+// Packet: 0x099c
+#if PACKETVER >= 20121024
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+#endif
+
+// Packet: 0x099d
+#if PACKETVER >= 20121024
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+#endif
+
+// Packet: 0x099e
+#if PACKETVER >= 20121128
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+#endif
+
+// Packet: 0x099f
+#if PACKETVER >= 20121212
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+#endif
+
+// Packet: 0x09a0
+#if PACKETVER >= 20121212
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+#endif
+
+// Packet: 0x09a1
+#if PACKETVER >= 20121212
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+#endif
+
+
+#endif /* COMMON_PACKETS2012_LEN_MAIN_H */
diff --git a/src/common/packets/packets2012_len_re.h b/src/common/packets/packets2012_len_re.h
new file mode 100644
index 000000000..58a8eadf8
--- /dev/null
+++ b/src/common/packets/packets2012_len_re.h
@@ -0,0 +1,8498 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2012_LEN_RE_H
+#define COMMON_PACKETS2012_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20121227
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20121128
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20121121
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20121017
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20121010
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120925
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120919
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120814
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120808
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120724
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120716
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120710
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120626
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120612
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120515
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120508
+packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120502
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120424
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120417
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120214
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120131
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120120
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120117
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120110
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20120103
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20121107
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20121031
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120925
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120919
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120911
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120905
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120830
+packetLen(0x022d, 12) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120724
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120716
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120626
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120612
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120508
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120502
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120424
+packetLen(0x022d, 12) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120417
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120410
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120404
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120228
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120221
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120214
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120207
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120131
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120110
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20120103
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20121024
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20121017
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120925
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120919
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120724
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120716
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120626
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120612
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120529
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120523
+packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120515
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120508
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120502
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120424
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120417
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120214
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120207
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120120
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120117
+packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120110
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20120103
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20121107
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20121031
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120925
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120919
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120822
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120814
+packetLen(0x0281, 5) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120808
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120724
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120716
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120626
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120612
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120601
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120529
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120508
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120502
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120424
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120417
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120404
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120328
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120320
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120214
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120207
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120117
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120110
+packetLen(0x0281, 36) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20120103
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+#if PACKETVER >= 20120523
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20120523
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+#endif
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20121227
+packetLen(0x02c4, 19) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120716
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120710
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120515
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120508
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120410
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120404
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120314
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120307
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120131
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120120
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20120103
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20121227
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121218
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121212
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121205
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121107
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121031
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121024
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20121017
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120925
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120919
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120905
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120830
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120814
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120808
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120801
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120724
+packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120716
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120626
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120612
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120601
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120529
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120515
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120502
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120424
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120417
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120410
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120404
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120328
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120314
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120228
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120221
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120214
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120131
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120117
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20120103
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20121227
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121218
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121212
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121205
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121114
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121031
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121024
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20121017
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120925
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120919
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120905
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120830
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120814
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120808
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120801
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120724
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120716
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120626
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120612
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120601
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120529
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120515
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120502
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120424
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120410
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120328
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120307
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120228
+packetLen(0x0360, 90) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120221
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120214
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120131
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120120
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120117
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20120103
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20121227
+packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20121212
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20121205
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20121114
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20121107
+packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120925
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120919
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120822
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120814
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120724
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120716
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120626
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120612
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120601
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120529
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120523
+packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120508
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120502
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120424
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120417
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120214
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120207
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120131
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120120
+packetLen(0x0361, 19) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120117
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120110
+packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20120103
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20121227
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121218
+packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121212
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121205
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121128
+packetLen(0x0362, 19) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121107
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20121031
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120925
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120919
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120814
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120808
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120724
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120716
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120710
+packetLen(0x0362, 18) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120626
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120612
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120601
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120529
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120508
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120502
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120424
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120417
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120410
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120404
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120328
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120320
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120214
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120207
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120131
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120120
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120117
+packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20120103
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20121227
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121218
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121205
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121128
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121107
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20121031
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120925
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120919
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120814
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120808
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120724
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120716
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120710
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120702
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120612
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120601
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120529
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120515
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120508
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120502
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120424
+packetLen(0x0363, 18) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120417
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120328
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120320
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120228
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120221
+packetLen(0x0363, 18) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120214
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120207
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120131
+packetLen(0x0363, 12) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120120
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120117
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20120103
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20121121
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20121114
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20121107
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20121031
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120925
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120919
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120814
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120808
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120801
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120724
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120716
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120710
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120702
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120626
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120612
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120601
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120529
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120523
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120515
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120508
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120502
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120424
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120417
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120410
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120404
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120328
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120320
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120314
+packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120214
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120207
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120120
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120117
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20120103
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20121121
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121114
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121107
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121031
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121024
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20121017
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120925
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120919
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120911
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120905
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120830
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120822
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120814
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120808
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120724
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120716
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120710
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120702
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120626
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120612
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120601
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120529
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120508
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120502
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120424
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120417
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120328
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120320
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120214
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120207
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120131
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120120
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120117
+packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20120103
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20121227
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121218
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121107
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121031
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121024
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20121017
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120925
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120919
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120905
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120830
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120814
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120808
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120724
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120716
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120702
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120626
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120612
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120601
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120529
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120523
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120515
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120508
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120502
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120424
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120410
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120404
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120328
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120307
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120228
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120221
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120214
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120207
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120120
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120117
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20120103
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20120716
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120710
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120314
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120307
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120207
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120131
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120120
+packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120117
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120110
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20120103
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20121227
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20121218
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20121212
+packetLen(0x0368, 26) // CZ_REQNAME2
+#elif PACKETVER >= 20121107
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20121031
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20121024
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20121017
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120925
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120919
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120905
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120830
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120814
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120808
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120724
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120716
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120626
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120612
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120601
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120529
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120515
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120417
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120328
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120307
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120228
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120221
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120214
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120207
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120131
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20120120
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20120117
+packetLen(0x0368, 7) // CZ_REQNAME2
+#elif PACKETVER >= 20120103
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20121227
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121218
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121212
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121107
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121031
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121024
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20121017
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120925
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120919
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120905
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120830
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120814
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120808
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120724
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120716
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120626
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120612
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120601
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120529
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120523
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120515
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120502
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120424
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120404
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120328
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120320
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120314
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120307
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120228
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120221
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120214
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120131
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120117
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20120103
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20121031
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20121024
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20120925
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120919
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120905
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120830
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20120814
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120808
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120724
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120716
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120710
+packetLen(0x0436, 7) // CZ_ENTER2
+#elif PACKETVER >= 20120626
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120612
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120601
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120529
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120508
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120502
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120424
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120417
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120328
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120320
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120214
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120207
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20120131
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120120
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20120117
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20120103
+packetLen(0x0436, 4) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20121227
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121218
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121128
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121114
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121107
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121031
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121024
+packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20121017
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120925
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120919
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120905
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120830
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120822
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120814
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120808
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120724
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120716
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120626
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120612
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120601
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120529
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120515
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120502
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120424
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120404
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120328
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120307
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120228
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120221
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120214
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120131
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120120
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120117
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20120103
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20121227
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121218
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121107
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121031
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121024
+packetLen(0x0438, 12) // CZ_USE_SKILL2
+#elif PACKETVER >= 20121017
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120925
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120919
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120911
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120822
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120814
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120808
+packetLen(0x0438, 90) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120801
+packetLen(0x0438, 18) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120724
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120716
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120626
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120612
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120601
+packetLen(0x0438, 19) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120529
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120515
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120502
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120424
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120404
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120328
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120307
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120228
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120221
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120214
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120131
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120117
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20120103
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+#if PACKETVER >= 20120523
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+#endif
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20121107
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20121031
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20121010
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120925
+packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120919
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120814
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120808
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120724
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120710
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120626
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120612
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120601
+packetLen(0x07e4, 10) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120529
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120508
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120502
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120424
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120417
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120410
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120404
+packetLen(0x07e4, 90) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120328
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120320
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120214
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120207
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120117
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120110
+packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20120103
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20121205
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20121128
+packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20121107
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20121031
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120925
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120919
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120822
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120814
+packetLen(0x07ec, 12) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120808
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120724
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120716
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120626
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120612
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120601
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120529
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120508
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120502
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120424
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120417
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120328
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120320
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120307
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120228
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120214
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120207
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120131
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120120
+packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120117
+packetLen(0x07ec, 36) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20120103
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20121205
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20121128
+packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20121107
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20121031
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120925
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120919
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120905
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120830
+packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120814
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120808
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120724
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120716
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120710
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120702
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120626
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120612
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120601
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120529
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120508
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120502
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120424
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120417
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120328
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120320
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120214
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120207
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120131
+packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120120
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20120103
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20121227
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121218
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121107
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121031
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121024
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20121017
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120925
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120919
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120905
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120830
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120814
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120808
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120724
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120716
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120710
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120626
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120612
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120601
+packetLen(0x0811, 12) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120523
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120515
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120502
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120424
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120404
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120328
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120307
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120228
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120221
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120214
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120207
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120131
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120120
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120117
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20120103
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20121227
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121218
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121212
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121205
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121121
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121114
+packetLen(0x0815, 90) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121107
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121031
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121024
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121017
+packetLen(0x0815, 8) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20121010
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120925
+packetLen(0x0815, 12) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120919
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120905
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120830
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120822
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120814
+packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120808
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120801
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120716
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120710
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120702
+packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120626
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120612
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120601
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120529
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120515
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120502
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120424
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120404
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120328
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120307
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120228
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120221
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120214
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120207
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120131
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120117
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20120103
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20121218
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121212
+packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121031
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121024
+packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121017
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20121010
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120911
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120905
+packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120523
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120515
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120508
+packetLen(0x0817, 4) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120502
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120424
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120214
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120207
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20120103
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20121227
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121218
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121107
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121031
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121024
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121017
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20121010
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120925
+packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120919
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120911
+packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120905
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120830
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120814
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120808
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120724
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120716
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120702
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120626
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120618
+packetLen(0x0819, 36) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120612
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120601
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120529
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120515
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120502
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120424
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120404
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120328
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120314
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120228
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120221
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120214
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120131
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120117
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20120103
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20121010
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120925
+packetLen(0x0835, 90) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120905
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120830
+packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120801
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120724
+packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20120103
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20121227
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121218
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121121
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121114
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121107
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121031
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121024
+packetLen(0x0838, 18) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121017
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20121010
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120925
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120919
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120905
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120830
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120814
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120808
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120724
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120716
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120702
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120626
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120612
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120601
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120529
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120515
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120502
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120424
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120404
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120328
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120307
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120228
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120221
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120214
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120207
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120131
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120120
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120117
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120110
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20120103
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20121227
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121218
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121107
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121031
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121024
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20121017
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120925
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120919
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120905
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120830
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120814
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120808
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120724
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120716
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120626
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120612
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120601
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120529
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120515
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120502
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120424
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120404
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120328
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120314
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120228
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120221
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120214
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120131
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120117
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20120103
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20121107
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20121031
+packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20121024
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120830
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120822
+packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120710
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120702
+packetLen(0x085a, 7) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120523
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120515
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120307
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120228
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120221
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120214
+packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120103
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20120716
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120710
+packetLen(0x085b, 10) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120410
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120404
+packetLen(0x085b, 4) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120103
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20121218
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20121212
+packetLen(0x085c, 7) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20121114
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20121107
+packetLen(0x085c, -1) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120830
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120822
+packetLen(0x085c, -1) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120103
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20121010
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120925
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120911
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120905
+packetLen(0x085d, 10) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120830
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120822
+packetLen(0x085d, 10) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120808
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120801
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120103
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20120822
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120814
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120103
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20120814
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120808
+packetLen(0x085f, 36) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120702
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120626
+packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120612
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120601
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120529
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120523
+packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120103
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20121227
+packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120529
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120523
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120103
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20121205
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121128
+packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121114
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121107
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120905
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120830
+packetLen(0x0861, 19) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120822
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120814
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120710
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120702
+packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120612
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120601
+packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120529
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120523
+packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120404
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120328
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120314
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120307
+packetLen(0x0861, 36) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120103
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20121121
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20121114
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120822
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120814
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120710
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120702
+packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120103
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20121212
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20121205
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20121128
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20121121
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120710
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120702
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120612
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120601
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120502
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120424
+packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120314
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120307
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120228
+packetLen(0x0863, 12) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120103
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20121212
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20121205
+packetLen(0x0864, 18) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120410
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120404
+packetLen(0x0864, 18) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120320
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120314
+packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120103
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20121114
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20121107
+packetLen(0x0865, 19) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120822
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120814
+packetLen(0x0865, 8) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120404
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120328
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120314
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120307
+packetLen(0x0865, 6) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120103
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20120801
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120724
+packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120702
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120626
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120529
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120523
+packetLen(0x0866, 8) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120404
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120328
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120103
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20121227
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121218
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121205
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121128
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120710
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120702
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120515
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120508
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120103
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20121031
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20121024
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20121017
+packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120919
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120911
+packetLen(0x0868, 6) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120822
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120814
+packetLen(0x0868, 7) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120702
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120626
+packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120515
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120508
+packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120103
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20121017
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20121010
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120925
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120702
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120626
+packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120612
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120601
+packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120529
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120523
+packetLen(0x0869, 19) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120515
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120221
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120214
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120103
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20121128
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20121121
+packetLen(0x086a, 90) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120808
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120801
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120601
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120529
+packetLen(0x086a, 36) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120523
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120410
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120404
+packetLen(0x086a, 5) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120314
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120307
+packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120221
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120214
+packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120103
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20121024
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20121017
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120830
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120822
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120808
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120801
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120103
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20121212
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121205
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121128
+packetLen(0x086c, 10) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121121
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121114
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121107
+packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121017
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121010
+packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20120417
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20120410
+packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20120103
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20121128
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20121121
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20121114
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20121107
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120702
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120626
+packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120612
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120601
+packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120103
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20121205
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121128
+packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120830
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120822
+packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120221
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120214
+packetLen(0x086e, 6) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120103
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20121128
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20121121
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120919
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120911
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120905
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120822
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120814
+packetLen(0x086f, 36) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120702
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120626
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120612
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120601
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120328
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120320
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120103
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20121227
+packetLen(0x0870, 12) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121212
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121205
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120314
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120307
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120228
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120221
+packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120103
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20121107
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20121031
+packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120702
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120626
+packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120612
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120601
+packetLen(0x0871, 36) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120502
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120424
+packetLen(0x0871, 10) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120417
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120410
+packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120307
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120228
+packetLen(0x0871, 10) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120103
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20121227
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20121218
+packetLen(0x0872, 4)
+#elif PACKETVER >= 20121205
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0872, 10)
+#elif PACKETVER >= 20121121
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20120822
+packetLen(0x0872, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0872, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20121114
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20121107
+packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20121010
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120925
+packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120808
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120801
+packetLen(0x0873, 10) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120417
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120410
+packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120103
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20121017
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20121010
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120702
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120626
+packetLen(0x0874, 5) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120502
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120424
+packetLen(0x0874, 90) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120404
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120328
+packetLen(0x0874, 12) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120103
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20121212
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121205
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121128
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121121
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121031
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20121024
+packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120822
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120814
+packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120808
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120801
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120702
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120626
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120404
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120328
+packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120307
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120228
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120103
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20121121
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20121114
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120919
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120905
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120404
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120328
+packetLen(0x0876, 36) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120103
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20121218
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20121212
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20121107
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20121031
+packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120919
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120911
+packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120905
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120801
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120724
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120716
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120702
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120103
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20121212
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20121205
+packetLen(0x0878, 90) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20121114
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20121107
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120911
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120905
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120716
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120710
+packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120702
+packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120103
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20121121
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20121114
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120919
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120911
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120710
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120702
+packetLen(0x0879, 18) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120103
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20121227
+packetLen(0x087a, 7) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20121218
+packetLen(0x087a, 5) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20121031
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20121024
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20121010
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120925
+packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120919
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120911
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120905
+packetLen(0x087a, 10) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120103
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20121227
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20121218
+packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20121031
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20121024
+packetLen(0x087b, -1) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120911
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120905
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120529
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120523
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120103
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20120830
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120822
+packetLen(0x087c, 90) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120801
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120724
+packetLen(0x087c, 18) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120601
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120529
+packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120523
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120515
+packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120328
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120320
+packetLen(0x087c, 36) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120103
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20121218
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121212
+packetLen(0x087d, 10) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121017
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121010
+packetLen(0x087d, 90) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120830
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120822
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120612
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120601
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120523
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120515
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120103
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20121031
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20121024
+packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20121010
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120925
+packetLen(0x087e, 26) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120911
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120905
+packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120529
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120523
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120515
+packetLen(0x087e, 12) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120103
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20121218
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121212
+packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121114
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121107
+packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120822
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120814
+packetLen(0x087f, 26) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120716
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120710
+packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120529
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120523
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120103
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20121128
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121121
+packetLen(0x0880, 5) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120103
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20120702
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120626
+packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120221
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120214
+packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120103
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20121031
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20121024
+packetLen(0x0882, 36) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120822
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120814
+packetLen(0x0882, 18) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120515
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120508
+packetLen(0x0882, 8) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120103
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20121017
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121010
+packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120710
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120702
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120404
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120328
+packetLen(0x0883, 90) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120307
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120228
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120103
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20120515
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120508
+packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120417
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120410
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120314
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120307
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20120103
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20120830
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120822
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120612
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120601
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120515
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120508
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120417
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120410
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120320
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120314
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120307
+packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120228
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120221
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120207
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120131
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120120
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120117
+packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20120103
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20121218
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120710
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120702
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120502
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120424
+packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120417
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120404
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120228
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120221
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120120
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120117
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20120103
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20121024
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20121017
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20121010
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120925
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120911
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120905
+packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120830
+packetLen(0x0887, 10) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120801
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120724
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120314
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120307
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120207
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120131
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120120
+packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120117
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20120103
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20121227
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121212
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121205
+packetLen(0x0888, 36) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121128
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121031
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121024
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121017
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20121010
+packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120905
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120830
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120801
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120724
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120228
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120214
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120207
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120131
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20120103
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20121227
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121218
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121212
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121205
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121031
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20121024
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120710
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120702
+packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120417
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120410
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120320
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120314
+packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120307
+packetLen(0x0889, 10) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120131
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120120
+packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120117
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20120103
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20121031
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20121024
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20121010
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120925
+packetLen(0x088a, 26) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120919
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120911
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120830
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120822
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120404
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120328
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120307
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120228
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120207
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120131
+packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20120103
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20121212
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121205
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20121128
+packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120822
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120814
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120808
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120801
+packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120221
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120214
+packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20120103
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20120320
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120314
+packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120221
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120214
+packetLen(0x088c, 26) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120120
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120117
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20120103
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20121010
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120925
+packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120822
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120814
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120716
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120710
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120529
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120523
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120221
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120214
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120207
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120131
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120120
+packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20120103
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20121227
+packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120801
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120724
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120612
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120601
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120502
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120424
+packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120404
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120328
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120120
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120117
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20120103
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20121114
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20121107
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20121017
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20121010
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120925
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120919
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120911
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120814
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120808
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120508
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120502
+packetLen(0x088f, 36) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120131
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120120
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120117
+packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20120103
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20121227
+packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20121218
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20121114
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20121107
+packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120905
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120830
+packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120808
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120801
+packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120529
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120523
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120314
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120307
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120221
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120214
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120207
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120131
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120120
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20120103
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20121114
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121107
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121017
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20121010
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120612
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120601
+packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120529
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120523
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120515
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120417
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120410
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120307
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120228
+packetLen(0x0891, 36) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120131
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120120
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120117
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20120103
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20121128
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20121121
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120702
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120626
+packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120120
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120117
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20120103
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20121218
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20121212
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120716
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120710
+packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20120103
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20121227
+packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20121205
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20121128
+packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120404
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120328
+packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120131
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120120
+packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20120103
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20121218
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20121212
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20121205
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20121128
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120911
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120905
+packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120822
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120814
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120808
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120801
+packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120131
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120120
+packetLen(0x0895, 7) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20120103
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20121227
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121114
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121107
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121017
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20121010
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20120103
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20121024
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20121017
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120911
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120905
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120716
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120710
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120702
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120612
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120601
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120529
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120523
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120117
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120110
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20120103
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20121121
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121114
+packetLen(0x0898, 7) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121107
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121031
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121017
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20121010
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120207
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120131
+packetLen(0x0898, 4) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20120103
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20121128
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20121121
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20121114
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120830
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120822
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120716
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120710
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120410
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120404
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120207
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120131
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120120
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20120103
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20121212
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121205
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121128
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121121
+packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121114
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121107
+packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121024
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20121017
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120523
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120515
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120508
+packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120502
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120424
+packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20120103
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20121114
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20121107
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120502
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120424
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120221
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120214
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120117
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120110
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20120103
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20121031
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20121024
+packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120808
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120801
+packetLen(0x089c, 90) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120417
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120410
+packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120404
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20120103
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20121212
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20121205
+packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20121010
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120925
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120808
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120801
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120307
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120228
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120120
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120117
+packetLen(0x089d, 90) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20120103
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20120710
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120702
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120320
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120314
+packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120120
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120117
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20120103
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20120830
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120822
+packetLen(0x089f, 19) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120808
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120801
+packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120724
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120716
+packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120710
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120702
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120221
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120214
+packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120207
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120131
+packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120120
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20120103
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20120911
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120905
+packetLen(0x08a0, 4) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120710
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120702
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120626
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120502
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120424
+packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120404
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120328
+packetLen(0x08a0, 18) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120320
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120314
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120131
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120120
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20120103
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20121017
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20121010
+packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120801
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120724
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120131
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120120
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20120103
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20120808
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120801
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120612
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120601
+packetLen(0x08a2, 7) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120523
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120515
+packetLen(0x08a2, 90) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120417
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120410
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120307
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120228
+packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120207
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120131
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20120103
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20121218
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20121212
+packetLen(0x08a3, 19) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120716
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120710
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120529
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120523
+packetLen(0x08a3, 10) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120502
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120424
+packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120410
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120404
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20120103
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20121010
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120925
+packetLen(0x08a4, 7) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120919
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120911
+packetLen(0x08a4, 18) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120702
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120626
+packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120502
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120424
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120131
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120117
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20120103
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20120919
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120911
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120830
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120822
+packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120523
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120515
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120221
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120214
+packetLen(0x08a5, 4) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120131
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120120
+packetLen(0x08a5, 90) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20120103
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20121227
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20121024
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20121017
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20121010
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120919
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120911
+packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120905
+packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120716
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120710
+packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120417
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120410
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120404
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120328
+packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120120
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120117
+packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20120103
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20121218
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121212
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121128
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20121121
+packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120919
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120911
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120515
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120508
+packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120221
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120214
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20120103
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20121205
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20121128
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120822
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120814
+packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120716
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120710
+packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120523
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120515
+packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120424
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120417
+packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120320
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120314
+packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120307
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120228
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120120
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120117
+packetLen(0x08a8, 12) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20120103
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20121218
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121212
+packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121121
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121114
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121031
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121024
+packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121017
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20121010
+packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120801
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120724
+packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120529
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120523
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120515
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120508
+packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120502
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120424
+packetLen(0x08a9, 7) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120120
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120117
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20120103
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20121227
+packetLen(0x08aa, 18) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121218
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121212
+packetLen(0x08aa, 4) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121128
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121121
+packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121031
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20121024
+packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120808
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120801
+packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120716
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120710
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20120103
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20121121
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20121114
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120830
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120822
+packetLen(0x08ab, 7) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120808
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120801
+packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120724
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120529
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120523
+packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120221
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120214
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120110
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20120103
+packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20121218
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20121212
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120529
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120523
+packetLen(0x08ac, 7) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120515
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120328
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120320
+packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20120103
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20121212
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121205
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121128
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121114
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20121107
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120919
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120911
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120523
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120515
+packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120404
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120328
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120207
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120131
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120120
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20120103
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+#if PACKETVER >= 20120307
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+#elif PACKETVER >= 20120103
+packetLen(0x08e2, 25) // ZC_NAVIGATION_ACTIVE
+#endif
+
+// Packet: 0x08e3
+packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08e5
+packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+
+// Packet: 0x08e6
+packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+
+// Packet: 0x08e7
+packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+
+// Packet: 0x08e8
+packetLen(0x08e8, -1)
+
+// Packet: 0x08e9
+packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+
+// Packet: 0x08ea
+packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+
+// Packet: 0x08eb
+packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+
+// Packet: 0x08ec
+packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+
+// Packet: 0x08ed
+packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+
+// Packet: 0x08ee
+packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+
+// Packet: 0x08ef
+packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+
+// Packet: 0x08f0
+packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+
+// Packet: 0x08f1
+packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+
+// Packet: 0x08f2
+packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+
+// Packet: 0x08f3
+packetLen(0x08f3, -1)
+
+// Packet: 0x08f4
+packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+
+// Packet: 0x08f5
+packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+
+// Packet: 0x08f6
+packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+
+// Packet: 0x08f7
+packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+
+// Packet: 0x08f8
+packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+
+// Packet: 0x08f9
+packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+
+// Packet: 0x08fa
+packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+
+// Packet: 0x08fb
+packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x0909
+packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090b
+packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+
+// Packet: 0x090c
+packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+#if PACKETVER >= 20120131
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+#endif
+
+// Packet: 0x0910
+#if PACKETVER >= 20120120
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+#endif
+
+// Packet: 0x0911
+#if PACKETVER >= 20120120
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+#endif
+
+// Packet: 0x0912
+#if PACKETVER >= 20120120
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+#endif
+
+// Packet: 0x0913
+#if PACKETVER >= 20120120
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+#endif
+
+// Packet: 0x0914
+#if PACKETVER >= 20120131
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+#endif
+
+// Packet: 0x0915
+#if PACKETVER >= 20120131
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+#endif
+
+// Packet: 0x0916
+#if PACKETVER >= 20120131
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+#endif
+
+// Packet: 0x0917
+#if PACKETVER >= 20121218
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20121212
+packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120911
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120905
+packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120830
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120822
+packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120808
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120801
+packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120307
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120228
+packetLen(0x0917, 7) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120207
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20121024
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20121017
+packetLen(0x0918, 36) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120911
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120905
+packetLen(0x0918, -1) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120207
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20120601
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120529
+packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120307
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120228
+packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120221
+packetLen(0x0919, 4) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120207
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20121227
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121218
+packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121212
+packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121128
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121121
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121114
+packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120911
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120905
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120523
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120515
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120404
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120328
+packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120221
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120214
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120207
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20121205
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20121128
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120502
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120424
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120404
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120328
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120207
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20121227
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20121218
+packetLen(0x091c, 19) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20121212
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20121205
+packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20121128
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120801
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120724
+packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120417
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120410
+packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20120207
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20120905
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120830
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120808
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120801
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120612
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120601
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120417
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120410
+packetLen(0x091d, 18) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120404
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120328
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120207
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20121205
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20121128
+packetLen(0x091e, -1) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120529
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120523
+packetLen(0x091e, 12) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120207
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20121227
+packetLen(0x091f, 4) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20121205
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20121128
+packetLen(0x091f, 90) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120822
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120814
+packetLen(0x091f, 19) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120801
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120724
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120523
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120515
+packetLen(0x091f, 26) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120207
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20121227
+packetLen(0x0920, 90) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121218
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121212
+packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121024
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121017
+packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120822
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120814
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120702
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120626
+packetLen(0x0920, 7) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120404
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120328
+packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120221
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120214
+packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120207
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20121212
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121205
+packetLen(0x0921, 19) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121128
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121121
+packetLen(0x0921, 10) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120221
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120214
+packetLen(0x0921, -1) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120207
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20121205
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20121128
+packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20121114
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20121107
+packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120502
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120424
+packetLen(0x0922, 10) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120207
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20121010
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120925
+packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120523
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120515
+packetLen(0x0923, 7) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120502
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120424
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120207
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20120612
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120601
+packetLen(0x0924, 90) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120207
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20121017
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20121010
+packetLen(0x0925, 12) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120307
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120228
+packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120207
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20120905
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120830
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120502
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120424
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120314
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120307
+packetLen(0x0926, 18) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120207
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20121128
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20121121
+packetLen(0x0927, 19) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20121010
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120925
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120911
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120905
+packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120830
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120822
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120207
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20120801
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120724
+packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120307
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120228
+packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120207
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20121128
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121121
+packetLen(0x0929, 4) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120822
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120814
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120801
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120724
+packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120314
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120307
+packetLen(0x0929, 26) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120207
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20120808
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120801
+packetLen(0x092a, 4) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120320
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120314
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120207
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20121107
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20121031
+packetLen(0x092b, 4) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120801
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120724
+packetLen(0x092b, 90) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120523
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120515
+packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120404
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120328
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120207
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20120710
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120702
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120529
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120523
+packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120207
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20120716
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120710
+packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120307
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120228
+packetLen(0x092d, -1) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120207
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20120808
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120801
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120612
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120601
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120410
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120404
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120207
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20121205
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20121128
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120702
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120626
+packetLen(0x092f, 4) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120612
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120601
+packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120207
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20121121
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20121114
+packetLen(0x0930, 4) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120919
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120911
+packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120808
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120801
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120529
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120523
+packetLen(0x0930, 4) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120228
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120221
+packetLen(0x0930, 26) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20120207
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20121205
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20121128
+packetLen(0x0931, 7) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20121031
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20121024
+packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120320
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120314
+packetLen(0x0931, 8) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120207
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20121227
+packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121218
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121212
+packetLen(0x0932, 18) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121010
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120925
+packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120822
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120814
+packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120207
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20121227
+packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120307
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120228
+packetLen(0x0933, 18) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120221
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120214
+packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120207
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20121114
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121107
+packetLen(0x0934, 12) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121017
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121010
+packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120905
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120830
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120822
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120814
+packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120808
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120801
+packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120404
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120328
+packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120207
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20121227
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20121218
+packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20121121
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20121114
+packetLen(0x0935, 10) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120830
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120822
+packetLen(0x0935, 5) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120702
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120626
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120228
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120221
+packetLen(0x0935, -1) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20120207
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20120716
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120710
+packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120702
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120626
+packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120612
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120601
+packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120207
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20120830
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120822
+packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120307
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120228
+packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120221
+packetLen(0x0937, 8) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120207
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20121128
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20121121
+packetLen(0x0938, 12) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20121114
+packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120801
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120724
+packetLen(0x0938, 10) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120702
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120626
+packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120417
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120410
+packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120207
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20120207
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20121212
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20121205
+packetLen(0x093a, 6) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20121031
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20121024
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120702
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120626
+packetLen(0x093a, 90) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120601
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120529
+packetLen(0x093a, 19) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120320
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120314
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120207
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20121121
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121114
+packetLen(0x093b, 12) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121107
+packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120314
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120307
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120207
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20121121
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121114
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121017
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121010
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120911
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120905
+packetLen(0x093c, 12) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120808
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120801
+packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120724
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120502
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120424
+packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120228
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120221
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120207
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20120814
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120808
+packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120207
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20121212
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20121205
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120919
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120911
+packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120529
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120523
+packetLen(0x093e, 90) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120404
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120328
+packetLen(0x093e, 10) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120207
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20121212
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20121205
+packetLen(0x093f, 10) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120207
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20121227
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120830
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120822
+packetLen(0x0940, 12) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120814
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120808
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120626
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120618
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120515
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120508
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120410
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120404
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120207
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20121121
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20121114
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120822
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120814
+packetLen(0x0941, 90) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120808
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120801
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120529
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120523
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120502
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120424
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120320
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120314
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120307
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120228
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20120207
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20121031
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20121024
+packetLen(0x0942, -1) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20121017
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20121010
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120925
+packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120307
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120228
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20120207
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20120830
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120822
+packetLen(0x0943, 8) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120612
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120601
+packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20120207
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20121121
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20121114
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120911
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120905
+packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120710
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120702
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120523
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120515
+packetLen(0x0944, 18) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20120207
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20121205
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20121128
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20121114
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20121107
+packetLen(0x0945, 90) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120911
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120905
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120830
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120801
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120724
+packetLen(0x0945, 7) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120417
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120410
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120328
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120320
+packetLen(0x0945, 19) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120307
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120228
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20120207
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20121227
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121218
+packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121212
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121205
+packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121128
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121121
+packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121017
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20121010
+packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120808
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120801
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120320
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120314
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20120207
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20121227
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121218
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121212
+packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121031
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121024
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121017
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20121010
+packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120523
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120515
+packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120502
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120424
+packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120410
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120404
+packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120307
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120228
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20120207
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20121010
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120925
+packetLen(0x0948, 18) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120919
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120911
+packetLen(0x0948, 10) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120502
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120424
+packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20120207
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20121121
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20121114
+packetLen(0x0949, 18) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120919
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120911
+packetLen(0x0949, 4) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20120207
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20121121
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20121114
+packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120710
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120702
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120626
+packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20120207
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20121212
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121205
+packetLen(0x094b, 6) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121121
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20121114
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120919
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120911
+packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120905
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120830
+packetLen(0x094b, 18) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120716
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120710
+packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120523
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120515
+packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120417
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120410
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20120207
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20121017
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20121010
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120601
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120529
+packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20120207
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20121128
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20121121
+packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20121114
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20121107
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120830
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120822
+packetLen(0x094d, 36) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120529
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120523
+packetLen(0x094d, 26) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120515
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120508
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120307
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120228
+packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20120207
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20120830
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120822
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120808
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120801
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120716
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120710
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120612
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120601
+packetLen(0x094e, 5) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20120207
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20121121
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20121114
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120320
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120314
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20120207
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20121205
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20121128
+packetLen(0x0950, 12) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20121121
+packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20121010
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120925
+packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120911
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120905
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20120207
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20121218
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20121212
+packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120702
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120626
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120404
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120328
+packetLen(0x0951, 7) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20120207
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20121128
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20121121
+packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120919
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120911
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120221
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120214
+packetLen(0x0952, 19) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20120207
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20121227
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121218
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121212
+packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121205
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20121128
+packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120830
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120822
+packetLen(0x0953, 18) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120716
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120710
+packetLen(0x0953, 4) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120702
+packetLen(0x0953, 5) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120221
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120214
+packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20120207
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20121212
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121205
+packetLen(0x0954, 7) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121128
+packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121121
+packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121031
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20121024
+packetLen(0x0954, 90) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120618
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120612
+packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120404
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120328
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120307
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120228
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20120207
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20120830
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120822
+packetLen(0x0955, -1) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120502
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120424
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20120207
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20121010
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120925
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120919
+packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120716
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120710
+packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120529
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120523
+packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20120207
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20121227
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121218
+packetLen(0x0957, 18) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121212
+packetLen(0x0957, 90) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121128
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121121
+packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20121017
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120925
+packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120801
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120724
+packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120523
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120515
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120221
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120214
+packetLen(0x0957, 90) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20120207
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20121227
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20121128
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20121121
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20121010
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120925
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120919
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120911
+packetLen(0x0958, 10) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120410
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120404
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20120207
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20121212
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20121205
+packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20121017
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20121010
+packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120919
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120911
+packetLen(0x0959, 7) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120905
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120801
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120724
+packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20120207
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20120207
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20121218
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20121212
+packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120830
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120822
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120612
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120601
+packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120502
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120424
+packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20120207
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20121121
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121114
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121017
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20121010
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120314
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120307
+packetLen(0x095c, 4) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120228
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120221
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120214
+packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20120207
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20121227
+packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20121031
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20121024
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120710
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120702
+packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120404
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120328
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20120207
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20121031
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121024
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20121010
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120925
+packetLen(0x095e, 10) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120307
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120228
+packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20120207
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20120207
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20121205
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121128
+packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121114
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121107
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121024
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20121017
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120911
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120905
+packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120716
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120710
+packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120702
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20120207
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20120710
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120702
+packetLen(0x0961, 4) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120417
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120410
+packetLen(0x0961, 36) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120307
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120228
+packetLen(0x0961, 10) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20120207
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20121227
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20121024
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20121017
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120702
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120626
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20120207
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20121114
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20121107
+packetLen(0x0963, 4) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20121010
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120925
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120919
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120911
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120801
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120724
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120612
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120601
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120404
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120328
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120314
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120307
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120221
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120214
+packetLen(0x0963, 7) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20120207
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20121017
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20121010
+packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120905
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120830
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120808
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120801
+packetLen(0x0964, 12) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120523
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120515
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120320
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120314
+packetLen(0x0964, 18) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20120207
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20121218
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121212
+packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121121
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121114
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121031
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20121017
+packetLen(0x0965, 19) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120801
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120724
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120502
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120424
+packetLen(0x0965, 8) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20120207
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20121218
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121212
+packetLen(0x0966, -1) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121205
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121114
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20121107
+packetLen(0x0966, 18) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120919
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120911
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120801
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120724
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120523
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120515
+packetLen(0x0966, 4) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120328
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120320
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120221
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120214
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20120207
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20120911
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120905
+packetLen(0x0967, 7) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120822
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120814
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120404
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120328
+packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120228
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120221
+packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20120207
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20121212
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20121205
+packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120919
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120911
+packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20120207
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20121017
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20121010
+packetLen(0x0969, 18) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120822
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120814
+packetLen(0x0969, 5) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120228
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120221
+packetLen(0x0969, 19) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20120207
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20121227
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121212
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121121
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121114
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121107
+packetLen(0x096a, 26) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121031
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121024
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20121017
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120925
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120919
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120911
+packetLen(0x096a, 36) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120905
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120830
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120814
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120808
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120724
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120716
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120626
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120612
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120601
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120529
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120523
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120515
+packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120508
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120502
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120424
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120417
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120410
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120404
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120328
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120307
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120228
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120221
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120214
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20120207
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+#if PACKETVER >= 20120404
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20120207
+packetLen(0x096b, 3) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x096c
+#if PACKETVER >= 20120207
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x096d
+#if PACKETVER >= 20120228
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+#elif PACKETVER >= 20120214
+packetLen(0x096d, 2) // ZC_MERGE_ITEM_OPEN
+#endif
+
+// Packet: 0x096e
+#if PACKETVER >= 20120228
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+#elif PACKETVER >= 20120221
+packetLen(0x096e, 6) // CZ_REQ_MERGE_ITEM
+#elif PACKETVER >= 20120214
+packetLen(0x096e, 10) // CZ_REQ_MERGE_ITEM
+#endif
+
+// Packet: 0x096f
+#if PACKETVER >= 20120221
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+#elif PACKETVER >= 20120214
+packetLen(0x096f, 3) // ZC_ACK_MERGE_ITEM
+#endif
+
+// Packet: 0x0970
+#if PACKETVER >= 20120214
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+#endif
+
+// Packet: 0x0971
+#if PACKETVER >= 20120214
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x0972
+#if PACKETVER >= 20120214
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+#endif
+
+// Packet: 0x0973
+#if PACKETVER >= 20120214
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+#endif
+
+// Packet: 0x0974
+#if PACKETVER >= 20120221
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+#endif
+
+// Packet: 0x0975
+#if PACKETVER >= 20120221
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+#endif
+
+// Packet: 0x0976
+#if PACKETVER >= 20120221
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+#endif
+
+// Packet: 0x0977
+#if PACKETVER >= 20120228
+packetLen(0x0977, 14) // ZC_HP_INFO
+#elif PACKETVER >= 20120221
+packetLen(0x0977, 15) // ZC_HP_INFO
+#endif
+
+// Packet: 0x0978
+#if PACKETVER >= 20120328
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+#endif
+
+// Packet: 0x0979
+#if PACKETVER >= 20120328
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+#endif
+
+// Packet: 0x097a
+#if PACKETVER >= 20120410
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+#endif
+
+// Packet: 0x097b
+#if PACKETVER >= 20120417
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+#endif
+
+// Packet: 0x097c
+#if PACKETVER >= 20120502
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+#endif
+
+// Packet: 0x097d
+#if PACKETVER >= 20120502
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+#endif
+
+// Packet: 0x097e
+#if PACKETVER >= 20120502
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+#endif
+
+// Packet: 0x097f
+#if PACKETVER >= 20120502
+packetLen(0x097f, -1) // ZC_SELECTCART
+#endif
+
+// Packet: 0x0980
+#if PACKETVER >= 20120502
+packetLen(0x0980, 7) // CZ_SELECTCART
+#endif
+
+// Packet: 0x0981
+#if PACKETVER >= 20120515
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+#endif
+
+// Packet: 0x0982
+#if PACKETVER >= 20120523
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+#elif PACKETVER >= 20120515
+packetLen(0x0982, 3) // ZC_FATIGUE_CHN
+#endif
+
+// Packet: 0x0983
+#if PACKETVER >= 20120529
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+#endif
+
+// Packet: 0x0984
+#if PACKETVER >= 20120529
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+#endif
+
+// Packet: 0x0985
+#if PACKETVER >= 20120601
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+#endif
+
+// Packet: 0x0986
+#if PACKETVER >= 20120626
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+#elif PACKETVER >= 20120612
+packetLen(0x0986, 6) // AC_SHUTDOWN_NOTIFY
+#endif
+
+// Packet: 0x0987
+#if PACKETVER >= 20120702
+packetLen(0x0987, 63) // CA_LOGIN6
+#endif
+
+// Packet: 0x0988
+#if PACKETVER >= 20120716
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+#elif PACKETVER >= 20120702
+packetLen(0x0988, 2) // ZC_NOTIFY_CLAN_CONNECTINFO
+#endif
+
+// Packet: 0x0989
+#if PACKETVER >= 20120716
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+#elif PACKETVER >= 20120702
+packetLen(0x0989, 6) // ZC_ACK_CLAN_LEAVE
+#endif
+
+// Packet: 0x098a
+#if PACKETVER >= 20120702
+packetLen(0x098a, -1) // ZC_CLANINFO
+#endif
+
+// Packet: 0x098b
+#if PACKETVER >= 20120716
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+#endif
+
+// Packet: 0x098c
+#if PACKETVER >= 20120716
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+#endif
+
+// Packet: 0x098d
+#if PACKETVER >= 20120716
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+#endif
+
+// Packet: 0x098e
+#if PACKETVER >= 20120716
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+#endif
+
+// Packet: 0x098f
+#if PACKETVER >= 20120724
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+#endif
+
+// Packet: 0x0990
+#if PACKETVER >= 20120925
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+#endif
+
+// Packet: 0x0991
+#if PACKETVER >= 20120925
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+#endif
+
+// Packet: 0x0992
+#if PACKETVER >= 20120925
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+#endif
+
+// Packet: 0x0993
+#if PACKETVER >= 20120925
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+#endif
+
+// Packet: 0x0994
+#if PACKETVER >= 20120925
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+#endif
+
+// Packet: 0x0995
+#if PACKETVER >= 20120925
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+#endif
+
+// Packet: 0x0996
+#if PACKETVER >= 20120925
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+#endif
+
+// Packet: 0x0997
+#if PACKETVER >= 20120925
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+#endif
+
+// Packet: 0x0998
+#if PACKETVER >= 20120925
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+#endif
+
+// Packet: 0x0999
+#if PACKETVER >= 20120925
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+#endif
+
+// Packet: 0x099a
+#if PACKETVER >= 20120925
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+#endif
+
+// Packet: 0x099b
+#if PACKETVER >= 20121010
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+#endif
+
+// Packet: 0x099c
+#if PACKETVER >= 20121024
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+#endif
+
+// Packet: 0x099d
+#if PACKETVER >= 20121024
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+#endif
+
+// Packet: 0x099e
+#if PACKETVER >= 20121128
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+#endif
+
+// Packet: 0x099f
+#if PACKETVER >= 20121212
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+#endif
+
+// Packet: 0x09a0
+#if PACKETVER >= 20121212
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+#endif
+
+// Packet: 0x09a1
+#if PACKETVER >= 20121212
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+#endif
+
+
+#endif /* COMMON_PACKETS2012_LEN_RE_H */
diff --git a/src/common/packets/packets2013_len_main.h b/src/common/packets/packets2013_len_main.h
new file mode 100644
index 000000000..f7a60ade9
--- /dev/null
+++ b/src/common/packets/packets2013_len_main.h
@@ -0,0 +1,8876 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2013_LEN_MAIN_H
+#define COMMON_PACKETS2013_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20131230
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131223
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131218
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131211
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131016
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131008
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131002
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130828
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130821
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130814
+packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130807
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130717
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130710
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130703
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130612
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130605
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130502
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130424
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130417
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130320
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130313
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130227
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130220
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130109
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130103
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20131230
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131223
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131218
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131106
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131030
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131023
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131016
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131008
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131002
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130814
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130807
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130731
+packetLen(0x022d, 26) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130717
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130703
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130612
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130605
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130515
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130508
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130502
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130424
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130313
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130306
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130227
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130220
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130109
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130103
+packetLen(0x022d, 4) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20131230
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20131223
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20131008
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20131002
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130904
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130828
+packetLen(0x023b, 90) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130814
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130807
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130717
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130710
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130612
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130605
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130529
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130502
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130424
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130410
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130403
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130306
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130220
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130215
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130109
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130103
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20131230
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131218
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131113
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131106
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131030
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131023
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131016
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131008
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131002
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130911
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130904
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130821
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130814
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130807
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130717
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130703
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130626
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130605
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130502
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130417
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130410
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130403
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130320
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130313
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130227
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130220
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130115
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130109
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130103
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20131230
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130724
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130717
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130626
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130618
+packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130403
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130327
+packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130103
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20131230
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131211
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131204
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131127
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131106
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131030
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131008
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131002
+packetLen(0x035f, 36) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130925
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130917
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130904
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130814
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130807
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130731
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130724
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130717
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130626
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130618
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130605
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130522
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130417
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130410
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130403
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130327
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130313
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130306
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130227
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130206
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130121
+packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130109
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130103
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20131230
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20131211
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20131106
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20131030
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20131008
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130925
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130911
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130904
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130828
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130821
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130814
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130807
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130717
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130710
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130703
+packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130626
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130618
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130605
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130529
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130522
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130417
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130410
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130403
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130320
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130313
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130306
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130227
+packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130220
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130215
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130206
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130130
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130121
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130109
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130103
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20131230
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131223
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131127
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131120
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131023
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131016
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131008
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131002
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130911
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130904
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130828
+packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130821
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130814
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130807
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130717
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130710
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130612
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130605
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130502
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130424
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130227
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130220
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130121
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130115
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130109
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130103
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20131230
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131218
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131211
+packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131106
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131030
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131016
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131008
+packetLen(0x0362, 19) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131002
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130911
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130904
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130814
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130807
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130717
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130703
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130618
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130605
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130529
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130522
+packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130515
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130502
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130417
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130410
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130403
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130320
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130313
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130227
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130220
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130215
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130206
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130130
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130109
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130103
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20131230
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131218
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131113
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131106
+packetLen(0x0363, 10) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131030
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131008
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131002
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130911
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130904
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130814
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130807
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130717
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130703
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130618
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130605
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130502
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130417
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130410
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130403
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130327
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130320
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130313
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130227
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130220
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130109
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130103
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20131230
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131218
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131204
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131127
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131120
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131113
+packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131106
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131030
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131023
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131016
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131008
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131002
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130917
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130911
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130828
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130814
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130807
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130717
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130703
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130618
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130605
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130502
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130417
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130410
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130403
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130320
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130313
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130227
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130220
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130109
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130103
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20131230
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131218
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131204
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131127
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131106
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131030
+packetLen(0x0365, 19) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131008
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131002
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130911
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130904
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130814
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130807
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130717
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130703
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130618
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130605
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130502
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130417
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130410
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130403
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130327
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130320
+packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130313
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130227
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130220
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130115
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130109
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130103
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20131230
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131218
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131204
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131127
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131106
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131030
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131023
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131016
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131008
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131002
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130917
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130904
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130828
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130821
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130814
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130807
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130717
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130626
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130618
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130605
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130522
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130417
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130410
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130403
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130320
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130313
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130227
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130220
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130215
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130206
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130130
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130121
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130109
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130103
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20130417
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130410
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130313
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130306
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130206
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130130
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130103
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20131230
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20131211
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20131204
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20131127
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20131120
+packetLen(0x0368, 12) // CZ_REQNAME2
+#elif PACKETVER >= 20131106
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20131030
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20131008
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130925
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130917
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130904
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130821
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130814
+packetLen(0x0368, 19) // CZ_REQNAME2
+#elif PACKETVER >= 20130807
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130717
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130626
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130618
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130605
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130529
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130417
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130410
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130403
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130320
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130313
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130306
+packetLen(0x0368, 90) // CZ_REQNAME2
+#elif PACKETVER >= 20130227
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130206
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130130
+packetLen(0x0368, 5) // CZ_REQNAME2
+#elif PACKETVER >= 20130121
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130115
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130109
+packetLen(0x0368, 10) // CZ_REQNAME2
+#elif PACKETVER >= 20130103
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20131230
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131211
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131204
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131127
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131113
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131106
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131030
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131008
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130925
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130917
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130904
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130814
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130807
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130717
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130626
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130618
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130605
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130529
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130522
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130417
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130410
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130403
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130320
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130313
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130227
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130206
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130130
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130121
+packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130109
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130103
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20131230
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20131223
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20131113
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20131106
+packetLen(0x0436, 36) // CZ_ENTER2
+#elif PACKETVER >= 20131030
+packetLen(0x0436, 18) // CZ_ENTER2
+#elif PACKETVER >= 20131008
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20131002
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130917
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130911
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20130904
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130814
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130807
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130717
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130703
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130618
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130605
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130515
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130508
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20130502
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130424
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130320
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130313
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130227
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130220
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130215
+packetLen(0x0436, 18) // CZ_ENTER2
+#elif PACKETVER >= 20130109
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130103
+packetLen(0x0436, 36) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20131230
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131211
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131204
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131127
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131106
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131030
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131008
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131002
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130925
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130917
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130904
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130828
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130821
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130814
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130731
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130724
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130717
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130626
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130618
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130605
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130522
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130417
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130410
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130403
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130320
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130313
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130306
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130206
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130130
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130121
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130115
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130109
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130103
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20131230
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131211
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131204
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131127
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131106
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131030
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131023
+packetLen(0x0438, 26) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131008
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131002
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130925
+packetLen(0x0438, 90) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130917
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130904
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130828
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130821
+packetLen(0x0438, 8) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130814
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130807
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130731
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130717
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130626
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130618
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130529
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130522
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130417
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130410
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130403
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130327
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130320
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130313
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130227
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130206
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130130
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130121
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130109
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130103
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20131230
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131218
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131211
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131204
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131127
+packetLen(0x07e4, 90) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131106
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131030
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131016
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131008
+packetLen(0x07e4, 7) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131002
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130911
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130904
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130814
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130807
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130717
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130703
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130618
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130605
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130508
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130502
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130417
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130410
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130403
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130320
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130313
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130227
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130220
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130215
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130206
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130109
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130103
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20131230
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131218
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131211
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131204
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131106
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131030
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131023
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131016
+packetLen(0x07ec, 19) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131008
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131002
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130911
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130904
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130828
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130821
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130814
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130807
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130717
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130703
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130618
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130605
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130529
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130522
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130508
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130502
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130417
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130410
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130403
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130327
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130320
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130313
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130227
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130220
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130130
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130121
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130115
+packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130109
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130103
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20131230
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131218
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131127
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131120
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131113
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131106
+packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131030
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131023
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131016
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131008
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131002
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130911
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130904
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130814
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130807
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130717
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130703
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130618
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130605
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130502
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130417
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130410
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130403
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130320
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130313
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130306
+packetLen(0x0802, 12) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130227
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130220
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130215
+packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130130
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130121
+packetLen(0x0802, 7) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130109
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130103
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20131230
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131223
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131218
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131211
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131204
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131127
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131120
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131106
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131030
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131023
+packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131008
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130925
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130917
+packetLen(0x0811, 7) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130904
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130814
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130807
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130717
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130626
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130618
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130605
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130529
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130522
+packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130424
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130417
+packetLen(0x0811, 26) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130410
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130403
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130320
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130313
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130306
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130227
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130215
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130206
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130109
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130103
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20131230
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131211
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131204
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131127
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131106
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131030
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131008
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130925
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130917
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130911
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130904
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130828
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130821
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130814
+packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130807
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130717
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130626
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130618
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130605
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130522
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130417
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130410
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130403
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130320
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130313
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130306
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130227
+packetLen(0x0815, 18) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130206
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130130
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130121
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130109
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130103
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20131127
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20131120
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20131113
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20131106
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130904
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130828
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130703
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130626
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130313
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130306
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130227
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130130
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130121
+packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130115
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130103
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20131230
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131211
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131204
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131127
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131106
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131030
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131023
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131008
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130925
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130917
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130911
+packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130904
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130814
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130731
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130717
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130626
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130618
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130605
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130522
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130417
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130410
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130403
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130320
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130313
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130227
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130206
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130109
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130103
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20131030
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20131023
+packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130911
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130904
+packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130821
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130814
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130403
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130327
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130103
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20131230
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131211
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131204
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131127
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131106
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131030
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131008
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130925
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130917
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130911
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130904
+packetLen(0x0838, 19) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130814
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130807
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130717
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130626
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130618
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130605
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130522
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130417
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130410
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130403
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130320
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130313
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130227
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130206
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130130
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130121
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130115
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130109
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130103
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20131230
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131218
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131211
+packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131204
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131127
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131106
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131030
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131008
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130925
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130917
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130904
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130814
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130807
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130724
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130717
+packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130626
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130618
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130605
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130522
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130417
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130410
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130403
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130320
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130313
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130227
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130206
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130130
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130121
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130109
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130103
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20131211
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131204
+packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131127
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131120
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131023
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131016
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130731
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130724
+packetLen(0x085a, 18) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130605
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130529
+packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130508
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130502
+packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130327
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130320
+packetLen(0x085a, 90) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130306
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130227
+packetLen(0x085a, 10) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130130
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130121
+packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130103
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20131030
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131023
+packetLen(0x085b, 90) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130313
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130306
+packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130103
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20131223
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20131218
+packetLen(0x085c, 36) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130917
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130911
+packetLen(0x085c, 26) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130313
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130306
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130103
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20131023
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131016
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131008
+packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130327
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130320
+packetLen(0x085d, 18) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130215
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130206
+packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130130
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130121
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130103
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20131016
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20131008
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130731
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130724
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130605
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130529
+packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130103
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20131127
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20131120
+packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130206
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130130
+packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130103
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20131230
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130731
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130724
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130703
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130626
+packetLen(0x0860, 8) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130417
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130410
+packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130313
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130306
+packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130103
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20130121
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130115
+packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130103
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20131211
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131204
+packetLen(0x0862, 5) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131030
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131023
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130828
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130821
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130724
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130717
+packetLen(0x0862, 18) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130626
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130618
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130522
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130515
+packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130103
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20131023
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20131016
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20131008
+packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130925
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130917
+packetLen(0x0863, 8) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130828
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130821
+packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130807
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130731
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130724
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130717
+packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130605
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130529
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130306
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130227
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130121
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130115
+packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130103
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20131023
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20131016
+packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130626
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130618
+packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130103
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20131218
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131211
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130807
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130731
+packetLen(0x0865, 10) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130417
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130410
+packetLen(0x0865, 12) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130103
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20131113
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20131106
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130115
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130109
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130103
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20131113
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20131106
+packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20131023
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20131016
+packetLen(0x0867, 90) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130731
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130724
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130508
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130502
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130306
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130227
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130103
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20130925
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130917
+packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130911
+packetLen(0x0868, 18) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130821
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130814
+packetLen(0x0868, 12) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130515
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130508
+packetLen(0x0868, 36) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130327
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130320
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130103
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20131211
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20131204
+packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130605
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130529
+packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130306
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130227
+packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130220
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130215
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130103
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20130731
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130724
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130529
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130522
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130103
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20130917
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130911
+packetLen(0x086b, 36) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130724
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130717
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130424
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130417
+packetLen(0x086b, 19) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130206
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130130
+packetLen(0x086b, 4) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130103
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20131211
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20131204
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20131016
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20131008
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130724
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130717
+packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130417
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130410
+packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130130
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130121
+packetLen(0x086c, 19) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130103
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20131016
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20131008
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20131002
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130925
+packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130917
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130911
+packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130403
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130327
+packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130320
+packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130313
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130306
+packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130103
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20131218
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20131211
+packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20131030
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20131023
+packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20131002
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130925
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130917
+packetLen(0x086e, 90) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130828
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130821
+packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130306
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130227
+packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130103
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20130925
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130917
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130327
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130320
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130220
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130215
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130103
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20131023
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20131016
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130508
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130502
+packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130121
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130115
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130103
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20131230
+packetLen(0x0871, 7) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130121
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130115
+packetLen(0x0871, 26) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130103
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20131030
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20131218
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20131211
+packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130821
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130814
+packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130710
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130703
+packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130403
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130327
+packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130103
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20130821
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130814
+packetLen(0x0874, 7) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130731
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130724
+packetLen(0x0874, 5) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130605
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130529
+packetLen(0x0874, 18) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130522
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130508
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130502
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130327
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130320
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130130
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130121
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130103
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20131113
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20131106
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20131023
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20131016
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20131002
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130925
+packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130508
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130502
+packetLen(0x0875, 26) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130424
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130417
+packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130103
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20131030
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20131023
+packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20131002
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130925
+packetLen(0x0876, 8) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130731
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130724
+packetLen(0x0876, 7) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130605
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130529
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130215
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130206
+packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130103
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20131211
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20131204
+packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130605
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130529
+packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130508
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130502
+packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130121
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130115
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130103
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20130807
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130731
+packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130626
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130618
+packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130515
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130508
+packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130403
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130327
+packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130103
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20131211
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20131204
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130828
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130821
+packetLen(0x0879, 12) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130417
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130410
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130121
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130115
+packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130103
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20130925
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130917
+packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130626
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130618
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130103
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20131230
+packetLen(0x087b, 12) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20131223
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20131218
+packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130917
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130911
+packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130306
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130227
+packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130103
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20130508
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130502
+packetLen(0x087c, 19) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130417
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130410
+packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130121
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130115
+packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130103
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20131106
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131030
+packetLen(0x087d, 26) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131002
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130925
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130417
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130410
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130206
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130130
+packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130103
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20131230
+packetLen(0x087e, 4) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130925
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130917
+packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130904
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130828
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130618
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130612
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130529
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130522
+packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130103
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20131230
+packetLen(0x087f, -1) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20131211
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20131204
+packetLen(0x087f, 18) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130206
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130130
+packetLen(0x087f, -1) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130103
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20130717
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130710
+packetLen(0x0880, 36) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130103
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20131218
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131211
+packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131204
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131127
+packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130828
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130821
+packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130327
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130320
+packetLen(0x0881, 5) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130313
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130306
+packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130103
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20131211
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20131204
+packetLen(0x0882, 26) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130724
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130717
+packetLen(0x0882, 10) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130103
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20131016
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20131008
+packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130612
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130605
+packetLen(0x0883, 36) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130215
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130206
+packetLen(0x0883, 18) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130103
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20131204
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131127
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131120
+packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131016
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131008
+packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130807
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130731
+packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130410
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130403
+packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130130
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130121
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130103
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20131030
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131023
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131016
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131008
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131002
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130925
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130821
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130814
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130626
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130618
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130403
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130327
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130215
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130206
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130130
+packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130103
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20131218
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20131211
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130220
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130215
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130206
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130130
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130115
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130109
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130103
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20131113
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131106
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131030
+packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131023
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131016
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131002
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130925
+packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130821
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130814
+packetLen(0x0887, 10) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130807
+packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130626
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130618
+packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130522
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130515
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130320
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130313
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130206
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130130
+packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130103
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20131023
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20131016
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130605
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130529
+packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130508
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130502
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130327
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130320
+packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130121
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130115
+packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130109
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130103
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20130917
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130911
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130904
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130828
+packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130821
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130814
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130807
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130731
+packetLen(0x0889, 4) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130626
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130618
+packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130508
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130502
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130206
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130130
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130103
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20131030
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20131023
+packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130925
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130917
+packetLen(0x088a, 36) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130821
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130814
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130724
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130717
+packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130115
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130109
+packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130103
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20131030
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20131023
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20131016
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130807
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130731
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130703
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130626
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130515
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130508
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130121
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130115
+packetLen(0x088b, 90) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130103
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20131127
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131120
+packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131113
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130821
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130814
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130724
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130717
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130703
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130626
+packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130417
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130410
+packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130103
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20131204
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20131127
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20131120
+packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130828
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130821
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130417
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130410
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130103
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20130626
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130618
+packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130605
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130529
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130522
+packetLen(0x088e, 36) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130327
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130320
+packetLen(0x088e, 7) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130115
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130109
+packetLen(0x088e, 12) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130103
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20131120
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131113
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131030
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131023
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131002
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130925
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130828
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130821
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130703
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130626
+packetLen(0x088f, 4) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130403
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130327
+packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130103
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20131023
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20131016
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20131002
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130925
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130626
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130618
+packetLen(0x0890, 12) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130605
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130529
+packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130417
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130410
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130327
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130320
+packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130313
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130306
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130103
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20131113
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20131106
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130917
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130911
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130731
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130724
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130626
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130618
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130417
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130410
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130403
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130327
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130115
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130109
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130103
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20131218
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20131211
+packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130828
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130821
+packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130605
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130529
+packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130115
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130109
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130103
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20131113
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20131106
+packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130904
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130828
+packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130731
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130724
+packetLen(0x0893, 19) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130515
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130508
+packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130306
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130227
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130130
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130121
+packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130103
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20131204
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131127
+packetLen(0x0894, 36) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131113
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131106
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131023
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131016
+packetLen(0x0894, 12) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130807
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130731
+packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130703
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130626
+packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130121
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130115
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130103
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20131230
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130925
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130917
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130821
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130814
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130807
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130731
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130703
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130626
+packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130605
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130529
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130515
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130508
+packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130121
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130115
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130103
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20131016
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20131008
+packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130821
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130814
+packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130103
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20130807
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130731
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130724
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130717
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130605
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130529
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130515
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130508
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130327
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130320
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130103
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20131230
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130724
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130717
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130327
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130320
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130313
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130306
+packetLen(0x0898, 7) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130227
+packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130103
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20130403
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130327
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130215
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130206
+packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130103
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20131120
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20131113
+packetLen(0x089a, 19) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130206
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130130
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130103
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20130724
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130717
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130529
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130522
+packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130327
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130320
+packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130103
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20131230
+packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20131016
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20131008
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130731
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130724
+packetLen(0x089c, 10) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130529
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130522
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130417
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130410
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130103
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20130925
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130917
+packetLen(0x089d, 19) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130103
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20131204
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20131127
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20131120
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130904
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130828
+packetLen(0x089e, 10) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130417
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130410
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130220
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130215
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130103
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20130904
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130828
+packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130313
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130306
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130220
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130215
+packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130206
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130130
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130103
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20131211
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20131204
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130925
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130917
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130417
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130410
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130215
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130206
+packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130130
+packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130121
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130115
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130103
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20131127
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20131120
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130522
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130515
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130508
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130502
+packetLen(0x08a1, 18) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130403
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130327
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130306
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130227
+packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130103
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20131113
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20131106
+packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20131030
+packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130925
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130917
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130529
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130522
+packetLen(0x08a2, 7) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130403
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130327
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130115
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130109
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130103
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20131218
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20131211
+packetLen(0x08a3, 18) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130904
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130828
+packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130529
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130522
+packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130508
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130502
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130103
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20131230
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131223
+packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131218
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131211
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131204
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131127
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131120
+packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131113
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130917
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130911
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130821
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130814
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130417
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130410
+packetLen(0x08a4, 90) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130313
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130306
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130206
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130130
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130121
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130115
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130103
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20130703
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130626
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130410
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130403
+packetLen(0x08a5, 4) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130103
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20130724
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130717
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130626
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130618
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130529
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130522
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130103
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20131211
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131204
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131030
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131023
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130626
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130618
+packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130605
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130529
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130103
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20131127
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20131120
+packetLen(0x08a8, 7) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20131113
+packetLen(0x08a8, 8) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130925
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130917
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130605
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130529
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130103
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20131230
+packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20131016
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20131008
+packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130724
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130717
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130529
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130522
+packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130206
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130130
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130103
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20130724
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130717
+packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130522
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130515
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130115
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130109
+packetLen(0x08aa, 4) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130103
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20131223
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131218
+packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131211
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131030
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131023
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130731
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130724
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130703
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130626
+packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130515
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130508
+packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130103
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20131030
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20131023
+packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130904
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130828
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130529
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130522
+packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130515
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130327
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130320
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130313
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130306
+packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130215
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130206
+packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130121
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130115
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130103
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20131211
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20131204
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130828
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130821
+packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130220
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130215
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130103
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08e5
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+#endif
+
+// Packet: 0x08e6
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+#endif
+
+// Packet: 0x08e7
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+#endif
+
+// Packet: 0x08e8
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e8, -1)
+#endif
+
+// Packet: 0x08e9
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+#endif
+
+// Packet: 0x08ea
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+#endif
+
+// Packet: 0x08eb
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+#endif
+
+// Packet: 0x08ec
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+#endif
+
+// Packet: 0x08ed
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+#endif
+
+// Packet: 0x08ee
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+#endif
+
+// Packet: 0x08ef
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#endif
+
+// Packet: 0x08f0
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#endif
+
+// Packet: 0x08f1
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+#endif
+
+// Packet: 0x08f2
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+#endif
+
+// Packet: 0x08f3
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f3, -1)
+#endif
+
+// Packet: 0x08f4
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+#endif
+
+// Packet: 0x08f5
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+#endif
+
+// Packet: 0x08f6
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+#endif
+
+// Packet: 0x08f7
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+#endif
+
+// Packet: 0x08f8
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+#endif
+
+// Packet: 0x08f9
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+#endif
+
+// Packet: 0x08fa
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+#endif
+
+// Packet: 0x08fb
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+#endif
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x0909
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+#endif
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090b
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#endif
+
+// Packet: 0x090c
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#endif
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20131127
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20131120
+packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20131016
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20131008
+packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130904
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130828
+packetLen(0x0917, 18) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130724
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130717
+packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130626
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130618
+packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130605
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130529
+packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130417
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130410
+packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130313
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130306
+packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130103
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20130925
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130917
+packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130724
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130717
+packetLen(0x0918, 7) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130605
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130529
+packetLen(0x0918, -1) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130121
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130115
+packetLen(0x0918, 10) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130109
+packetLen(0x0918, 26) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130103
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20131030
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20131023
+packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130618
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130612
+packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130605
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130529
+packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130103
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20131023
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20131016
+packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130206
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130130
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130103
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20130306
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20130227
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20130115
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20130109
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20130103
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20131120
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20131113
+packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20131016
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20131008
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20130925
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20130917
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20130103
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20131230
+packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131113
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131106
+packetLen(0x091d, 90) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131030
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131023
+packetLen(0x091d, 12) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130828
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130821
+packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130724
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130717
+packetLen(0x091d, 19) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130417
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130410
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130103
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20131230
+packetLen(0x091e, 10) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20131023
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20131016
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130925
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130917
+packetLen(0x091e, 4) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130911
+packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130904
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130828
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130724
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130717
+packetLen(0x091e, 10) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130313
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130306
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130103
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20131230
+packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131211
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131204
+packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131023
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131016
+packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130403
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130327
+packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130306
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130227
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130130
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130121
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130103
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20131120
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20131113
+packetLen(0x0920, 12) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130320
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130313
+packetLen(0x0920, 36) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130215
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130130
+packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130103
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20130925
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130917
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130731
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130724
+packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130703
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130626
+packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130103
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20130327
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130320
+packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130115
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130109
+packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130103
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20131030
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20131023
+packetLen(0x0923, 7) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130925
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130917
+packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130904
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130828
+packetLen(0x0923, 10) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130821
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130814
+packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130807
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130731
+packetLen(0x0923, 18) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130220
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130215
+packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130103
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20131030
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20131023
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130904
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130828
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130731
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130724
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130306
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130227
+packetLen(0x0924, 90) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130206
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130130
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130103
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20131106
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20131030
+packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130807
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130731
+packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130529
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130522
+packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130215
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130206
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130103
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20131230
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131127
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131120
+packetLen(0x0926, -1) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131113
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130821
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130814
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130529
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130522
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130410
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130403
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130313
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130306
+packetLen(0x0926, 36) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130103
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20131127
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131120
+packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131113
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131023
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131016
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131008
+packetLen(0x0927, 12) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130821
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130814
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130731
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130724
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130115
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130109
+packetLen(0x0927, 90) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130103
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20131211
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20131204
+packetLen(0x0928, 7) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20131120
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20131113
+packetLen(0x0928, 36) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130904
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130828
+packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130121
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130109
+packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130103
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20131120
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20131113
+packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20131106
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130904
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130828
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130424
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130417
+packetLen(0x0929, 5) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130103
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20131230
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130103
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20131218
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131211
+packetLen(0x092b, 36) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131127
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131120
+packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131113
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130807
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130731
+packetLen(0x092b, 19) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130724
+packetLen(0x092b, 26) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130403
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130327
+packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130306
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130227
+packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130103
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20131120
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20131113
+packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130103
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20131211
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20131204
+packetLen(0x092d, 10) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20131120
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20131113
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130828
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130821
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130807
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130731
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130522
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130515
+packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130508
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130403
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130327
+packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130320
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130313
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130121
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130115
+packetLen(0x092d, 19) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130103
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20131120
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20131113
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130731
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130724
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130403
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130327
+packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130121
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130115
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130103
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20131223
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131218
+packetLen(0x092f, 19) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131211
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131204
+packetLen(0x092f, 5) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131120
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131113
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130724
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130717
+packetLen(0x092f, 26) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130403
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130327
+packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130306
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130227
+packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130103
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20131204
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20131127
+packetLen(0x0930, 18) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130904
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130828
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130710
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130703
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130626
+packetLen(0x0930, 36) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130618
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130115
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130109
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130103
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20131218
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131211
+packetLen(0x0931, 8) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130522
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130515
+packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130115
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130109
+packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130103
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20131016
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20131008
+packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130626
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130618
+packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130103
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20130417
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130410
+packetLen(0x0933, 10) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130403
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130327
+packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130320
+packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130103
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20131120
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131113
+packetLen(0x0934, 18) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131016
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131008
+packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130925
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130917
+packetLen(0x0934, 12) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130313
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130306
+packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130103
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20131113
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20131106
+packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20131030
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20131023
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130807
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130731
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130103
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20131120
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20131113
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20131016
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20131008
+packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130821
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130814
+packetLen(0x0936, -1) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130626
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130618
+packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130605
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130529
+packetLen(0x0936, -1) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130306
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130227
+packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130103
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20131030
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20131023
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130911
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130904
+packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130821
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130814
+packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130605
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130529
+packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130103
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20130605
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130529
+packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130403
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130327
+packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130320
+packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130115
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130109
+packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130103
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20130417
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130410
+packetLen(0x0939, 7) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130403
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130327
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130121
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130115
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130103
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20131204
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20131127
+packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130917
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130911
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130904
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130821
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130814
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130618
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130612
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130215
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130206
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130130
+packetLen(0x093a, 36) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130103
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20131211
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20131204
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20131113
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20131106
+packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130724
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130717
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130103
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20131120
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20131113
+packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20131016
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20131008
+packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130215
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130206
+packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130103
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20131230
+packetLen(0x093d, -1) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130417
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130410
+packetLen(0x093d, 8) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130206
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130130
+packetLen(0x093d, -1) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130103
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20131230
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20131127
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20131120
+packetLen(0x093e, 90) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130828
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130821
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130529
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130522
+packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130515
+packetLen(0x093e, 36) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130115
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130109
+packetLen(0x093e, 18) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130103
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20131127
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131120
+packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130327
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130320
+packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130103
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20131204
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131127
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131120
+packetLen(0x0940, 4) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131008
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131002
+packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130925
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130917
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130911
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130618
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130612
+packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130130
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130121
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130109
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130103
+packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20131211
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20131204
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130807
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130731
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130220
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130215
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130103
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20131113
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20131106
+packetLen(0x0942, 10) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130626
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130618
+packetLen(0x0942, -1) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130410
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130403
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130103
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20131230
+packetLen(0x0943, 26) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130522
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130515
+packetLen(0x0943, 19) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130313
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130306
+packetLen(0x0943, 10) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130103
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20131030
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20131023
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130904
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130828
+packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130626
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130618
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130522
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130515
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130508
+packetLen(0x0944, 4) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130417
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130410
+packetLen(0x0944, 4) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130313
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130306
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130103
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20130626
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20130618
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20130417
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20130410
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20130103
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20131113
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20131106
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20131023
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20131016
+packetLen(0x0946, 18) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130904
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130828
+packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130313
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130306
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130227
+packetLen(0x0946, 8) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130121
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130115
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130103
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20131223
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131218
+packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131113
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131106
+packetLen(0x0947, 7) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131016
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131008
+packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130821
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130814
+packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130522
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130515
+packetLen(0x0947, 26) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130327
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130320
+packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130313
+packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130103
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20131113
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20131106
+packetLen(0x0948, 4) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130917
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130911
+packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130103
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20131230
+packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131120
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131113
+packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130103
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20131230
+packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20131030
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20131023
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130904
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130828
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130731
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130724
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130710
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130703
+packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130403
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130327
+packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130313
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130306
+packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130103
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20130403
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130327
+packetLen(0x094b, 36) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130227
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130220
+packetLen(0x094b, 36) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130121
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130115
+packetLen(0x094b, 18) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130103
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20131218
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20131211
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20131204
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20131127
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130925
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130917
+packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130904
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130828
+packetLen(0x094c, -1) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130807
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130731
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130327
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130320
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130121
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130115
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130103
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20130703
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130626
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130515
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130508
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130103
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20130925
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130917
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130327
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130320
+packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130313
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130306
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130121
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130115
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130103
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20131204
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20131127
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130904
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130828
+packetLen(0x094f, 7) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130626
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130618
+packetLen(0x094f, 90) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130403
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130327
+packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130130
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130121
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130115
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130109
+packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130103
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20131127
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131120
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131106
+packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130529
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130522
+packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130410
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130403
+packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130215
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130206
+packetLen(0x0950, 8) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130115
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130109
+packetLen(0x0950, 36) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130103
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20131211
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131204
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131030
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131023
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130626
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130618
+packetLen(0x0951, 10) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130605
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130529
+packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130313
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130306
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130227
+packetLen(0x0951, 10) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130115
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130109
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130103
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20131016
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20131008
+packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130724
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130717
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130703
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130626
+packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130529
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130522
+packetLen(0x0952, -1) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130103
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20131127
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20131120
+packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130731
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130724
+packetLen(0x0953, 5) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130626
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130618
+packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130103
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20131113
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131106
+packetLen(0x0954, 12) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131030
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131023
+packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131016
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131008
+packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130828
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130821
+packetLen(0x0954, 10) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130731
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130724
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130103
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20131127
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131120
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130417
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130410
+packetLen(0x0955, 10) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130403
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130327
+packetLen(0x0955, 7) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130103
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20131127
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20131120
+packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20131016
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20131008
+packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130911
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130904
+packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130807
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130731
+packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130724
+packetLen(0x0956, 12) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130717
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130605
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130529
+packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130220
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130215
+packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130206
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130130
+packetLen(0x0956, 19) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130121
+packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130103
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20130925
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130917
+packetLen(0x0957, 10) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130807
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130731
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130605
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130529
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130515
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130508
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130206
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130130
+packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130103
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20131211
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20131204
+packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20131002
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130925
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130821
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130814
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130807
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130731
+packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130724
+packetLen(0x0958, 10) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130717
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130605
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130529
+packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130103
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20131211
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131204
+packetLen(0x0959, 90) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130925
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130917
+packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130821
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130814
+packetLen(0x0959, 18) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130327
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130320
+packetLen(0x0959, 10) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130103
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20131002
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130925
+packetLen(0x095a, 18) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130327
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130320
+packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130121
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130115
+packetLen(0x095a, 36) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130103
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20131211
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131204
+packetLen(0x095b, 12) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131030
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131023
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131002
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130925
+packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130917
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130807
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130731
+packetLen(0x095b, 90) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130724
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130717
+packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130626
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130618
+packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130529
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130522
+packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130306
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130227
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130206
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130130
+packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130121
+packetLen(0x095b, 26) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130103
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20131204
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20131127
+packetLen(0x095c, 19) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20131002
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130925
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130731
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130724
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130529
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130522
+packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130515
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130508
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130206
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130130
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130103
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20131120
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20131113
+packetLen(0x095d, 7) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20131106
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20131016
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20131008
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130904
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130828
+packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130807
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130731
+packetLen(0x095d, 12) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130724
+packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130220
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130215
+packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130103
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20131127
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131120
+packetLen(0x095e, 18) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131023
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131016
+packetLen(0x095e, 10) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130828
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130821
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130529
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130522
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130306
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130227
+packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130115
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130109
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130103
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20131120
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20131113
+packetLen(0x095f, 10) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130821
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130814
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130807
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130731
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130103
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20131120
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20131113
+packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130724
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130717
+packetLen(0x0960, 12) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130703
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130626
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130417
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130410
+packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130403
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130327
+packetLen(0x0960, 10) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130313
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130306
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130103
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20131211
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20131204
+packetLen(0x0961, 4) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130508
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130502
+packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130403
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130327
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130103
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20131113
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20131106
+packetLen(0x0962, -1) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20131023
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20131016
+packetLen(0x0962, 7) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130828
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130821
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130814
+packetLen(0x0962, 90) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130807
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130731
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130626
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130618
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130522
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130515
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130424
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130417
+packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130313
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130306
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130220
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130215
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130103
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20130522
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130515
+packetLen(0x0963, -1) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130130
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130121
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130103
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20131120
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20131113
+packetLen(0x0964, 4) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130828
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130821
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130618
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130612
+packetLen(0x0964, 36) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130529
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130522
+packetLen(0x0964, 90) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130103
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20130731
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130724
+packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130529
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130522
+packetLen(0x0965, 8) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130103
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20131023
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20131016
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130904
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130828
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130731
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130724
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130103
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20131211
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20131204
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20131127
+packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20131113
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20131106
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130917
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130911
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130828
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130821
+packetLen(0x0967, 18) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130724
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130717
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130508
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130502
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130417
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130410
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130403
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130327
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130306
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130227
+packetLen(0x0967, 7) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130103
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20131230
+packetLen(0x0968, 8) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130103
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20131230
+packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131120
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131113
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131016
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131008
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131002
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130925
+packetLen(0x0969, 4) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130828
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130821
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130502
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130424
+packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130417
+packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130130
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130121
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130103
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20131230
+packetLen(0x096a, 90) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131211
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131204
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131127
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131106
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131030
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131008
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130925
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130917
+packetLen(0x096a, 26) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130911
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130904
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130828
+packetLen(0x096a, 19) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130814
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130807
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130717
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130626
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130618
+packetLen(0x096a, 10) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130605
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130522
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130508
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130502
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130424
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130417
+packetLen(0x096a, 4) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130403
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130320
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130313
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130227
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130206
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130130
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130121
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130109
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130103
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+#if PACKETVER >= 20130115
+packetLen(0x0987, -1) // CA_LOGIN6
+#elif PACKETVER >= 20130103
+packetLen(0x0987, 63) // CA_LOGIN6
+#endif
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+#if PACKETVER >= 20130130
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+#endif
+
+// Packet: 0x09a3
+#if PACKETVER >= 20130130
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+#endif
+
+// Packet: 0x09a4
+#if PACKETVER >= 20130206
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+#endif
+
+// Packet: 0x09a5
+#if PACKETVER >= 20130220
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+#endif
+
+// Packet: 0x09a6
+#if PACKETVER >= 20130306
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+#endif
+
+// Packet: 0x09a7
+#if PACKETVER >= 20130320
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+#elif PACKETVER >= 20130306
+packetLen(0x09a7, 14) // CZ_REQ_BANKING_DEPOSIT
+#endif
+
+// Packet: 0x09a8
+#if PACKETVER >= 20130515
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+#elif PACKETVER >= 20130320
+packetLen(0x09a8, 12) // ZC_ACK_BANKING_DEPOSIT
+#elif PACKETVER >= 20130306
+packetLen(0x09a8, 4) // ZC_ACK_BANKING_DEPOSIT
+#endif
+
+// Packet: 0x09a9
+#if PACKETVER >= 20130320
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+#elif PACKETVER >= 20130306
+packetLen(0x09a9, 14) // CZ_REQ_BANKING_WITHDRAW
+#endif
+
+// Packet: 0x09aa
+#if PACKETVER >= 20130515
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+#elif PACKETVER >= 20130320
+packetLen(0x09aa, 12) // ZC_ACK_BANKING_WITHDRAW
+#elif PACKETVER >= 20130306
+packetLen(0x09aa, 4) // ZC_ACK_BANKING_WITHDRAW
+#endif
+
+// Packet: 0x09ab
+#if PACKETVER >= 20130320
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+#elif PACKETVER >= 20130313
+packetLen(0x09ab, -1) // CZ_REQ_BANKING_CHECK
+#endif
+
+// Packet: 0x09ac
+#if PACKETVER >= 20130327
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ac, 20) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+#endif
+
+// Packet: 0x09ad
+#if PACKETVER >= 20130327
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ad, 6) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20130327
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ae, -1) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09af
+#if PACKETVER >= 20130327
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09af, -1) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09b0
+#if PACKETVER >= 20130327
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09b1
+#if PACKETVER >= 20130327
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b1, 6) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09b2
+#if PACKETVER >= 20130605
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#elif PACKETVER >= 20130327
+packetLen(0x09b2, 6) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b2, -1) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20130605
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#elif PACKETVER >= 20130327
+packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#endif
+
+// Packet: 0x09b4
+#if PACKETVER >= 20130417
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+#endif
+
+// Packet: 0x09b5
+#if PACKETVER >= 20130417
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+#endif
+
+// Packet: 0x09b6
+#if PACKETVER >= 20130417
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+#endif
+
+// Packet: 0x09b7
+#if PACKETVER >= 20130417
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+#endif
+
+// Packet: 0x09b8
+#if PACKETVER >= 20130417
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+#endif
+
+// Packet: 0x09b9
+#if PACKETVER >= 20130417
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+#endif
+
+// Packet: 0x09ba
+#if PACKETVER >= 20130828
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+#elif PACKETVER >= 20130424
+packetLen(0x09ba, 6) // CZ_REQ_OPEN_GUILD_STORAGE
+#endif
+
+// Packet: 0x09bb
+#if PACKETVER >= 20130502
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+#elif PACKETVER >= 20130424
+packetLen(0x09bb, 4) // ZC_ACK_OPEN_GUILD_STORAGE
+#endif
+
+// Packet: 0x09bc
+#if PACKETVER >= 20130424
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+#endif
+
+// Packet: 0x09bd
+#if PACKETVER >= 20130424
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+#endif
+
+// Packet: 0x09be
+#if PACKETVER >= 20130828
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+#elif PACKETVER >= 20130502
+packetLen(0x09be, 6) // CZ_REQ_CLOSE_GUILD_STORAGE
+#endif
+
+// Packet: 0x09bf
+#if PACKETVER >= 20130502
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+#endif
+
+// Packet: 0x09c0
+#if PACKETVER >= 20130618
+// removed
+#elif PACKETVER >= 20130515
+packetLen(0x09c0, 11) // ZC_ACTION_MOVE
+#endif
+
+// Packet: 0x09c1
+#if PACKETVER >= 20130717
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+#elif PACKETVER >= 20130515
+packetLen(0x09c1, 11) // ZC_C_MARKERINFO
+#endif
+
+// Packet: 0x09c2
+#if PACKETVER >= 20130522
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+#endif
+
+// Packet: 0x09c3
+#if PACKETVER >= 20130529
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20130605
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c5
+#if PACKETVER >= 20130605
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+#endif
+
+// Packet: 0x09c6
+#if PACKETVER >= 20130605
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+#endif
+
+// Packet: 0x09c7
+#if PACKETVER >= 20130612
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+#elif PACKETVER >= 20130605
+packetLen(0x09c7, 10) // SC_LOGIN_ERROR
+#endif
+
+// Packet: 0x09c8
+#if PACKETVER >= 20130605
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+#endif
+
+// Packet: 0x09c9
+#if PACKETVER >= 20130612
+packetLen(0x09c9, -1) // SC_SOCT
+#endif
+
+// Packet: 0x09ca
+#if PACKETVER >= 20130828
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+#elif PACKETVER >= 20130618
+packetLen(0x09ca, 23) // ZC_SKILL_ENTRY5
+#endif
+
+// Packet: 0x09cb
+#if PACKETVER >= 20130717
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+#endif
+
+// Packet: 0x09cc
+#if PACKETVER >= 20130717
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+#endif
+
+// Packet: 0x09cd
+#if PACKETVER >= 20130807
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+#endif
+
+// Packet: 0x09ce
+#if PACKETVER >= 20130814
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+#endif
+
+// Packet: 0x09cf
+#if PACKETVER >= 20130814
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+#endif
+
+// Packet: 0x09d0
+#if PACKETVER >= 20130814
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+#endif
+
+// Packet: 0x09d1
+#if PACKETVER >= 20130821
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+#endif
+
+// Packet: 0x09d2
+#if PACKETVER >= 20130828
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+#endif
+
+// Packet: 0x09d3
+#if PACKETVER >= 20130828
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+#endif
+
+// Packet: 0x09d4
+#if PACKETVER >= 20130911
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+#endif
+
+// Packet: 0x09d5
+#if PACKETVER >= 20130911
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+#endif
+
+// Packet: 0x09d6
+#if PACKETVER >= 20130911
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+#endif
+
+// Packet: 0x09d7
+#if PACKETVER >= 20130911
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+#endif
+
+// Packet: 0x09d8
+#if PACKETVER >= 20130911
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+#endif
+
+// Packet: 0x09d9
+#if PACKETVER >= 20131023
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20131016
+packetLen(0x09d9, 6) // CZ_REQ_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20131002
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20130911
+packetLen(0x09d9, 2) // CZ_REQ_GUILDSTORAGE_LOG
+#endif
+
+// Packet: 0x09da
+#if PACKETVER >= 20131002
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20130925
+packetLen(0x09da, 10) // ZC_ACK_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20130911
+packetLen(0x09da, 2) // ZC_ACK_GUILDSTORAGE_LOG
+#endif
+
+// Packet: 0x09db
+#if PACKETVER >= 20131023
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+#endif
+
+// Packet: 0x09dc
+#if PACKETVER >= 20131023
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+#endif
+
+// Packet: 0x09dd
+#if PACKETVER >= 20131023
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+#endif
+
+// Packet: 0x09de
+#if PACKETVER >= 20131030
+packetLen(0x09de, -1) // ZC_WHISPER02
+#endif
+
+// Packet: 0x09df
+#if PACKETVER >= 20131030
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+#endif
+
+// Packet: 0x09e0
+#if PACKETVER >= 20131030
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+#endif
+
+// Packet: 0x09e1
+#if PACKETVER >= 20131106
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+#endif
+
+// Packet: 0x09e2
+#if PACKETVER >= 20131106
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+#endif
+
+// Packet: 0x09e3
+#if PACKETVER >= 20131106
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+#endif
+
+// Packet: 0x09e4
+#if PACKETVER >= 20131106
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+#endif
+
+// Packet: 0x09e5
+#if PACKETVER >= 20131127
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+#elif PACKETVER >= 20131120
+packetLen(0x09e5, 14) // ZC_DELETEITEM_FROM_MCSTORE2
+#endif
+
+// Packet: 0x09e6
+#if PACKETVER >= 20131127
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#elif PACKETVER >= 20131120
+packetLen(0x09e6, 18) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#endif
+
+// Packet: 0x09e7
+#if PACKETVER >= 20131211
+packetLen(0x09e7, 2) // ZC_NOTIFY_UNREAD_RODEX
+#endif
+
+// Packet: 0x09e8
+#if PACKETVER >= 20131218
+packetLen(0x09e8, 10) // CZ_OPEN_RODEXBOX
+#elif PACKETVER >= 20131211
+packetLen(0x09e8, 18) // CZ_OPEN_RODEXBOX
+#endif
+
+// Packet: 0x09e9
+#if PACKETVER >= 20131211
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+#endif
+
+// Packet: 0x09ea
+#if PACKETVER >= 20131223
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+#elif PACKETVER >= 20131218
+packetLen(0x09ea, 10) // CZ_REQ_READ_RODEX
+#endif
+
+// Packet: 0x09eb
+#if PACKETVER >= 20131230
+packetLen(0x09eb, 23) // ZC_ACK_READ_RODEX
+#elif PACKETVER >= 20131223
+packetLen(0x09eb, 24) // ZC_ACK_READ_RODEX
+#elif PACKETVER >= 20131218
+packetLen(0x09eb, 14) // ZC_ACK_READ_RODEX
+#endif
+
+// Packet: 0x09ec
+#if PACKETVER >= 20131230
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+#endif
+
+// Packet: 0x09ed
+#if PACKETVER >= 20131230
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+#elif PACKETVER >= 20131218
+// removed
+#elif PACKETVER >= 20131211
+packetLen(0x09ed, -1) // ZC_ACK_SEND_RODEX
+#endif
+
+// Packet: 0x09ee
+#if PACKETVER >= 20131218
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+#elif PACKETVER >= 20131211
+packetLen(0x09ee, -1) // CZ_REQ_NEXT_RODEX
+#endif
+
+// Packet: 0x09ef
+#if PACKETVER >= 20131218
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+#endif
+
+// Packet: 0x09f0
+#if PACKETVER >= 20131218
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+#endif
+
+// Packet: 0x09f5
+#if PACKETVER >= 20131218
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+#endif
+
+// Packet: 0x09f6
+#if PACKETVER >= 20131218
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+#endif
+
+// Packet: 0x09f7
+#if PACKETVER >= 20131230
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+#endif
+
+
+#endif /* COMMON_PACKETS2013_LEN_MAIN_H */
diff --git a/src/common/packets/packets2013_len_re.h b/src/common/packets/packets2013_len_re.h
new file mode 100644
index 000000000..2c7951f7b
--- /dev/null
+++ b/src/common/packets/packets2013_len_re.h
@@ -0,0 +1,8941 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2013_LEN_RE_H
+#define COMMON_PACKETS2013_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20131230
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131223
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131211
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131016
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131008
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20131002
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130828
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130821
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130814
+packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130807
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130717
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130710
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130703
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130612
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130605
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130502
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130424
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130417
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130320
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130313
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130227
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130220
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130109
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20130103
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20131230
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131223
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131106
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131030
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131023
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131016
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131008
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20131002
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130814
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130807
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130731
+packetLen(0x022d, 26) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130717
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130703
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130612
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130605
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130515
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130508
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130502
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130424
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130313
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130306
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130227
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130220
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130109
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20130103
+packetLen(0x022d, 4) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20131230
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20131223
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131008
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20131002
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130904
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130828
+packetLen(0x023b, 90) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130814
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130807
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130717
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130710
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130612
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130605
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130529
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130502
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130424
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130410
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130403
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130306
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130220
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130215
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130109
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20130103
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20131230
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131223
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131113
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131106
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131030
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131023
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131016
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131008
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20131002
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130911
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130904
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130821
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130814
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130807
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130717
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130703
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130626
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130605
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130502
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130417
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130410
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130403
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130320
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130313
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130227
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130220
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130115
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130109
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20130103
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20131230
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20131223
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20130724
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130717
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130626
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130618
+packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130403
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130327
+packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20130103
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20131230
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131223
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131204
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131127
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131106
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131030
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131008
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20131002
+packetLen(0x035f, 36) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130925
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130917
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130904
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130814
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130807
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130731
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130724
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130717
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130626
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130618
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130605
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130522
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130417
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130410
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130403
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130327
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130313
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130306
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130227
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130206
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130121
+packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130109
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20130103
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20131230
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20131211
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20131106
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20131030
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20131008
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130925
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130911
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130904
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130828
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130821
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130814
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130807
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130717
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130710
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130703
+packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130626
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130618
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130605
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130529
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130522
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130417
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130410
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130403
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130320
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130313
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130306
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130227
+packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130220
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130215
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130206
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130130
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130121
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130109
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20130103
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20131230
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131223
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131127
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131120
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131023
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131016
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131008
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20131002
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130911
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130904
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130828
+packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130821
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130814
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130807
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130717
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130710
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130612
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130605
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130502
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130424
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130227
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130220
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130121
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130115
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130109
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20130103
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20131230
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131218
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131211
+packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131106
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131030
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131016
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131008
+packetLen(0x0362, 19) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20131002
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130911
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130904
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130814
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130807
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130717
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130703
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130618
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130605
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130529
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130522
+packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130515
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130502
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130417
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130410
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130403
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130320
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130313
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130227
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130220
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130215
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130206
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130130
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130109
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20130103
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20131230
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131223
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131113
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131106
+packetLen(0x0363, 10) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131030
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131008
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20131002
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130911
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130904
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130814
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130807
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130717
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130703
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130618
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130605
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130502
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130417
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130410
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130403
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130327
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130320
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130313
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130227
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130220
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130109
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20130103
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20131230
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131218
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131204
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131127
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131120
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131113
+packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131106
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131030
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131023
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131016
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131008
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20131002
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130917
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130911
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130828
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130814
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130807
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130717
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130703
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130618
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130605
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130502
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130417
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130410
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130403
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130320
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130313
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130227
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130220
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130109
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20130103
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20131230
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131223
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131204
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131127
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131106
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131030
+packetLen(0x0365, 19) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131008
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20131002
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130911
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130904
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130814
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130807
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130717
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130703
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130618
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130605
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130502
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130417
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130410
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130403
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130327
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130320
+packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130313
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130227
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130220
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130115
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130109
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20130103
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20131230
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131223
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131204
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131127
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131106
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131030
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131023
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131016
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131008
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20131002
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130917
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130904
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130828
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130821
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130814
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130807
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130717
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130626
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130618
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130605
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130522
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130417
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130410
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130403
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130320
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130313
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130227
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130220
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130215
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130206
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130130
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130121
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130109
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20130103
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20131223
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20130417
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130410
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130313
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130306
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130206
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130130
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20130103
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20131230
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20131211
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20131204
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20131127
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20131120
+packetLen(0x0368, 12) // CZ_REQNAME2
+#elif PACKETVER >= 20131106
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20131030
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20131008
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130925
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130917
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130904
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130821
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130814
+packetLen(0x0368, 19) // CZ_REQNAME2
+#elif PACKETVER >= 20130807
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130717
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130626
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130618
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130605
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130529
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130417
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130410
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130403
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130320
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130313
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130306
+packetLen(0x0368, 90) // CZ_REQNAME2
+#elif PACKETVER >= 20130227
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130206
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130130
+packetLen(0x0368, 5) // CZ_REQNAME2
+#elif PACKETVER >= 20130121
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20130115
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20130109
+packetLen(0x0368, 10) // CZ_REQNAME2
+#elif PACKETVER >= 20130103
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20131230
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131223
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131204
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131127
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131113
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131106
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131030
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20131008
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130925
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130917
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130904
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130814
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130807
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130717
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130626
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130618
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130605
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130529
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130522
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130417
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130410
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130403
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130320
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130313
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130227
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130206
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130130
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130121
+packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130109
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20130103
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20131230
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20131223
+packetLen(0x0436, 19) // CZ_ENTER2
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131113
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20131106
+packetLen(0x0436, 36) // CZ_ENTER2
+#elif PACKETVER >= 20131030
+packetLen(0x0436, 18) // CZ_ENTER2
+#elif PACKETVER >= 20131008
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20131002
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130917
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130911
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20130904
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130814
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130807
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130717
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130703
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130618
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130605
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130515
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130508
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20130502
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130424
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130320
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130313
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130227
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130220
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20130215
+packetLen(0x0436, 18) // CZ_ENTER2
+#elif PACKETVER >= 20130109
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20130103
+packetLen(0x0436, 36) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20131230
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131223
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131204
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131127
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131106
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131030
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131008
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20131002
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130925
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130917
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130904
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130828
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130821
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130814
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130731
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130724
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130717
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130626
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130618
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130605
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130522
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130417
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130410
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130403
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130320
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130313
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130306
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130206
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130130
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130121
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130115
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130109
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20130103
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20131230
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131211
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131204
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131127
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131106
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131030
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131023
+packetLen(0x0438, 26) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131008
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20131002
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130925
+packetLen(0x0438, 90) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130917
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130904
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130828
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130821
+packetLen(0x0438, 8) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130814
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130807
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130731
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130717
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130626
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130618
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130529
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130522
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130417
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130410
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130403
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130327
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130320
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130313
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130227
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130206
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130130
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130121
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130109
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20130103
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20131230
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131223
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131211
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131204
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131127
+packetLen(0x07e4, 90) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131106
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131030
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131016
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131008
+packetLen(0x07e4, 7) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20131002
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130911
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130904
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130814
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130807
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130717
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130703
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130618
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130605
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130508
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130502
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130417
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130410
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130403
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130320
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130313
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130227
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130220
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130215
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130206
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130109
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20130103
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20131230
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131218
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131211
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131204
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131106
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131030
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131023
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131016
+packetLen(0x07ec, 19) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131008
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20131002
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130911
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130904
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130828
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130821
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130814
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130807
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130717
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130703
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130618
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130605
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130529
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130522
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130508
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130502
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130417
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130410
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130403
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130327
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130320
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130313
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130227
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130220
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130130
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130121
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130115
+packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130109
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20130103
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20131230
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131223
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131127
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131120
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131113
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131106
+packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131030
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131023
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131016
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131008
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20131002
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130911
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130904
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130814
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130807
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130717
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130703
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130618
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130605
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130502
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130417
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130410
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130403
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130320
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130313
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130306
+packetLen(0x0802, 12) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130227
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130220
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130215
+packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130130
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130121
+packetLen(0x0802, 7) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130109
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20130103
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20131230
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131223
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131218
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131211
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131204
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131127
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131120
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131106
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131030
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131023
+packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20131008
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130925
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130917
+packetLen(0x0811, 7) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130904
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130814
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130807
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130717
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130626
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130618
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130605
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130529
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130522
+packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130424
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130417
+packetLen(0x0811, 26) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130410
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130403
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130320
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130313
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130306
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130227
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130215
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130206
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130109
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20130103
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20131230
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131223
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131204
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131127
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131106
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131030
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20131008
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130925
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130917
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130911
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130904
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130828
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130821
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130814
+packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130807
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130717
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130626
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130618
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130605
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130522
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130417
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130410
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130403
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130320
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130313
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130306
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130227
+packetLen(0x0815, 18) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130206
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130130
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130121
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130109
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20130103
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20131223
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131127
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20131120
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20131113
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20131106
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130904
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130828
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130703
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130626
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130313
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130306
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130227
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130130
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130121
+packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130115
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20130103
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20131230
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131211
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131204
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131127
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131106
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131030
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131023
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20131008
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130925
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130917
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130911
+packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130904
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130814
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130731
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130717
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130626
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130618
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130605
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130522
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130417
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130410
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130403
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130320
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130313
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130227
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130206
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130109
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20130103
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20131223
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131030
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20131023
+packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130911
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130904
+packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130821
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130814
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130403
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130327
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20130103
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20131230
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131223
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131204
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131127
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131106
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131030
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20131008
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130925
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130917
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130911
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130904
+packetLen(0x0838, 19) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130814
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130807
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130717
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130626
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130618
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130605
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130522
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130417
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130410
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130403
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130320
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130313
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130227
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130206
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130130
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130121
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130115
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130109
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20130103
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20131230
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131223
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131211
+packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131204
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131127
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131106
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131030
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20131008
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130925
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130917
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130904
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130814
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130807
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130724
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130717
+packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130626
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130618
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130605
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130522
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130417
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130410
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130403
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130320
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130313
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130227
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130206
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130130
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130121
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130109
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20130103
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20131211
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131204
+packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131127
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131120
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131023
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131016
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130731
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130724
+packetLen(0x085a, 18) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130605
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130529
+packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130508
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130502
+packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130327
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130320
+packetLen(0x085a, 90) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130306
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130227
+packetLen(0x085a, 10) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130130
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130121
+packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130103
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20131030
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131023
+packetLen(0x085b, 90) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130313
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130306
+packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130103
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20131223
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20131218
+packetLen(0x085c, 36) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130917
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130911
+packetLen(0x085c, 26) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130313
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130306
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130103
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20131023
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131016
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131008
+packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130327
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130320
+packetLen(0x085d, 18) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130215
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130206
+packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130130
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130121
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130103
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20131016
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20131008
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130731
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130724
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130605
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130529
+packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130103
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20131127
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20131120
+packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130206
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130130
+packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130103
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20131230
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130731
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130724
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130703
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130626
+packetLen(0x0860, 8) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130417
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130410
+packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130313
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130306
+packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130103
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20130121
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130115
+packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130103
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20131211
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131204
+packetLen(0x0862, 5) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131030
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131023
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130828
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130821
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130724
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130717
+packetLen(0x0862, 18) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130626
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130618
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130522
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130515
+packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130103
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20131023
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20131016
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20131008
+packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130925
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130917
+packetLen(0x0863, 8) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130828
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130821
+packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130807
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130731
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130724
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130717
+packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130605
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130529
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130306
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130227
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130121
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130115
+packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130103
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20131023
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20131016
+packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130626
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130618
+packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130103
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20131218
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131211
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130807
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130731
+packetLen(0x0865, 10) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130417
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130410
+packetLen(0x0865, 12) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130103
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20131113
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20131106
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130115
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130109
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130103
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20131113
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20131106
+packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20131023
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20131016
+packetLen(0x0867, 90) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130731
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130724
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130508
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130502
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130306
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130227
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130103
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20130925
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130917
+packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130911
+packetLen(0x0868, 18) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130821
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130814
+packetLen(0x0868, 12) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130515
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130508
+packetLen(0x0868, 36) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130327
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130320
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130103
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20131211
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20131204
+packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130605
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130529
+packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130306
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130227
+packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130220
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130215
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130103
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20130731
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130724
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130529
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130522
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130103
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20130917
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130911
+packetLen(0x086b, 36) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130724
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130717
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130424
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130417
+packetLen(0x086b, 19) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130206
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130130
+packetLen(0x086b, 4) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130103
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20131211
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20131204
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20131016
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20131008
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130724
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130717
+packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130417
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130410
+packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130130
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130121
+packetLen(0x086c, 19) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130103
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20131016
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20131008
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20131002
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130925
+packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130917
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130911
+packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130403
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130327
+packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130320
+packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130313
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130306
+packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130103
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20131218
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20131211
+packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20131030
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20131023
+packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20131002
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130925
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130917
+packetLen(0x086e, 90) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130828
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130821
+packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130306
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130227
+packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130103
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20130925
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130917
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130327
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130320
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130220
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130215
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130103
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20131023
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20131016
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130508
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130502
+packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130121
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130115
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130103
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20131230
+packetLen(0x0871, 7) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130121
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130115
+packetLen(0x0871, 26) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130103
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20131030
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20131218
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20131211
+packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130821
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130814
+packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130710
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130703
+packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130403
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130327
+packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130103
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20130821
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130814
+packetLen(0x0874, 7) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130731
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130724
+packetLen(0x0874, 5) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130605
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130529
+packetLen(0x0874, 18) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130522
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130508
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130502
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130327
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130320
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130130
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130121
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130103
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20131113
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20131106
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20131023
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20131016
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20131002
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130925
+packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130508
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130502
+packetLen(0x0875, 26) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130424
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130417
+packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130103
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20131030
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20131023
+packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20131002
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130925
+packetLen(0x0876, 8) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130731
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130724
+packetLen(0x0876, 7) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130605
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130529
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130215
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130206
+packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130103
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20131211
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20131204
+packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130605
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130529
+packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130508
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130502
+packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130121
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130115
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130103
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20130807
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130731
+packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130626
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130618
+packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130515
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130508
+packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130403
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130327
+packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130103
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20131211
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20131204
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130828
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130821
+packetLen(0x0879, 12) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130417
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130410
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130121
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130115
+packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130103
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20130925
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130917
+packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130626
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130618
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130103
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20131230
+packetLen(0x087b, 12) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20131223
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20131218
+packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130917
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130911
+packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130306
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130227
+packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130103
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20130508
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130502
+packetLen(0x087c, 19) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130417
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130410
+packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130121
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130115
+packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130103
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20131106
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131030
+packetLen(0x087d, 26) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131002
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130925
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130417
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130410
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130206
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130130
+packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130103
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20131230
+packetLen(0x087e, 4) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130925
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130917
+packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130904
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130828
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130618
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130612
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130529
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130522
+packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130103
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20131230
+packetLen(0x087f, -1) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20131211
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20131204
+packetLen(0x087f, 18) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130206
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130130
+packetLen(0x087f, -1) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130103
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20130717
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130710
+packetLen(0x0880, 36) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130103
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20131218
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131211
+packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131204
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131127
+packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130828
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130821
+packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130327
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130320
+packetLen(0x0881, 5) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130313
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130306
+packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130103
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20131211
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20131204
+packetLen(0x0882, 26) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130724
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130717
+packetLen(0x0882, 10) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130103
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20131016
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20131008
+packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130612
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130605
+packetLen(0x0883, 36) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130215
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130206
+packetLen(0x0883, 18) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130103
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20131204
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131127
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131120
+packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131016
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20131008
+packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130807
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130731
+packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130410
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130403
+packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130130
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130121
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20130103
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20131030
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131023
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131016
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131008
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20131002
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130925
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130821
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130814
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130626
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130618
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130403
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130327
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130215
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130206
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130130
+packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20130103
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20131218
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20131211
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130220
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130215
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130206
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130130
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130115
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130109
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20130103
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20131113
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131106
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131030
+packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131023
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131016
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20131002
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130925
+packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130821
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130814
+packetLen(0x0887, 10) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130807
+packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130626
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130618
+packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130522
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130515
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130320
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130313
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130206
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130130
+packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20130103
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20131023
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20131016
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130605
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130529
+packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130508
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130502
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130327
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130320
+packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130121
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130115
+packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130109
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20130103
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20130917
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130911
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130904
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130828
+packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130821
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130814
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130807
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130731
+packetLen(0x0889, 4) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130626
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130618
+packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130508
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130502
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130206
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130130
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20130103
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20131030
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20131023
+packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130925
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130917
+packetLen(0x088a, 36) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130821
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130814
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130724
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130717
+packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130115
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130109
+packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20130103
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20131030
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20131023
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20131016
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130807
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130731
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130703
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130626
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130515
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130508
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130121
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130115
+packetLen(0x088b, 90) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20130103
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20131127
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131120
+packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20131113
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130821
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130814
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130724
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130717
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130703
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130626
+packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130417
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130410
+packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20130103
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20131204
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20131127
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20131120
+packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130828
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130821
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130417
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130410
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20130103
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20130626
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130618
+packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130605
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130529
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130522
+packetLen(0x088e, 36) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130327
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130320
+packetLen(0x088e, 7) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130115
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130109
+packetLen(0x088e, 12) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20130103
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20131120
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131113
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131030
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131023
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20131002
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130925
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130828
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130821
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130703
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130626
+packetLen(0x088f, 4) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130403
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130327
+packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20130103
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20131023
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20131016
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20131002
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130925
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130626
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130618
+packetLen(0x0890, 12) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130605
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130529
+packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130417
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130410
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130327
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130320
+packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130313
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130306
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20130103
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20131113
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20131106
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130917
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130911
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130731
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130724
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130626
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130618
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130417
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130410
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130403
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130327
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130115
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130109
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20130103
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20131218
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20131211
+packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130828
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130821
+packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130605
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130529
+packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130115
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130109
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20130103
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20131113
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20131106
+packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130904
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130828
+packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130731
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130724
+packetLen(0x0893, 19) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130515
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130508
+packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130306
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130227
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130130
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130121
+packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20130103
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20131204
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131127
+packetLen(0x0894, 36) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131113
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131106
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131023
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20131016
+packetLen(0x0894, 12) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130807
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130731
+packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130703
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130626
+packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130121
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130115
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20130103
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20131230
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130925
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130917
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130821
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130814
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130807
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130731
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130703
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130626
+packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130605
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130529
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130515
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130508
+packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130121
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130115
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20130103
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20131016
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20131008
+packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130821
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130814
+packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20130103
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20130807
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130731
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130724
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130717
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130605
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130529
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130515
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130508
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130327
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130320
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20130103
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20131230
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130724
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130717
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130327
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130320
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130313
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130306
+packetLen(0x0898, 7) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130227
+packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20130103
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20130403
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130327
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130215
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130206
+packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20130103
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20131120
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20131113
+packetLen(0x089a, 19) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130206
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130130
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20130103
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20130724
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130717
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130529
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130522
+packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130327
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130320
+packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20130103
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20131230
+packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20131016
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20131008
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130731
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130724
+packetLen(0x089c, 10) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130529
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130522
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130417
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130410
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20130103
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20130925
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130917
+packetLen(0x089d, 19) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20130103
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20131204
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20131127
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20131120
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130904
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130828
+packetLen(0x089e, 10) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130417
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130410
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130220
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130215
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20130103
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20130904
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130828
+packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130313
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130306
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130220
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130215
+packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130206
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130130
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20130103
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20131211
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20131204
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130925
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130917
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130417
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130410
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130215
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130206
+packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130130
+packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130121
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130115
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20130103
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20131127
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20131120
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130522
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130515
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130508
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130502
+packetLen(0x08a1, 18) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130403
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130327
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130306
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130227
+packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20130103
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20131113
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20131106
+packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20131030
+packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130925
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130917
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130529
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130522
+packetLen(0x08a2, 7) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130403
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130327
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130115
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130109
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20130103
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20131218
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20131211
+packetLen(0x08a3, 18) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130904
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130828
+packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130529
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130522
+packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130508
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130502
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20130103
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20131230
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131223
+packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131218
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131211
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131204
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131127
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131120
+packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20131113
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130917
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130911
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130821
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130814
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130417
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130410
+packetLen(0x08a4, 90) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130313
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130306
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130206
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130130
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130121
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130115
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20130103
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20130703
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130626
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130410
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130403
+packetLen(0x08a5, 4) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20130103
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20130724
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130717
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130626
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130618
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130529
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130522
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20130103
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20131211
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131204
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131030
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20131023
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130626
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130618
+packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130605
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130529
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20130103
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20131127
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20131120
+packetLen(0x08a8, 7) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20131113
+packetLen(0x08a8, 8) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130925
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130917
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130605
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130529
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20130103
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20131230
+packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20131016
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20131008
+packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130724
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130717
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130529
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130522
+packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130206
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130130
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20130103
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20130724
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130717
+packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130522
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130515
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130115
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130109
+packetLen(0x08aa, 4) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20130103
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20131223
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131218
+packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131211
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131030
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20131023
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130731
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130724
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130703
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130626
+packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130515
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130508
+packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20130103
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20131030
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20131023
+packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130904
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130828
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130529
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130522
+packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130515
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130327
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130320
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130313
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130306
+packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130215
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130206
+packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130121
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130115
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20130103
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20131211
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20131204
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130828
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130821
+packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130220
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130215
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20130103
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08e5
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+#endif
+
+// Packet: 0x08e6
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+#endif
+
+// Packet: 0x08e7
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+#endif
+
+// Packet: 0x08e8
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e8, -1)
+#endif
+
+// Packet: 0x08e9
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+#endif
+
+// Packet: 0x08ea
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+#endif
+
+// Packet: 0x08eb
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+#endif
+
+// Packet: 0x08ec
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+#endif
+
+// Packet: 0x08ed
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+#endif
+
+// Packet: 0x08ee
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+#endif
+
+// Packet: 0x08ef
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#endif
+
+// Packet: 0x08f0
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#endif
+
+// Packet: 0x08f1
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+#endif
+
+// Packet: 0x08f2
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+#endif
+
+// Packet: 0x08f3
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f3, -1)
+#endif
+
+// Packet: 0x08f4
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+#endif
+
+// Packet: 0x08f5
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+#endif
+
+// Packet: 0x08f6
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+#endif
+
+// Packet: 0x08f7
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+#endif
+
+// Packet: 0x08f8
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+#endif
+
+// Packet: 0x08f9
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+#endif
+
+// Packet: 0x08fa
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+#endif
+
+// Packet: 0x08fb
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+#endif
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x0909
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+#endif
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090b
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+#endif
+
+// Packet: 0x090c
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+#endif
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20131127
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20131120
+packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20131016
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20131008
+packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130904
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130828
+packetLen(0x0917, 18) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130724
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130717
+packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130626
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130618
+packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130605
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130529
+packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130417
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130410
+packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130313
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130306
+packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130103
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20130925
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130917
+packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130724
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130717
+packetLen(0x0918, 7) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130605
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130529
+packetLen(0x0918, -1) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130121
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130115
+packetLen(0x0918, 10) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130109
+packetLen(0x0918, 26) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130103
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20131030
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20131023
+packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130618
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130612
+packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130605
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130529
+packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130103
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20131023
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20131016
+packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130206
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130130
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130103
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20130306
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20130227
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20130115
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20130109
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20130103
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20131120
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20131113
+packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20131016
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20131008
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20130925
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20130917
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20130103
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20131230
+packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131113
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131106
+packetLen(0x091d, 90) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131030
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131023
+packetLen(0x091d, 12) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130828
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130821
+packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130724
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130717
+packetLen(0x091d, 19) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130417
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130410
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130103
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20131230
+packetLen(0x091e, 10) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20131023
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20131016
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130925
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130917
+packetLen(0x091e, 4) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130911
+packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130904
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130828
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130724
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130717
+packetLen(0x091e, 10) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130313
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130306
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130103
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20131230
+packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131211
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131204
+packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131023
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131016
+packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130403
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130327
+packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130306
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130227
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130130
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130121
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130103
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20131120
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20131113
+packetLen(0x0920, 12) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130320
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130313
+packetLen(0x0920, 36) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130215
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130130
+packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130103
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20130925
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130917
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130731
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130724
+packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130703
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130626
+packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130103
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20130327
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130320
+packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130115
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130109
+packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130103
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20131030
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20131023
+packetLen(0x0923, 7) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130925
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130917
+packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130904
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130828
+packetLen(0x0923, 10) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130821
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130814
+packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130807
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130731
+packetLen(0x0923, 18) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130220
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130215
+packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130103
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20131030
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20131023
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130904
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130828
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130731
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130724
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130306
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130227
+packetLen(0x0924, 90) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130206
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130130
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130103
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20131106
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20131030
+packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130807
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130731
+packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130529
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130522
+packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130215
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130206
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130103
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20131230
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131127
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131120
+packetLen(0x0926, -1) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131113
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130821
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130814
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130529
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130522
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130410
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130403
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130313
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130306
+packetLen(0x0926, 36) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130103
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20131127
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131120
+packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131113
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131023
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131016
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131008
+packetLen(0x0927, 12) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130821
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130814
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130731
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130724
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130115
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130109
+packetLen(0x0927, 90) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130103
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20131211
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20131204
+packetLen(0x0928, 7) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20131120
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20131113
+packetLen(0x0928, 36) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130904
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130828
+packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130121
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130109
+packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130103
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20131120
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20131113
+packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20131106
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130904
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130828
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130424
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130417
+packetLen(0x0929, 5) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130103
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20131230
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130103
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20131218
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131211
+packetLen(0x092b, 36) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131127
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131120
+packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131113
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130807
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130731
+packetLen(0x092b, 19) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130724
+packetLen(0x092b, 26) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130403
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130327
+packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130306
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130227
+packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130103
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20131120
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20131113
+packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130103
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20131211
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20131204
+packetLen(0x092d, 10) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20131120
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20131113
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130828
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130821
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130807
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130731
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130522
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130515
+packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130508
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130403
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130327
+packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130320
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130313
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130121
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130115
+packetLen(0x092d, 19) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130103
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20131120
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20131113
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130731
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130724
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130403
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130327
+packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130121
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130115
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130103
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20131223
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131218
+packetLen(0x092f, 19) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131211
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131204
+packetLen(0x092f, 5) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131120
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131113
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130724
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130717
+packetLen(0x092f, 26) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130403
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130327
+packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130306
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130227
+packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130103
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20131204
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20131127
+packetLen(0x0930, 18) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130904
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130828
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130710
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130703
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130626
+packetLen(0x0930, 36) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130618
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130115
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130109
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130103
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20131218
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131211
+packetLen(0x0931, 8) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130522
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130515
+packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130115
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130109
+packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130103
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20131016
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20131008
+packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130626
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130618
+packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130103
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20130417
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130410
+packetLen(0x0933, 10) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130403
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130327
+packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130320
+packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130103
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20131120
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131113
+packetLen(0x0934, 18) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131016
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131008
+packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130925
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130917
+packetLen(0x0934, 12) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130313
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130306
+packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130103
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20131113
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20131106
+packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20131030
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20131023
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130807
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130731
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130103
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20131120
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20131113
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20131016
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20131008
+packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130821
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130814
+packetLen(0x0936, -1) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130626
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130618
+packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130605
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130529
+packetLen(0x0936, -1) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130306
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130227
+packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130103
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20131030
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20131023
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130911
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130904
+packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130821
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130814
+packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130605
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130529
+packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130103
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20130605
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130529
+packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130403
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130327
+packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130320
+packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130115
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130109
+packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130103
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20130417
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130410
+packetLen(0x0939, 7) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130403
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130327
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130121
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130115
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130103
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20131204
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20131127
+packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130917
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130911
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130904
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130821
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130814
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130618
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130612
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130215
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130206
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130130
+packetLen(0x093a, 36) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130103
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20131211
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20131204
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20131113
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20131106
+packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130724
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130717
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130103
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20131120
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20131113
+packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20131016
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20131008
+packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130215
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130206
+packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130103
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20131230
+packetLen(0x093d, -1) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130417
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130410
+packetLen(0x093d, 8) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130206
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130130
+packetLen(0x093d, -1) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130103
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20131230
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20131127
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20131120
+packetLen(0x093e, 90) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130828
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130821
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130529
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130522
+packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130515
+packetLen(0x093e, 36) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130115
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130109
+packetLen(0x093e, 18) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130103
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20131127
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131120
+packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130327
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130320
+packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130103
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20131204
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131127
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131120
+packetLen(0x0940, 4) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131008
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131002
+packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130925
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130917
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130911
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130618
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130612
+packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130130
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130121
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130109
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130103
+packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20131211
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20131204
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130807
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130731
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130220
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130215
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20130103
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20131113
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20131106
+packetLen(0x0942, 10) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130626
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130618
+packetLen(0x0942, -1) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130410
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130403
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20130103
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20131230
+packetLen(0x0943, 26) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130522
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130515
+packetLen(0x0943, 19) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130313
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130306
+packetLen(0x0943, 10) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20130103
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20131030
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20131023
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130904
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130828
+packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130626
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130618
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130522
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130515
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130508
+packetLen(0x0944, 4) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130417
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130410
+packetLen(0x0944, 4) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130313
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130306
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20130103
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20130626
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20130618
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20130417
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20130410
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20130103
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20131113
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20131106
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20131023
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20131016
+packetLen(0x0946, 18) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130904
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130828
+packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130313
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130306
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130227
+packetLen(0x0946, 8) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130121
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130115
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20130103
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20131223
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131218
+packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131113
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131106
+packetLen(0x0947, 7) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131016
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20131008
+packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130821
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130814
+packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130522
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130515
+packetLen(0x0947, 26) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130327
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130320
+packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130313
+packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20130103
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20131113
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20131106
+packetLen(0x0948, 4) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130917
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130911
+packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20130103
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20131230
+packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131120
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20131113
+packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20130103
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20131230
+packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20131030
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20131023
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130904
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130828
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130731
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130724
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130710
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130703
+packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130403
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130327
+packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130313
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130306
+packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20130103
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20130403
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130327
+packetLen(0x094b, 36) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130227
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130220
+packetLen(0x094b, 36) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130121
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130115
+packetLen(0x094b, 18) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20130103
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20131218
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20131211
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20131204
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20131127
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130925
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130917
+packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130904
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130828
+packetLen(0x094c, -1) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130807
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130731
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130327
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130320
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130121
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130115
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20130103
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20130703
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130626
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130515
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130508
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20130103
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20130925
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130917
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130327
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130320
+packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130313
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130306
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130121
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130115
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20130103
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20131204
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20131127
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130904
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130828
+packetLen(0x094f, 7) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130626
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130618
+packetLen(0x094f, 90) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130403
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130327
+packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130130
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130121
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130115
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130109
+packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20130103
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20131127
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131120
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20131106
+packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130529
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130522
+packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130410
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130403
+packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130215
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130206
+packetLen(0x0950, 8) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130115
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130109
+packetLen(0x0950, 36) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20130103
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20131211
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131204
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131030
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20131023
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130626
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130618
+packetLen(0x0951, 10) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130605
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130529
+packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130313
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130306
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130227
+packetLen(0x0951, 10) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130115
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130109
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20130103
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20131016
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20131008
+packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130724
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130717
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130703
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130626
+packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130529
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130522
+packetLen(0x0952, -1) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20130103
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20131127
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20131120
+packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130731
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130724
+packetLen(0x0953, 5) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130626
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130618
+packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20130103
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20131113
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131106
+packetLen(0x0954, 12) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131030
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131023
+packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131016
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20131008
+packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130828
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130821
+packetLen(0x0954, 10) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130731
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130724
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20130103
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20131127
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20131120
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130417
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130410
+packetLen(0x0955, 10) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130403
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130327
+packetLen(0x0955, 7) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20130103
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20131127
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20131120
+packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20131016
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20131008
+packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130911
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130904
+packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130807
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130731
+packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130724
+packetLen(0x0956, 12) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130717
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130605
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130529
+packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130220
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130215
+packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130206
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130130
+packetLen(0x0956, 19) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130121
+packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20130103
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20130925
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130917
+packetLen(0x0957, 10) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130807
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130731
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130605
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130529
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130515
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130508
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130206
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130130
+packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20130103
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20131211
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20131204
+packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20131002
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130925
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130821
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130814
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130807
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130731
+packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130724
+packetLen(0x0958, 10) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130717
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130605
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130529
+packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20130103
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20131211
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20131204
+packetLen(0x0959, 90) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130925
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130917
+packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130821
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130814
+packetLen(0x0959, 18) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130327
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130320
+packetLen(0x0959, 10) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20130103
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20131002
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130925
+packetLen(0x095a, 18) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130327
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130320
+packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130121
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130115
+packetLen(0x095a, 36) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20130103
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20131211
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131204
+packetLen(0x095b, 12) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131030
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131023
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20131002
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130925
+packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130917
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130807
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130731
+packetLen(0x095b, 90) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130724
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130717
+packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130626
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130618
+packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130529
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130522
+packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130306
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130227
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130206
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130130
+packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130121
+packetLen(0x095b, 26) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20130103
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20131204
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20131127
+packetLen(0x095c, 19) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20131002
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130925
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130731
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130724
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130529
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130522
+packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130515
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130508
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130206
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130130
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20130103
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20131120
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20131113
+packetLen(0x095d, 7) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20131106
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20131016
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20131008
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130904
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130828
+packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130807
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130731
+packetLen(0x095d, 12) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130724
+packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130220
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130215
+packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20130103
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20131127
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131120
+packetLen(0x095e, 18) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131023
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20131016
+packetLen(0x095e, 10) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130828
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130821
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130529
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130522
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130306
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130227
+packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130115
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130109
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20130103
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20131120
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20131113
+packetLen(0x095f, 10) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130821
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130814
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130807
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130731
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20130103
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20131120
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20131113
+packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130724
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130717
+packetLen(0x0960, 12) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130703
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130626
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130417
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130410
+packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130403
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130327
+packetLen(0x0960, 10) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130313
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130306
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20130103
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20131211
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20131204
+packetLen(0x0961, 4) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130508
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130502
+packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130403
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130327
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20130103
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20131113
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20131106
+packetLen(0x0962, -1) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20131023
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20131016
+packetLen(0x0962, 7) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130828
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130821
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130814
+packetLen(0x0962, 90) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130807
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130731
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130626
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130618
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130522
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130515
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130424
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130417
+packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130313
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130306
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130220
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130215
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20130103
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20130522
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130515
+packetLen(0x0963, -1) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130130
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130121
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20130103
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20131120
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20131113
+packetLen(0x0964, 4) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130828
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130821
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130618
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130612
+packetLen(0x0964, 36) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130529
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130522
+packetLen(0x0964, 90) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20130103
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20130731
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130724
+packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130529
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130522
+packetLen(0x0965, 8) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20130103
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20131023
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20131016
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130904
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130828
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130731
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130724
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20130103
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20131211
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20131204
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20131127
+packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20131113
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20131106
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130917
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130911
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130828
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130821
+packetLen(0x0967, 18) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130724
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130717
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130508
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130502
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130417
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130410
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130403
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130327
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130306
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130227
+packetLen(0x0967, 7) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20130103
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20131230
+packetLen(0x0968, 8) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20130103
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20131230
+packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131120
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131113
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131016
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131008
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20131002
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130925
+packetLen(0x0969, 4) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130828
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130821
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130502
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130424
+packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130417
+packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130130
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130121
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20130103
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20131230
+packetLen(0x096a, 90) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131223
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131204
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131127
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131106
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131030
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20131008
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130925
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130917
+packetLen(0x096a, 26) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130911
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130904
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130828
+packetLen(0x096a, 19) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130814
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130807
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130717
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130626
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130618
+packetLen(0x096a, 10) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130605
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130522
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130508
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130502
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130424
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130417
+packetLen(0x096a, 4) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130403
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130320
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130313
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130227
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130206
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130130
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130121
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130109
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20130103
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+#if PACKETVER >= 20130115
+packetLen(0x0987, -1) // CA_LOGIN6
+#elif PACKETVER >= 20130103
+packetLen(0x0987, 63) // CA_LOGIN6
+#endif
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+#if PACKETVER >= 20130327
+packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+#elif PACKETVER >= 20130103
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+#endif
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+#if PACKETVER >= 20130130
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+#endif
+
+// Packet: 0x09a3
+#if PACKETVER >= 20130130
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+#endif
+
+// Packet: 0x09a4
+#if PACKETVER >= 20130206
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+#endif
+
+// Packet: 0x09a5
+#if PACKETVER >= 20130220
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+#endif
+
+// Packet: 0x09a6
+#if PACKETVER >= 20130306
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+#endif
+
+// Packet: 0x09a7
+#if PACKETVER >= 20130320
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+#elif PACKETVER >= 20130306
+packetLen(0x09a7, 14) // CZ_REQ_BANKING_DEPOSIT
+#endif
+
+// Packet: 0x09a8
+#if PACKETVER >= 20130515
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+#elif PACKETVER >= 20130320
+packetLen(0x09a8, 12) // ZC_ACK_BANKING_DEPOSIT
+#elif PACKETVER >= 20130306
+packetLen(0x09a8, 4) // ZC_ACK_BANKING_DEPOSIT
+#endif
+
+// Packet: 0x09a9
+#if PACKETVER >= 20130320
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+#elif PACKETVER >= 20130306
+packetLen(0x09a9, 14) // CZ_REQ_BANKING_WITHDRAW
+#endif
+
+// Packet: 0x09aa
+#if PACKETVER >= 20130515
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+#elif PACKETVER >= 20130320
+packetLen(0x09aa, 12) // ZC_ACK_BANKING_WITHDRAW
+#elif PACKETVER >= 20130306
+packetLen(0x09aa, 4) // ZC_ACK_BANKING_WITHDRAW
+#endif
+
+// Packet: 0x09ab
+#if PACKETVER >= 20130320
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+#elif PACKETVER >= 20130313
+packetLen(0x09ab, -1) // CZ_REQ_BANKING_CHECK
+#endif
+
+// Packet: 0x09ac
+#if PACKETVER >= 20130327
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ac, 20) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+#endif
+
+// Packet: 0x09ad
+#if PACKETVER >= 20130327
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ad, 6) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20130327
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ae, -1) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09af
+#if PACKETVER >= 20130327
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09af, -1) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09b0
+#if PACKETVER >= 20130327
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09b1
+#if PACKETVER >= 20130327
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b1, 6) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09b2
+#if PACKETVER >= 20130605
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#elif PACKETVER >= 20130327
+packetLen(0x09b2, 6) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b2, -1) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20130605
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#elif PACKETVER >= 20130327
+packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#endif
+
+// Packet: 0x09b4
+#if PACKETVER >= 20130417
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+#endif
+
+// Packet: 0x09b5
+#if PACKETVER >= 20130417
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+#endif
+
+// Packet: 0x09b6
+#if PACKETVER >= 20130417
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+#endif
+
+// Packet: 0x09b7
+#if PACKETVER >= 20130417
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+#endif
+
+// Packet: 0x09b8
+#if PACKETVER >= 20130417
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+#endif
+
+// Packet: 0x09b9
+#if PACKETVER >= 20130417
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+#endif
+
+// Packet: 0x09ba
+#if PACKETVER >= 20130828
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+#elif PACKETVER >= 20130424
+packetLen(0x09ba, 6) // CZ_REQ_OPEN_GUILD_STORAGE
+#endif
+
+// Packet: 0x09bb
+#if PACKETVER >= 20130502
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+#elif PACKETVER >= 20130424
+packetLen(0x09bb, 4) // ZC_ACK_OPEN_GUILD_STORAGE
+#endif
+
+// Packet: 0x09bc
+#if PACKETVER >= 20130424
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+#endif
+
+// Packet: 0x09bd
+#if PACKETVER >= 20130424
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+#endif
+
+// Packet: 0x09be
+#if PACKETVER >= 20130828
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+#elif PACKETVER >= 20130502
+packetLen(0x09be, 6) // CZ_REQ_CLOSE_GUILD_STORAGE
+#endif
+
+// Packet: 0x09bf
+#if PACKETVER >= 20130502
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+#endif
+
+// Packet: 0x09c0
+#if PACKETVER >= 20130618
+// removed
+#elif PACKETVER >= 20130515
+packetLen(0x09c0, 11) // ZC_ACTION_MOVE
+#endif
+
+// Packet: 0x09c1
+#if PACKETVER >= 20130717
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+#elif PACKETVER >= 20130515
+packetLen(0x09c1, 11) // ZC_C_MARKERINFO
+#endif
+
+// Packet: 0x09c2
+#if PACKETVER >= 20130522
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+#endif
+
+// Packet: 0x09c3
+#if PACKETVER >= 20130529
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20130605
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c5
+#if PACKETVER >= 20130605
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+#endif
+
+// Packet: 0x09c6
+#if PACKETVER >= 20130605
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+#endif
+
+// Packet: 0x09c7
+#if PACKETVER >= 20130612
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+#elif PACKETVER >= 20130605
+packetLen(0x09c7, 10) // SC_LOGIN_ERROR
+#endif
+
+// Packet: 0x09c8
+#if PACKETVER >= 20130605
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+#endif
+
+// Packet: 0x09c9
+#if PACKETVER >= 20130612
+packetLen(0x09c9, -1) // SC_SOCT
+#endif
+
+// Packet: 0x09ca
+#if PACKETVER >= 20130828
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+#elif PACKETVER >= 20130618
+packetLen(0x09ca, 23) // ZC_SKILL_ENTRY5
+#endif
+
+// Packet: 0x09cb
+#if PACKETVER >= 20130717
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+#endif
+
+// Packet: 0x09cc
+#if PACKETVER >= 20130717
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+#endif
+
+// Packet: 0x09cd
+#if PACKETVER >= 20130807
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+#endif
+
+// Packet: 0x09ce
+#if PACKETVER >= 20130814
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+#endif
+
+// Packet: 0x09cf
+#if PACKETVER >= 20130814
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+#endif
+
+// Packet: 0x09d0
+#if PACKETVER >= 20130814
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+#endif
+
+// Packet: 0x09d1
+#if PACKETVER >= 20130821
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+#endif
+
+// Packet: 0x09d2
+#if PACKETVER >= 20130828
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+#endif
+
+// Packet: 0x09d3
+#if PACKETVER >= 20130828
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+#endif
+
+// Packet: 0x09d4
+#if PACKETVER >= 20130911
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+#endif
+
+// Packet: 0x09d5
+#if PACKETVER >= 20130911
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+#endif
+
+// Packet: 0x09d6
+#if PACKETVER >= 20130911
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+#endif
+
+// Packet: 0x09d7
+#if PACKETVER >= 20130911
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+#endif
+
+// Packet: 0x09d8
+#if PACKETVER >= 20130911
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+#endif
+
+// Packet: 0x09d9
+#if PACKETVER >= 20131023
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20131016
+packetLen(0x09d9, 6) // CZ_REQ_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20131002
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20130911
+packetLen(0x09d9, 2) // CZ_REQ_GUILDSTORAGE_LOG
+#endif
+
+// Packet: 0x09da
+#if PACKETVER >= 20131002
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20130925
+packetLen(0x09da, 10) // ZC_ACK_GUILDSTORAGE_LOG
+#elif PACKETVER >= 20130911
+packetLen(0x09da, 2) // ZC_ACK_GUILDSTORAGE_LOG
+#endif
+
+// Packet: 0x09db
+#if PACKETVER >= 20131023
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+#endif
+
+// Packet: 0x09dc
+#if PACKETVER >= 20131023
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+#endif
+
+// Packet: 0x09dd
+#if PACKETVER >= 20131023
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+#endif
+
+// Packet: 0x09de
+#if PACKETVER >= 20131030
+packetLen(0x09de, -1) // ZC_WHISPER02
+#endif
+
+// Packet: 0x09df
+#if PACKETVER >= 20131030
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+#endif
+
+// Packet: 0x09e0
+#if PACKETVER >= 20131030
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+#endif
+
+// Packet: 0x09e1
+#if PACKETVER >= 20131106
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+#endif
+
+// Packet: 0x09e2
+#if PACKETVER >= 20131106
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+#endif
+
+// Packet: 0x09e3
+#if PACKETVER >= 20131106
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+#endif
+
+// Packet: 0x09e4
+#if PACKETVER >= 20131106
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+#endif
+
+// Packet: 0x09e5
+#if PACKETVER >= 20131127
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+#elif PACKETVER >= 20131120
+packetLen(0x09e5, 14) // ZC_DELETEITEM_FROM_MCSTORE2
+#endif
+
+// Packet: 0x09e6
+#if PACKETVER >= 20131127
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#elif PACKETVER >= 20131120
+packetLen(0x09e6, 18) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#endif
+
+// Packet: 0x09e7
+#if PACKETVER >= 20131211
+packetLen(0x09e7, 2) // ZC_NOTIFY_UNREAD_RODEX
+#endif
+
+// Packet: 0x09e8
+#if PACKETVER >= 20131218
+packetLen(0x09e8, 10) // CZ_OPEN_RODEXBOX
+#elif PACKETVER >= 20131211
+packetLen(0x09e8, 18) // CZ_OPEN_RODEXBOX
+#endif
+
+// Packet: 0x09e9
+#if PACKETVER >= 20131211
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+#endif
+
+// Packet: 0x09ea
+#if PACKETVER >= 20131223
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+#elif PACKETVER >= 20131218
+packetLen(0x09ea, 10) // CZ_REQ_READ_RODEX
+#endif
+
+// Packet: 0x09eb
+#if PACKETVER >= 20131230
+packetLen(0x09eb, 23) // ZC_ACK_READ_RODEX
+#elif PACKETVER >= 20131223
+packetLen(0x09eb, 24) // ZC_ACK_READ_RODEX
+#elif PACKETVER >= 20131218
+packetLen(0x09eb, 14) // ZC_ACK_READ_RODEX
+#endif
+
+// Packet: 0x09ec
+#if PACKETVER >= 20131230
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+#endif
+
+// Packet: 0x09ed
+#if PACKETVER >= 20131230
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+#elif PACKETVER >= 20131218
+// removed
+#elif PACKETVER >= 20131211
+packetLen(0x09ed, -1) // ZC_ACK_SEND_RODEX
+#endif
+
+// Packet: 0x09ee
+#if PACKETVER >= 20131218
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+#elif PACKETVER >= 20131211
+packetLen(0x09ee, -1) // CZ_REQ_NEXT_RODEX
+#endif
+
+// Packet: 0x09ef
+#if PACKETVER >= 20131218
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+#endif
+
+// Packet: 0x09f0
+#if PACKETVER >= 20131218
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+#endif
+
+// Packet: 0x09f5
+#if PACKETVER >= 20131218
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+#endif
+
+// Packet: 0x09f6
+#if PACKETVER >= 20131218
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+#endif
+
+// Packet: 0x09f7
+#if PACKETVER >= 20131230
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+#endif
+
+
+#endif /* COMMON_PACKETS2013_LEN_RE_H */
diff --git a/src/common/packets/packets2014_len_main.h b/src/common/packets/packets2014_len_main.h
new file mode 100644
index 000000000..b58979cb7
--- /dev/null
+++ b/src/common/packets/packets2014_len_main.h
@@ -0,0 +1,9079 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2014_LEN_MAIN_H
+#define COMMON_PACKETS2014_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20140820
+packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20140108
+packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20141231
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141210
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141203
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141126
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141119
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141105
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141029
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141015
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141008
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140903
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140827
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140813
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140806
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140702
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140625
+packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140611
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140528
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140508
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140416
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140319
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140312
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140305
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140226
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140219
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140212
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140205
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140115
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140108
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20141231
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141112
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141105
+packetLen(0x022d, 4) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141029
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141022
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141015
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141008
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140924
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140917
+packetLen(0x022d, 26) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140903
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140827
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140813
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140806
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140730
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140709
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140702
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140611
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140514
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140508
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140423
+packetLen(0x022d, 18) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140416
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140212
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140205
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140115
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140108
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20141231
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141105
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141029
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141022
+packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141015
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141008
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140903
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140827
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140813
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140806
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140709
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140702
+packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140625
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140611
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140508
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140423
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140416
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140409
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140402
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140319
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140312
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140212
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140205
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140115
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140108
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20141231
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20141210
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20141203
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20141105
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20141008
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140917
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140827
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140813
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140806
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140611
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140528
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140521
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140508
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140416
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140312
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140305
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140212
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140205
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140129
+packetLen(0x0281, 10) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140115
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140108
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20140730
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140723
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140611
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140514
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140508
+packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140326
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140319
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140108
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20141231
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141217
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141210
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141203
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141126
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141112
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141105
+packetLen(0x035f, 10) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141001
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140917
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140827
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140820
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140806
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140709
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140702
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140611
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140528
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140521
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140514
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140508
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x035f, 36) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140423
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140416
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140312
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140226
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140212
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140129
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140122
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140108
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20141231
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141224
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141217
+packetLen(0x0360, 8) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141210
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141203
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141126
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141112
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141105
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141001
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140917
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140827
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140820
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140806
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140709
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140702
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140611
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140528
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140521
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140514
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140430
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140423
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140416
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140409
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140402
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140312
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140226
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140219
+packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140212
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140129
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140122
+packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140108
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20141231
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141224
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141105
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141029
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141015
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141008
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141001
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140903
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140827
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140813
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140806
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140611
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140514
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140508
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140423
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140416
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140312
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140226
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140212
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140205
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140129
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140122
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140115
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140108
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20141231
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141210
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141203
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141119
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141112
+packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141105
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141029
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141022
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141008
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140917
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140827
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140813
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140806
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140723
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140716
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140611
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140528
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140521
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140508
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140416
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140402
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140326
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140312
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140305
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140226
+packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140212
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140205
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140115
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140108
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20141231
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20141105
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20141029
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20141022
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20141008
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140917
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140827
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140813
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140806
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140611
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140528
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140521
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140508
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0363, 10) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140423
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140416
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140312
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140305
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140212
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140205
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140115
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140108
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20141231
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141105
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141029
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141022
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141015
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141008
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140917
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140827
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140813
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140806
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140730
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140723
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140716
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140702
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140611
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140528
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140521
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140508
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140416
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140409
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140402
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140312
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140305
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140226
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140219
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140212
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140205
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140115
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140108
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20141231
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141105
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141029
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141022
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141008
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141001
+packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140924
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140917
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140827
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140820
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140813
+packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140806
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140611
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140528
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140521
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140508
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140416
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140402
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140326
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140312
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140305
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140212
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140205
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140115
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140108
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20141231
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141217
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141210
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141203
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141126
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141105
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141001
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140924
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140917
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140827
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140820
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140806
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140730
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140709
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140702
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140611
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140528
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140521
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140514
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140508
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140423
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140416
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140319
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140312
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140226
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140212
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140129
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140122
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140108
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20141210
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20141203
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20141126
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20141001
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140924
+packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140917
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140806
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140730
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140611
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140508
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140205
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140129
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140122
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140115
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140108
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20141231
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20141217
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20141210
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20141203
+packetLen(0x0368, 8) // CZ_REQNAME2
+#elif PACKETVER >= 20141126
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20141105
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20141001
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140917
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140827
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140820
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140806
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140730
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140723
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140709
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140702
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140611
+packetLen(0x0368, 6) // CZ_REQNAME2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0368, 7) // CZ_REQNAME2
+#elif PACKETVER >= 20140528
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140521
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140514
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140508
+packetLen(0x0368, 6) // CZ_REQNAME2
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140416
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140312
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140226
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140212
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140129
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140122
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140108
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20141231
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141217
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141210
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141203
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141126
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141105
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141029
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141001
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140924
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140917
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140827
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140820
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140806
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140709
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140702
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140611
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140528
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140521
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140514
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140508
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140423
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140416
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140312
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140226
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140219
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140212
+packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140129
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140122
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140108
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20141231
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20141217
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20141210
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20141105
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20141029
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20141015
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20141008
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140903
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140827
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140813
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140806
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140730
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140723
+packetLen(0x0436, 12) // CZ_ENTER2
+#elif PACKETVER >= 20140611
+packetLen(0x0436, 19) // CZ_ENTER2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140508
+packetLen(0x0436, 19) // CZ_ENTER2
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140423
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20140416
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140312
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140305
+packetLen(0x0436, 10) // CZ_ENTER2
+#elif PACKETVER >= 20140212
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140205
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140115
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140108
+packetLen(0x0436, 4) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20141231
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141217
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141210
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141203
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141126
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141105
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141029
+packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141001
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140917
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140827
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140820
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140806
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140730
+packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140716
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140709
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140702
+packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140611
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140528
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140521
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140514
+packetLen(0x0437, 12) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140508
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140423
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140416
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140312
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140226
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140212
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140129
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140122
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140108
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20141231
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141224
+packetLen(0x0438, 26) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141217
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141210
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141203
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141126
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141119
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141112
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141105
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141029
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141022
+packetLen(0x0438, 36) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141001
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140917
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140827
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140820
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140806
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140709
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140702
+packetLen(0x0438, 8) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140618
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140611
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140528
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140521
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140514
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140430
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140423
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140416
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140312
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140305
+packetLen(0x0438, 19) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140226
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140219
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140212
+packetLen(0x0438, 90) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140129
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140122
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140108
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20141231
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141217
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141210
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141105
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141029
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141022
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141008
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141001
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140924
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140917
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140820
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140813
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140806
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140723
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140716
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140709
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140702
+packetLen(0x07e4, 10) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140618
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140611
+packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140528
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140521
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140514
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140508
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140416
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140326
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140319
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140312
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140305
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140212
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140205
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140115
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140108
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20141231
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20141105
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20141029
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20141022
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20141008
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140917
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140827
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140813
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140806
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140730
+packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140611
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140528
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140521
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140508
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140416
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140409
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140326
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140312
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140305
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140212
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140205
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140129
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140122
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140115
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140108
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20141231
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141210
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141203
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141126
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141105
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141029
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141022
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141008
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141001
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140924
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140917
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140827
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140820
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140813
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140806
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140730
+packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140611
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140528
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140521
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140514
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140508
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140416
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140312
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140305
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140226
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140219
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140212
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140205
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140129
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140122
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140115
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140108
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20141231
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20141203
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20141126
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20141105
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20141001
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140917
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140827
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140820
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140806
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140723
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140716
+packetLen(0x0811, 7) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140709
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140702
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140611
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140528
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140521
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140514
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140430
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140423
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140416
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140326
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140319
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140312
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140305
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140226
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140212
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140129
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140115
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140108
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20141231
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141217
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141210
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141203
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141126
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141105
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141001
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140924
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140917
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140827
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140820
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140806
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140730
+packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140709
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140702
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140625
+packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140611
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140605
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140528
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140521
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140514
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140508
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140423
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140416
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140326
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140319
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140312
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140305
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140226
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140212
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140129
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140122
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140108
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20140806
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140730
+packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140702
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140625
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140611
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140521
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140514
+packetLen(0x0817, 4) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140508
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140108
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20141231
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141217
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141210
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141203
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141126
+packetLen(0x0819, 18) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141105
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141001
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140917
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140827
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140820
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140806
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140730
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140723
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140709
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140702
+packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140611
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140528
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140521
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140514
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140430
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140423
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140416
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140409
+packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140312
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140219
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140212
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140129
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140122
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140108
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20141231
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141224
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141119
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141112
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141029
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141022
+packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140827
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140820
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140709
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140702
+packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140625
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140611
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140508
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140108
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20141231
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141217
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141210
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141203
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141126
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141105
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141029
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141022
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141008
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141001
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140924
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140917
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140827
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140820
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140806
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140730
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140723
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140618
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140611
+packetLen(0x0838, 90) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140528
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140521
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140514
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140508
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140423
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140416
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140312
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140305
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140226
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140219
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140212
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140129
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140122
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140108
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20141231
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141217
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141210
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141203
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141126
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141119
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141112
+packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141105
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141001
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140917
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140827
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140820
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140806
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140709
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140702
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140611
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140528
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140521
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140514
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140508
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140423
+packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140416
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140402
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140326
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140312
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140226
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140212
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140205
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140129
+packetLen(0x083c, 4) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140122
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140108
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20141231
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141224
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141126
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141119
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140709
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140702
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140625
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140326
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140319
+packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140108
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20140430
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140423
+packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140416
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140409
+packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140402
+packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140226
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140219
+packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140108
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20141112
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20141105
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140723
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140716
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140226
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140219
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140108
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20140625
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140618
+packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140226
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140219
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140108
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20140806
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140730
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140319
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140312
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140108
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20141119
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20141112
+packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140730
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140723
+packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140716
+packetLen(0x085f, 19) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140605
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140528
+packetLen(0x085f, 18) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140226
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140219
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140108
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20141224
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20141217
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140716
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140709
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140625
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140618
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140508
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140430
+packetLen(0x0860, 26) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140226
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140219
+packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140108
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20141210
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20141203
+packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20141126
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20141119
+packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140827
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140820
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140702
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140625
+packetLen(0x0861, 10) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140618
+packetLen(0x0861, 90) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140514
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140508
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140108
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20141001
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140924
+packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140605
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140528
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140430
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140423
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140108
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20141119
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20141112
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20141105
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140430
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140423
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140129
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140122
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140108
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20141112
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20141105
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20141001
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140924
+packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140917
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140827
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140820
+packetLen(0x0864, 19) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140618
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140611
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140326
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140319
+packetLen(0x0864, 7) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140108
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20141231
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141224
+packetLen(0x0865, 90) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141126
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141119
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141112
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141105
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141001
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140924
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140521
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140514
+packetLen(0x0865, 7) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140402
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140319
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140122
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140115
+packetLen(0x0865, 36) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140108
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20141126
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20141119
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140716
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140709
+packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140430
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140423
+packetLen(0x0866, 19) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140326
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140319
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140108
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20141231
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20141224
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20141001
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140924
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140618
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140611
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140521
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140514
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140402
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140326
+packetLen(0x0867, 12) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140305
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140226
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140108
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20140820
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140813
+packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140723
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140716
+packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140521
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140514
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140416
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140409
+packetLen(0x0868, 12) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140402
+packetLen(0x0868, 10) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140226
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140219
+packetLen(0x0868, 36) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140108
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20141119
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20141112
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140827
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140820
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140730
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140723
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140716
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140709
+packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140528
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140521
+packetLen(0x0869, 36) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140402
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140326
+packetLen(0x0869, 18) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140108
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20140416
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140409
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140108
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20140702
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140625
+packetLen(0x086b, 26) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140430
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140423
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140402
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140326
+packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140108
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20141231
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141224
+packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141217
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141210
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141203
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141119
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141112
+packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140827
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140820
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140709
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140702
+packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140625
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140618
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140611
+packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140108
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20141231
+packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20141210
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20141203
+packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20141001
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140924
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140917
+packetLen(0x086d, 90) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140730
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140723
+packetLen(0x086d, 90) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140416
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140409
+packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140108
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20141210
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141203
+packetLen(0x086e, 6) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141126
+packetLen(0x086e, 19) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141022
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141015
+packetLen(0x086e, 19) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141001
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140924
+packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140827
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140820
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140326
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140319
+packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140219
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140212
+packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140108
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20140430
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140423
+packetLen(0x086f, 90) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140319
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140312
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140226
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140219
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140108
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20141231
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20141224
+packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140508
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140430
+packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140129
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140122
+packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140108
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20141203
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141126
+packetLen(0x0871, 8) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141119
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141112
+packetLen(0x0871, -1) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141105
+packetLen(0x0871, 36) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140723
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140716
+packetLen(0x0871, 8) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140508
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140430
+packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140129
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140122
+packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140108
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20141126
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0872, 7)
+#elif PACKETVER >= 20140827
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0872, 90)
+#elif PACKETVER >= 20140605
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20140326
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0872, 12)
+#elif PACKETVER >= 20140129
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20141126
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20141119
+packetLen(0x0873, 10) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140430
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140423
+packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140108
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20141112
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20141105
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140618
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140611
+packetLen(0x0874, 26) // ZC_REASSEMBLY_AUTH27
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140219
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140212
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140108
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20141224
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141217
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141126
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141119
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141112
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141105
+packetLen(0x0875, 7) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140716
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140709
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140702
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140625
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140605
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140528
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140508
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140430
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140416
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140409
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140108
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20140827
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140820
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140521
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140514
+packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140108
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20141112
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20141105
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140716
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140709
+packetLen(0x0877, 10) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140605
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140528
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140521
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140514
+packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140305
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140226
+packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140219
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140212
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140108
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20141224
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20141217
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20141029
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20141022
+packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140820
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140813
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140625
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140618
+packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140611
+packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140312
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140305
+packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140219
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140212
+packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140108
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20141224
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20141217
+packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20141112
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20141105
+packetLen(0x0879, 12) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140716
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140709
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140605
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140528
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140108
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20141231
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20141224
+packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140108
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20141231
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141224
+packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141217
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141210
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141203
+packetLen(0x087b, 5) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140702
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140625
+packetLen(0x087b, 10) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140108
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20141126
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20141119
+packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20141008
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20141001
+packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140820
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140813
+packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140402
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140326
+packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140226
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140219
+packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140108
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20141029
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20141022
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140806
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140730
+packetLen(0x087d, 8) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140723
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140625
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140618
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140521
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140514
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140108
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20141210
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141203
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140806
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140730
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140605
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140528
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140416
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140409
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140402
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140326
+packetLen(0x087e, 26) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140219
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140212
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140108
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20140806
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140730
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140508
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140430
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140402
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140326
+packetLen(0x087f, 10) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140108
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20141210
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141203
+packetLen(0x0880, 5) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140108
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20140723
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140716
+packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140108
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20140820
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140813
+packetLen(0x0882, 18) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140409
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140402
+packetLen(0x0882, 6) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140108
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20141224
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141217
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140416
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140409
+packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140402
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140326
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140319
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140108
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20141203
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141126
+packetLen(0x0884, 4) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141008
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141001
+packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140625
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140618
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140508
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140430
+packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140416
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140409
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140205
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140129
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140108
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20141217
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141210
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141126
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141119
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141112
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141008
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141001
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140702
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140625
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140618
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140521
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140514
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140205
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140129
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140108
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20141119
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20141112
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20141001
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140924
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140702
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140625
+packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140618
+packetLen(0x0886, 18) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140521
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140514
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140508
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140108
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20141119
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20141112
+packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20141105
+packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140716
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140709
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140702
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140402
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140326
+packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140305
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140226
+packetLen(0x0887, 12) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140122
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140115
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140108
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20141126
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20141119
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140730
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140723
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140716
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140709
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140702
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140625
+packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140219
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140212
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140108
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20141224
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20141217
+packetLen(0x0889, 12) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20141210
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20141203
+packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140924
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140917
+packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140806
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140730
+packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140319
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140312
+packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140226
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140219
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140205
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140129
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140108
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20140702
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140625
+packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140605
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140528
+packetLen(0x088a, 12) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140521
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140514
+packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140416
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140409
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140402
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140122
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140115
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140108
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20141001
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140924
+packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140806
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140730
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140716
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140709
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140528
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140521
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140514
+packetLen(0x088b, 90) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140430
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140423
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140108
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20140618
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140611
+packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140409
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140402
+packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140319
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140312
+packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140219
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140212
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140129
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140122
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140108
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20141126
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20141119
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20141112
+packetLen(0x088d, 90) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140806
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140730
+packetLen(0x088d, 12) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140723
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140716
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140528
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140521
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140319
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140312
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140108
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20141224
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20141217
+packetLen(0x088e, 18) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140702
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140625
+packetLen(0x088e, 19) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140326
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140319
+packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140312
+packetLen(0x088e, 7) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140122
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140115
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140108
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20140917
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140903
+packetLen(0x088f, 19) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140723
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140716
+packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140605
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140528
+packetLen(0x088f, 90) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140108
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20140625
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140618
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140430
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140423
+packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140416
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140409
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140402
+packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140326
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140319
+packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140129
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140122
+packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140108
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20140827
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140820
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140618
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140611
+packetLen(0x0891, 7) // CZ_REASSEMBLY_AUTH14
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140319
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140312
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140108
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20141112
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20141105
+packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140806
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140730
+packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140709
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140702
+packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140625
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140618
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140108
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20140618
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140611
+packetLen(0x0893, 5) // CZ_REASSEMBLY_AUTH16
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140416
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140409
+packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140326
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140319
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140129
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140122
+packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140108
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20141001
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140924
+packetLen(0x0894, 7) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140618
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140611
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140528
+packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140319
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140312
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140305
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140226
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140108
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20141126
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20141119
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140924
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140917
+packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140820
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140813
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140709
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140702
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140521
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140514
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140430
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140423
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140305
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140226
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140108
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20141203
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141126
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141029
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141022
+packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140730
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140723
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140716
+packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140605
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140528
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140430
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140423
+packetLen(0x0896, 7) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140416
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140409
+packetLen(0x0896, 10) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140402
+packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140108
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20140924
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140917
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140820
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140813
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140716
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140709
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140702
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140625
+packetLen(0x0897, 18) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140430
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140423
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140416
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140409
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140226
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140219
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140108
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20141210
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141203
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141112
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141105
+packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141001
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140924
+packetLen(0x0898, 90) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140917
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140730
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140723
+packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140716
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140709
+packetLen(0x0898, 19) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140430
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140423
+packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140402
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140326
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140226
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140219
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140108
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20141029
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20141022
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140827
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140820
+packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140813
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140508
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140430
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140416
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140409
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140129
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140122
+packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140108
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20141231
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20141224
+packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140827
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140820
+packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140723
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140716
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140521
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140514
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140409
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140402
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140108
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20141231
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141224
+packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140917
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140903
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140827
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140820
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140618
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140611
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140514
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140508
+packetLen(0x089b, 19) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140430
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140423
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140319
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140312
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140122
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140115
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140108
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20141210
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20141203
+packetLen(0x089c, 10) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20141008
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20141001
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140924
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140917
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140528
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140514
+packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140108
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20141210
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20141203
+packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20141008
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20141001
+packetLen(0x089d, 26) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140605
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140528
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140430
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140423
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140319
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140312
+packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140219
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140212
+packetLen(0x089d, 10) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140129
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140122
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140108
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20140730
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140723
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140319
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140312
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140219
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140212
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140108
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20141224
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141217
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140723
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140716
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140326
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140319
+packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140226
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140219
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140108
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20141119
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20141112
+packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20141105
+packetLen(0x08a0, 19) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140806
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140730
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140709
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140702
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140219
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140212
+packetLen(0x08a0, 36) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140108
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20141224
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20141217
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20141119
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20141112
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140702
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140625
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140618
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140611
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140508
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140430
+packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140219
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140212
+packetLen(0x08a1, 26) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140108
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20141224
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20141217
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140730
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140723
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140709
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140702
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140625
+packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140618
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140611
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140416
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140409
+packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140326
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140319
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140129
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140122
+packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140108
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20141231
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20141224
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140827
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140820
+packetLen(0x08a3, 5) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140813
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140108
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20141231
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20141224
+packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20141203
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20141126
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140723
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140716
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140605
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140528
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140416
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140409
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140108
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20141210
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141203
+packetLen(0x08a5, 7) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141112
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141105
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141001
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140924
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140521
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140514
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140108
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20140806
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140730
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140625
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140618
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140319
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140312
+packetLen(0x08a6, 4) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140226
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140219
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140108
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20141001
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140924
+packetLen(0x08a7, 10) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140827
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140820
+packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140813
+packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140806
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140730
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140625
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140618
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140416
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140409
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140219
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140212
+packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140122
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140115
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140108
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20141231
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141224
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141217
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141126
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141119
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140924
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140917
+packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140430
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140423
+packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140108
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20140806
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140730
+packetLen(0x08a9, 90) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140416
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140409
+packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140319
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140312
+packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140108
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20141210
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141203
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141126
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141119
+packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141029
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141022
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140402
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140326
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140226
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140219
+packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140129
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140122
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140108
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20141224
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141217
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141119
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141112
+packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141029
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141022
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140820
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140813
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140605
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140528
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140514
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140508
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140108
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20141231
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20141224
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20141217
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20141210
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140723
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140716
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140625
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140618
+packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140528
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140521
+packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140409
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140402
+packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140326
+packetLen(0x08ac, 90) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140226
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140212
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140108
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20141203
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141126
+packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141112
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141105
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141029
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141022
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141008
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141001
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140806
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140730
+packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140723
+packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140716
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140709
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140430
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140423
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140402
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140326
+packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140319
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140312
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140219
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140212
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140108
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+#if PACKETVER >= 20140820
+packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+#elif PACKETVER >= 20140108
+packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+#endif
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20141217
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20141210
+packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140625
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140618
+packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140129
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140122
+packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140108
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20141126
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141119
+packetLen(0x0918, 10) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141001
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140924
+packetLen(0x0918, 19) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140723
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140716
+packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140521
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140514
+packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140416
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140409
+packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140402
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140326
+packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140108
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20141224
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20141217
+packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20141119
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20141112
+packetLen(0x0919, 12) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140924
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140917
+packetLen(0x0919, -1) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140219
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140212
+packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140108
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20141029
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20141022
+packetLen(0x091a, 26) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140716
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140709
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140702
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140625
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140430
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140423
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140305
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140226
+packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140129
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140122
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140108
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20140219
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20140212
+packetLen(0x091b, 26) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20140108
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20141210
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20141203
+packetLen(0x091c, 18) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20141008
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20141001
+packetLen(0x091c, 4) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140416
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140409
+packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140319
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140312
+packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140108
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20141210
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20141203
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20141112
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20141105
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140827
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140820
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140605
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140528
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140521
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140514
+packetLen(0x091d, 19) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140108
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20141112
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20141105
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140806
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140730
+packetLen(0x091e, 26) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140319
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140312
+packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140108
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20141224
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20141217
+packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140723
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140716
+packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140625
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140618
+packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140409
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140402
+packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140326
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140319
+packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140108
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20141203
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20141126
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20141119
+packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140430
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140423
+packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140409
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140402
+packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140108
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20141126
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141119
+packetLen(0x0921, 19) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140611
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140605
+packetLen(0x0921, 36) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140305
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140226
+packetLen(0x0921, 26) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140219
+packetLen(0x0921, 7) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140205
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140129
+packetLen(0x0921, 18) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140108
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20141022
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20141015
+packetLen(0x0922, 4) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140108
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20140326
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140319
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140108
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20141224
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20141217
+packetLen(0x0924, 7) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140618
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140611
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140205
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140129
+packetLen(0x0924, -1) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140108
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20141001
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140924
+packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140716
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140709
+packetLen(0x0925, 90) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140702
+packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140521
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140514
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140129
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140122
+packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140108
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20141119
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141112
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141001
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140924
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140723
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140716
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140409
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140402
+packetLen(0x0926, 36) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140108
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20141217
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20141210
+packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140730
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140723
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140514
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140508
+packetLen(0x0927, 36) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140226
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140219
+packetLen(0x0927, 90) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140108
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20141210
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141203
+packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141001
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140924
+packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140219
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140212
+packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140108
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20141126
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20141119
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20141112
+packetLen(0x0929, 7) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140625
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140618
+packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140605
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140528
+packetLen(0x0929, 7) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140108
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20141210
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20141203
+packetLen(0x092a, 4) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20141008
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20141001
+packetLen(0x092a, 36) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140924
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140917
+packetLen(0x092a, 12) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140806
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140730
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140402
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140326
+packetLen(0x092a, 36) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140319
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140312
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140108
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20141217
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141210
+packetLen(0x092b, 18) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141112
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141105
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141029
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141022
+packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141001
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140924
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140108
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20140723
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140716
+packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140709
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140702
+packetLen(0x092c, 19) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140521
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140514
+packetLen(0x092c, 8) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140205
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140129
+packetLen(0x092c, 36) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140108
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20141001
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140924
+packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140409
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140402
+packetLen(0x092d, 90) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140122
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140115
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140108
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20140416
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140409
+packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140108
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20141126
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20141119
+packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140827
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140820
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140730
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140723
+packetLen(0x092f, 19) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140716
+packetLen(0x092f, 12) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140709
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140521
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140514
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140129
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140122
+packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140108
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20141231
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20141224
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140924
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140917
+packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140605
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140528
+packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140514
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140508
+packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140219
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140212
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140108
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20140917
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140903
+packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140716
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140709
+packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140611
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140605
+packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140305
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140226
+packetLen(0x0931, 4) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140108
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20141231
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20141224
+packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20141217
+packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140514
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140508
+packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140108
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20141224
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20141217
+packetLen(0x0933, 26) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20141126
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20141119
+packetLen(0x0933, 36) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140709
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140702
+packetLen(0x0933, 4) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140409
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140402
+packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140108
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20141001
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140924
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140806
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140730
+packetLen(0x0934, -1) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140723
+packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140716
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140709
+packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140514
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140508
+packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140312
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140305
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140219
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140212
+packetLen(0x0934, 7) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140108
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20140730
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140723
+packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140625
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140618
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140108
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20141224
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141217
+packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141210
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141203
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141022
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141015
+packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140827
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140820
+packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140618
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140611
+packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140219
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140212
+packetLen(0x0936, 4) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140115
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140108
+packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20141008
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20141001
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140827
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140820
+packetLen(0x0937, 5) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140108
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20141126
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20141119
+packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140723
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140716
+packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140625
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140618
+packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140212
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140205
+packetLen(0x0938, 36) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140108
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20141224
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141217
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141008
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141001
+packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140730
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140723
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140716
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140709
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140226
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140219
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140108
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20140827
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140820
+packetLen(0x093a, 36) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140605
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140528
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140108
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20141029
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20141022
+packetLen(0x093b, 19) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140723
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140716
+packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140625
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140618
+packetLen(0x093b, 7) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140508
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140430
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140108
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+
+// Packet: 0x093d
+#if PACKETVER >= 20140730
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140723
+packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140402
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140326
+packetLen(0x093d, 7) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140219
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140212
+packetLen(0x093d, 19) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140108
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20141112
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20141105
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140827
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140820
+packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140108
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20141008
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20141001
+packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140716
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140709
+packetLen(0x093f, 12) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140605
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140528
+packetLen(0x093f, 26) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140409
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140402
+packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140108
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20141224
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141217
+packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141105
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141029
+packetLen(0x0940, 7) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140806
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140730
+packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140716
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140709
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140702
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140625
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140611
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140605
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140508
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140430
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140129
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140122
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140115
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140108
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20141126
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20141119
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140917
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140903
+packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140618
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140611
+packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140305
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140226
+packetLen(0x0941, 18) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140129
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140122
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140108
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20141203
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141126
+packetLen(0x0942, 26) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141119
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141015
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141008
+packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140416
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140409
+packetLen(0x0942, 8) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140402
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140326
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140319
+packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140129
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140122
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140108
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20141119
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20141112
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140917
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140903
+packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140827
+packetLen(0x0943, 36) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140108
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20141224
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20141217
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20141112
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20141105
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140409
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140402
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140326
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140319
+packetLen(0x0944, 10) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140219
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140212
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140108
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20141231
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20141224
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20141217
+packetLen(0x0945, 90) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140917
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140903
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140730
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140723
+packetLen(0x0945, 10) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140625
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140618
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140402
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140326
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140108
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20141231
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20141224
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140806
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140730
+packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140702
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140625
+packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140409
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140402
+packetLen(0x0946, 7) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140326
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140226
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140219
+packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140108
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20141217
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20141210
+packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140730
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140723
+packetLen(0x0947, 7) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140716
+packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140416
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140409
+packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140326
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140319
+packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140108
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20141224
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20141217
+packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20141126
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20141119
+packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140813
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140806
+packetLen(0x0948, 36) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140730
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140723
+packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140108
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20141231
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20141224
+packetLen(0x0949, 12) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20141001
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140924
+packetLen(0x0949, 6) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140917
+packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140226
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140219
+packetLen(0x0949, 18) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140108
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20140827
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140820
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140618
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140611
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140528
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140319
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140312
+packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140108
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20141119
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141112
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141022
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141015
+packetLen(0x094b, 26) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141008
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141001
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140605
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140528
+packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140508
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140430
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140319
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140312
+packetLen(0x094b, 90) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140108
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20141126
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20141119
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20141112
+packetLen(0x094c, 4) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140611
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140605
+packetLen(0x094c, 26) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140416
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140409
+packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140402
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140326
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140319
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140312
+packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140129
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140122
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140108
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20140716
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140709
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140205
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140129
+packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140108
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20141029
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20141022
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140716
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140709
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140702
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140625
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140521
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140514
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140508
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140219
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140212
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140108
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20141231
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20141224
+packetLen(0x094f, 19) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20141119
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20141112
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140924
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140917
+packetLen(0x094f, 10) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140716
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140709
+packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140618
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140611
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140423
+packetLen(0x094f, 12) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140108
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20141231
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141224
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141112
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141105
+packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140618
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140611
+packetLen(0x0950, 18) // CZ_REASSEMBLY_AUTH58
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140409
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140402
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140129
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140122
+packetLen(0x0950, 10) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140108
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20140924
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140917
+packetLen(0x0951, 18) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140827
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140820
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140618
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140611
+packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140108
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20141210
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141203
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141008
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141001
+packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140924
+packetLen(0x0952, 26) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140827
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140820
+packetLen(0x0952, 7) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140723
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140716
+packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140618
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140611
+packetLen(0x0952, 8) // CZ_REASSEMBLY_AUTH60
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140219
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140212
+packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140129
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140122
+packetLen(0x0952, -1) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140108
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20141231
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20141224
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140508
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140430
+packetLen(0x0953, 4) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140219
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140212
+packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140108
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20141217
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20141210
+packetLen(0x0954, 19) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140625
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140618
+packetLen(0x0954, 26) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140326
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140319
+packetLen(0x0954, 26) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140108
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20141217
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141210
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141119
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141112
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141029
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141022
+packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140924
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140917
+packetLen(0x0955, 26) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140326
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140319
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140129
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140122
+packetLen(0x0955, 36) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140108
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20141231
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20141224
+packetLen(0x0956, 10) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140924
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140917
+packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140827
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140820
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140508
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140430
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140402
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140326
+packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140108
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20141112
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20141105
+packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140924
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140917
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140625
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140618
+packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140611
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140319
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140312
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140129
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140122
+packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140108
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20141217
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20141210
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140827
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140820
+packetLen(0x0958, 4) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140723
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140716
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140618
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140611
+packetLen(0x0958, 19) // CZ_REASSEMBLY_AUTH66
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140521
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140514
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140409
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140402
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140205
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140129
+packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140108
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20140723
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140716
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140702
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140625
+packetLen(0x0959, 7) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140402
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140326
+packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140108
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20141203
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20141126
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140924
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140917
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140416
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140409
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140402
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140326
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140108
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20141231
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20141224
+packetLen(0x095b, 10) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20141203
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20141126
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140122
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140115
+packetLen(0x095b, 4) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140108
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20141210
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20141203
+packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140924
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140917
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140423
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140416
+packetLen(0x095c, 36) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140409
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140402
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140326
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140108
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20141119
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20141112
+packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140625
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140618
+packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140319
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140312
+packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140129
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140122
+packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140115
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140108
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20140924
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140917
+packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140625
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140618
+packetLen(0x095e, 19) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140430
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140423
+packetLen(0x095e, 4) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140416
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140409
+packetLen(0x095e, 19) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140319
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140305
+packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140108
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20141231
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141224
+packetLen(0x095f, 7) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141203
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141126
+packetLen(0x095f, 8) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141112
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141105
+packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140730
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140723
+packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140716
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140709
+packetLen(0x095f, 18) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140605
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140528
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140521
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140514
+packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140129
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140122
+packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140108
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20141224
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141217
+packetLen(0x0960, 4) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141119
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141112
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140730
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140723
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140702
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140625
+packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140108
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20141217
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20141210
+packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140827
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140820
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140716
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140709
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140326
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140319
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140226
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140219
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140205
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140129
+packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140108
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20141210
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20141203
+packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20141119
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20141112
+packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140625
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140618
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140521
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140514
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140305
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140226
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140108
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20141217
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141210
+packetLen(0x0963, 36) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141126
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141119
+packetLen(0x0963, 90) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140618
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140611
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140528
+packetLen(0x0963, 10) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140108
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20140605
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140528
+packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140326
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140319
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140305
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140226
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140108
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20141203
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20141126
+packetLen(0x0965, 26) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140618
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140611
+packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140521
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140514
+packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140409
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140402
+packetLen(0x0965, 12) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140122
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140115
+packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140108
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20140924
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140917
+packetLen(0x0966, 4) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140605
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140528
+packetLen(0x0966, -1) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140319
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140312
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140122
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140115
+packetLen(0x0966, 19) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140108
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20141217
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20141210
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20141022
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20141015
+packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140820
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140813
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140625
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140618
+packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140108
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20141112
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20141105
+packetLen(0x0968, 18) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140702
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140625
+packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140528
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140521
+packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140108
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20140723
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140716
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140702
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140625
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140402
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140326
+packetLen(0x0969, 10) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140305
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140226
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140108
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20141231
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141217
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141210
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141203
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141126
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141105
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141008
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140917
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140827
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140820
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140806
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140709
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140625
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140611
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140605
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140528
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140514
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140508
+packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140423
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140416
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140326
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140319
+packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140312
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140226
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140212
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140129
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140122
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140115
+packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140108
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+#if PACKETVER >= 20140716
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+#elif PACKETVER >= 20140108
+packetLen(0x09e7, 2) // ZC_NOTIFY_UNREAD_RODEX
+#endif
+
+// Packet: 0x09e8
+#if PACKETVER >= 20140212
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+#elif PACKETVER >= 20140108
+packetLen(0x09e8, 10) // CZ_OPEN_RODEXBOX
+#endif
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+#if PACKETVER >= 20140115
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+#elif PACKETVER >= 20140108
+packetLen(0x09eb, 23) // ZC_ACK_READ_RODEX
+#endif
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+#if PACKETVER >= 20140326
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+#elif PACKETVER >= 20140115
+packetLen(0x09f1, 10) // CZ_REQ_ZENY_FROM_RODEX
+#endif
+
+// Packet: 0x09f2
+#if PACKETVER >= 20140409
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+#elif PACKETVER >= 20140326
+packetLen(0x09f2, 4) // ZC_ACK_ZENY_FROM_RODEX
+#elif PACKETVER >= 20140115
+packetLen(0x09f2, 3) // ZC_ACK_ZENY_FROM_RODEX
+#endif
+
+// Packet: 0x09f3
+#if PACKETVER >= 20140326
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140305
+packetLen(0x09f3, 10) // CZ_REQ_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140115
+packetLen(0x09f3, 15) // CZ_REQ_ITEM_FROM_RODEX
+#endif
+
+// Packet: 0x09f4
+#if PACKETVER >= 20140409
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140326
+packetLen(0x09f4, 4) // ZC_ACK_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140305
+packetLen(0x09f4, 3) // ZC_ACK_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140115
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+#endif
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+#if PACKETVER >= 20140115
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+#endif
+
+// Packet: 0x09f9
+#if PACKETVER >= 20140122
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+#elif PACKETVER >= 20140115
+packetLen(0x09f9, 131) // ZC_ADD_QUEST_EX
+#endif
+
+// Packet: 0x09fa
+#if PACKETVER >= 20140115
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+#endif
+
+// Packet: 0x09fb
+#if PACKETVER >= 20140122
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+#endif
+
+// Packet: 0x09fc
+#if PACKETVER >= 20140122
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+#endif
+
+// Packet: 0x09fd
+#if PACKETVER >= 20140122
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+#endif
+
+// Packet: 0x09fe
+#if PACKETVER >= 20140122
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+#endif
+
+// Packet: 0x09ff
+#if PACKETVER >= 20140122
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+#endif
+
+// Packet: 0x0a00
+#if PACKETVER >= 20140129
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+#endif
+
+// Packet: 0x0a01
+#if PACKETVER >= 20140129
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+#endif
+
+// Packet: 0x0a02
+#if PACKETVER >= 20140212
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+#endif
+
+// Packet: 0x0a03
+#if PACKETVER >= 20140326
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+#elif PACKETVER >= 20140226
+packetLen(0x0a03, 14) // CZ_REQ_CANCEL_WRITE_RODEX
+#endif
+
+// Packet: 0x0a04
+#if PACKETVER >= 20140416
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+#elif PACKETVER >= 20140326
+// removed
+#elif PACKETVER >= 20140226
+packetLen(0x0a04, 11) // CZ_REQ_ADD_ITEM_RODEX
+#endif
+
+// Packet: 0x0a05
+#if PACKETVER >= 20141119
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+#elif PACKETVER >= 20141008
+packetLen(0x0a05, 49) // ZC_ACK_ADD_ITEM_RODEX
+#elif PACKETVER >= 20140416
+packetLen(0x0a05, 48) // ZC_ACK_ADD_ITEM_RODEX
+#elif PACKETVER >= 20140226
+packetLen(0x0a05, 6) // ZC_ACK_ADD_ITEM_RODEX
+#endif
+
+// Packet: 0x0a06
+#if PACKETVER >= 20140416
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+#elif PACKETVER >= 20140226
+packetLen(0x0a06, 5) // CZ_REQ_REMOVE_RODEX_ITEM
+#endif
+
+// Packet: 0x0a07
+#if PACKETVER >= 20140521
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+#elif PACKETVER >= 20140416
+packetLen(0x0a07, 7) // ZC_ACK_REMOVE_RODEX_ITEM
+#elif PACKETVER >= 20140326
+packetLen(0x0a07, 6) // ZC_ACK_REMOVE_RODEX_ITEM
+#elif PACKETVER >= 20140305
+packetLen(0x0a07, 4) // ZC_ACK_REMOVE_RODEX_ITEM
+#endif
+
+// Packet: 0x0a08
+#if PACKETVER >= 20140416
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+#elif PACKETVER >= 20140326
+packetLen(0x0a08, 7) // CZ_REQ_OPEN_WRITE_RODEX
+#elif PACKETVER >= 20140305
+packetLen(0x0a08, 5) // CZ_REQ_OPEN_WRITE_RODEX
+#endif
+
+// Packet: 0x0a09
+#if PACKETVER >= 20140312
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+#elif PACKETVER >= 20140305
+packetLen(0x0a09, 50) // ZC_ADD_EXCHANGE_ITEM3
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20140312
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+#elif PACKETVER >= 20140305
+packetLen(0x0a0a, 52) // ZC_ADD_ITEM_TO_STORE3
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20140312
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+#elif PACKETVER >= 20140305
+packetLen(0x0a0b, 52) // ZC_ADD_ITEM_TO_CART3
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20140312
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+#elif PACKETVER >= 20140305
+packetLen(0x0a0c, 61) // ZC_ITEM_PICKUP_ACK_V6
+#endif
+
+// Packet: 0x0a0d
+#if PACKETVER >= 20140312
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+#elif PACKETVER >= 20140305
+packetLen(0x0a0d, 4) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0a0e
+#if PACKETVER >= 20140312
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+#endif
+
+// Packet: 0x0a0f
+#if PACKETVER >= 20140402
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0a10
+#if PACKETVER >= 20140402
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0a11
+#if PACKETVER >= 20140402
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0a12
+#if PACKETVER >= 20140416
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+#endif
+
+// Packet: 0x0a13
+#if PACKETVER >= 20140423
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+#elif PACKETVER >= 20140416
+packetLen(0x0a13, 2) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+#endif
+
+// Packet: 0x0a14
+#if PACKETVER >= 20140521
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+#elif PACKETVER >= 20140423
+packetLen(0x0a14, 6) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+#endif
+
+// Packet: 0x0a15
+#if PACKETVER >= 20140508
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+#elif PACKETVER >= 20140430
+packetLen(0x0a15, 11) // ZC_GOLDPCCAFE_POINT
+#endif
+
+// Packet: 0x0a16
+#if PACKETVER >= 20140430
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+#endif
+
+// Packet: 0x0a17
+#if PACKETVER >= 20140430
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+#endif
+
+// Packet: 0x0a18
+#if PACKETVER >= 20140611
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+#elif PACKETVER >= 20140605
+packetLen(0x0a18, 2) // ZC_ACCEPT_ENTER3
+#endif
+
+// Packet: 0x0a19
+#if PACKETVER >= 20140611
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+#elif PACKETVER >= 20140605
+packetLen(0x0a19, -1) // CZ_REQ_OPEN_ROULETTE
+#endif
+
+// Packet: 0x0a1a
+#if PACKETVER >= 20140611
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+#elif PACKETVER >= 20140605
+packetLen(0x0a1a, 10) // ZC_ACK_OPEN_ROULETTE
+#endif
+
+// Packet: 0x0a1b
+#if PACKETVER >= 20140605
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+#endif
+
+// Packet: 0x0a1c
+#if PACKETVER >= 20140611
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+#elif PACKETVER >= 20140605
+packetLen(0x0a1c, 6) // ZC_ACK_ROULEITTE_INFO
+#endif
+
+// Packet: 0x0a1d
+#if PACKETVER >= 20140611
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+#elif PACKETVER >= 20140605
+packetLen(0x0a1d, 14) // CZ_REQ_CLOSE_ROULETTE
+#endif
+
+// Packet: 0x0a1e
+#if PACKETVER >= 20140611
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+#endif
+
+// Packet: 0x0a1f
+#if PACKETVER >= 20140611
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+#endif
+
+// Packet: 0x0a20
+#if PACKETVER >= 20140611
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+#endif
+
+// Packet: 0x0a21
+#if PACKETVER >= 20140618
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+#elif PACKETVER >= 20140611
+packetLen(0x0a21, 6) // CZ_RECV_ROULETTE_ITEM
+#endif
+
+// Packet: 0x0a22
+#if PACKETVER >= 20140618
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+#elif PACKETVER >= 20140611
+packetLen(0x0a22, 3) // ZC_RECV_ROULETTE_ITEM
+#endif
+
+// Packet: 0x0a23
+#if PACKETVER >= 20140611
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+#endif
+
+// Packet: 0x0a24
+#if PACKETVER >= 20141001
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+#elif PACKETVER >= 20140723
+packetLen(0x0a24, 56) // ZC_ACH_UPDATE
+#elif PACKETVER >= 20140625
+packetLen(0x0a24, 36) // ZC_ACH_UPDATE
+#elif PACKETVER >= 20140611
+packetLen(0x0a24, 35) // ZC_ACH_UPDATE
+#endif
+
+// Packet: 0x0a25
+#if PACKETVER >= 20140611
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+#endif
+
+// Packet: 0x0a26
+#if PACKETVER >= 20140611
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+#endif
+
+// Packet: 0x0a27
+#if PACKETVER >= 20140625
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+#endif
+
+// Packet: 0x0a28
+#if PACKETVER >= 20140625
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+#endif
+
+// Packet: 0x0a29
+#if PACKETVER >= 20140702
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+#endif
+
+// Packet: 0x0a2a
+#if PACKETVER >= 20140702
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+#endif
+
+// Packet: 0x0a2b
+#if PACKETVER >= 20140723
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+#endif
+
+// Packet: 0x0a2c
+#if PACKETVER >= 20140723
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+#endif
+
+// Packet: 0x0a2d
+#if PACKETVER >= 20140820
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+#endif
+
+// Packet: 0x0a2e
+#if PACKETVER >= 20140827
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+#endif
+
+// Packet: 0x0a2f
+#if PACKETVER >= 20140827
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+#endif
+
+// Packet: 0x0a30
+#if PACKETVER >= 20140917
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+#endif
+
+// Packet: 0x0a31
+#if PACKETVER >= 20140917
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+#endif
+
+// Packet: 0x0a32
+#if PACKETVER >= 20140924
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+#endif
+
+// Packet: 0x0a33
+#if PACKETVER >= 20140924
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+#endif
+
+// Packet: 0x0a34
+#if PACKETVER >= 20140924
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+#endif
+
+// Packet: 0x0a35
+#if PACKETVER >= 20141119
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+#endif
+
+// Packet: 0x0a36
+#if PACKETVER >= 20141126
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+#endif
+
+// Packet: 0x0a37
+#if PACKETVER >= 20141126
+packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+#endif
+
+
+#endif /* COMMON_PACKETS2014_LEN_MAIN_H */
diff --git a/src/common/packets/packets2014_len_re.h b/src/common/packets/packets2014_len_re.h
new file mode 100644
index 000000000..e71f4e975
--- /dev/null
+++ b/src/common/packets/packets2014_len_re.h
@@ -0,0 +1,9014 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2014_LEN_RE_H
+#define COMMON_PACKETS2014_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20140625
+packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20140108
+packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+#if PACKETVER >= 20140226
+packetLen(0x01c4, 53) // ZC_ADD_ITEM_TO_STORE2
+// ignored packet from 2014-02-26bRagexeRE
+#elif PACKETVER >= 20140219
+packetLen(0x01c4, 53) // ZC_ADD_ITEM_TO_STORE2
+// ignored packet from 2014-02-19bRagexeRE
+#elif PACKETVER >= 20140129
+packetLen(0x01c4, 43) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20140108
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20140226
+packetLen(0x01c5, 53) // ZC_ADD_ITEM_TO_CART2
+// ignored packet from 2014-02-26bRagexeRE
+#elif PACKETVER >= 20140219
+packetLen(0x01c5, 53) // ZC_ADD_ITEM_TO_CART2
+// ignored packet from 2014-02-19bRagexeRE
+#elif PACKETVER >= 20140129
+packetLen(0x01c5, 43) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20140108
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20141231
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141210
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141203
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141126
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141119
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141105
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141029
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141015
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20141008
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140903
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140827
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140813
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140806
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140702
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140625
+packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140605
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140528
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140508
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140416
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140319
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140312
+packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140305
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140226
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140219
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140212
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140205
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140115
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20140108
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20141231
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141112
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141105
+packetLen(0x022d, 4) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141029
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141022
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141015
+packetLen(0x022d, 8) // CZ_COMMAND_MER
+#elif PACKETVER >= 20141008
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140924
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140917
+packetLen(0x022d, 26) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140903
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140827
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140813
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140806
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140730
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140709
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140702
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140514
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140508
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140423
+packetLen(0x022d, 18) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140416
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140212
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140205
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140115
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20140108
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20141231
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141105
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141029
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141022
+packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141015
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20141008
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140903
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140827
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140813
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140806
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140709
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140702
+packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140625
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140508
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140423
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140416
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140409
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140402
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140319
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140312
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140212
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140205
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140115
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20140108
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20141231
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20141210
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20141203
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20141105
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20141008
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140917
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140827
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140813
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140806
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140611
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140605
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140528
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140521
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140508
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140416
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140312
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140305
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140212
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140205
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140129
+packetLen(0x0281, 10) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140115
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20140108
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20140730
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140723
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140514
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140508
+packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140326
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140319
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20140108
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20141231
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141217
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141210
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141203
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141126
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141112
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141105
+packetLen(0x035f, 10) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20141001
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140917
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140827
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140820
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140806
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140709
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140702
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140611
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140605
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140528
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140521
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140514
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140508
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x035f, 36) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140423
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140416
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140312
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140226
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140212
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140129
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140122
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20140108
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20141231
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141223
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141217
+packetLen(0x0360, 8) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141210
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141203
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141126
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141112
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141105
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20141001
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140917
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140827
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140820
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140806
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140709
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140702
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140611
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140605
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140528
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140521
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140514
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140430
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140423
+packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140416
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140409
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140402
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140312
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140226
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140219
+packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140212
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140129
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140122
+packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20140108
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20141231
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141223
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141105
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141029
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141015
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141008
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20141001
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140903
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140827
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140813
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140806
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140514
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140508
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140423
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140416
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140312
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140226
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140212
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140205
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140129
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140122
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140115
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20140108
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20141231
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141210
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141203
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141119
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141112
+packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141105
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141029
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141022
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20141008
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140917
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140827
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140813
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140806
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140723
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140716
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140611
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140605
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140528
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140521
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140508
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140416
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140402
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140326
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140312
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140305
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140226
+packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140212
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140205
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140115
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20140108
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20141231
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20141105
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20141029
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20141022
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20141008
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140917
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140827
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140813
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140806
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140611
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140605
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140528
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140521
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140508
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0363, 10) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140423
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140416
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140312
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140305
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140212
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140205
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140115
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20140108
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20141231
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141105
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141029
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141022
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141015
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20141008
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140917
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140827
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140813
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140806
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140730
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140723
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140716
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140702
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140611
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140605
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140528
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140521
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140508
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140416
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140409
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140402
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140312
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140305
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140226
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140219
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140212
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140205
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140115
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20140108
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20141231
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141105
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141029
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141022
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141008
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20141001
+packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140924
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140917
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140827
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140820
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140813
+packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140806
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140611
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140605
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140528
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140521
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140508
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140416
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140402
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140326
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140312
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140305
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140212
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140205
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140115
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20140108
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20141231
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141217
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141210
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141203
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141126
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141105
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20141001
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140924
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140917
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140827
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140820
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140806
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140730
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140709
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140702
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140611
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140605
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140528
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140521
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140514
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140508
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140423
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140416
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140319
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140312
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140226
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140212
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140129
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140122
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20140108
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20141210
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20141203
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20141126
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20141001
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140924
+packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140917
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140806
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140730
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140508
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140205
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140129
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140122
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140115
+packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20140108
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20141231
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20141217
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20141210
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20141203
+packetLen(0x0368, 8) // CZ_REQNAME2
+#elif PACKETVER >= 20141126
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20141105
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20141001
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140917
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140827
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140820
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140806
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140730
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140723
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140709
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140702
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140611
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140605
+packetLen(0x0368, 7) // CZ_REQNAME2
+#elif PACKETVER >= 20140528
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140521
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140514
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140508
+packetLen(0x0368, 6) // CZ_REQNAME2
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140416
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140312
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140226
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140212
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140129
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20140122
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20140108
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20141231
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141217
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141210
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141203
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141126
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141105
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141029
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20141001
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140924
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140917
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140827
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140820
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140806
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140709
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140702
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140611
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140605
+packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140528
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140521
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140514
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140508
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140423
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140416
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140312
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140226
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140219
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140212
+packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140129
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140122
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20140108
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20141231
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20141217
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20141210
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20141105
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20141029
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20141015
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20141008
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140903
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140827
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140813
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140806
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140730
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140723
+packetLen(0x0436, 12) // CZ_ENTER2
+#elif PACKETVER >= 20140611
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140605
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140508
+packetLen(0x0436, 19) // CZ_ENTER2
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140423
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20140416
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140312
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140305
+packetLen(0x0436, 10) // CZ_ENTER2
+#elif PACKETVER >= 20140212
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140205
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20140115
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20140108
+packetLen(0x0436, 4) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20141231
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141217
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141210
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141203
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141126
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141105
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141029
+packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20141001
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140917
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140827
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140820
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140806
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140730
+packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140716
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140709
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140702
+packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140611
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140605
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140528
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140521
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140514
+packetLen(0x0437, 12) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140508
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140423
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140416
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140312
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140226
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140212
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140129
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140122
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20140108
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20141231
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141223
+packetLen(0x0438, 26) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141217
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141210
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141203
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141126
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141119
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141112
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141105
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141029
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141022
+packetLen(0x0438, 36) // CZ_USE_SKILL2
+#elif PACKETVER >= 20141001
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140917
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140827
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140820
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140806
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140709
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140702
+packetLen(0x0438, 8) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140618
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140611
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140605
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140528
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140521
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140514
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140430
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140423
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140416
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140312
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140305
+packetLen(0x0438, 19) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140226
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140219
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140212
+packetLen(0x0438, 90) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140129
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140122
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20140108
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20141231
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141217
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141210
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141105
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141029
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141022
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141008
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20141001
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140924
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140917
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140820
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140813
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140806
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140723
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140716
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140709
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140702
+packetLen(0x07e4, 10) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140618
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140611
+packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140605
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140528
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140521
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140514
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140508
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140416
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140326
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140319
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140312
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140305
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140212
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140205
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140115
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20140108
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20141231
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20141105
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20141029
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20141022
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20141008
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140917
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140827
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140813
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140806
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140730
+packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140611
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140605
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140528
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140521
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140508
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140416
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140409
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140326
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140312
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140305
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140212
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140205
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140129
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140122
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140115
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20140108
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20141231
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141210
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141203
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141126
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141105
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141029
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141022
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141008
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20141001
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140924
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140917
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140827
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140820
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140813
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140806
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140730
+packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140611
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140605
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140528
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140521
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140514
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140508
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140416
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140312
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140305
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140226
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140219
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140212
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140205
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140129
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140122
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140115
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20140108
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+#if PACKETVER >= 20140226
+packetLen(0x080f, 51) // ZC_ADD_EXCHANGE_ITEM2
+// ignored packet from 2014-02-26bRagexeRE
+#elif PACKETVER >= 20140219
+packetLen(0x080f, 51) // ZC_ADD_EXCHANGE_ITEM2
+// ignored packet from 2014-02-19bRagexeRE
+#elif PACKETVER >= 20140129
+packetLen(0x080f, 41) // ZC_ADD_EXCHANGE_ITEM2
+#elif PACKETVER >= 20140108
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20141231
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20141203
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20141126
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20141105
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20141001
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140917
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140827
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140820
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140806
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140723
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140716
+packetLen(0x0811, 7) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140709
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140702
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140611
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140605
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140528
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140521
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140514
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140430
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140423
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140416
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140326
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140319
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140312
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140305
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140226
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140212
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140129
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140115
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20140108
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20141231
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141217
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141210
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141203
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141126
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141105
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20141001
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140924
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140917
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140827
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140820
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140806
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140730
+packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140709
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140702
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140625
+packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140611
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140605
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140528
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140521
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140514
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140508
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140423
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140416
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140326
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140319
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140312
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140305
+packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140226
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140212
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140129
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140122
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20140108
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20140806
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140730
+packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140702
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140625
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140611
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140605
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140521
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140514
+packetLen(0x0817, 4) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20140508
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140108
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20141231
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141217
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141210
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141203
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141126
+packetLen(0x0819, 18) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141105
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20141001
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140917
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140827
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140820
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140806
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140730
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140723
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140709
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140702
+packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140611
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140605
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140528
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140521
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140514
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140430
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140423
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140416
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140409
+packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140312
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140219
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140212
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140129
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140122
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20140108
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20141231
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141223
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141119
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141112
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141029
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20141022
+packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140827
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140820
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140709
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140702
+packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140625
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20140508
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140108
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20141231
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141217
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141210
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141203
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141126
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141105
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141029
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141022
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141008
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20141001
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140924
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140917
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140827
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140820
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140806
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140730
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140723
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140618
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140611
+packetLen(0x0838, 90) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140605
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140528
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140521
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140514
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140508
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140423
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140416
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140312
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140305
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140226
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140219
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140212
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140129
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140122
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20140108
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20141231
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141217
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141210
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141203
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141126
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141119
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141112
+packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141105
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20141001
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140917
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140827
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140820
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140806
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140709
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140702
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140611
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140605
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140528
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140521
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140514
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140508
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140423
+packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140416
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140402
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140326
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140312
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140226
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140212
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140205
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140129
+packetLen(0x083c, 4) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140122
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20140108
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20141231
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141223
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141126
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141119
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140709
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140702
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140625
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140326
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140319
+packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140108
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20140430
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140423
+packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140416
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140409
+packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140402
+packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140226
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140219
+packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140108
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20141112
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20141105
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140723
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140716
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140226
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140219
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140108
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20140625
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140618
+packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140226
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140219
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140108
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20140806
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140730
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140319
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140312
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140108
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20141119
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20141112
+packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140730
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140723
+packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140716
+packetLen(0x085f, 19) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140605
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140528
+packetLen(0x085f, 18) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140226
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140219
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140108
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20141223
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20141217
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140716
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140709
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140625
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140618
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140508
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140430
+packetLen(0x0860, 26) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140226
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140219
+packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140108
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20141210
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20141203
+packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20141126
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20141119
+packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140827
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140820
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140702
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140625
+packetLen(0x0861, 10) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140618
+packetLen(0x0861, 90) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140514
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140508
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140108
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20141001
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140924
+packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140605
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140528
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140430
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140423
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140108
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20141119
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20141112
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20141105
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140430
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140423
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140129
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140122
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140108
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20141112
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20141105
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20141001
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140924
+packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140917
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140827
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140820
+packetLen(0x0864, 19) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140618
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140611
+packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140326
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140319
+packetLen(0x0864, 7) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140108
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20141231
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141223
+packetLen(0x0865, 90) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141126
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141119
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141112
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141105
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20141001
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140924
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140521
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140514
+packetLen(0x0865, 7) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140402
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140319
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140122
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140115
+packetLen(0x0865, 36) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140108
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20141126
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20141119
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140716
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140709
+packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140430
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140423
+packetLen(0x0866, 19) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140326
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140319
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140108
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20141231
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20141223
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20141001
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140924
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140618
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140611
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140521
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140514
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140402
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140326
+packetLen(0x0867, 12) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140305
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140226
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140108
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20140820
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140813
+packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140723
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140716
+packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140521
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140514
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140416
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140409
+packetLen(0x0868, 12) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140402
+packetLen(0x0868, 10) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140226
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140219
+packetLen(0x0868, 36) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140108
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20141119
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20141112
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140827
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140820
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140730
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140723
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140716
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140709
+packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140528
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140521
+packetLen(0x0869, 36) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140402
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140326
+packetLen(0x0869, 18) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140108
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20140416
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140409
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140108
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20140702
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140625
+packetLen(0x086b, 26) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140430
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140423
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140402
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140326
+packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140108
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20141231
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141223
+packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141217
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141210
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141203
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141119
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141112
+packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140827
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140820
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140709
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140702
+packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140625
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140618
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140611
+packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140108
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20141231
+packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20141210
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20141203
+packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20141001
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140924
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140917
+packetLen(0x086d, 90) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140730
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140723
+packetLen(0x086d, 90) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140416
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140409
+packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140108
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20141210
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141203
+packetLen(0x086e, 6) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141126
+packetLen(0x086e, 19) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141022
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141015
+packetLen(0x086e, 19) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141001
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140924
+packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140827
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140820
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140326
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140319
+packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140219
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140212
+packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140108
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20140430
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140423
+packetLen(0x086f, 90) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140319
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140312
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140226
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140219
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140108
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20141231
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20141223
+packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140508
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140430
+packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140129
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140122
+packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140108
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20141203
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141126
+packetLen(0x0871, 8) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141119
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141112
+packetLen(0x0871, -1) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141105
+packetLen(0x0871, 36) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140723
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140716
+packetLen(0x0871, 8) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140508
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140430
+packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140129
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140122
+packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140108
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20141126
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0872, 7)
+#elif PACKETVER >= 20140827
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0872, 90)
+#elif PACKETVER >= 20140605
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20140326
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0872, 12)
+#elif PACKETVER >= 20140129
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20141126
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20141119
+packetLen(0x0873, 10) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140430
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140423
+packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140108
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20141112
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20141105
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140618
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140611
+packetLen(0x0874, 26) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140219
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140212
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140108
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20141223
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141217
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141126
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141119
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141112
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141105
+packetLen(0x0875, 7) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140716
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140709
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140702
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140625
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140605
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140528
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140508
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140430
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140416
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140409
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140108
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20140827
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140820
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140521
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140514
+packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140108
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20141112
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20141105
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140716
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140709
+packetLen(0x0877, 10) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140605
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140528
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140521
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140514
+packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140305
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140226
+packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140219
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140212
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140108
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20141223
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20141217
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20141029
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20141022
+packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140820
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140813
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140625
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140618
+packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140611
+packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140312
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140305
+packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140219
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140212
+packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140108
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20141223
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20141217
+packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20141112
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20141105
+packetLen(0x0879, 12) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140716
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140709
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140605
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140528
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140108
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20141231
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20141223
+packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140108
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20141231
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141223
+packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141217
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141210
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141203
+packetLen(0x087b, 5) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140702
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140625
+packetLen(0x087b, 10) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140108
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20141126
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20141119
+packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20141008
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20141001
+packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140820
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140813
+packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140402
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140326
+packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140226
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140219
+packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140108
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20141029
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20141022
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140806
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140730
+packetLen(0x087d, 8) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140723
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140625
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140618
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140521
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140514
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140108
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20141210
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141203
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140806
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140730
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140605
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140528
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140416
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140409
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140402
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140326
+packetLen(0x087e, 26) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140219
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140212
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140108
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20140806
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140730
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140508
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140430
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140402
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140326
+packetLen(0x087f, 10) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140108
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20141210
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141203
+packetLen(0x0880, 5) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140108
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20140723
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140716
+packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140108
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20140820
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140813
+packetLen(0x0882, 18) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140409
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140402
+packetLen(0x0882, 6) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140108
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20141223
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141217
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140416
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140409
+packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140402
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140326
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140319
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140108
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20141203
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141126
+packetLen(0x0884, 4) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141008
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20141001
+packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140625
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140618
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140508
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140430
+packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140416
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140409
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140205
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140129
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20140108
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20141217
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141210
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141126
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141119
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141112
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141008
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20141001
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140702
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140625
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140618
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140521
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140514
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140205
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140129
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20140108
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20141119
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20141112
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20141001
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140924
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140702
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140625
+packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140618
+packetLen(0x0886, 18) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140521
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140514
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140508
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20140108
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20141119
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20141112
+packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20141105
+packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140716
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140709
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140702
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140402
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140326
+packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140305
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140226
+packetLen(0x0887, 12) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140122
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140115
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20140108
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20141126
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20141119
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140730
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140723
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140716
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140709
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140702
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140625
+packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140219
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140212
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20140108
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20141223
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20141217
+packetLen(0x0889, 12) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20141210
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20141203
+packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140924
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140917
+packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140806
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140730
+packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140319
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140312
+packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140226
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140219
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140205
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140129
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20140108
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20140702
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140625
+packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140605
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140528
+packetLen(0x088a, 12) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140521
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140514
+packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140416
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140409
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140402
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140122
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140115
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20140108
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20141001
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140924
+packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140806
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140730
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140716
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140709
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140528
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140521
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140514
+packetLen(0x088b, 90) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140430
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140423
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20140108
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20140618
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140611
+packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140409
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140402
+packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140319
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140312
+packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140219
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140212
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140129
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140122
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20140108
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20141126
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20141119
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20141112
+packetLen(0x088d, 90) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140806
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140730
+packetLen(0x088d, 12) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140723
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140716
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140528
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140521
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140319
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140312
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20140108
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20141223
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20141217
+packetLen(0x088e, 18) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140702
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140625
+packetLen(0x088e, 19) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140326
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140319
+packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140312
+packetLen(0x088e, 7) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140122
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140115
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20140108
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20140917
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140903
+packetLen(0x088f, 19) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140723
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140716
+packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140605
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140528
+packetLen(0x088f, 90) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20140108
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20140625
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140618
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140430
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140423
+packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140416
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140409
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140402
+packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140326
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140319
+packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140129
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140122
+packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20140108
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20140827
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140820
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140618
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140611
+packetLen(0x0891, 7) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140319
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140312
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20140108
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20141112
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20141105
+packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140806
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140730
+packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140709
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140702
+packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140625
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140618
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20140108
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20140618
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140611
+packetLen(0x0893, 5) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140416
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140409
+packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140326
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140319
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140129
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140122
+packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20140108
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20141001
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140924
+packetLen(0x0894, 7) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140618
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140611
+packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140605
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140528
+packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140319
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140312
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140305
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140226
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20140108
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20141126
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20141119
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140924
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140917
+packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140820
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140813
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140709
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140702
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140521
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140514
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140430
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140423
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140305
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140226
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20140108
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20141203
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141126
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141029
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20141022
+packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140730
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140723
+packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140716
+packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140605
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140528
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140430
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140423
+packetLen(0x0896, 7) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140416
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140409
+packetLen(0x0896, 10) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140402
+packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20140108
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20140924
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140917
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140820
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140813
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140716
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140709
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140702
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140625
+packetLen(0x0897, 18) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140430
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140423
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140416
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140409
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140226
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140219
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20140108
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20141210
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141203
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141112
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141105
+packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20141001
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140924
+packetLen(0x0898, 90) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140917
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140730
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140723
+packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140716
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140709
+packetLen(0x0898, 19) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140430
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140423
+packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140402
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140326
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140226
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140219
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20140108
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20141029
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20141022
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140827
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140820
+packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140813
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140508
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140430
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140416
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140409
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140129
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140122
+packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20140108
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20141231
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20141223
+packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140827
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140820
+packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140723
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140716
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140521
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140514
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140409
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140402
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20140108
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20141231
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20141223
+packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140917
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140903
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140827
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140820
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140618
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140611
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140514
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140508
+packetLen(0x089b, 19) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140430
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140423
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140319
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140312
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140122
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140115
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20140108
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20141210
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20141203
+packetLen(0x089c, 10) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20141008
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20141001
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140924
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140917
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140528
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140514
+packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20140108
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20141210
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20141203
+packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20141008
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20141001
+packetLen(0x089d, 26) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140605
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140528
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140430
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140423
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140319
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140312
+packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140219
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140212
+packetLen(0x089d, 10) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140129
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140122
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20140108
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20140730
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140723
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140319
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140312
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140219
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140212
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20140108
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20141223
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20141217
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140723
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140716
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140326
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140319
+packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140226
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140219
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20140108
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20141119
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20141112
+packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20141105
+packetLen(0x08a0, 19) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140806
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140730
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140709
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140702
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140219
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140212
+packetLen(0x08a0, 36) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20140108
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20141223
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20141217
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20141119
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20141112
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140702
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140625
+packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140618
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140611
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140508
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140430
+packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140219
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140212
+packetLen(0x08a1, 26) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20140108
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20141223
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20141217
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140730
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140723
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140709
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140702
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140625
+packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140618
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140611
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140416
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140409
+packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140326
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140319
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140129
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140122
+packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20140108
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20141231
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20141223
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140827
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140820
+packetLen(0x08a3, 5) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140813
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20140108
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20141231
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20141223
+packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20141203
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20141126
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140723
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140716
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140605
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140528
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140416
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140409
+packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20140108
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20141210
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141203
+packetLen(0x08a5, 7) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141112
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141105
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20141001
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140924
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140521
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140514
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20140108
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20140806
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140730
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140625
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140618
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140319
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140312
+packetLen(0x08a6, 4) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140226
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140219
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20140108
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20141001
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140924
+packetLen(0x08a7, 10) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140827
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140820
+packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140813
+packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140806
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140730
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140625
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140618
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140416
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140409
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140219
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140212
+packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140122
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140115
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20140108
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20141231
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141223
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141217
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141126
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20141119
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140924
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140917
+packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140430
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140423
+packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20140108
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20140806
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140730
+packetLen(0x08a9, 90) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140416
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140409
+packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140319
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140312
+packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20140108
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20141210
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141203
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141126
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141119
+packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141029
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20141022
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140402
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140326
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140226
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140219
+packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140129
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140122
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20140108
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20141223
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141217
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141119
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141112
+packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141029
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20141022
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140820
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140813
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140605
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140528
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140514
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140508
+packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20140108
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20141231
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20141223
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20141217
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20141210
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140723
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140716
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140625
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140618
+packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140528
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140521
+packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140409
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140402
+packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140326
+packetLen(0x08ac, 90) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140226
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140212
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20140108
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20141203
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141126
+packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141112
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141105
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141029
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141022
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141008
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20141001
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140806
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140730
+packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140723
+packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140716
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140709
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140430
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140423
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140402
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140326
+packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140319
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140312
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140219
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140212
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20140108
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+#if PACKETVER >= 20140625
+packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+#elif PACKETVER >= 20140108
+packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+#endif
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20141217
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20141210
+packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140625
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140618
+packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140129
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140122
+packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140108
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20141126
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141119
+packetLen(0x0918, 10) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141001
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140924
+packetLen(0x0918, 19) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140723
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140716
+packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140521
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140514
+packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140416
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140409
+packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140402
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140326
+packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140108
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20141223
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20141217
+packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20141119
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20141112
+packetLen(0x0919, 12) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140924
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140917
+packetLen(0x0919, -1) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140219
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140212
+packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140108
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20141029
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20141022
+packetLen(0x091a, 26) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140716
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140709
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140702
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140625
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140430
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140423
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140305
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140226
+packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140129
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140122
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140108
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20140219
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20140212
+packetLen(0x091b, 26) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20140108
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20141210
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20141203
+packetLen(0x091c, 18) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20141008
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20141001
+packetLen(0x091c, 4) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140416
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140409
+packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140319
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140312
+packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20140108
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20141210
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20141203
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20141112
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20141105
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140827
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140820
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140605
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140528
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140521
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140514
+packetLen(0x091d, 19) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140108
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20141112
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20141105
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140806
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140730
+packetLen(0x091e, 26) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140319
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140312
+packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140108
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20141223
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20141217
+packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140723
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140716
+packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140625
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140618
+packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140409
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140402
+packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140326
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140319
+packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140108
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20141203
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20141126
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20141119
+packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140430
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140423
+packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140409
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140402
+packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140108
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20141126
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141119
+packetLen(0x0921, 19) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140611
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140605
+packetLen(0x0921, 36) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140305
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140226
+packetLen(0x0921, 26) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140219
+packetLen(0x0921, 7) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140205
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140129
+packetLen(0x0921, 18) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140108
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20141022
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20141015
+packetLen(0x0922, 4) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140108
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20140326
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140319
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140108
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20141223
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20141217
+packetLen(0x0924, 7) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140618
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140611
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140205
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140129
+packetLen(0x0924, -1) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140108
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20141001
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140924
+packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140716
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140709
+packetLen(0x0925, 90) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140702
+packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140521
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140514
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140129
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140122
+packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140108
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20141119
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141112
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141001
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140924
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140723
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140716
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140409
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140402
+packetLen(0x0926, 36) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140108
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20141217
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20141210
+packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140730
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140723
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140514
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140508
+packetLen(0x0927, 36) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140226
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140219
+packetLen(0x0927, 90) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140108
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20141210
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141203
+packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141001
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140924
+packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140219
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140212
+packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140108
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20141126
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20141119
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20141112
+packetLen(0x0929, 7) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140625
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140618
+packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140605
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140528
+packetLen(0x0929, 7) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140108
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20141210
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20141203
+packetLen(0x092a, 4) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20141008
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20141001
+packetLen(0x092a, 36) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140924
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140917
+packetLen(0x092a, 12) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140806
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140730
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140402
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140326
+packetLen(0x092a, 36) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140319
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140312
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140108
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20141217
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141210
+packetLen(0x092b, 18) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141112
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141105
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141029
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141022
+packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141001
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140924
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140108
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20140723
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140716
+packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140709
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140702
+packetLen(0x092c, 19) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140521
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140514
+packetLen(0x092c, 8) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140205
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140129
+packetLen(0x092c, 36) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140108
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20141001
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140924
+packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140409
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140402
+packetLen(0x092d, 90) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140122
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140115
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140108
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20140416
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140409
+packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140108
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20141126
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20141119
+packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140827
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140820
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140730
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140723
+packetLen(0x092f, 19) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140716
+packetLen(0x092f, 12) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140709
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140521
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140514
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140129
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140122
+packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140108
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20141231
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20141223
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140924
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140917
+packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140605
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140528
+packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140514
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140508
+packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140219
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140212
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140108
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20140917
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140903
+packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140716
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140709
+packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140611
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140605
+packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140305
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140226
+packetLen(0x0931, 4) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140108
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20141231
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20141223
+packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20141217
+packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140514
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140508
+packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140108
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20141223
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20141217
+packetLen(0x0933, 26) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20141126
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20141119
+packetLen(0x0933, 36) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140709
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140702
+packetLen(0x0933, 4) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140409
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140402
+packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140108
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20141001
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140924
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140806
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140730
+packetLen(0x0934, -1) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140723
+packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140716
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140709
+packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140514
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140508
+packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140312
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140305
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140219
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140212
+packetLen(0x0934, 7) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140108
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20140730
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140723
+packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140625
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140618
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140108
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20141223
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141217
+packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141210
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141203
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141022
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141015
+packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140827
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140820
+packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140618
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140611
+packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140219
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140212
+packetLen(0x0936, 4) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140115
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140108
+packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20141008
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20141001
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140827
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140820
+packetLen(0x0937, 5) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140108
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20141126
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20141119
+packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140723
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140716
+packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140625
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140618
+packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140212
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140205
+packetLen(0x0938, 36) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140108
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20141223
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141217
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141008
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141001
+packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140730
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140723
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140716
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140709
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140226
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140219
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140108
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20140827
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140820
+packetLen(0x093a, 36) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140605
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140528
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140108
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20141029
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20141022
+packetLen(0x093b, 19) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140723
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140716
+packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140625
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140618
+packetLen(0x093b, 7) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140508
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140430
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140108
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+
+// Packet: 0x093d
+#if PACKETVER >= 20140730
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140723
+packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140402
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140326
+packetLen(0x093d, 7) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140219
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140212
+packetLen(0x093d, 19) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140108
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20141112
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20141105
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140827
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140820
+packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140108
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20141008
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20141001
+packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140716
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140709
+packetLen(0x093f, 12) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140605
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140528
+packetLen(0x093f, 26) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140409
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140402
+packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140108
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20141223
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141217
+packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141105
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141029
+packetLen(0x0940, 7) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140806
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140730
+packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140716
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140709
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140702
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140625
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140611
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140605
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140508
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140430
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140129
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140122
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140115
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140108
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20141126
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20141119
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140917
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140903
+packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140618
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140611
+packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140305
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140226
+packetLen(0x0941, 18) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140129
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140122
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20140108
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20141203
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141126
+packetLen(0x0942, 26) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141119
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141015
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20141008
+packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140416
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140409
+packetLen(0x0942, 8) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140402
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140326
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140319
+packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140129
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140122
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20140108
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20141119
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20141112
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140917
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140903
+packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140827
+packetLen(0x0943, 36) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20140108
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20141223
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20141217
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20141112
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20141105
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140409
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140402
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140326
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140319
+packetLen(0x0944, 10) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140219
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140212
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20140108
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20141231
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20141223
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20141217
+packetLen(0x0945, 90) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140917
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140903
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140730
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140723
+packetLen(0x0945, 10) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140625
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140618
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140402
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140326
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20140108
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20141231
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20141223
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140806
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140730
+packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140702
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140625
+packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140409
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140402
+packetLen(0x0946, 7) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140326
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140226
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140219
+packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20140108
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20141217
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20141210
+packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140730
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140723
+packetLen(0x0947, 7) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140716
+packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140416
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140409
+packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140326
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140319
+packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20140108
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20141223
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20141217
+packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20141126
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20141119
+packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140813
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140806
+packetLen(0x0948, 36) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140730
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140723
+packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20140108
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20141231
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20141223
+packetLen(0x0949, 12) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20141001
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140924
+packetLen(0x0949, 6) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140917
+packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140226
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140219
+packetLen(0x0949, 18) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20140108
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20140827
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140820
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140618
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140611
+packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140605
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140528
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140319
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140312
+packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20140108
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20141119
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141112
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141022
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141015
+packetLen(0x094b, 26) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141008
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20141001
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140605
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140528
+packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140508
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140430
+packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140319
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140312
+packetLen(0x094b, 90) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20140108
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20141126
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20141119
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20141112
+packetLen(0x094c, 4) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140611
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140605
+packetLen(0x094c, 26) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140416
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140409
+packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140402
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140326
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140319
+packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140312
+packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140129
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140122
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20140108
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20140716
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140709
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140205
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140129
+packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20140108
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20141029
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20141022
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140716
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140709
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140702
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140625
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140521
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140514
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140508
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140219
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140212
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20140108
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20141231
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20141223
+packetLen(0x094f, 19) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20141119
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20141112
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140924
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140917
+packetLen(0x094f, 10) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140716
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140709
+packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140618
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140611
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140430
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140423
+packetLen(0x094f, 12) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20140108
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20141231
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141223
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141112
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20141105
+packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140618
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140611
+packetLen(0x0950, 18) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140409
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140402
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140129
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140122
+packetLen(0x0950, 10) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20140108
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20140924
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140917
+packetLen(0x0951, 18) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140827
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140820
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140618
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140611
+packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20140108
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20141210
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141203
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141008
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20141001
+packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140924
+packetLen(0x0952, 26) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140827
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140820
+packetLen(0x0952, 7) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140723
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140716
+packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140618
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140611
+packetLen(0x0952, 8) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140219
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140212
+packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140129
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140122
+packetLen(0x0952, -1) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20140108
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20141231
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20141223
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140508
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140430
+packetLen(0x0953, 4) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140219
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140212
+packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20140108
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20141217
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20141210
+packetLen(0x0954, 19) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140625
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140618
+packetLen(0x0954, 26) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140326
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140319
+packetLen(0x0954, 26) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20140108
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20141217
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141210
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141119
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141112
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141029
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20141022
+packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140924
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140917
+packetLen(0x0955, 26) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140326
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140319
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140129
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140122
+packetLen(0x0955, 36) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20140108
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20141231
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20141223
+packetLen(0x0956, 10) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140924
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140917
+packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140827
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140820
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140508
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140430
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140402
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140326
+packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20140108
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20141112
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20141105
+packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140924
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140917
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140625
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140618
+packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140611
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140319
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140312
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140129
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140122
+packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20140108
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20141217
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20141210
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140827
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140820
+packetLen(0x0958, 4) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140723
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140716
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140618
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140611
+packetLen(0x0958, 19) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140521
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140514
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140409
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140402
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140205
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140129
+packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20140108
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20140723
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140716
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140702
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140625
+packetLen(0x0959, 7) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140402
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140326
+packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20140108
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20141203
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20141126
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140924
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140917
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140416
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140409
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140402
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140326
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20140108
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20141231
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20141223
+packetLen(0x095b, 10) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20141203
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20141126
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140122
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140115
+packetLen(0x095b, 4) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20140108
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20141210
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20141203
+packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140924
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140917
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140423
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140416
+packetLen(0x095c, 36) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140409
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140402
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140326
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20140108
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20141119
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20141112
+packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140625
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140618
+packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140319
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140312
+packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140129
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140122
+packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140115
+packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20140108
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20140924
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140917
+packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140625
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140618
+packetLen(0x095e, 19) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140430
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140423
+packetLen(0x095e, 4) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140416
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140409
+packetLen(0x095e, 19) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140319
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140305
+packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20140108
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20141231
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141223
+packetLen(0x095f, 7) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141203
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141126
+packetLen(0x095f, 8) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141112
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20141105
+packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140730
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140723
+packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140716
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140709
+packetLen(0x095f, 18) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140605
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140528
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140521
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140514
+packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140129
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140122
+packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20140108
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20141223
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141217
+packetLen(0x0960, 4) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141119
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20141112
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140730
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140723
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140702
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140625
+packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20140108
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20141217
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20141210
+packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140827
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140820
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140716
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140709
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140326
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140319
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140226
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140219
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140205
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140129
+packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20140108
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20141210
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20141203
+packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20141119
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20141112
+packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140625
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140618
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140521
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140514
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140305
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140226
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20140108
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20141217
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141210
+packetLen(0x0963, 36) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141126
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20141119
+packetLen(0x0963, 90) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140618
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140611
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140605
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140528
+packetLen(0x0963, 10) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20140108
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20140605
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140528
+packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140326
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140319
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140305
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140226
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20140108
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20141203
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20141126
+packetLen(0x0965, 26) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140618
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140611
+packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140521
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140514
+packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140409
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140402
+packetLen(0x0965, 12) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140122
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140115
+packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20140108
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20140924
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140917
+packetLen(0x0966, 4) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140605
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140528
+packetLen(0x0966, -1) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140319
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140312
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140122
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140115
+packetLen(0x0966, 19) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20140108
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20141217
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20141210
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20141022
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20141015
+packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140820
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140813
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140625
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140618
+packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20140108
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20141112
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20141105
+packetLen(0x0968, 18) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140702
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140625
+packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140528
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140521
+packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20140108
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20140723
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140716
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140702
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140625
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140402
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140326
+packetLen(0x0969, 10) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140305
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140226
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20140108
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20141231
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141217
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141210
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141203
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141126
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141105
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20141008
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140917
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140827
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140820
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140806
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140709
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140625
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140611
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140605
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140528
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140514
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140508
+packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140423
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140416
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140326
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140319
+packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140312
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140226
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140212
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140129
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140122
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140115
+packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20140108
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+#if PACKETVER >= 20140226
+packetLen(0x0990, 62) // ZC_ITEM_PICKUP_ACK_V5
+// ignored packet from 2014-02-26bRagexeRE
+#elif PACKETVER >= 20140219
+packetLen(0x0990, 62) // ZC_ITEM_PICKUP_ACK_V5
+// ignored packet from 2014-02-19bRagexeRE
+#elif PACKETVER >= 20140129
+packetLen(0x0990, 52) // ZC_ITEM_PICKUP_ACK_V5
+#elif PACKETVER >= 20140108
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+#endif
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+#if PACKETVER >= 20140716
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+#elif PACKETVER >= 20140108
+packetLen(0x09e7, 2) // ZC_NOTIFY_UNREAD_RODEX
+#endif
+
+// Packet: 0x09e8
+#if PACKETVER >= 20140212
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+#elif PACKETVER >= 20140108
+packetLen(0x09e8, 10) // CZ_OPEN_RODEXBOX
+#endif
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+#if PACKETVER >= 20140115
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+#elif PACKETVER >= 20140108
+packetLen(0x09eb, 23) // ZC_ACK_READ_RODEX
+#endif
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+#if PACKETVER >= 20140326
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+#elif PACKETVER >= 20140115
+packetLen(0x09f1, 10) // CZ_REQ_ZENY_FROM_RODEX
+#endif
+
+// Packet: 0x09f2
+#if PACKETVER >= 20140409
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+#elif PACKETVER >= 20140326
+packetLen(0x09f2, 4) // ZC_ACK_ZENY_FROM_RODEX
+#elif PACKETVER >= 20140115
+packetLen(0x09f2, 3) // ZC_ACK_ZENY_FROM_RODEX
+#endif
+
+// Packet: 0x09f3
+#if PACKETVER >= 20140326
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140305
+packetLen(0x09f3, 10) // CZ_REQ_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140115
+packetLen(0x09f3, 15) // CZ_REQ_ITEM_FROM_RODEX
+#endif
+
+// Packet: 0x09f4
+#if PACKETVER >= 20140409
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140326
+packetLen(0x09f4, 4) // ZC_ACK_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140305
+packetLen(0x09f4, 3) // ZC_ACK_ITEM_FROM_RODEX
+#elif PACKETVER >= 20140115
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+#endif
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+#if PACKETVER >= 20140115
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+#endif
+
+// Packet: 0x09f9
+#if PACKETVER >= 20140122
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+#elif PACKETVER >= 20140115
+packetLen(0x09f9, 131) // ZC_ADD_QUEST_EX
+#endif
+
+// Packet: 0x09fa
+#if PACKETVER >= 20140115
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+#endif
+
+// Packet: 0x09fb
+#if PACKETVER >= 20140122
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+#endif
+
+// Packet: 0x09fc
+#if PACKETVER >= 20140122
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+#endif
+
+// Packet: 0x09fd
+#if PACKETVER >= 20140122
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+#endif
+
+// Packet: 0x09fe
+#if PACKETVER >= 20140122
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+#endif
+
+// Packet: 0x09ff
+#if PACKETVER >= 20140122
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+#endif
+
+// Packet: 0x0a00
+#if PACKETVER >= 20140129
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+#endif
+
+// Packet: 0x0a01
+#if PACKETVER >= 20140129
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+#endif
+
+// Packet: 0x0a02
+#if PACKETVER >= 20140212
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+#endif
+
+// Packet: 0x0a03
+#if PACKETVER >= 20140326
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+#elif PACKETVER >= 20140226
+packetLen(0x0a03, 14) // CZ_REQ_CANCEL_WRITE_RODEX
+#endif
+
+// Packet: 0x0a04
+#if PACKETVER >= 20140416
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+#elif PACKETVER >= 20140326
+// removed
+#elif PACKETVER >= 20140226
+packetLen(0x0a04, 11) // CZ_REQ_ADD_ITEM_RODEX
+#endif
+
+// Packet: 0x0a05
+#if PACKETVER >= 20141119
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+#elif PACKETVER >= 20141008
+packetLen(0x0a05, 49) // ZC_ACK_ADD_ITEM_RODEX
+#elif PACKETVER >= 20140416
+packetLen(0x0a05, 48) // ZC_ACK_ADD_ITEM_RODEX
+#elif PACKETVER >= 20140226
+packetLen(0x0a05, 6) // ZC_ACK_ADD_ITEM_RODEX
+#endif
+
+// Packet: 0x0a06
+#if PACKETVER >= 20140416
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+#elif PACKETVER >= 20140226
+packetLen(0x0a06, 5) // CZ_REQ_REMOVE_RODEX_ITEM
+#endif
+
+// Packet: 0x0a07
+#if PACKETVER >= 20140521
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+#elif PACKETVER >= 20140416
+packetLen(0x0a07, 7) // ZC_ACK_REMOVE_RODEX_ITEM
+#elif PACKETVER >= 20140326
+packetLen(0x0a07, 6) // ZC_ACK_REMOVE_RODEX_ITEM
+#elif PACKETVER >= 20140305
+packetLen(0x0a07, 4) // ZC_ACK_REMOVE_RODEX_ITEM
+#endif
+
+// Packet: 0x0a08
+#if PACKETVER >= 20140416
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+#elif PACKETVER >= 20140326
+packetLen(0x0a08, 7) // CZ_REQ_OPEN_WRITE_RODEX
+#elif PACKETVER >= 20140305
+packetLen(0x0a08, 5) // CZ_REQ_OPEN_WRITE_RODEX
+#endif
+
+// Packet: 0x0a09
+#if PACKETVER >= 20140312
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+#elif PACKETVER >= 20140305
+packetLen(0x0a09, 50) // ZC_ADD_EXCHANGE_ITEM3
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20140312
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+#elif PACKETVER >= 20140305
+packetLen(0x0a0a, 52) // ZC_ADD_ITEM_TO_STORE3
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20140312
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+#elif PACKETVER >= 20140305
+packetLen(0x0a0b, 52) // ZC_ADD_ITEM_TO_CART3
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20140312
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+#elif PACKETVER >= 20140305
+packetLen(0x0a0c, 61) // ZC_ITEM_PICKUP_ACK_V6
+#endif
+
+// Packet: 0x0a0d
+#if PACKETVER >= 20140312
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+#elif PACKETVER >= 20140305
+packetLen(0x0a0d, 4) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0a0e
+#if PACKETVER >= 20140312
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+#endif
+
+// Packet: 0x0a0f
+#if PACKETVER >= 20140402
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0a10
+#if PACKETVER >= 20140402
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0a11
+#if PACKETVER >= 20140402
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0a12
+#if PACKETVER >= 20140416
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+#endif
+
+// Packet: 0x0a13
+#if PACKETVER >= 20140423
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+#elif PACKETVER >= 20140416
+packetLen(0x0a13, 2) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+#endif
+
+// Packet: 0x0a14
+#if PACKETVER >= 20140521
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+#elif PACKETVER >= 20140423
+packetLen(0x0a14, 6) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+#endif
+
+// Packet: 0x0a15
+#if PACKETVER >= 20140508
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+#elif PACKETVER >= 20140430
+packetLen(0x0a15, 11) // ZC_GOLDPCCAFE_POINT
+#endif
+
+// Packet: 0x0a16
+#if PACKETVER >= 20140430
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+#endif
+
+// Packet: 0x0a17
+#if PACKETVER >= 20140430
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+#endif
+
+// Packet: 0x0a18
+#if PACKETVER >= 20140611
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+#elif PACKETVER >= 20140605
+packetLen(0x0a18, 2) // ZC_ACCEPT_ENTER3
+#endif
+
+// Packet: 0x0a19
+#if PACKETVER >= 20140611
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+#elif PACKETVER >= 20140605
+packetLen(0x0a19, -1) // CZ_REQ_OPEN_ROULETTE
+#endif
+
+// Packet: 0x0a1a
+#if PACKETVER >= 20140611
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+#elif PACKETVER >= 20140605
+packetLen(0x0a1a, 10) // ZC_ACK_OPEN_ROULETTE
+#endif
+
+// Packet: 0x0a1b
+#if PACKETVER >= 20140605
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+#endif
+
+// Packet: 0x0a1c
+#if PACKETVER >= 20140611
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+#elif PACKETVER >= 20140605
+packetLen(0x0a1c, 6) // ZC_ACK_ROULEITTE_INFO
+#endif
+
+// Packet: 0x0a1d
+#if PACKETVER >= 20140611
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+#elif PACKETVER >= 20140605
+packetLen(0x0a1d, 14) // CZ_REQ_CLOSE_ROULETTE
+#endif
+
+// Packet: 0x0a1e
+#if PACKETVER >= 20140611
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+#endif
+
+// Packet: 0x0a1f
+#if PACKETVER >= 20140611
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+#endif
+
+// Packet: 0x0a20
+#if PACKETVER >= 20140611
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+#endif
+
+// Packet: 0x0a21
+#if PACKETVER >= 20140618
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+#elif PACKETVER >= 20140611
+packetLen(0x0a21, 6) // CZ_RECV_ROULETTE_ITEM
+#endif
+
+// Packet: 0x0a22
+#if PACKETVER >= 20140618
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+#elif PACKETVER >= 20140611
+packetLen(0x0a22, 3) // ZC_RECV_ROULETTE_ITEM
+#endif
+
+// Packet: 0x0a23
+#if PACKETVER >= 20140611
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+#endif
+
+// Packet: 0x0a24
+#if PACKETVER >= 20141001
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+#elif PACKETVER >= 20140723
+packetLen(0x0a24, 56) // ZC_ACH_UPDATE
+#elif PACKETVER >= 20140625
+packetLen(0x0a24, 36) // ZC_ACH_UPDATE
+#elif PACKETVER >= 20140611
+packetLen(0x0a24, 35) // ZC_ACH_UPDATE
+#endif
+
+// Packet: 0x0a25
+#if PACKETVER >= 20140611
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+#endif
+
+// Packet: 0x0a26
+#if PACKETVER >= 20140611
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+#endif
+
+// Packet: 0x0a27
+#if PACKETVER >= 20140625
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+#endif
+
+// Packet: 0x0a28
+#if PACKETVER >= 20140625
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+#endif
+
+// Packet: 0x0a29
+#if PACKETVER >= 20140702
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+#endif
+
+// Packet: 0x0a2a
+#if PACKETVER >= 20140702
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+#endif
+
+// Packet: 0x0a2b
+#if PACKETVER >= 20140723
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+#endif
+
+// Packet: 0x0a2c
+#if PACKETVER >= 20140723
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+#endif
+
+// Packet: 0x0a2d
+#if PACKETVER >= 20140820
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+#endif
+
+// Packet: 0x0a2e
+#if PACKETVER >= 20140827
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+#endif
+
+// Packet: 0x0a2f
+#if PACKETVER >= 20140827
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+#endif
+
+// Packet: 0x0a30
+#if PACKETVER >= 20140917
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+#endif
+
+// Packet: 0x0a31
+#if PACKETVER >= 20140917
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+#endif
+
+// Packet: 0x0a32
+#if PACKETVER >= 20140924
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+#endif
+
+// Packet: 0x0a33
+#if PACKETVER >= 20140924
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+#endif
+
+// Packet: 0x0a34
+#if PACKETVER >= 20140924
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+#endif
+
+// Packet: 0x0a35
+#if PACKETVER >= 20141119
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+#endif
+
+// Packet: 0x0a36
+#if PACKETVER >= 20141126
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+#endif
+
+// Packet: 0x0a37
+#if PACKETVER >= 20141126
+packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+#endif
+
+
+#endif /* COMMON_PACKETS2014_LEN_RE_H */
diff --git a/src/common/packets/packets2015_len_main.h b/src/common/packets/packets2015_len_main.h
new file mode 100644
index 000000000..3144d5250
--- /dev/null
+++ b/src/common/packets/packets2015_len_main.h
@@ -0,0 +1,8641 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2015_LEN_MAIN_H
+#define COMMON_PACKETS2015_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20151209
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151202
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151104
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151028
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151021
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151014
+packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151007
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151001
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150826
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150819
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150805
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150603
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150527
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150520
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150429
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150422
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150401
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150325
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150318
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150225
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150211
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150204
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150128
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150107
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20151223
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151216
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151209
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151202
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151125
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151118
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151104
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151028
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151007
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151001
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150923
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150916
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150826
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150819
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150805
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150715
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150708
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150701
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150624
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150603
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150527
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150429
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150422
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150225
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150211
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150204
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150107
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20151209
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151202
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151111
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151104
+packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151028
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151021
+packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151007
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151001
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150916
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150909
+packetLen(0x023b, 7) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150902
+packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150819
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150805
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150729
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150722
+packetLen(0x023b, 90) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150715
+packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150708
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150701
+packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150603
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150527
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150513
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150507
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150429
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150422
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150325
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150318
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150311
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150225
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150211
+packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150204
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150128
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150107
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20151209
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151202
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151104
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151021
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151014
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151001
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150826
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150819
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150805
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150729
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150722
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150701
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150624
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150603
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150527
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150429
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150422
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150325
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150318
+packetLen(0x0281, 8) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150225
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150211
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150204
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150128
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150121
+packetLen(0x0281, 18) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150107
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20151223
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20151118
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20151111
+packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20151028
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20151021
+packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150715
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150708
+packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150520
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150513
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150304
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150225
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20151230
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151209
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151202
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151125
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151118
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151111
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151104
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151021
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151014
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151001
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150916
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150909
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150826
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150805
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150715
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150708
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150701
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150617
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150603
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150527
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150520
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150422
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150311
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150225
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150211
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150107
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20151230
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151209
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151202
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151125
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151111
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151104
+packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151021
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151014
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151001
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150909
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150902
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150826
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150805
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150729
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150722
+packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150715
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150708
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150701
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150617
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150603
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150527
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150520
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150422
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150311
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150304
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150225
+packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150211
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150204
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150128
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150107
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20151223
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151216
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151209
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151202
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151104
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151028
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151021
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151007
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151001
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150923
+packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150916
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150909
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150819
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150805
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150729
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150722
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150610
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150603
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150527
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150520
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150429
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150422
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150415
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150225
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150211
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150204
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150107
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20151230
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151223
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151216
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151209
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151202
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151118
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151111
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151104
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151021
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151014
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151001
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150902
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150826
+packetLen(0x0362, 36) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150819
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150805
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150722
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150715
+packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150701
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150617
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150603
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150527
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150429
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150422
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150408
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150401
+packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150311
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150304
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150225
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150211
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150204
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150121
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150107
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20151209
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151202
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151111
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151104
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151021
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151014
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151001
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150819
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150805
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150701
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150624
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150617
+packetLen(0x0363, 36) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150603
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150527
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150520
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150513
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150507
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150429
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150422
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150401
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150325
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150311
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150304
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150225
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150211
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150204
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150121
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150107
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20151230
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151223
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151216
+packetLen(0x0364, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151209
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151202
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151111
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151021
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151014
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151001
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150819
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150805
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150722
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150715
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150701
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150624
+packetLen(0x0364, 18) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150603
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150527
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150429
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150422
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150415
+packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150225
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150211
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150204
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150121
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150107
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20151230
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151223
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151216
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151209
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151202
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151125
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151118
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151104
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151021
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151014
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151001
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150916
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150909
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150819
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150805
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150701
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150624
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150617
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150603
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150527
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150429
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150422
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150401
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150325
+packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150225
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150211
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150204
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150128
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150121
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150107
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20151230
+packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151209
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151202
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151125
+packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151021
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151014
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151001
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150923
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150916
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150909
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150826
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150805
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150715
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150708
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150701
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150617
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150603
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150527
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150520
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150422
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150415
+packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150311
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150225
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150211
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150204
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150128
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150107
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20150909
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150902
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150408
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150401
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150325
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150318
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150225
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+// ignored packet from 2015-02-25iRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20151230
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20151209
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20151202
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20151125
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20151021
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20151014
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20151001
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150916
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150909
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150902
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150826
+packetLen(0x0368, 8) // CZ_REQNAME2
+#elif PACKETVER >= 20150805
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150729
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150722
+packetLen(0x0368, 26) // CZ_REQNAME2
+#elif PACKETVER >= 20150715
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150708
+packetLen(0x0368, 5) // CZ_REQNAME2
+#elif PACKETVER >= 20150701
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150617
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150603
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150527
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150520
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150415
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150311
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150217
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150211
+packetLen(0x0368, 5) // CZ_REQNAME2
+#elif PACKETVER >= 20150204
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150128
+packetLen(0x0368, 8) // CZ_REQNAME2
+#elif PACKETVER >= 20150107
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20151230
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151216
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151209
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151202
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151125
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151118
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151111
+packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151021
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151014
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151001
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150916
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150909
+packetLen(0x0369, 36) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150826
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150805
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150715
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150708
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150701
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150617
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150603
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150527
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150520
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150422
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150311
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150225
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150211
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150204
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150128
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150107
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20151230
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20151223
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20151216
+packetLen(0x0436, 12) // CZ_ENTER2
+#elif PACKETVER >= 20151209
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20151202
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20151111
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20151104
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20151021
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20151007
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20151001
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150902
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150826
+packetLen(0x0436, 18) // CZ_ENTER2
+#elif PACKETVER >= 20150805
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150729
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150722
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20150715
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20150708
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20150701
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150624
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150617
+packetLen(0x0436, 19) // CZ_ENTER2
+#elif PACKETVER >= 20150603
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150527
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150429
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150422
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150318
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150311
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20150304
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150225
+packetLen(0x0436, 19) // CZ_ENTER2
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150211
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150204
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150121
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150114
+packetLen(0x0436, 10) // CZ_ENTER2
+#elif PACKETVER >= 20150107
+packetLen(0x0436, 4) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20151230
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151209
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151202
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151125
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151111
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151104
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151021
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151014
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151001
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150916
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150909
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150826
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150805
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150729
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150722
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150715
+packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150701
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150617
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150610
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150603
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150527
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150520
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150422
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150408
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150401
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150311
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150225
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+// ignored packet from 2015-02-25iRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150211
+packetLen(0x0437, 12) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150204
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150128
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150107
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20151209
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151202
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151125
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151021
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151014
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151001
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150916
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150909
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150826
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150805
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150729
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150722
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150715
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150708
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150701
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150617
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150610
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150603
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150527
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150520
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150422
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150318
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150311
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150217
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150211
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150204
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150128
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150107
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20151216
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151209
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151202
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151104
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151021
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151014
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151001
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150923
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150819
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150805
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150708
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150701
+packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150624
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150617
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150610
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150603
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150527
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150429
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150422
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150325
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150318
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150225
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150204
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150128
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150121
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150107
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20151230
+packetLen(0x07ec, 90) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151216
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151209
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151202
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151111
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151104
+packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151028
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151021
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151014
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151001
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150902
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150826
+packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150819
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150805
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150701
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150624
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150617
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150603
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150527
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150429
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150422
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150225
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150211
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150204
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150121
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150107
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20151230
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151223
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151209
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151202
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151125
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151118
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151111
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151104
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151028
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151014
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151001
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150909
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150902
+packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150819
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150805
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150708
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150701
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150624
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150603
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150527
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150429
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150422
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150401
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150325
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150318
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150311
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150304
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150225
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150211
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150204
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150121
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150107
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20151230
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151216
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151209
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151202
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151125
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151111
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151104
+packetLen(0x0811, 18) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151021
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151014
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151007
+packetLen(0x0811, 26) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151001
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150916
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150909
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150826
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150805
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150715
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150708
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150701
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150624
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150617
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150610
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150603
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150527
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150520
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150422
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150325
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150318
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150311
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150217
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150211
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150204
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150128
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150107
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20151230
+packetLen(0x0815, 19) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151223
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151209
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151202
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151125
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151118
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151111
+packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151021
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151014
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151001
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150916
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150909
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150826
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150805
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150715
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150708
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150701
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150617
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150603
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150527
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150520
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150422
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150318
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150311
+packetLen(0x0815, 19) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150225
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+// ignored packet from 2015-02-25iRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150211
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150204
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150128
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150107
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20151021
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20151014
+packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20151001
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150923
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150729
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150722
+packetLen(0x0817, 19) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150520
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150513
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150507
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150422
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150415
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150304
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150225
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150217
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150211
+packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150107
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20151230
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151209
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151202
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151125
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151021
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151014
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151001
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150916
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150909
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150902
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150826
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150805
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150715
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150708
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150701
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150617
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150610
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150603
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150527
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150520
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150422
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150415
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150408
+packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150401
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150325
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150311
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150304
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150225
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150211
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150204
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150128
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150107
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20150923
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150916
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150722
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150715
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150617
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150610
+packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150422
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150415
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150225
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150211
+packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150107
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20151230
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151209
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151202
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151125
+packetLen(0x0838, 18) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151021
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151014
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151001
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150916
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150909
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150826
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150805
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150715
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150708
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150701
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150617
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150603
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150527
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150520
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150422
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150318
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150311
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150225
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150211
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150204
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150128
+packetLen(0x0838, 7) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150107
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20151230
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151209
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151202
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151125
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151021
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151014
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151001
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150916
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150909
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150902
+packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150819
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150805
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150722
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150715
+packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150708
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150701
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150617
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150603
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150527
+packetLen(0x083c, 36) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150520
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150422
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150408
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150401
+packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150311
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150225
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+// ignored packet from 2015-02-25iRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150211
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150204
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150128
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150121
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150114
+packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150107
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20151021
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151014
+packetLen(0x085a, 10) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150513
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150507
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150415
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150408
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150204
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150128
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150107
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20151230
+packetLen(0x085b, -1) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151223
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151216
+packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151209
+packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150909
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150902
+packetLen(0x085b, 7) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150805
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150729
+packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150225
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150217
+packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150107
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20151021
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151014
+packetLen(0x085c, 7) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151001
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150923
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150722
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150715
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150415
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150408
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150107
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20151216
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151209
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151118
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151111
+packetLen(0x085d, -1) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151001
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150923
+packetLen(0x085d, 26) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150909
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150902
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150826
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150819
+packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150401
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150325
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150107
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20151216
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20151209
+packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20151202
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20151125
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150923
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150916
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150715
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150708
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150527
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150520
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150422
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150415
+packetLen(0x085e, 4) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150408
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150401
+packetLen(0x085e, 12) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150107
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20151202
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20151125
+packetLen(0x085f, 8) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150107
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20151104
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20151028
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20151021
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20151014
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150805
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150729
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150610
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150603
+packetLen(0x0860, 90) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150107
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20151230
+packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151216
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151209
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150916
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150909
+packetLen(0x0861, 4) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150902
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150826
+packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150107
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20151118
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20151111
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20151014
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20151007
+packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150826
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150819
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150325
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150318
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150311
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150304
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150217
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150211
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150107
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20151021
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151014
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150909
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150902
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150422
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150415
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150325
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150318
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150217
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150211
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150107
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20151230
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151223
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151216
+packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151001
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150923
+packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150610
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150603
+packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150520
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150513
+packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150507
+packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150204
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150128
+packetLen(0x0864, 10) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150107
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20151223
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20151216
+packetLen(0x0865, 10) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150902
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150826
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150819
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150527
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150520
+packetLen(0x0865, 19) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150415
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150408
+packetLen(0x0865, 7) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150107
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20151230
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20151223
+packetLen(0x0866, 19) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20151216
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20151209
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20150107
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20151021
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20151014
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150610
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150603
+packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150507
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150429
+packetLen(0x0867, 36) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150422
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150415
+packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150304
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150225
+packetLen(0x0867, 18) // ZC_REASSEMBLY_AUTH14
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20150527
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150520
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150422
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150415
+packetLen(0x0868, 10) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150408
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150121
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150114
+packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150107
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20151230
+packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150923
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150916
+packetLen(0x0869, 7) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150729
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150722
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150624
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150617
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150422
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150415
+packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150107
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20151223
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20151216
+packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20151028
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20151021
+packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150624
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150617
+packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150610
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150603
+packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150507
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150429
+packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150318
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150311
+packetLen(0x086a, 6) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150107
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20151125
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20151118
+packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150902
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150826
+packetLen(0x086b, 10) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150624
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150617
+packetLen(0x086b, 5) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150415
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150408
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150107
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20150805
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150729
+packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150422
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150415
+packetLen(0x086c, 7) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150318
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150311
+packetLen(0x086c, 36) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150107
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20150805
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150729
+packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150708
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150701
+packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150311
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150304
+packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150204
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150128
+packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150107
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20151230
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20151223
+packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20151216
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150805
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150729
+packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150415
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150408
+packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150107
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20151001
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150923
+packetLen(0x086f, 10) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150909
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150902
+packetLen(0x086f, 10) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150805
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150729
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150722
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150715
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150408
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150401
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150325
+packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150107
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20151223
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151216
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151209
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151202
+packetLen(0x0870, 36) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151001
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150923
+packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150902
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150826
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150805
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150729
+packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150701
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150624
+packetLen(0x0870, 36) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150610
+packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150217
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150211
+packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150204
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150128
+packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150107
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20151118
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20151111
+packetLen(0x0871, 26) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150916
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150909
+packetLen(0x0871, -1) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150826
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150819
+packetLen(0x0871, 18) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150107
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20151230
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20151021
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20150715
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20150923
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150916
+packetLen(0x0873, 90) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150722
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150715
+packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150610
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150603
+packetLen(0x0873, 7) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150325
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150318
+packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150217
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150211
+packetLen(0x0873, 5) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150107
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20151223
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20151216
+packetLen(0x0874, 90) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20151021
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20151014
+packetLen(0x0874, 10) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150204
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150128
+packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150107
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20151230
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151223
+packetLen(0x0875, 10) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150408
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150401
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150204
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150128
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150107
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20151230
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20151223
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150204
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150128
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150107
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20150923
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150916
+packetLen(0x0877, 5) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150617
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150610
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150603
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150107
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20150729
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150722
+packetLen(0x0878, 10) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150415
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150408
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150107
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20151001
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150923
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150722
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150715
+packetLen(0x0879, 19) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150520
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150513
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150311
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150304
+packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150107
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20151216
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20151209
+packetLen(0x087a, 12) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150624
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150617
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150107
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20150916
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150909
+packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150902
+packetLen(0x087b, 5) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150826
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150729
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150722
+packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150318
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150311
+packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150217
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150211
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150107
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20150722
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150715
+packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150401
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150325
+packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150128
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150121
+packetLen(0x087c, 4) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150114
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150107
+packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20150729
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150722
+packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150708
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150701
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150527
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150520
+packetLen(0x087d, 12) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150204
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150128
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150107
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20150729
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150722
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150708
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150701
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150617
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150610
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150415
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150408
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150401
+packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150325
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150311
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150304
+packetLen(0x087e, 19) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150107
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20151216
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20151209
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150923
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150916
+packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150909
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150902
+packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150819
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150812
+packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150715
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150708
+packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150415
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150408
+packetLen(0x087f, 90) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150217
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150211
+packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150107
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20150805
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150729
+packetLen(0x0880, 12) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150722
+packetLen(0x0880, 6) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150527
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150520
+packetLen(0x0880, 26) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150422
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150415
+packetLen(0x0880, 8) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150107
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20151230
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20151223
+packetLen(0x0881, 7) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20151021
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20151014
+packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150923
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150916
+packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150805
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150729
+packetLen(0x0881, 7) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150610
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150603
+packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150107
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20150527
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150520
+packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150217
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150211
+packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150107
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20151202
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20151125
+packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20151021
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20151014
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150916
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150909
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150708
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150701
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150520
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150513
+packetLen(0x0883, 18) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150401
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150325
+packetLen(0x0883, 12) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150318
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150311
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150217
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150211
+packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150107
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20151230
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151223
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151202
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151125
+packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151021
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151014
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150729
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150722
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150715
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150708
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150617
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150610
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150603
+packetLen(0x0884, 4) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150107
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20151223
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151216
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151202
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151125
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151118
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151111
+packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150617
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150610
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150520
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150513
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150401
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150325
+packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150304
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150225
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150211
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150107
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20151230
+packetLen(0x0886, 10) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151223
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151111
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151104
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151001
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150923
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150916
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150909
+packetLen(0x0886, 19) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150902
+packetLen(0x0886, 12) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150805
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150729
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150722
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150715
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150624
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150617
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150507
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150429
+packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150318
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150311
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150217
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150211
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150107
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20151111
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151104
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150909
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150902
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150513
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150507
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150107
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20150826
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150819
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150617
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150610
+packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150415
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150408
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150204
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150128
+packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150107
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20151021
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20151014
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150513
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150507
+packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150415
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150408
+packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150325
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150318
+packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150107
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20150812
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150805
+packetLen(0x088a, 36) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150107
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20151223
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151216
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151125
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151118
+packetLen(0x088b, 36) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151111
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151104
+packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150902
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150826
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150610
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150603
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150128
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150121
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150107
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20151202
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20151125
+packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150617
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150610
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150527
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150520
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150408
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150401
+packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150325
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150318
+packetLen(0x088c, 12) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150107
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20151230
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151223
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151202
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151125
+packetLen(0x088d, 19) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151111
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151104
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150909
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150902
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150826
+packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150729
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150722
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150617
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150610
+packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150107
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20151230
+packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151216
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151209
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151021
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151014
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151001
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150923
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150422
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150415
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150107
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20151216
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20151209
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150916
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150909
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150617
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150610
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150507
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150429
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150408
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150401
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150107
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20151230
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20151223
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20150107
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20151230
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20151223
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150902
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150826
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150422
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150415
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150408
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150401
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150325
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150107
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20151001
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150923
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150909
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150902
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150311
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150304
+packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150107
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20150708
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150701
+packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150401
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150325
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150107
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20151216
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20151209
+packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150624
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150617
+packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150507
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150429
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150107
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20151001
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150923
+packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150916
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150909
+packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150722
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150715
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150408
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150401
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150114
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150107
+packetLen(0x0895, 36) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20150722
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150715
+packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150318
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150311
+packetLen(0x0896, 7) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150304
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150225
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20151230
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150909
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150902
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150722
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150715
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150617
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150610
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150603
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150401
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150325
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150107
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20151230
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20151223
+packetLen(0x0898, 90) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150422
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150415
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150408
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150401
+packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150107
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20151202
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20151125
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150909
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150902
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150729
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150722
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150507
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150429
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150401
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150325
+packetLen(0x0899, 18) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150121
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150114
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150107
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20151021
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151014
+packetLen(0x089a, 4) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150805
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150729
+packetLen(0x089a, 10) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150722
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150715
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150610
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150603
+packetLen(0x089a, 12) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150311
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150304
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150204
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150128
+packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150107
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20151001
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150923
+packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150916
+packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150805
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150729
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150304
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150225
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20151202
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20151125
+packetLen(0x089c, 7) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20151118
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20151111
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150923
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150916
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150527
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150520
+packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150415
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150408
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150401
+packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150325
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150318
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150304
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150225
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150211
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150107
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20151223
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20151216
+packetLen(0x089d, 7) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150715
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150708
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150610
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150603
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150128
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150121
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150107
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20151223
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20151216
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150923
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150916
+packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150610
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150603
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150527
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150520
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150128
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150121
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150107
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20151202
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151125
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151021
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151014
+packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151001
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150923
+packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150507
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150429
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150107
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20151001
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150923
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150902
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150826
+packetLen(0x08a0, 12) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150708
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150701
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150617
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150610
+packetLen(0x08a0, 36) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150422
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150415
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150217
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150211
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150107
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20151216
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20151209
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150902
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150826
+packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150610
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150603
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150401
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150325
+packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150318
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150311
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150107
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20151223
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20151216
+packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20151001
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150923
+packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150527
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150520
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150415
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150408
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150107
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20151111
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20151104
+packetLen(0x08a3, 4) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150805
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150729
+packetLen(0x08a3, 4) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150318
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150311
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150107
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20150902
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150826
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150805
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150729
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150722
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150715
+packetLen(0x08a4, 4) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150708
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150701
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150415
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150408
+packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150325
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150318
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150304
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150225
+packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150211
+packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150107
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20151111
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20151104
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20151001
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150923
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150715
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150708
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150701
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150408
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150401
+packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150318
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150311
+packetLen(0x08a5, 12) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150107
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20151001
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150923
+packetLen(0x08a6, 12) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150708
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150701
+packetLen(0x08a6, 10) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150507
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150429
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150318
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150311
+packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150107
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20150401
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150325
+packetLen(0x08a7, 90) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150107
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20150902
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150826
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150729
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150722
+packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150520
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150513
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150507
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150429
+packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150107
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20151223
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20151216
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20151202
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20151125
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150909
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150902
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150107
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20151230
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20151223
+packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20151021
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20151014
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150217
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150211
+packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150107
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20151125
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20151118
+packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150204
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150128
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150121
+packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150107
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20151223
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20151216
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150923
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150916
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150805
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150729
+packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150722
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150715
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150617
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150610
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150107
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20151202
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20151125
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150805
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150729
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150715
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150708
+packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150701
+packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150610
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150603
+packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150527
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150520
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150507
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150429
+packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150107
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20150722
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150715
+packetLen(0x0917, 12) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150107
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20150128
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150121
+packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150107
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20150826
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150819
+packetLen(0x0919, 8) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150729
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150722
+packetLen(0x0919, 4) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150708
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150701
+packetLen(0x0919, 36) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150401
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150325
+packetLen(0x0919, 36) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150217
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150211
+packetLen(0x0919, 90) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150128
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150121
+packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150107
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20151230
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20151223
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150107
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20151230
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20151223
+packetLen(0x091b, 26) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150610
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150603
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150415
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150408
+packetLen(0x091b, 4) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150401
+packetLen(0x091b, 26) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150107
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20151021
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20151014
+packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150527
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150520
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150408
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150401
+packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150318
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150311
+packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150107
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20151230
+packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151223
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151216
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151028
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151021
+packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151014
+packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150527
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150520
+packetLen(0x091d, 7) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150325
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150318
+packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150128
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150121
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150107
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20151001
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150923
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150826
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150819
+packetLen(0x091e, 36) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150415
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150408
+packetLen(0x091e, -1) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150107
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20150715
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150708
+packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150204
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150128
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150107
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20151230
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151223
+packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151216
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151209
+packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151202
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151125
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150923
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150916
+packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150325
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150318
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150217
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150211
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150107
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20151125
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20151118
+packetLen(0x0921, 26) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150729
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150722
+packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150107
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20150610
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150603
+packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150422
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150415
+packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150408
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150401
+packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150107
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20151230
+packetLen(0x0923, 36) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20151223
+packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150909
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150902
+packetLen(0x0923, 26) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150708
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150701
+packetLen(0x0923, 8) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150520
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150513
+packetLen(0x0923, 36) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150107
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20151230
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20151223
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150923
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150916
+packetLen(0x0924, 26) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150902
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150826
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150527
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150520
+packetLen(0x0924, 8) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150513
+packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150507
+packetLen(0x0924, 19) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150408
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150401
+packetLen(0x0924, 18) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150107
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20151125
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20151118
+packetLen(0x0925, 19) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150729
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150722
+packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150617
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150610
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150107
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+
+// Packet: 0x0927
+#if PACKETVER >= 20150826
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150819
+packetLen(0x0927, 19) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150520
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150513
+packetLen(0x0927, 4) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150325
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150318
+packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150204
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150128
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150107
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20151111
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20151104
+packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150916
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150909
+packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150902
+packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150708
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150701
+packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150325
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150318
+packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150311
+packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150107
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20150507
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150429
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150204
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150128
+packetLen(0x0929, 36) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150107
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20151202
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20151125
+packetLen(0x092a, 10) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150909
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150902
+packetLen(0x092a, 5) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150715
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150708
+packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150415
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150408
+packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150318
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150311
+packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150107
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20151001
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150923
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150805
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150729
+packetLen(0x092b, 90) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150617
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150610
+packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150527
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150520
+packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150107
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20150708
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150701
+packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150617
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150610
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150401
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150325
+packetLen(0x092c, 6) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150107
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20151216
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20151209
+packetLen(0x092d, 8) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150909
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150902
+packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150610
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150603
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150114
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150107
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20151202
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20151125
+packetLen(0x092e, 10) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20151118
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150902
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150826
+packetLen(0x092e, 90) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150729
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150722
+packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150617
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150610
+packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150513
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150507
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150422
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150415
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150318
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150311
+packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150107
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20151125
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20151118
+packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150923
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150916
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150805
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150729
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150107
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20151216
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20151209
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20151021
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20151014
+packetLen(0x0930, 90) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20151001
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20150923
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20150107
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20150527
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150520
+packetLen(0x0931, 90) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150401
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150325
+packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150107
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20151216
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20151209
+packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150401
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150325
+packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150107
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+
+// Packet: 0x0934
+#if PACKETVER >= 20151021
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20151014
+packetLen(0x0934, -1) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150923
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150916
+packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150107
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+
+// Packet: 0x0936
+#if PACKETVER >= 20151001
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150923
+packetLen(0x0936, 90) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150916
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150527
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150520
+packetLen(0x0936, 10) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150325
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150318
+packetLen(0x0936, 10) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150107
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20150325
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150318
+packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150107
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20150923
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150916
+packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150401
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150325
+packetLen(0x0938, 5) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150318
+packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150204
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150128
+packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150107
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20151202
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20151125
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20151111
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20151104
+packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150408
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150401
+packetLen(0x0939, 19) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150107
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20151230
+packetLen(0x093a, 4) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151111
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151104
+packetLen(0x093a, -1) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150805
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150729
+packetLen(0x093a, 6) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150408
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150401
+packetLen(0x093a, 10) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150325
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150318
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150311
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150304
+packetLen(0x093a, 18) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150204
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150128
+packetLen(0x093a, 10) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150107
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20151216
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20151209
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20151001
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150923
+packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150902
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150826
+packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150513
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150507
+packetLen(0x093b, 5) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150408
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150401
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150318
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150311
+packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150107
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20151125
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20151118
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150729
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150722
+packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150715
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150708
+packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150422
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150415
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150325
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150318
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150107
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20150729
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150722
+packetLen(0x093d, 12) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150527
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150520
+packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150507
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150429
+packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150107
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20151202
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20151125
+packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150923
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150916
+packetLen(0x093e, 10) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150722
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150715
+packetLen(0x093e, 5) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150708
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150701
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150617
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150610
+packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150422
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150415
+packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150107
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20151014
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20151007
+packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150805
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150729
+packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150708
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150701
+packetLen(0x093f, 12) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150610
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150603
+packetLen(0x093f, 18) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150107
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20151111
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151104
+packetLen(0x0940, 36) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151028
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151021
+packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150916
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150909
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150826
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150819
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150805
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150729
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150701
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150624
+packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150617
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150610
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150603
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150527
+packetLen(0x0940, 12) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150520
+packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150401
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150325
+packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150304
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150225
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20150923
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150916
+packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150902
+packetLen(0x0941, 5) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150701
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150624
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150513
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150507
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150422
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150415
+packetLen(0x0941, 19) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150107
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20151118
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20151111
+packetLen(0x0942, 18) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150923
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150916
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150513
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150507
+packetLen(0x0942, 4) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150107
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20151125
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20151118
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150507
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150429
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150318
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150311
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150114
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150107
+packetLen(0x0943, 5) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20151223
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20151216
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20151021
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20151014
+packetLen(0x0944, 12) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150722
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150715
+packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150217
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150211
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150204
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150128
+packetLen(0x0944, 19) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150107
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20150902
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20150826
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20150527
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20150520
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20150107
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20151125
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20151118
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150708
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150701
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150617
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150610
+packetLen(0x0946, 90) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150408
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150401
+packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150318
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150311
+packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150304
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150225
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150121
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150114
+packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150107
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20151223
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151216
+packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150909
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150902
+packetLen(0x0947, 90) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150311
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150304
+packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150114
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150107
+packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20151216
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20151209
+packetLen(0x0948, 19) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150923
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150916
+packetLen(0x0948, -1) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150304
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150225
+packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20151230
+packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20151223
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20151216
+packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150617
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150610
+packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150408
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150401
+packetLen(0x0949, 6) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150107
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20151216
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151209
+packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151118
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151111
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150520
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150513
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150401
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150325
+packetLen(0x094a, 19) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150107
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20150408
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150401
+packetLen(0x094b, 10) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150107
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20150729
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150722
+packetLen(0x094c, 10) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150325
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150318
+packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150107
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20150422
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150415
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150107
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20151230
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150708
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150701
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150624
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150617
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150527
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150520
+packetLen(0x094e, 10) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150204
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150128
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150107
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20150923
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150916
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150909
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150902
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150826
+packetLen(0x094f, 5) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150805
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150729
+packetLen(0x094f, 19) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150722
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150415
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150408
+packetLen(0x094f, 18) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150304
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150225
+packetLen(0x094f, 5) // CZ_REASSEMBLY_AUTH57
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20150722
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20150715
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20150401
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20150325
+packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20150107
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20151202
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20151125
+packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20151001
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150923
+packetLen(0x0951, 7) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150902
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150826
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150729
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150722
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150325
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150318
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150217
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150211
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150107
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20150304
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150225
+packetLen(0x0952, 8) // CZ_REASSEMBLY_AUTH60
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150204
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150128
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150107
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20150909
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150902
+packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150513
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150507
+packetLen(0x0953, 36) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150422
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150415
+packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150408
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150401
+packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150107
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20151223
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20151216
+packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150708
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150701
+packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150401
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150325
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150107
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20150805
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150729
+packetLen(0x0955, -1) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150610
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150603
+packetLen(0x0955, 5) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150513
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150507
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150429
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150422
+packetLen(0x0955, 36) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150415
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150408
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150304
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150225
+packetLen(0x0955, 5) // CZ_REASSEMBLY_AUTH63
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150128
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150121
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150114
+packetLen(0x0955, 4) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150107
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20151216
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151209
+packetLen(0x0956, 90) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151202
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151125
+packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151021
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151014
+packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150722
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150715
+packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150708
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150701
+packetLen(0x0956, 90) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150107
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20151202
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20151125
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20151118
+packetLen(0x0957, 4) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150617
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150610
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150415
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150408
+packetLen(0x0957, 19) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150318
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150311
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150217
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150211
+packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150121
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150114
+packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150107
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20151118
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20151111
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150729
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150722
+packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150708
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150701
+packetLen(0x0958, 7) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150520
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150513
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150507
+packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150318
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150311
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150217
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150211
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150107
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20151202
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20151125
+packetLen(0x0959, 90) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150902
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150826
+packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150415
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150408
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150325
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150318
+packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150128
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150121
+packetLen(0x0959, 19) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150107
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20150923
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20150916
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20150107
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20150909
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150902
+packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150715
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150708
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150527
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150520
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150318
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150311
+packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150107
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20151216
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20151209
+packetLen(0x095c, 4) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20151125
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20151118
+packetLen(0x095c, 18) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150422
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150415
+packetLen(0x095c, 26) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150107
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20150617
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20150610
+packetLen(0x095d, 12) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20150311
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20150304
+packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20150107
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20151230
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20151223
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20151021
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20151014
+packetLen(0x095e, 8) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150916
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150909
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150805
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150729
+packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150415
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150408
+packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150107
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20151014
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20151007
+packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150708
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150701
+packetLen(0x095f, 26) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150408
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150401
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150107
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20151007
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20151001
+packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150923
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150916
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150708
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150701
+packetLen(0x0960, 18) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150610
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150603
+packetLen(0x0960, 10) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150527
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150520
+packetLen(0x0960, 4) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150513
+packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150422
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150415
+packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150325
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150318
+packetLen(0x0960, 18) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150311
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150304
+packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150107
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20151216
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151209
+packetLen(0x0961, 7) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151021
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151014
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151007
+packetLen(0x0961, 19) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151001
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150916
+packetLen(0x0961, -1) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150826
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150819
+packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150805
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150729
+packetLen(0x0961, 36) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150722
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150715
+packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150527
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150520
+packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150422
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150415
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150311
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150304
+packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150107
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20150916
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150909
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150715
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150708
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150107
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20150318
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150311
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150204
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150128
+packetLen(0x0963, 26) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150121
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150107
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20151216
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151209
+packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151111
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151104
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151021
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151014
+packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150902
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150826
+packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150617
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150610
+packetLen(0x0964, 5) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150408
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150401
+packetLen(0x0964, 5) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150318
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150311
+packetLen(0x0964, 8) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150107
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20151230
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20151223
+packetLen(0x0965, 36) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150722
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150715
+packetLen(0x0965, 18) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150107
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20151223
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20151216
+packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20151118
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20151111
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150701
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150624
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150211
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150204
+packetLen(0x0966, 36) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150107
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20151230
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151223
+packetLen(0x0967, 12) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151118
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151111
+packetLen(0x0967, 19) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151014
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151007
+packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150826
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150819
+packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150128
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150121
+packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150107
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20151223
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20151216
+packetLen(0x0968, 10) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150902
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150826
+packetLen(0x0968, 4) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150708
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150701
+packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150204
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150128
+packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150107
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20151118
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20151111
+packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150923
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150916
+packetLen(0x0969, 19) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150902
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150826
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150610
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150603
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150401
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150325
+packetLen(0x0969, 8) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150107
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20151230
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151209
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151202
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151125
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151111
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151104
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151021
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151014
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151001
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150916
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150909
+packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150826
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150805
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150715
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150708
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150701
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150617
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150610
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150603
+packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150527
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150520
+packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150422
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150311
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150304
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150225
+packetLen(0x096a, 19) // CZ_REASSEMBLY_AUTH84
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150211
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150204
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150128
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150107
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+
+// Packet: 0x0a38
+#if PACKETVER >= 20150128
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+#endif
+
+// Packet: 0x0a39
+#if PACKETVER >= 20150415
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+#elif PACKETVER >= 20150211
+packetLen(0x0a39, 35) // CH_MAKE_CHAR
+#endif
+
+// Packet: 0x0a3a
+#if PACKETVER >= 20150311
+packetLen(0x0a3a, 12)
+#endif
+
+// Packet: 0x0a3b
+#if PACKETVER >= 20150422
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+#endif
+
+// Packet: 0x0a3c
+#if PACKETVER >= 20150520
+packetLen(0x0a3c, -1)
+#endif
+
+// Packet: 0x0a3d
+#if PACKETVER >= 20150520
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+#if PACKETVER >= 20150603
+packetLen(0x0a3e, -1)
+#endif
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20150624
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+#if PACKETVER >= 20150812
+packetLen(0x0a40, 11)
+#endif
+
+// Packet: 0x0a41
+#if PACKETVER >= 20150909
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+#endif
+
+// Packet: 0x0a42
+#if PACKETVER >= 20150916
+packetLen(0x0a42, 43)
+#endif
+
+// Packet: 0x0a43
+#if PACKETVER >= 20151007
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0a44
+#if PACKETVER >= 20151007
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+#endif
+
+// Packet: 0x0a45
+#if PACKETVER >= 20151125
+// removed
+#elif PACKETVER >= 20151104
+packetLen(0x0a45, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0a45, -1)
+#endif
+
+// Packet: 0x0a46
+#if PACKETVER >= 20151104
+packetLen(0x0a46, 14)
+#endif
+
+// Packet: 0x0a47
+#if PACKETVER >= 20151104
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+#endif
+
+// Packet: 0x0a48
+#if PACKETVER >= 20151104
+packetLen(0x0a48, 2)
+#endif
+
+// Packet: 0x0a49
+#if PACKETVER >= 20151118
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+#endif
+
+// Packet: 0x0a4a
+#if PACKETVER >= 20151118
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+#endif
+
+// Packet: 0x0a4b
+#if PACKETVER >= 20151118
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+#endif
+
+// Packet: 0x0a4c
+#if PACKETVER >= 20151118
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+#endif
+
+
+#endif /* COMMON_PACKETS2015_LEN_MAIN_H */
diff --git a/src/common/packets/packets2015_len_re.h b/src/common/packets/packets2015_len_re.h
new file mode 100644
index 000000000..bd65d3eea
--- /dev/null
+++ b/src/common/packets/packets2015_len_re.h
@@ -0,0 +1,8562 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2015_LEN_RE_H
+#define COMMON_PACKETS2015_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20151209
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151202
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151104
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151028
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151021
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151014
+packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151007
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20151001
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150826
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150819
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150805
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150603
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150527
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150520
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150429
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150422
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150401
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150325
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150318
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150225
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150217
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150211
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150204
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150128
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20150107
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20151223
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151216
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151209
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151202
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151125
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151118
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151104
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151028
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151007
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20151001
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150923
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150916
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150826
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150819
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150805
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150715
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150708
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150701
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150624
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150603
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150527
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150429
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150422
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150225
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150217
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150211
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150204
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20150107
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20151209
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151202
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151111
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151104
+packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151028
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151021
+packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151007
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20151001
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150916
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150909
+packetLen(0x023b, 7) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150902
+packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150819
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150805
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150729
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150722
+packetLen(0x023b, 90) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150715
+packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150708
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150701
+packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150603
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150527
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150513
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150507
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150429
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150422
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150325
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150318
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150311
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150225
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150217
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150211
+packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150204
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150128
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20150107
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20151209
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151202
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151104
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151021
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151014
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20151001
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150826
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150819
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150805
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150729
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150722
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150701
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150624
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150603
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150527
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150429
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150422
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150325
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150318
+packetLen(0x0281, 8) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150225
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150217
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150211
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150204
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150128
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150121
+packetLen(0x0281, 18) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20150107
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20151223
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20151118
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20151111
+packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20151028
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20151021
+packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150715
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150708
+packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150520
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150513
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150304
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150225
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20150107
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20151230
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151209
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151202
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151125
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151118
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151111
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151104
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151021
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151014
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20151001
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150916
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150909
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150826
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150805
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150715
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150708
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150701
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150617
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150603
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150527
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150520
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150422
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150311
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150217
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150211
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20150107
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20151230
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151209
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151202
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151125
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151111
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151104
+packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151021
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151014
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20151001
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150909
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150902
+packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150826
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150805
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150729
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150722
+packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150715
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150708
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150701
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150617
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150603
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150527
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150520
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150422
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150311
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150304
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150225
+packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150217
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150211
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150204
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150128
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20150107
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20151223
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151216
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151209
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151202
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151104
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151028
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151021
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151007
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20151001
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150923
+packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150916
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150909
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150819
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150805
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150729
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150722
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150610
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150603
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150527
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150520
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150429
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150422
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150415
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150225
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150217
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150211
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150204
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20150107
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20151230
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151223
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151216
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151209
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151202
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151118
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151111
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151104
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151021
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151014
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20151001
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150902
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150826
+packetLen(0x0362, 36) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150819
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150805
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150722
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150715
+packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150701
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150617
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150603
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150527
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150429
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150422
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150408
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150401
+packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150311
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150304
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150225
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150217
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150211
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150204
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150121
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20150107
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20151209
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151202
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151111
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151104
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151021
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151014
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20151001
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150819
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150805
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150701
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150624
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150617
+packetLen(0x0363, 36) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150603
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150527
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150520
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150513
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150507
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150429
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150422
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150401
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150325
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150311
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150304
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150225
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150217
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150211
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150204
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150121
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20150107
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20151230
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151223
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151216
+packetLen(0x0364, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151209
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151202
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151111
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151021
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151014
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20151001
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150819
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150805
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150722
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150715
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150701
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150624
+packetLen(0x0364, 18) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150603
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150527
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150429
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150422
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150415
+packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150225
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150217
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150211
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150204
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150121
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20150107
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20151230
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151223
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151216
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151209
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151202
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151125
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151118
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151104
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151021
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151014
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20151001
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150916
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150909
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150819
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150805
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150701
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150624
+packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150617
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150603
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150527
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150429
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150422
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150401
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150325
+packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150225
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150217
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150211
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150204
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150128
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150121
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20150107
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20151230
+packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151209
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151202
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151125
+packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151021
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151014
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20151001
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150923
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150916
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150909
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150826
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150805
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150715
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150708
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150701
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150617
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150603
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150527
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150520
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150422
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150415
+packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150311
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150217
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150211
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150204
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150128
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20150107
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20150909
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150902
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150408
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150401
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150325
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150318
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20150107
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20151230
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20151209
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20151202
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20151125
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20151021
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20151014
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20151001
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150916
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150909
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150902
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150826
+packetLen(0x0368, 8) // CZ_REQNAME2
+#elif PACKETVER >= 20150805
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150729
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150722
+packetLen(0x0368, 26) // CZ_REQNAME2
+#elif PACKETVER >= 20150715
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150708
+packetLen(0x0368, 5) // CZ_REQNAME2
+#elif PACKETVER >= 20150701
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150617
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150603
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150527
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150520
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150415
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150311
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20150217
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150211
+packetLen(0x0368, 5) // CZ_REQNAME2
+#elif PACKETVER >= 20150204
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20150128
+packetLen(0x0368, 8) // CZ_REQNAME2
+#elif PACKETVER >= 20150107
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20151230
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151216
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151209
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151202
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151125
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151118
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151111
+packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151021
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151014
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20151001
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150916
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150909
+packetLen(0x0369, 36) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150826
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150805
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150715
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150708
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150701
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150617
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150603
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150527
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150520
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150422
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150311
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150217
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150211
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150204
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150128
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20150107
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20151230
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20151223
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20151216
+packetLen(0x0436, 12) // CZ_ENTER2
+#elif PACKETVER >= 20151209
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20151202
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20151111
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20151104
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20151021
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20151007
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20151001
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150902
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150826
+packetLen(0x0436, 18) // CZ_ENTER2
+#elif PACKETVER >= 20150805
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150729
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150722
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20150715
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20150708
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20150701
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150624
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150617
+packetLen(0x0436, 19) // CZ_ENTER2
+#elif PACKETVER >= 20150603
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150527
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150429
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150422
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150318
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150311
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20150304
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150225
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20150217
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150211
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150204
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20150121
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20150114
+packetLen(0x0436, 10) // CZ_ENTER2
+#elif PACKETVER >= 20150107
+packetLen(0x0436, 4) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20151230
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151209
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151202
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151125
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151111
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151104
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151021
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151014
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20151001
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150916
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150909
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150826
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150805
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150729
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150722
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150715
+packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150701
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150617
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150610
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150603
+packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150527
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150520
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150422
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150408
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150401
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150311
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150217
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150211
+packetLen(0x0437, 12) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150204
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150128
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20150107
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20151209
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151202
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151125
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151021
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151014
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20151001
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150916
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150909
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150826
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150805
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150729
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150722
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150715
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150708
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150701
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150617
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150610
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150603
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150527
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150520
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150422
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150318
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150311
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150217
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150211
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150204
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150128
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20150107
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20151216
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151209
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151202
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151104
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151021
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151014
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20151001
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150923
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150819
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150805
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150708
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150701
+packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150624
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150617
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150610
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150603
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150527
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150429
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150422
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150325
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150318
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150225
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150204
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150128
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150121
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20150107
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20151230
+packetLen(0x07ec, 90) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151216
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151209
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151202
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151111
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151104
+packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151028
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151021
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151014
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20151001
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150902
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150826
+packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150819
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150805
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150701
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150624
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150617
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150603
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150527
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150429
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150422
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150225
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150217
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150211
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150204
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150121
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20150107
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20151230
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151223
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151209
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151202
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151125
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151118
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151111
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151104
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151028
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151014
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20151001
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150909
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150902
+packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150819
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150805
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150708
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150701
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150624
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150603
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150527
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150429
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150422
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150401
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150325
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150318
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150311
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150304
+packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150225
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150217
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150211
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150204
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150121
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20150107
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20151230
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151216
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151209
+packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151202
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151125
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151111
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151104
+packetLen(0x0811, 18) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151021
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151014
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151007
+packetLen(0x0811, 26) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20151001
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150916
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150909
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150826
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150805
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150715
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150708
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150701
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150624
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150617
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150610
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150603
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150527
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150520
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150422
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150325
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150318
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150311
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150217
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150211
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150204
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150128
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20150107
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20151230
+packetLen(0x0815, 19) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151223
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151209
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151202
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151125
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151118
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151111
+packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151021
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151014
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20151001
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150916
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150909
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150826
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150805
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150715
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150708
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150701
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150617
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150603
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150527
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150520
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150422
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150318
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150311
+packetLen(0x0815, 19) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150217
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150211
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150204
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150128
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20150107
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20151021
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20151014
+packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20151001
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150923
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150729
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150722
+packetLen(0x0817, 19) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150520
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150513
+packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150507
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150422
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150415
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150304
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150225
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150217
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150211
+packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20150107
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20151230
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151209
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151202
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151125
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151021
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151014
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20151001
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150916
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150909
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150902
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150826
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150805
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150715
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150708
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150701
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150617
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150610
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150603
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150527
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150520
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150422
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150415
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150408
+packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150401
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150325
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150311
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150304
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150225
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150217
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150211
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150204
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150128
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20150107
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20150923
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150916
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150722
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150715
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150617
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150610
+packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150422
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150415
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150217
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150211
+packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20150107
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20151230
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151209
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151202
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151125
+packetLen(0x0838, 18) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151021
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151014
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20151001
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150916
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150909
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150826
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150805
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150715
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150708
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150701
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150617
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150603
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150527
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150520
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150422
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150318
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150311
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150217
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150211
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150204
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150128
+packetLen(0x0838, 7) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20150107
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20151230
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151209
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151202
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151125
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151021
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151014
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20151001
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150916
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150909
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150902
+packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150819
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150805
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150722
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150715
+packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150708
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150701
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150617
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150603
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150527
+packetLen(0x083c, 36) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150520
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150422
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150408
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150401
+packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150311
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150217
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150211
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150204
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150128
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150121
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150114
+packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20150107
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20151021
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151014
+packetLen(0x085a, 10) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150513
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150507
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150415
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150408
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150204
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150128
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150107
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20151230
+packetLen(0x085b, -1) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151223
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151216
+packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151209
+packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150909
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150902
+packetLen(0x085b, 7) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150805
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150729
+packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150225
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150217
+packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150107
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20151021
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151014
+packetLen(0x085c, 7) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151001
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150923
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150722
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150715
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150415
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150408
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150107
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20151216
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151209
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151118
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151111
+packetLen(0x085d, -1) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151001
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150923
+packetLen(0x085d, 26) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150909
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150902
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150826
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150819
+packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150401
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150325
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150107
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20151216
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20151209
+packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20151202
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20151125
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150923
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150916
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150715
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150708
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150527
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150520
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150422
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150415
+packetLen(0x085e, 4) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150408
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150401
+packetLen(0x085e, 12) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150107
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20151202
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20151125
+packetLen(0x085f, 8) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150107
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20151104
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20151028
+packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20151021
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20151014
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150805
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150729
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150610
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150603
+packetLen(0x0860, 90) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150107
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20151230
+packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151216
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151209
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150916
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150909
+packetLen(0x0861, 4) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150902
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150826
+packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150107
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20151118
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20151111
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20151014
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20151007
+packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150826
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150819
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150325
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150318
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150311
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150304
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150217
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150211
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150107
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20151021
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151014
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150909
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150902
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150422
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150415
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150325
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150318
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150217
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150211
+packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150107
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20151230
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151223
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151216
+packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151001
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150923
+packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150610
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150603
+packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150520
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150513
+packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150507
+packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150204
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150128
+packetLen(0x0864, 10) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150107
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20151223
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20151216
+packetLen(0x0865, 10) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150902
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150826
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150819
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150527
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150520
+packetLen(0x0865, 19) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150415
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150408
+packetLen(0x0865, 7) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150107
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20151230
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20151223
+packetLen(0x0866, 19) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20151216
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20151209
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20150107
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20151021
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20151014
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150610
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150603
+packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150507
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150429
+packetLen(0x0867, 36) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150422
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150415
+packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150304
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150225
+packetLen(0x0867, 18) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150107
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20150527
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150520
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150422
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150415
+packetLen(0x0868, 10) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150408
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150121
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150114
+packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150107
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20151230
+packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150923
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150916
+packetLen(0x0869, 7) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150729
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150722
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150624
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150617
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150422
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150415
+packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150107
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20151223
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20151216
+packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20151028
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20151021
+packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150624
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150617
+packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150610
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150603
+packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150507
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150429
+packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150318
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150311
+packetLen(0x086a, 6) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150107
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20151125
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20151118
+packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150902
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150826
+packetLen(0x086b, 10) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150624
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150617
+packetLen(0x086b, 5) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150415
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150408
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150107
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20150805
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150729
+packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150422
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150415
+packetLen(0x086c, 7) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150318
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150311
+packetLen(0x086c, 36) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150107
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20150805
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150729
+packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150708
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150701
+packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150311
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150304
+packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150204
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150128
+packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150107
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20151230
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20151223
+packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20151216
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150805
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150729
+packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150415
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150408
+packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150107
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20151001
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150923
+packetLen(0x086f, 10) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150909
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150902
+packetLen(0x086f, 10) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150805
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150729
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150722
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150715
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150408
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150401
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150325
+packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150107
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20151223
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151216
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151209
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151202
+packetLen(0x0870, 36) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151001
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150923
+packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150902
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150826
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150805
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150729
+packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150701
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150624
+packetLen(0x0870, 36) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150610
+packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150217
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150211
+packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150204
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150128
+packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150107
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20151118
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20151111
+packetLen(0x0871, 26) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150916
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150909
+packetLen(0x0871, -1) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150826
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150819
+packetLen(0x0871, 18) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150107
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20151230
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20151021
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20150715
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20150923
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150916
+packetLen(0x0873, 90) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150722
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150715
+packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150610
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150603
+packetLen(0x0873, 7) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150325
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150318
+packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150217
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150211
+packetLen(0x0873, 5) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150107
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20151223
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20151216
+packetLen(0x0874, 90) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20151021
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20151014
+packetLen(0x0874, 10) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150204
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150128
+packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150107
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20151230
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151223
+packetLen(0x0875, 10) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150408
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150401
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150204
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150128
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150107
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20151230
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20151223
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150204
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150128
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150107
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20150923
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150916
+packetLen(0x0877, 5) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150617
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150610
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150603
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150107
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20150729
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150722
+packetLen(0x0878, 10) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150415
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150408
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150107
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20151001
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150923
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150722
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150715
+packetLen(0x0879, 19) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150520
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150513
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150311
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150304
+packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150107
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20151216
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20151209
+packetLen(0x087a, 12) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150624
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150617
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150107
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20150916
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150909
+packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150902
+packetLen(0x087b, 5) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150826
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150729
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150722
+packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150318
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150311
+packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150217
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150211
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150107
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20150722
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150715
+packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150401
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150325
+packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150128
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150121
+packetLen(0x087c, 4) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150114
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150107
+packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20150729
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150722
+packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150708
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150701
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150527
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150520
+packetLen(0x087d, 12) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150204
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150128
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150107
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20150729
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150722
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150708
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150701
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150617
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150610
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150415
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150408
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150401
+packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150325
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150311
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150304
+packetLen(0x087e, 19) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150107
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20151216
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20151209
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150923
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150916
+packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150909
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150902
+packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150819
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150812
+packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150715
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150708
+packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150415
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150408
+packetLen(0x087f, 90) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150217
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150211
+packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150107
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20150805
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150729
+packetLen(0x0880, 12) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150722
+packetLen(0x0880, 6) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150527
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150520
+packetLen(0x0880, 26) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150422
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150415
+packetLen(0x0880, 8) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150107
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20151230
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20151223
+packetLen(0x0881, 7) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20151021
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20151014
+packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150923
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150916
+packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150805
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150729
+packetLen(0x0881, 7) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150610
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150603
+packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150107
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20150527
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150520
+packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150217
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150211
+packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150107
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20151202
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20151125
+packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20151021
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20151014
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150916
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150909
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150708
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150701
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150520
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150513
+packetLen(0x0883, 18) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150401
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150325
+packetLen(0x0883, 12) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150318
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150311
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150217
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150211
+packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150107
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20151230
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151223
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151202
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151125
+packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151021
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20151014
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150729
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150722
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150715
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150708
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150617
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150610
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150603
+packetLen(0x0884, 4) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20150107
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20151223
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151216
+packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151202
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151125
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151118
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20151111
+packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150617
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150610
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150520
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150513
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150401
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150325
+packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150304
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150225
+packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150217
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150211
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20150107
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20151230
+packetLen(0x0886, 10) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151223
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151111
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151104
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20151001
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150923
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150916
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150909
+packetLen(0x0886, 19) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150902
+packetLen(0x0886, 12) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150805
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150729
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150722
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150715
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150624
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150617
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150507
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150429
+packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150318
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150311
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150217
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150211
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20150107
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20151111
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20151104
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150909
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150902
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150513
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150507
+packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20150107
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20150826
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150819
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150617
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150610
+packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150415
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150408
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150204
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150128
+packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20150107
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20151021
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20151014
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150513
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150507
+packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150415
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150408
+packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150325
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150318
+packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20150107
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20150812
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150805
+packetLen(0x088a, 36) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20150107
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20151223
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151216
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151125
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151118
+packetLen(0x088b, 36) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151111
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20151104
+packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150902
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150826
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150610
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150603
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150128
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150121
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20150107
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20151202
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20151125
+packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150617
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150610
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150527
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150520
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150408
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150401
+packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150325
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150318
+packetLen(0x088c, 12) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20150107
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20151230
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151223
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151202
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151125
+packetLen(0x088d, 19) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151111
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20151104
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150909
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150902
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150826
+packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150729
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150722
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150617
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150610
+packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20150107
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20151230
+packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151216
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151209
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151021
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151014
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20151001
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150923
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150422
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150415
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20150107
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20151216
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20151209
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150916
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150909
+packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150617
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150610
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150507
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150429
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150408
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150401
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20150107
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20151230
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20151223
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20150107
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20151230
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20151223
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150902
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150826
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150422
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150415
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150408
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150401
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150325
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20150107
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20151001
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150923
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150909
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150902
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150311
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150304
+packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20150107
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20150708
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150701
+packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150401
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150325
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20150107
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20151216
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20151209
+packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150624
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150617
+packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150507
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150429
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20150107
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20151001
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150923
+packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150916
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150909
+packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150722
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150715
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150408
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150401
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150114
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20150107
+packetLen(0x0895, 36) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20150722
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150715
+packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150318
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150311
+packetLen(0x0896, 7) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150304
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150225
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20150107
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20151230
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150909
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150902
+packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150722
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150715
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150617
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150610
+packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150603
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150401
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150325
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20150107
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20151230
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20151223
+packetLen(0x0898, 90) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150422
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150415
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150408
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150401
+packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20150107
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20151202
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20151125
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150909
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150902
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150729
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150722
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150507
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150429
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150401
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150325
+packetLen(0x0899, 18) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150121
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150114
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20150107
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20151021
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20151014
+packetLen(0x089a, 4) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150805
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150729
+packetLen(0x089a, 10) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150722
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150715
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150610
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150603
+packetLen(0x089a, 12) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150311
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150304
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150204
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150128
+packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20150107
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20151001
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150923
+packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150916
+packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150805
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150729
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150304
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150225
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20150107
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20151202
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20151125
+packetLen(0x089c, 7) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20151118
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20151111
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150923
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150916
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150527
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150520
+packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150415
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150408
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150401
+packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150325
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150318
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150304
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150225
+packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150217
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150211
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20150107
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20151223
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20151216
+packetLen(0x089d, 7) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150715
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150708
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150610
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150603
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150128
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150121
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20150107
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20151223
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20151216
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150923
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150916
+packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150610
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150603
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150527
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150520
+packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150128
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150121
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20150107
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20151202
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151125
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151021
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151014
+packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20151001
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150923
+packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150507
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150429
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20150107
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20151001
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150923
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150902
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150826
+packetLen(0x08a0, 12) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150708
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150701
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150617
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150610
+packetLen(0x08a0, 36) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150422
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150415
+packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150217
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150211
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20150107
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20151216
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20151209
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150902
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150826
+packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150610
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150603
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150401
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150325
+packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150318
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150311
+packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20150107
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20151223
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20151216
+packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20151001
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150923
+packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150527
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150520
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150415
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150408
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20150107
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20151111
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20151104
+packetLen(0x08a3, 4) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150805
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150729
+packetLen(0x08a3, 4) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150318
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150311
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20150107
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20150902
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150826
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150805
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150729
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150722
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150715
+packetLen(0x08a4, 4) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150708
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150701
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150415
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150408
+packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150325
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150318
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150304
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150225
+packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150217
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150211
+packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20150107
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20151111
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20151104
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20151001
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150923
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150715
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150708
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150701
+packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150408
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150401
+packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150318
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150311
+packetLen(0x08a5, 12) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20150107
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20151001
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150923
+packetLen(0x08a6, 12) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150708
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150701
+packetLen(0x08a6, 10) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150507
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150429
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150318
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150311
+packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20150107
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20150401
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150325
+packetLen(0x08a7, 90) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20150107
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20150902
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150826
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150729
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150722
+packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150520
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150513
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150507
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150429
+packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20150107
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20151223
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20151216
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20151202
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20151125
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150909
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150902
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20150107
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20151230
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20151223
+packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20151021
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20151014
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150217
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150211
+packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20150107
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20151125
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20151118
+packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150204
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150128
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150121
+packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20150107
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20151223
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20151216
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150923
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150916
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150805
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150729
+packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150722
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150715
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150617
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150610
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20150107
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20151202
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20151125
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150805
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150729
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150715
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150708
+packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150701
+packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150610
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150603
+packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150527
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150520
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150507
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150429
+packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20150107
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20150722
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150715
+packetLen(0x0917, 12) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150107
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20150128
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150121
+packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150107
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20150826
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150819
+packetLen(0x0919, 8) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150729
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150722
+packetLen(0x0919, 4) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150708
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150701
+packetLen(0x0919, 36) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150401
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150325
+packetLen(0x0919, 36) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150217
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150211
+packetLen(0x0919, 90) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150128
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150121
+packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150107
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20151230
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20151223
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150107
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20151230
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20151223
+packetLen(0x091b, 26) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150610
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150603
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150415
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150408
+packetLen(0x091b, 4) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150401
+packetLen(0x091b, 26) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20150107
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20151021
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20151014
+packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150527
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150520
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150408
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150401
+packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150318
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150311
+packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20150107
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20151230
+packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151223
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151216
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151028
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151021
+packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151014
+packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150527
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150520
+packetLen(0x091d, 7) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150325
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150318
+packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150128
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150121
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150107
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20151001
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150923
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150826
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150819
+packetLen(0x091e, 36) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150415
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150408
+packetLen(0x091e, -1) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150107
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20150715
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150708
+packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150204
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150128
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150107
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20151230
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151223
+packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151216
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151209
+packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151202
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151125
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150923
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150916
+packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150325
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150318
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150217
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150211
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150107
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20151125
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20151118
+packetLen(0x0921, 26) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150729
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150722
+packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150107
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20150610
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150603
+packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150422
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150415
+packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150408
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150401
+packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150107
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20151230
+packetLen(0x0923, 36) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20151223
+packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150909
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150902
+packetLen(0x0923, 26) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150708
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150701
+packetLen(0x0923, 8) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150520
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150513
+packetLen(0x0923, 36) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150107
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20151230
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20151223
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150923
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150916
+packetLen(0x0924, 26) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150902
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150826
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150527
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150520
+packetLen(0x0924, 8) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150513
+packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150507
+packetLen(0x0924, 19) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150408
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150401
+packetLen(0x0924, 18) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150107
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20151125
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20151118
+packetLen(0x0925, 19) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150729
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150722
+packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150617
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150610
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150107
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+
+// Packet: 0x0927
+#if PACKETVER >= 20150826
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150819
+packetLen(0x0927, 19) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150520
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150513
+packetLen(0x0927, 4) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150325
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150318
+packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150204
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150128
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150107
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20151111
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20151104
+packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150916
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150909
+packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150902
+packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150708
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150701
+packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150325
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150318
+packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150311
+packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150107
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20150507
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150429
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150204
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150128
+packetLen(0x0929, 36) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150107
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20151202
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20151125
+packetLen(0x092a, 10) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150909
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150902
+packetLen(0x092a, 5) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150715
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150708
+packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150415
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150408
+packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150318
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150311
+packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150107
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20151001
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150923
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150805
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150729
+packetLen(0x092b, 90) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150617
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150610
+packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150527
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150520
+packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150107
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20150708
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150701
+packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150617
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150610
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150401
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150325
+packetLen(0x092c, 6) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150107
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20151216
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20151209
+packetLen(0x092d, 8) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150909
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150902
+packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150610
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150603
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150114
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150107
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20151202
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20151125
+packetLen(0x092e, 10) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20151118
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150902
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150826
+packetLen(0x092e, 90) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150729
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150722
+packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150617
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150610
+packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150513
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150507
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150422
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150415
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150318
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150311
+packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150107
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20151125
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20151118
+packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150923
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150916
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150805
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150729
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150107
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20151216
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20151209
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20151021
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20151014
+packetLen(0x0930, 90) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20151001
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20150923
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20150107
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20150527
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150520
+packetLen(0x0931, 90) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150401
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150325
+packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150107
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20151216
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20151209
+packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150401
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150325
+packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150107
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+
+// Packet: 0x0934
+#if PACKETVER >= 20151021
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20151014
+packetLen(0x0934, -1) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150923
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150916
+packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150107
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+
+// Packet: 0x0936
+#if PACKETVER >= 20151001
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150923
+packetLen(0x0936, 90) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150916
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150527
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150520
+packetLen(0x0936, 10) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150325
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150318
+packetLen(0x0936, 10) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150107
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20150325
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150318
+packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150107
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20150923
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150916
+packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150401
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150325
+packetLen(0x0938, 5) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150318
+packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150204
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150128
+packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150107
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20151202
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20151125
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20151111
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20151104
+packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150408
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150401
+packetLen(0x0939, 19) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150107
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20151230
+packetLen(0x093a, 4) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151111
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151104
+packetLen(0x093a, -1) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150805
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150729
+packetLen(0x093a, 6) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150408
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150401
+packetLen(0x093a, 10) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150325
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150318
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150311
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150304
+packetLen(0x093a, 18) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150204
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150128
+packetLen(0x093a, 10) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150107
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20151216
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20151209
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20151001
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150923
+packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150902
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150826
+packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150513
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150507
+packetLen(0x093b, 5) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150408
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150401
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150318
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150311
+packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150107
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20151125
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20151118
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150729
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150722
+packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150715
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150708
+packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150422
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150415
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150325
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150318
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150107
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20150729
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150722
+packetLen(0x093d, 12) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150527
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150520
+packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150507
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150429
+packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150107
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20151202
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20151125
+packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150923
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150916
+packetLen(0x093e, 10) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150722
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150715
+packetLen(0x093e, 5) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150708
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150701
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150617
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150610
+packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150422
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150415
+packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150107
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20151014
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20151007
+packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150805
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150729
+packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150708
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150701
+packetLen(0x093f, 12) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150610
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150603
+packetLen(0x093f, 18) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150107
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20151111
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151104
+packetLen(0x0940, 36) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151028
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151021
+packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150916
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150909
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150826
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150819
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150805
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150729
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150701
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150624
+packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150617
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150610
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150603
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150527
+packetLen(0x0940, 12) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150520
+packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150401
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150325
+packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150304
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150225
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150107
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20150923
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150916
+packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150902
+packetLen(0x0941, 5) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150701
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150624
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150513
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150507
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150422
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150415
+packetLen(0x0941, 19) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20150107
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20151118
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20151111
+packetLen(0x0942, 18) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150923
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150916
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150513
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150507
+packetLen(0x0942, 4) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20150107
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20151125
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20151118
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150507
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150429
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150318
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150311
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150114
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20150107
+packetLen(0x0943, 5) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20151223
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20151216
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20151021
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20151014
+packetLen(0x0944, 12) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150722
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150715
+packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150217
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150211
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150204
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150128
+packetLen(0x0944, 19) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20150107
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20150902
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20150826
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20150527
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20150520
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20150107
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20151125
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20151118
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150708
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150701
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150617
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150610
+packetLen(0x0946, 90) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150408
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150401
+packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150318
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150311
+packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150304
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150225
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150121
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150114
+packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20150107
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20151223
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20151216
+packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150909
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150902
+packetLen(0x0947, 90) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150311
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150304
+packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150114
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20150107
+packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20151216
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20151209
+packetLen(0x0948, 19) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150923
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150916
+packetLen(0x0948, -1) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150304
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150225
+packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20150107
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20151230
+packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20151223
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20151216
+packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150617
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150610
+packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150408
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150401
+packetLen(0x0949, 6) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20150107
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20151216
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151209
+packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151118
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20151111
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150520
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150513
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150401
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150325
+packetLen(0x094a, 19) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20150107
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20150408
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150401
+packetLen(0x094b, 10) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20150107
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20150729
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150722
+packetLen(0x094c, 10) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150325
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150318
+packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20150107
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20150422
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150415
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20150107
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20151230
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150708
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150701
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150624
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150617
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150527
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150520
+packetLen(0x094e, 10) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150204
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150128
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20150107
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20150923
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150916
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150909
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150902
+packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150826
+packetLen(0x094f, 5) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150805
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150729
+packetLen(0x094f, 19) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150722
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150415
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150408
+packetLen(0x094f, 18) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150304
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150225
+packetLen(0x094f, 5) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20150107
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20150722
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20150715
+packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20150401
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20150325
+packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20150107
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20151202
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20151125
+packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20151001
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150923
+packetLen(0x0951, 7) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150902
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150826
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150729
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150722
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150325
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150318
+packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150217
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150211
+packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20150107
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20150304
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150225
+packetLen(0x0952, 8) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150204
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150128
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20150107
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20150909
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150902
+packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150513
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150507
+packetLen(0x0953, 36) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150422
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150415
+packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150408
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150401
+packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20150107
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20151223
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20151216
+packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150708
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150701
+packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150401
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150325
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20150107
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20150805
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150729
+packetLen(0x0955, -1) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150610
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150603
+packetLen(0x0955, 5) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150513
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150507
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150429
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150422
+packetLen(0x0955, 36) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150415
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150408
+packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150304
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150225
+packetLen(0x0955, 5) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150128
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150121
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150114
+packetLen(0x0955, 4) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20150107
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20151216
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151209
+packetLen(0x0956, 90) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151202
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151125
+packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151021
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20151014
+packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150722
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150715
+packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150708
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150701
+packetLen(0x0956, 90) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20150107
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20151202
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20151125
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20151118
+packetLen(0x0957, 4) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150617
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150610
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150415
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150408
+packetLen(0x0957, 19) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150318
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150311
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150217
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150211
+packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150121
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150114
+packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20150107
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20151118
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20151111
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150729
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150722
+packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150708
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150701
+packetLen(0x0958, 7) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150520
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150513
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150507
+packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150318
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150311
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150217
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150211
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20150107
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20151202
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20151125
+packetLen(0x0959, 90) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150902
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150826
+packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150415
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150408
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150325
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150318
+packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150128
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150121
+packetLen(0x0959, 19) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20150107
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20150923
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20150916
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20150107
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20150909
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150902
+packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150715
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150708
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150527
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150520
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150318
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150311
+packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20150107
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20151216
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20151209
+packetLen(0x095c, 4) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20151125
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20151118
+packetLen(0x095c, 18) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150422
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150415
+packetLen(0x095c, 26) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20150107
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20150617
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20150610
+packetLen(0x095d, 12) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20150311
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20150304
+packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20150107
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20151230
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20151223
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20151021
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20151014
+packetLen(0x095e, 8) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150916
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150909
+packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150805
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150729
+packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150415
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150408
+packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20150107
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20151014
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20151007
+packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150708
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150701
+packetLen(0x095f, 26) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150408
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150401
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20150107
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20151007
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20151001
+packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150923
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150916
+packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150708
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150701
+packetLen(0x0960, 18) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150610
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150603
+packetLen(0x0960, 10) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150527
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150520
+packetLen(0x0960, 4) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150513
+packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150422
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150415
+packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150325
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150318
+packetLen(0x0960, 18) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150311
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150304
+packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20150107
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20151216
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151209
+packetLen(0x0961, 7) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151021
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151014
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151007
+packetLen(0x0961, 19) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20151001
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150916
+packetLen(0x0961, -1) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150826
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150819
+packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150805
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150729
+packetLen(0x0961, 36) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150722
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150715
+packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150527
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150520
+packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150422
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150415
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150311
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150304
+packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20150107
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20150916
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150909
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150715
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150708
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20150107
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20150318
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150311
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150204
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150128
+packetLen(0x0963, 26) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150121
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20150107
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20151216
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151209
+packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151111
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151104
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151021
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20151014
+packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150902
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150826
+packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150617
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150610
+packetLen(0x0964, 5) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150408
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150401
+packetLen(0x0964, 5) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150318
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150311
+packetLen(0x0964, 8) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20150107
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20151230
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20151223
+packetLen(0x0965, 36) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150722
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150715
+packetLen(0x0965, 18) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20150107
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20151223
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20151216
+packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20151118
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20151111
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150701
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150624
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150211
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150204
+packetLen(0x0966, 36) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20150107
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20151230
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151223
+packetLen(0x0967, 12) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151118
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151111
+packetLen(0x0967, 19) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151014
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20151007
+packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150826
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150819
+packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150128
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150121
+packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20150107
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20151223
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20151216
+packetLen(0x0968, 10) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150902
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150826
+packetLen(0x0968, 4) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150708
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150701
+packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150204
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150128
+packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20150107
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20151118
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20151111
+packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150923
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150916
+packetLen(0x0969, 19) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150902
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150826
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150610
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150603
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150401
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150325
+packetLen(0x0969, 8) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20150107
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20151230
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151209
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151202
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151125
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151111
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151104
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151021
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151014
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20151001
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150916
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150909
+packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150826
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150805
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150715
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150708
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150701
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150617
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150610
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150603
+packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150527
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150520
+packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150422
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150311
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150304
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150225
+packetLen(0x096a, 19) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150217
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150211
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150204
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150128
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20150107
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+
+// Packet: 0x0a38
+#if PACKETVER >= 20150128
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+#endif
+
+// Packet: 0x0a39
+#if PACKETVER >= 20150415
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+#elif PACKETVER >= 20150211
+packetLen(0x0a39, 35) // CH_MAKE_CHAR
+#endif
+
+// Packet: 0x0a3a
+#if PACKETVER >= 20150311
+packetLen(0x0a3a, 12)
+#endif
+
+// Packet: 0x0a3b
+#if PACKETVER >= 20150422
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+#endif
+
+// Packet: 0x0a3c
+#if PACKETVER >= 20150520
+packetLen(0x0a3c, -1)
+#endif
+
+// Packet: 0x0a3d
+#if PACKETVER >= 20150520
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+#if PACKETVER >= 20150603
+packetLen(0x0a3e, -1)
+#endif
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20150624
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+#if PACKETVER >= 20150812
+packetLen(0x0a40, 11)
+#endif
+
+// Packet: 0x0a41
+#if PACKETVER >= 20150909
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+#endif
+
+// Packet: 0x0a42
+#if PACKETVER >= 20150916
+packetLen(0x0a42, 43)
+#endif
+
+// Packet: 0x0a43
+#if PACKETVER >= 20151007
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0a44
+#if PACKETVER >= 20151007
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+#endif
+
+// Packet: 0x0a45
+#if PACKETVER >= 20151125
+// removed
+#elif PACKETVER >= 20151104
+packetLen(0x0a45, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0a45, -1)
+#endif
+
+// Packet: 0x0a46
+#if PACKETVER >= 20151104
+packetLen(0x0a46, 14)
+#endif
+
+// Packet: 0x0a47
+#if PACKETVER >= 20151104
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+#endif
+
+// Packet: 0x0a48
+#if PACKETVER >= 20151104
+packetLen(0x0a48, 2)
+#endif
+
+// Packet: 0x0a49
+#if PACKETVER >= 20151118
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+#endif
+
+// Packet: 0x0a4a
+#if PACKETVER >= 20151118
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+#endif
+
+// Packet: 0x0a4b
+#if PACKETVER >= 20151118
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+#endif
+
+// Packet: 0x0a4c
+#if PACKETVER >= 20151118
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+#endif
+
+
+#endif /* COMMON_PACKETS2015_LEN_RE_H */
diff --git a/src/common/packets/packets2016_len_main.h b/src/common/packets/packets2016_len_main.h
new file mode 100644
index 000000000..7625e55e9
--- /dev/null
+++ b/src/common/packets/packets2016_len_main.h
@@ -0,0 +1,9134 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2016_LEN_MAIN_H
+#define COMMON_PACKETS2016_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20161012
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20161005
+packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160928
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160921
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160913
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160907
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160831
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160824
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160803
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160727
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160706
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160629
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160511
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160427
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160323
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160316
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160224
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160217
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160211
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160203
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160127
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160120
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160106
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20161221
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20161214
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20161026
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20161019
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160928
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160921
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160913
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160907
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160831
+packetLen(0x022d, 90) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160824
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160720
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160713
+packetLen(0x022d, 36) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160706
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160629
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160615
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160608
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160504
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160427
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160420
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160323
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160316
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160309
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160302
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160224
+packetLen(0x022d, 26) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160217
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160211
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160203
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160120
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160113
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160106
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20161214
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20161207
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160928
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160921
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160913
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160907
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160831
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160824
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160803
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160727
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160629
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160622
+packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160504
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160427
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160323
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160316
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160309
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160217
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160211
+packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160127
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160120
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160113
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160106
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20161221
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161214
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161207
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161123
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161026
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161019
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160928
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160921
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160913
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160907
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160831
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160824
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160622
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160615
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160525
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160511
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160504
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160427
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160323
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160316
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160309
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160217
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160211
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160203
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160120
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160106
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20161221
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20161214
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20161116
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20161109
+packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160615
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160608
+packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160601
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160427
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160420
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160106
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20161228
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161207
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161130
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161123
+packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161026
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161019
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161005
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160921
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160913
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160907
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160831
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160824
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160706
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160629
+packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160622
+packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160615
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160608
+packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160511
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160504
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160427
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160420
+packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160414
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160406
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160316
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160302
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160224
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160217
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160211
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160203
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160120
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160113
+packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160106
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20161221
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20161214
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20161130
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20161026
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20161019
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160928
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160921
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160913
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160907
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160831
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160824
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160615
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160511
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160504
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160414
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160406
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160316
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160217
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160120
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160113
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160106
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20161214
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161207
+packetLen(0x0361, 19) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161130
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161109
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161102
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161026
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161019
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160928
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160921
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160913
+packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160907
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160831
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160824
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160817
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160810
+packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160629
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160622
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160504
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160427
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160323
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160316
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160309
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160211
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160203
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160127
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160120
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160106
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20161228
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161221
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161207
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161130
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161123
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161116
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161109
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161026
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161012
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160928
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160921
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160913
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160907
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160831
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160824
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160803
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160727
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160720
+packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160713
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160706
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160525
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160511
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160504
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160427
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160420
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160414
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160323
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160316
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160224
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160217
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160211
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160203
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160120
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160106
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20161207
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20161130
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20161102
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20161026
+packetLen(0x0363, 36) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20161019
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160928
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160921
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160913
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160907
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160831
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160824
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160803
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160727
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160720
+packetLen(0x0363, 10) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160713
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160706
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160629
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160622
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160615
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160525
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160511
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160504
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160427
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160420
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160414
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160323
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160316
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160217
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160211
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160203
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160120
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160106
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20161221
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161214
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161207
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161130
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161026
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161019
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161012
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160928
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160921
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160913
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160907
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160831
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160824
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160817
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160810
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160803
+packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160720
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160713
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160622
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160615
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160525
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160511
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160504
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160427
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160414
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160406
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160323
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160316
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160309
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160302
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160224
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160217
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160211
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160203
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160120
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160106
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20161207
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161130
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161116
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161109
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161026
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161019
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161012
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160928
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160921
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160913
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160907
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160831
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160824
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160727
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160720
+packetLen(0x0365, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160525
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160511
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160504
+packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160427
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160406
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160330
+packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160323
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160316
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160224
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160217
+packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160211
+packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160203
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160120
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160106
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20161228
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161221
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161130
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161116
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161109
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161026
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161019
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161005
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160928
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160921
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160913
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160907
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160831
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160824
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160629
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160622
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160608
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160511
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160504
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160414
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160330
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160316
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160302
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160224
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160217
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160120
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160113
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160106
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20161109
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20161102
+packetLen(0x0367, 4) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20160309
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20160302
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20160106
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20161221
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20161130
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20161123
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20161116
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20161026
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20161019
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20161012
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20161005
+packetLen(0x0368, 7) // CZ_REQNAME2
+#elif PACKETVER >= 20160928
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160921
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160913
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160907
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160831
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160824
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160706
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160629
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20160615
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160511
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160504
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160414
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160406
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160309
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160302
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160224
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160217
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160120
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160113
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160106
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20161221
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161214
+packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161207
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161130
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161123
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161116
+packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161026
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161019
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161012
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160928
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160921
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160913
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160907
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160831
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160824
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160622
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160615
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160511
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160504
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160414
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160406
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160316
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160302
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160224
+packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160217
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160120
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160113
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160106
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20161221
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20161214
+packetLen(0x0436, 7) // CZ_ENTER2
+#elif PACKETVER >= 20161109
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20161102
+packetLen(0x0436, 7) // CZ_ENTER2
+#elif PACKETVER >= 20161005
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160928
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20160921
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160913
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160907
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160831
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160824
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160803
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160727
+packetLen(0x0436, 90) // CZ_ENTER2
+#elif PACKETVER >= 20160713
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160706
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20160615
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160608
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20160525
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160518
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160504
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160427
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160323
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160316
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160302
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160224
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20160217
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160211
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160203
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20160120
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160106
+packetLen(0x0436, 2) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20161221
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20161130
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20161123
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20161026
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20161019
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160928
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160921
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160913
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160907
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160831
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160824
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160817
+packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160629
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160622
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160615
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160608
+packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160511
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160504
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160414
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160406
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160316
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160217
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160211
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160203
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160120
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160113
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160106
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20161228
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161221
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161130
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161102
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161026
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161019
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160928
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160921
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160913
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160907
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160831
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160824
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160803
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160727
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160615
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160511
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160504
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160414
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160406
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160316
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160302
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160224
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160217
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160120
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160113
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160106
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20161207
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20161130
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20161026
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20161019
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160928
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160921
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160913
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160907
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160831
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160817
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160727
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160720
+packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160629
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160622
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160525
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160511
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160504
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160427
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160414
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160406
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160323
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160316
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160217
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160211
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160203
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160120
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160106
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20161207
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20161130
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20161026
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20161019
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20161012
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160928
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160921
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160913
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160907
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160831
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160824
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160803
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160727
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160615
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160608
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160525
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160511
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160504
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160427
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160323
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160316
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160217
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160211
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160203
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160120
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160113
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160106
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20161207
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161130
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161109
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161102
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161026
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161019
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160928
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160921
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160913
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160907
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160831
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160824
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160615
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160608
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160525
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160511
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160504
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160427
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160323
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160316
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160309
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160302
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160217
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160211
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160203
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160120
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160106
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20161221
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20161130
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20161026
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20161019
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20161005
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160928
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160921
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160913
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160907
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160831
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160824
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160817
+packetLen(0x0811, 4) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160608
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160511
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160504
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160414
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160406
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160316
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160302
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160224
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160217
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160211
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160203
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160120
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160113
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160106
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20161221
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20161130
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20161026
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20161019
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160928
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160921
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160913
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160907
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160831
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160824
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160615
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160511
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160504
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160414
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160406
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160316
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160302
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160224
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160217
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160120
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160113
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160106
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20161228
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20161221
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160921
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160913
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160608
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160601
+packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160106
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20161221
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161214
+packetLen(0x0819, 4) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161130
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161026
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161019
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161012
+packetLen(0x0819, 26) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160928
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160921
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160913
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160907
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160831
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160824
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160817
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160810
+packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160727
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160720
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160615
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160511
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160427
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160420
+packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160414
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160406
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160316
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160309
+packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160302
+packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160224
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160217
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160211
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160203
+packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160120
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160113
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160106
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20161123
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20161116
+packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20161109
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160907
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160831
+packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160504
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160427
+packetLen(0x0835, 36) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160211
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160203
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160106
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20161221
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161130
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161109
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161102
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161026
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161019
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161012
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161005
+packetLen(0x0838, 36) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160928
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160921
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160913
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160907
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160831
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160824
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160817
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160810
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160727
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160720
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160713
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160615
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160511
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160504
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160414
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160406
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160316
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160309
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160302
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160224
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160217
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160120
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160113
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160106
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20161221
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161130
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161109
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161102
+packetLen(0x083c, 18) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161026
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161019
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160928
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160921
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160913
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160907
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160831
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160824
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160817
+packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160622
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160615
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160511
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160504
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160414
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160406
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160316
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160309
+packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160302
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160224
+packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160217
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160120
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160113
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160106
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20161228
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161221
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161214
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161102
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161026
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160601
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160525
+packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160414
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160406
+packetLen(0x085a, 18) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160316
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160309
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160106
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20161228
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161221
+packetLen(0x085b, 90) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161019
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161012
+packetLen(0x085b, 4) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160921
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160913
+packetLen(0x085b, 12) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160309
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160302
+packetLen(0x085b, 26) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160120
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160113
+packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160106
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20161130
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161123
+packetLen(0x085c, 90) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160824
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160817
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160706
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160629
+packetLen(0x085c, 90) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160615
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160608
+packetLen(0x085c, 8) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160414
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160406
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160106
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20160817
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160810
+packetLen(0x085d, 12) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160803
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160106
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20161228
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20161116
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20161109
+packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160817
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160810
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160706
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160629
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160601
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160525
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160518
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160511
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160203
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160127
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160106
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20161123
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161116
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161109
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161102
+packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161026
+packetLen(0x085f, 7) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160817
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160810
+packetLen(0x085f, 18) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160713
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160706
+packetLen(0x085f, 26) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160511
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160504
+packetLen(0x085f, 7) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160316
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160309
+packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160106
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20160817
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160810
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160720
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160713
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160706
+packetLen(0x0860, 7) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160629
+packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160106
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20161130
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161123
+packetLen(0x0861, 5) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161102
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161026
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160706
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160629
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160622
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160302
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160224
+packetLen(0x0861, 19) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160113
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160106
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20161221
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20161214
+packetLen(0x0862, 26) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20161102
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20161026
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160420
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160414
+packetLen(0x0862, 19) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160106
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20161019
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20161012
+packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20161005
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160706
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160629
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160608
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160601
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160106
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20161123
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161116
+packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161005
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160928
+packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160427
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160420
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160309
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160302
+packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160224
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160217
+packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160120
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160113
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160106
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20161228
+packetLen(0x0865, 90) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161116
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161109
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160921
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160913
+packetLen(0x0865, 6) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160907
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160831
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160720
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160713
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160629
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160622
+packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160309
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160302
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160127
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160120
+packetLen(0x0865, 36) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160106
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20161228
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161221
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160803
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160727
+packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160622
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160615
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160106
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20161214
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161207
+packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160824
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160817
+packetLen(0x0867, 12) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160706
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160629
+packetLen(0x0867, 36) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160622
+packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160601
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160525
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160406
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160330
+packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160323
+packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160309
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160302
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160106
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20161214
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161207
+packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161019
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161012
+packetLen(0x0868, 6) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160803
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160727
+packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160309
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160302
+packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160106
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20161109
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161102
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160803
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160727
+packetLen(0x0869, 12) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160720
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160706
+packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160414
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160406
+packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160330
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160323
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160106
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20161228
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20161116
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20161109
+packetLen(0x086a, 7) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160601
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160525
+packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160330
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160323
+packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160316
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160309
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160113
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160106
+packetLen(0x086a, 6) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20160824
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160817
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160713
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160706
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160511
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160504
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160302
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160224
+packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160106
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20161228
+packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20161102
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20161026
+packetLen(0x086c, 12) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160525
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160518
+packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160217
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160211
+packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160203
+packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160113
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160106
+packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20161228
+packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161221
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161214
+packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161116
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161109
+packetLen(0x086d, 10) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161019
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161012
+packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161005
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160928
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160727
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160720
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160406
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160330
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160120
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160113
+packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160106
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20161102
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20161026
+packetLen(0x086e, 8) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160106
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20161130
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161116
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161109
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161102
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160817
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160810
+packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160106
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20161228
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161116
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161109
+packetLen(0x0870, 19) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160907
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160831
+packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160622
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160615
+packetLen(0x0870, 4) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160608
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160601
+packetLen(0x0870, 8) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160427
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160420
+packetLen(0x0870, 4) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160224
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160211
+packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160106
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20161228
+packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161130
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161123
+packetLen(0x0871, 4) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160106
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20161019
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0872, 12)
+#elif PACKETVER >= 20161005
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160427
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160330
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0872, 36)
+#elif PACKETVER >= 20160211
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20160316
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160309
+packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160302
+packetLen(0x0873, 12) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160224
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160217
+packetLen(0x0873, 5) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160211
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160203
+packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160120
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160113
+packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160106
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20161109
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20161102
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160921
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160913
+packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160907
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160831
+packetLen(0x0874, 26) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160803
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160727
+packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160525
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160518
+packetLen(0x0874, 19) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160427
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160420
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160106
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20161214
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161207
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161019
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161012
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160921
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160913
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160824
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160817
+packetLen(0x0875, 19) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160810
+packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160106
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20161228
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161221
+packetLen(0x0876, 12) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161116
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161109
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160907
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160831
+packetLen(0x0876, 8) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160106
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20160803
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160727
+packetLen(0x0877, 18) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160720
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160713
+packetLen(0x0877, 10) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160414
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160406
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160106
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20161005
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160928
+packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160907
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160831
+packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160810
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160803
+packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160414
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160406
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160330
+packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160323
+packetLen(0x0878, 19) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160113
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160106
+packetLen(0x0878, 36) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20160921
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160913
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160817
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160810
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160414
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160406
+packetLen(0x0879, -1) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160106
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20161116
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20161109
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20161102
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20161026
+packetLen(0x087a, -1) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160921
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160913
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160817
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160810
+packetLen(0x087a, 5) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160420
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160414
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160309
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160302
+packetLen(0x087a, 10) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160224
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160217
+packetLen(0x087a, 19) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160113
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160106
+packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20160720
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160713
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160106
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20161102
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20161026
+packetLen(0x087c, 4) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160907
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160831
+packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160316
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160309
+packetLen(0x087c, 19) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160106
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20160622
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160615
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160608
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160601
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160309
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160302
+packetLen(0x087d, 26) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160106
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20161214
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20161207
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160622
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160615
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160316
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160309
+packetLen(0x087e, 90) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160106
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20161228
+packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161130
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161123
+packetLen(0x087f, 26) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161102
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161026
+packetLen(0x087f, 10) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161005
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160928
+packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160824
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160817
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160810
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160803
+packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160727
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160720
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160622
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160615
+packetLen(0x087f, 90) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160406
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160330
+packetLen(0x087f, 8) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160113
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160106
+packetLen(0x087f, 19) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20161130
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161123
+packetLen(0x0880, 36) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161019
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161012
+packetLen(0x0880, 10) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160629
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160622
+packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160420
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160414
+packetLen(0x0880, 18) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160106
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20161228
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20161221
+packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20161116
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20161109
+packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160810
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160803
+packetLen(0x0881, 18) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160706
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160629
+packetLen(0x0881, 19) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160106
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20161130
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20161123
+packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160106
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20160803
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160727
+packetLen(0x0883, 7) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160720
+packetLen(0x0883, 10) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160713
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160330
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160323
+packetLen(0x0883, 26) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160309
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160302
+packetLen(0x0883, 10) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160106
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20161228
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161221
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160713
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160706
+packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160622
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160615
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160511
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160504
+packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160427
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160420
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160414
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160406
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160302
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160224
+packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160106
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20161228
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161221
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161123
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161116
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160817
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160810
+packetLen(0x0885, 19) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160706
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160629
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160615
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160608
+packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160420
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160414
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160302
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160224
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160113
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160106
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20161228
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161214
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161207
+packetLen(0x0886, 7) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161109
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161102
+packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161026
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161012
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161005
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160824
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160817
+packetLen(0x0886, 7) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160810
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160803
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160713
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160706
+packetLen(0x0886, 4) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160511
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160504
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160217
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160211
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160106
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20161221
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20161214
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160921
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160913
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160810
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160803
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160727
+packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160720
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160622
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160615
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160511
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160504
+packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160106
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20160817
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160810
+packetLen(0x0888, 26) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160803
+packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160622
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160615
+packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160427
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160420
+packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160302
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160224
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160217
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160120
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160113
+packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160106
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20161228
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161026
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161019
+packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161005
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160928
+packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160921
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160913
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160713
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160706
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160615
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160608
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160406
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160330
+packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160113
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160106
+packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20160622
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160615
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160511
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160504
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160113
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160106
+packetLen(0x088a, 26) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20161130
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161123
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161116
+packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160427
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160420
+packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160406
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160330
+packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160120
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160113
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160106
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20161228
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20161221
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160211
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160203
+packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160106
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20161123
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20161116
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160720
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160713
+packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160622
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160615
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160608
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160601
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160511
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160504
+packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160406
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160330
+packetLen(0x088d, 4) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160224
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160217
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160106
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20161116
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161109
+packetLen(0x088e, -1) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161012
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161005
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160928
+packetLen(0x088e, -1) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160921
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160913
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160803
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160727
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160706
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160629
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160106
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20161207
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161130
+packetLen(0x088f, 4) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161123
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161116
+packetLen(0x088f, 19) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161109
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161102
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160921
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160913
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160608
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160601
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160511
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160504
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160224
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160217
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160106
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20161228
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161221
+packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161123
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161116
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161109
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161102
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160817
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160810
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160629
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160622
+packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160511
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160504
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160106
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20161116
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161109
+packetLen(0x0891, 12) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161102
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161026
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161012
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161005
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160921
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160913
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160824
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160817
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160810
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160803
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160727
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160629
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160622
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160615
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160113
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160106
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20161123
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161116
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161026
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161019
+packetLen(0x0892, 4) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161012
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161005
+packetLen(0x0892, 18) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160921
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160913
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160720
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160713
+packetLen(0x0892, 12) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160706
+packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160414
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160406
+packetLen(0x0892, 90) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160120
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160113
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160106
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20161228
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161123
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161116
+packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161019
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161012
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160706
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160629
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160511
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160504
+packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160120
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160113
+packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160106
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20161102
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20161026
+packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160518
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160511
+packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160106
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20161221
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20161214
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160810
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160803
+packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160608
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160601
+packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160414
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160406
+packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160106
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20160330
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160323
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160106
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20161005
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160928
+packetLen(0x0897, 90) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160727
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160720
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160106
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20161116
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20161109
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20161102
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20161026
+packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160622
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160615
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160511
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160504
+packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160414
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160406
+packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160106
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20161228
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161221
+packetLen(0x0899, 4) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161214
+packetLen(0x0899, 36) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160713
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160706
+packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160615
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160608
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160601
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160525
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160224
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160217
+packetLen(0x0899, 4) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160120
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160113
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160106
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20161228
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161221
+packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161116
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161109
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161005
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160928
+packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160727
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160720
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160713
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160629
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160622
+packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160525
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160518
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160330
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160323
+packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160120
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160113
+packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160106
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20161228
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161221
+packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161012
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161005
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160921
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160913
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160615
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160608
+packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160518
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160511
+packetLen(0x089b, 4) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160414
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160406
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160316
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160309
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160106
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20161130
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20161123
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20161012
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20161005
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160921
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160913
+packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160824
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160817
+packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160810
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160803
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160727
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160720
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160601
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160525
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160106
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20161116
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20161109
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160817
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160810
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160511
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160504
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160316
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160309
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160106
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20160727
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160720
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160629
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160622
+packetLen(0x089e, 7) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160420
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160414
+packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160406
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160106
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20161228
+packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161116
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161109
+packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161102
+packetLen(0x089f, 26) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160817
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160810
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160803
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160727
+packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160720
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160713
+packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160106
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20161019
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161012
+packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161005
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160727
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160720
+packetLen(0x08a0, 12) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160224
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160217
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160120
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160113
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160106
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20161214
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20161207
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20161123
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20161116
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160810
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160803
+packetLen(0x08a1, -1) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160414
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160406
+packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160106
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20161228
+packetLen(0x08a2, 10) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161214
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161207
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161123
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161116
+packetLen(0x08a2, 18) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161109
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161102
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161005
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160928
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160803
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160727
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160720
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160713
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160629
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160622
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160106
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20161228
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160106
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20160803
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160727
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160720
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160713
+packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160706
+packetLen(0x08a4, 18) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160106
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20161228
+packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160921
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160913
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160824
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160817
+packetLen(0x08a5, 36) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160713
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160706
+packetLen(0x08a5, 19) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160427
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160420
+packetLen(0x08a5, 36) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160106
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20161221
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20161214
+packetLen(0x08a6, 18) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160824
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160817
+packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160615
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160608
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160120
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160113
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160106
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20161116
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20161109
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160803
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160727
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160608
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160601
+packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160316
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160309
+packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160106
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20160907
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160831
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160713
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160706
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160629
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160622
+packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160106
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20161130
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161123
+packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161005
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160928
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160907
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160831
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160824
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160817
+packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160810
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160525
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160518
+packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160309
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160302
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160217
+packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160106
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20161228
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161221
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161130
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161116
+packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161109
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161102
+packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160727
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160720
+packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160120
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160113
+packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160106
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20161228
+packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160824
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160817
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160106
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20161228
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20161123
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20161116
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160824
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160817
+packetLen(0x08ac, 10) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160608
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160601
+packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160414
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160406
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160224
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160217
+packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160106
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20161228
+packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161214
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161207
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161116
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161109
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161012
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161005
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160824
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160817
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160511
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160504
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160106
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20160907
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160831
+packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160727
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160720
+packetLen(0x0917, 4) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160106
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20161214
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20161207
+packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160713
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160706
+packetLen(0x0918, 90) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160518
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160511
+packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160504
+packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160420
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160414
+packetLen(0x0918, 4) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160406
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160330
+packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160211
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160203
+packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160106
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20161012
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161005
+packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160928
+packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160120
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160113
+packetLen(0x0919, 12) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160106
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20161130
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161123
+packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161102
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161026
+packetLen(0x091a, 19) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160817
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160810
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160309
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160302
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160106
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20161109
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20161102
+packetLen(0x091b, 36) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20161026
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160907
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160831
+packetLen(0x091b, 4) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160817
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160803
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160713
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160706
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160330
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160323
+packetLen(0x091b, 4) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160120
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160113
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160106
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20161228
+packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160913
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160907
+packetLen(0x091c, 36) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160817
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160810
+packetLen(0x091c, 10) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160727
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160720
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160713
+packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160629
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160622
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160106
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20161214
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20161207
+packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160720
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160713
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160601
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160525
+packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160316
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160309
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160224
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160217
+packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160113
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160106
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20161012
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20161005
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160928
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160706
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160629
+packetLen(0x091e, 18) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160106
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+
+// Packet: 0x0920
+#if PACKETVER >= 20161123
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20161116
+packetLen(0x0920, 90) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160518
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160511
+packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160316
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160309
+packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160302
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160224
+packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160217
+packetLen(0x0920, 7) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160106
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20160720
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160713
+packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160511
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160504
+packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160106
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20161109
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20161102
+packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160720
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160713
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160706
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160629
+packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160511
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160504
+packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160420
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160414
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160323
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160316
+packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160309
+packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160203
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160127
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160106
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+
+// Packet: 0x0924
+#if PACKETVER >= 20160713
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160706
+packetLen(0x0924, 10) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160608
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160601
+packetLen(0x0924, 4) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160511
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160504
+packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160120
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160113
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160106
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20161123
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161116
+packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161109
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161102
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160706
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160629
+packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160406
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160330
+packetLen(0x0925, 19) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160106
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20161228
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161221
+packetLen(0x0926, 26) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161130
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161123
+packetLen(0x0926, 19) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161102
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161026
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160817
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160810
+packetLen(0x0926, 4) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160713
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160706
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160629
+packetLen(0x0926, 26) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160330
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160323
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160224
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160217
+packetLen(0x0926, 10) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160106
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20161116
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20161109
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20161005
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160928
+packetLen(0x0927, 10) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160420
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160414
+packetLen(0x0927, 36) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160406
+packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160330
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160323
+packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160309
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160302
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160106
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20161228
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20161221
+packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20161109
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20161102
+packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160921
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160913
+packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160525
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160518
+packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160106
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20161228
+packetLen(0x0929, 10) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160824
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160817
+packetLen(0x0929, -1) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160810
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160803
+packetLen(0x0929, 36) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160713
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160706
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160316
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160309
+packetLen(0x0929, 4) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160302
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160224
+packetLen(0x0929, 5) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160106
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20161130
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161123
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161116
+packetLen(0x092a, 10) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160727
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160720
+packetLen(0x092a, 26) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160406
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160330
+packetLen(0x092a, -1) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160316
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160309
+packetLen(0x092a, -1) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160106
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20161012
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20161005
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160817
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160810
+packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160106
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20161102
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20161026
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160907
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160831
+packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160720
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160713
+packetLen(0x092c, 6) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160601
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160525
+packetLen(0x092c, 18) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160406
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160330
+packetLen(0x092c, 18) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160106
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20161019
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20161012
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20161005
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160928
+packetLen(0x092d, 10) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160824
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160817
+packetLen(0x092d, 90) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160810
+packetLen(0x092d, 8) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160713
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160706
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160629
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160622
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160414
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160406
+packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160309
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160302
+packetLen(0x092d, 4) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160106
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20161228
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20161221
+packetLen(0x092e, 18) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20161214
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20161102
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20161026
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160907
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160831
+packetLen(0x092e, 12) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160803
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160727
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160224
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160217
+packetLen(0x092e, 90) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160106
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20161130
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20161123
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20161109
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20161102
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160629
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160622
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160427
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160420
+packetLen(0x092f, 18) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160309
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160302
+packetLen(0x092f, 90) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160224
+packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160106
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20161228
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161221
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161130
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161123
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161102
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161026
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160824
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160817
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160810
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160803
+packetLen(0x0930, 12) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160406
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160330
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160120
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160113
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160106
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20161207
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161130
+packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161123
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161116
+packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161012
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161005
+packetLen(0x0931, 26) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160720
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160713
+packetLen(0x0931, 10) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160420
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160414
+packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160106
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20161012
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20161005
+packetLen(0x0932, 12) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160810
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160803
+packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160316
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160309
+packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160120
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160113
+packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160106
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20160414
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160406
+packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160330
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160323
+packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160106
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20161228
+packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160831
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160824
+packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160810
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160803
+packetLen(0x0934, 7) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160420
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160414
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160406
+packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160106
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20161228
+packetLen(0x0935, 8) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160921
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160913
+packetLen(0x0935, -1) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160817
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160810
+packetLen(0x0935, 90) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160427
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160420
+packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160106
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20161019
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20161012
+packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160803
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160727
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160629
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160622
+packetLen(0x0936, 19) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160302
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160224
+packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160106
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20161116
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20161109
+packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20161019
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20161012
+packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160810
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160803
+packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160629
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160622
+packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160601
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160525
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160106
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20161228
+packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160302
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160224
+packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160106
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20161019
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20161012
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160824
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160817
+packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160720
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160713
+packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160706
+packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160406
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160330
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160106
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20160921
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160913
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160907
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160831
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160810
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160803
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160106
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20161012
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161005
+packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160727
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160720
+packetLen(0x093b, 5) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160629
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160622
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160615
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160608
+packetLen(0x093b, 4) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160406
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160330
+packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160224
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160217
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160106
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20161123
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161116
+packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161109
+packetLen(0x093c, 36) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160824
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160817
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160330
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160323
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160120
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160113
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160106
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20161228
+packetLen(0x093d, 7) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161221
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161214
+packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160713
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160706
+packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160106
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20160810
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160803
+packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160727
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160720
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160706
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160629
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160622
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160615
+packetLen(0x093e, 26) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160511
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160504
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160224
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160217
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160211
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160203
+packetLen(0x093e, 26) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160106
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20161116
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20161109
+packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160810
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160803
+packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160629
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160622
+packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160106
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20160518
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160511
+packetLen(0x0940, 36) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160504
+packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160427
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160414
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160406
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160211
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160203
+packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160113
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160106
+packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20161130
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20161123
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160511
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160504
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160224
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160217
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160120
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160113
+packetLen(0x0941, -1) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160106
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20161012
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20161005
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160106
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20161228
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161221
+packetLen(0x0943, 10) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161214
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161207
+packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161130
+packetLen(0x0943, 19) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161019
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161012
+packetLen(0x0943, 18) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160817
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160810
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160106
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20161228
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161019
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161012
+packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161005
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160928
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160713
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160706
+packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160106
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20161012
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20161005
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160720
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160713
+packetLen(0x0945, 7) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160706
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160601
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160525
+packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160420
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160414
+packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160309
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160302
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160106
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20161228
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161221
+packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161109
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161102
+packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161026
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161019
+packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160907
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160831
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160803
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160720
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160706
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160622
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160106
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20160720
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160713
+packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160211
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160203
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160106
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20160706
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160629
+packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160622
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160615
+packetLen(0x0948, 7) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160511
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160504
+packetLen(0x0948, 12) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160106
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20161109
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20161102
+packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160921
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160913
+packetLen(0x0949, 26) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160803
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160727
+packetLen(0x0949, 8) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160414
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160406
+packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160106
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20161123
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20161116
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20161012
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20161005
+packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160928
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160921
+packetLen(0x094a, 36) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160913
+packetLen(0x094a, 90) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160907
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160831
+packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160706
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160629
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160622
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160615
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160601
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160525
+packetLen(0x094a, 8) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160224
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160217
+packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160106
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20161228
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20161221
+packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20161102
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20161026
+packetLen(0x094b, 8) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160622
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160615
+packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160106
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20160713
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160706
+packetLen(0x094c, 36) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160302
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160224
+packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160106
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20161130
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20161123
+packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20161012
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20161005
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160727
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160720
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160615
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160608
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160414
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160406
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160120
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160113
+packetLen(0x094d, 19) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160106
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20161005
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160928
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160601
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160525
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160427
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160420
+packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160309
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160302
+packetLen(0x094e, 36) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160106
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20161130
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161123
+packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161019
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161012
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160907
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160831
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160316
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160309
+packetLen(0x094f, 7) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160224
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160217
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160120
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160113
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160106
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20160921
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160913
+packetLen(0x0950, 7) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160907
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160831
+packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160309
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160302
+packetLen(0x0950, 8) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160106
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20161019
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20161012
+packetLen(0x0951, 90) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160803
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160727
+packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160601
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160525
+packetLen(0x0951, 26) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160106
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20161012
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20161005
+packetLen(0x0952, 4) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160921
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160913
+packetLen(0x0952, 19) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160810
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160803
+packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160511
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160504
+packetLen(0x0952, 26) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160106
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20161102
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20161026
+packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20161005
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160928
+packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160727
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160720
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160420
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160414
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160406
+packetLen(0x0953, 36) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160106
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20161207
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161130
+packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161116
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161109
+packetLen(0x0954, 10) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160921
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160913
+packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160907
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160831
+packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160622
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160615
+packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160211
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160203
+packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160106
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20161005
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160928
+packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160810
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160803
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160106
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20161116
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20161109
+packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160810
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160803
+packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160601
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160525
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160316
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160309
+packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160106
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20161123
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20161116
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20161005
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160928
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160907
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160831
+packetLen(0x0957, -1) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160824
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160817
+packetLen(0x0957, 18) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160720
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160713
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160706
+packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160622
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160615
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160309
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160302
+packetLen(0x0957, -1) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160106
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20160713
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160706
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160622
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160615
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160608
+packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160106
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20161207
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20161130
+packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160810
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160803
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160629
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160622
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160106
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20161228
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161221
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161130
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161123
+packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161012
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161005
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160928
+packetLen(0x095a, 4) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160810
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160803
+packetLen(0x095a, 26) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160706
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160629
+packetLen(0x095a, 7) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160309
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160302
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160211
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160203
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160127
+packetLen(0x095a, 36) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160106
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20161130
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161123
+packetLen(0x095b, 7) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161116
+packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161012
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161005
+packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160817
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160810
+packetLen(0x095b, 7) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160727
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160720
+packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160713
+packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160615
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160608
+packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160601
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160511
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160504
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160106
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20161102
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20161026
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20161019
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20161012
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160622
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160615
+packetLen(0x095c, 18) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160427
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160420
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160106
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20161214
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20161207
+packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20161123
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20161116
+packetLen(0x095d, 4) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160414
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160406
+packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160211
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160203
+packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160106
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20161109
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20161102
+packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20161026
+packetLen(0x095e, 90) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160907
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160831
+packetLen(0x095e, 8) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160622
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160615
+packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160316
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160309
+packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160224
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160217
+packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160106
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20160803
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160727
+packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160608
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160601
+packetLen(0x095f, 36) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160414
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160406
+packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160106
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20160907
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160831
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160727
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160720
+packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160309
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160302
+packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160106
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20160622
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160615
+packetLen(0x0961, 12) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160608
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160601
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160309
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160302
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160224
+packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160203
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160127
+packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160106
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20161130
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161123
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161102
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161026
+packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161019
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161012
+packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160921
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160913
+packetLen(0x0962, 4) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160414
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160406
+packetLen(0x0962, 4) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160106
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20161026
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20161019
+packetLen(0x0963, 26) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160921
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160913
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160824
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160817
+packetLen(0x0963, 5) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160106
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20161228
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20161221
+packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20161109
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20161102
+packetLen(0x0964, -1) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160907
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160831
+packetLen(0x0964, 10) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160106
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20161228
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161221
+packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161214
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161207
+packetLen(0x0965, 26) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161109
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161102
+packetLen(0x0965, 10) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160629
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160622
+packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160106
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20161109
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161102
+packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161019
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161012
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160224
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160217
+packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160106
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20161123
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161116
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161019
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161012
+packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161005
+packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160907
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160831
+packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160817
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160810
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160309
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160302
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160224
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160217
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160120
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160113
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160106
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20160706
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160629
+packetLen(0x0968, 10) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160309
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160302
+packetLen(0x0968, 7) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160106
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20160803
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160727
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160720
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160706
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160622
+packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160615
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160608
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160511
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160504
+packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160224
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160217
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160106
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20161221
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20161123
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20161026
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20161019
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160928
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160921
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160913
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160907
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160831
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160824
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160810
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160803
+packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160706
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160629
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160615
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160511
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160504
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160414
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160406
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160309
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160302
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160224
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160217
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160120
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160113
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160106
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+#if PACKETVER >= 20160921
+packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+#elif PACKETVER >= 20160106
+packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+#endif
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+packetLen(0x0a3d, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+#if PACKETVER >= 20160127
+packetLen(0x0a4d, -1)
+#endif
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20160302
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+#if PACKETVER >= 20160302
+packetLen(0x0a4f, -1)
+#endif
+
+// Packet: 0x0a50
+#if PACKETVER >= 20160427
+packetLen(0x0a50, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0a50, 6)
+#endif
+
+// Packet: 0x0a51
+#if PACKETVER >= 20160302
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+#endif
+
+// Packet: 0x0a52
+#if PACKETVER >= 20160316
+packetLen(0x0a52, 20)
+#endif
+
+// Packet: 0x0a53
+#if PACKETVER >= 20160316
+packetLen(0x0a53, 10)
+#endif
+
+// Packet: 0x0a54
+#if PACKETVER >= 20160316
+packetLen(0x0a54, -1)
+#endif
+
+// Packet: 0x0a55
+#if PACKETVER >= 20160316
+packetLen(0x0a55, 2)
+#endif
+
+// Packet: 0x0a56
+#if PACKETVER >= 20160316
+packetLen(0x0a56, 6)
+#endif
+
+// Packet: 0x0a57
+#if PACKETVER >= 20160316
+packetLen(0x0a57, 6)
+#endif
+
+// Packet: 0x0a58
+#if PACKETVER >= 20160316
+packetLen(0x0a58, 8)
+#endif
+
+// Packet: 0x0a59
+#if PACKETVER >= 20160316
+packetLen(0x0a59, -1)
+#endif
+
+// Packet: 0x0a5a
+#if PACKETVER >= 20160316
+packetLen(0x0a5a, 2)
+#endif
+
+// Packet: 0x0a5b
+#if PACKETVER >= 20160316
+packetLen(0x0a5b, 7)
+#endif
+
+// Packet: 0x0a5c
+#if PACKETVER >= 20160316
+packetLen(0x0a5c, 18)
+#endif
+
+// Packet: 0x0a5d
+#if PACKETVER >= 20160316
+packetLen(0x0a5d, 6)
+#endif
+
+// Packet: 0x0a68
+#if PACKETVER >= 20160323
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+#endif
+
+// Packet: 0x0a69
+#if PACKETVER >= 20160323
+packetLen(0x0a69, 6)
+#endif
+
+// Packet: 0x0a6a
+#if PACKETVER >= 20160323
+packetLen(0x0a6a, 12)
+#endif
+
+// Packet: 0x0a6b
+#if PACKETVER >= 20160323
+packetLen(0x0a6b, -1)
+#endif
+
+// Packet: 0x0a6c
+#if PACKETVER >= 20160330
+packetLen(0x0a6c, 7)
+#endif
+
+// Packet: 0x0a6d
+#if PACKETVER >= 20160330
+packetLen(0x0a6d, -1)
+#endif
+
+// Packet: 0x0a6e
+#if PACKETVER >= 20160330
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+#endif
+
+// Packet: 0x0a6f
+#if PACKETVER >= 20160330
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+#endif
+
+// Packet: 0x0a70
+#if PACKETVER >= 20160504
+packetLen(0x0a70, 2)
+#endif
+
+// Packet: 0x0a71
+#if PACKETVER >= 20160504
+packetLen(0x0a71, -1)
+#endif
+
+// Packet: 0x0a72
+#if PACKETVER >= 20160504
+packetLen(0x0a72, 61)
+#endif
+
+// Packet: 0x0a73
+#if PACKETVER >= 20160518
+packetLen(0x0a73, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0a73, 6)
+#endif
+
+// Packet: 0x0a74
+#if PACKETVER >= 20160511
+packetLen(0x0a74, 8)
+#endif
+
+// Packet: 0x0a76
+#if PACKETVER >= 20160518
+packetLen(0x0a76, 80)
+#endif
+
+// Packet: 0x0a77
+#if PACKETVER >= 20160525
+packetLen(0x0a77, 15)
+#endif
+
+// Packet: 0x0a78
+#if PACKETVER >= 20160525
+packetLen(0x0a78, 15)
+#endif
+
+// Packet: 0x0a79
+#if PACKETVER >= 20160601
+packetLen(0x0a79, -1)
+#endif
+
+// Packet: 0x0a7b
+#if PACKETVER >= 20160601
+packetLen(0x0a7b, -1)
+#endif
+
+// Packet: 0x0a7c
+#if PACKETVER >= 20160601
+packetLen(0x0a7c, -1)
+#endif
+
+// Packet: 0x0a7d
+#if PACKETVER >= 20160601
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+#endif
+
+// Packet: 0x0a7e
+#if PACKETVER >= 20160706
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+#elif PACKETVER >= 20160615
+packetLen(0x0a7e, 4) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+#endif
+
+// Packet: 0x0a7f
+#if PACKETVER >= 20160615
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+#endif
+
+// Packet: 0x0a80
+#if PACKETVER >= 20160629
+packetLen(0x0a80, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0a80, 2)
+#endif
+
+// Packet: 0x0a81
+#if PACKETVER >= 20160803
+packetLen(0x0a81, 4)
+#elif PACKETVER >= 20160706
+packetLen(0x0a81, 3)
+#elif PACKETVER >= 20160622
+// removed
+#elif PACKETVER >= 20160615
+packetLen(0x0a81, 3)
+#endif
+
+// Packet: 0x0a82
+#if PACKETVER >= 20160622
+packetLen(0x0a82, 46)
+#endif
+
+// Packet: 0x0a83
+#if PACKETVER >= 20160622
+packetLen(0x0a83, 46)
+#endif
+
+// Packet: 0x0a84
+#if PACKETVER >= 20160622
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+#endif
+
+// Packet: 0x0a85
+#if PACKETVER >= 20160622
+packetLen(0x0a85, 82)
+#endif
+
+// Packet: 0x0a86
+#if PACKETVER >= 20160622
+packetLen(0x0a86, -1)
+#endif
+
+// Packet: 0x0a87
+#if PACKETVER >= 20160713
+packetLen(0x0a87, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0a87, 4)
+#endif
+
+// Packet: 0x0a88
+#if PACKETVER >= 20160622
+packetLen(0x0a88, 2)
+#endif
+
+// Packet: 0x0a89
+#if PACKETVER >= 20160706
+packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+#elif PACKETVER >= 20160629
+packetLen(0x0a89, 32) // ZC_NOTIFY_OFFLINE_STORE
+#endif
+
+// Packet: 0x0a8a
+#if PACKETVER >= 20160629
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+#endif
+
+// Packet: 0x0a8b
+#if PACKETVER >= 20160629
+packetLen(0x0a8b, 2)
+#endif
+
+// Packet: 0x0a8c
+#if PACKETVER >= 20160629
+packetLen(0x0a8c, 2)
+#endif
+
+// Packet: 0x0a8d
+#if PACKETVER >= 20160629
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+#endif
+
+// Packet: 0x0a8e
+#if PACKETVER >= 20160720
+packetLen(0x0a8e, 2)
+#endif
+
+// Packet: 0x0a8f
+#if PACKETVER >= 20160720
+packetLen(0x0a8f, 2)
+#endif
+
+// Packet: 0x0a90
+#if PACKETVER >= 20160720
+packetLen(0x0a90, 3)
+#endif
+
+// Packet: 0x0a91
+#if PACKETVER >= 20160727
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+#endif
+
+// Packet: 0x0a92
+#if PACKETVER >= 20160727
+packetLen(0x0a92, -1)
+#endif
+
+// Packet: 0x0a93
+#if PACKETVER >= 20160727
+packetLen(0x0a93, 3)
+#endif
+
+// Packet: 0x0a94
+#if PACKETVER >= 20160803
+packetLen(0x0a94, 2)
+#endif
+
+// Packet: 0x0a95
+#if PACKETVER >= 20160907
+packetLen(0x0a95, 4)
+#endif
+
+// Packet: 0x0a96
+#if PACKETVER >= 20160921
+packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+#endif
+
+// Packet: 0x0a97
+#if PACKETVER >= 20160928
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+#endif
+
+// Packet: 0x0a98
+#if PACKETVER >= 20160928
+packetLen(0x0a98, 12) // ZC_ALT_EQUIPMENT_EQUIP
+#endif
+
+// Packet: 0x0a99
+#if PACKETVER >= 20160928
+packetLen(0x0a99, 8)
+#endif
+
+// Packet: 0x0a9a
+#if PACKETVER >= 20160928
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+#endif
+
+// Packet: 0x0a9b
+#if PACKETVER >= 20160928
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+#endif
+
+// Packet: 0x0a9c
+#if PACKETVER >= 20160928
+packetLen(0x0a9c, 2)
+#endif
+
+// Packet: 0x0a9d
+#if PACKETVER >= 20160928
+packetLen(0x0a9d, 4)
+#endif
+
+// Packet: 0x0a9e
+#if PACKETVER >= 20160928
+packetLen(0x0a9e, 2)
+#endif
+
+// Packet: 0x0a9f
+#if PACKETVER >= 20160928
+packetLen(0x0a9f, 2)
+#endif
+
+// Packet: 0x0aa0
+#if PACKETVER >= 20161005
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+#endif
+
+// Packet: 0x0aa1
+#if PACKETVER >= 20161005
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+#endif
+
+// Packet: 0x0aa2
+#if PACKETVER >= 20161005
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+#endif
+
+// Packet: 0x0aa3
+#if PACKETVER >= 20161005
+packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+#endif
+
+// Packet: 0x0aa4
+#if PACKETVER >= 20161005
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+#endif
+
+// Packet: 0x0aa5
+#if PACKETVER >= 20161026
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+#endif
+
+// Packet: 0x0aa6
+#if PACKETVER >= 20161026
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+#endif
+
+// Packet: 0x0aa7
+#if PACKETVER >= 20161130
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+#endif
+
+// Packet: 0x0aa8
+#if PACKETVER >= 20161130
+packetLen(0x0aa8, 5)
+#endif
+
+// Packet: 0x0aa9
+#if PACKETVER >= 20161130
+packetLen(0x0aa9, -1)
+#endif
+
+// Packet: 0x0aaa
+#if PACKETVER >= 20161130
+packetLen(0x0aaa, -1)
+#endif
+
+// Packet: 0x0aab
+#if PACKETVER >= 20161130
+packetLen(0x0aab, -1)
+#endif
+
+// Packet: 0x0aac
+#if PACKETVER >= 20161207
+packetLen(0x0aac, 67)
+#endif
+
+// Packet: 0x0aad
+#if PACKETVER >= 20161221
+packetLen(0x0aad, 47)
+#endif
+
+// Packet: 0x0aae
+#if PACKETVER >= 20161221
+packetLen(0x0aae, 2)
+#endif
+
+// Packet: 0x0aaf
+#if PACKETVER >= 20161221
+packetLen(0x0aaf, 6)
+#endif
+
+// Packet: 0x0ab0
+#if PACKETVER >= 20161221
+packetLen(0x0ab0, 6)
+#endif
+
+// Packet: 0x0ab1
+#if PACKETVER >= 20161228
+packetLen(0x0ab1, 14)
+#elif PACKETVER >= 20161221
+packetLen(0x0ab1, 10)
+#endif
+
+
+#endif /* COMMON_PACKETS2016_LEN_MAIN_H */
diff --git a/src/common/packets/packets2016_len_re.h b/src/common/packets/packets2016_len_re.h
new file mode 100644
index 000000000..2a665f3f5
--- /dev/null
+++ b/src/common/packets/packets2016_len_re.h
@@ -0,0 +1,9140 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2016_LEN_RE_H
+#define COMMON_PACKETS2016_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20161012
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20161005
+packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160928
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160921
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160913
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160907
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160831
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160824
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160803
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160727
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160706
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160629
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160511
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160427
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160323
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160316
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160224
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160217
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160211
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160203
+packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160127
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160120
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20160106
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20161221
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20161214
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20161026
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20161019
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160928
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160921
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160913
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160907
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160831
+packetLen(0x022d, 90) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160824
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160720
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160713
+packetLen(0x022d, 36) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160706
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160629
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160615
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160608
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160504
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160427
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160420
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160323
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160316
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160309
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160302
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160224
+packetLen(0x022d, 26) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160217
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160211
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160203
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160120
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160113
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20160106
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20161214
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20161207
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160928
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160921
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160913
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160907
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160831
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160824
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160803
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160727
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160629
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160622
+packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160504
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160427
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160323
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160316
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160309
+packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160217
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160211
+packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160127
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160120
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160113
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20160106
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20161221
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161214
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161207
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161123
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161026
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20161019
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160928
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160921
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160913
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160907
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160831
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160824
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160622
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160615
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160525
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160511
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160504
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160427
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160323
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160316
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160309
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160217
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160211
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160203
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160120
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20160106
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20161221
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20161214
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20161116
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20161109
+packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160615
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160608
+packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160601
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160427
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160420
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20160106
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20161228
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161207
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161130
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161123
+packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161026
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161019
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20161005
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160921
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160913
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160907
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160831
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160824
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160706
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160629
+packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160622
+packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160615
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160608
+packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160511
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160504
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160427
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160420
+packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160414
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160406
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160316
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160302
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160224
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160217
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160211
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160203
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160120
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160113
+packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20160106
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20161221
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20161214
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20161130
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20161026
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20161019
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160928
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160921
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160913
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160907
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160831
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160824
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160615
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160511
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160504
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160414
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160406
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160316
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160217
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160120
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160113
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20160106
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20161214
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161207
+packetLen(0x0361, 19) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161130
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161109
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161102
+packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161026
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20161019
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160928
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160921
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160913
+packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160907
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160831
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160824
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160817
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160810
+packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160629
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160622
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160504
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160427
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160323
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160316
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160309
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160211
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160203
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160127
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160120
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20160106
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20161228
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161221
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161207
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161130
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161123
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161116
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161109
+packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161026
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20161012
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160928
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160921
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160913
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160907
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160831
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160824
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160803
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160727
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160720
+packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160713
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160706
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160525
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160511
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160504
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160427
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160420
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160414
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160323
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160316
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160224
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160217
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160211
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160203
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160120
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20160106
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20161207
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20161130
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20161102
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20161026
+packetLen(0x0363, 36) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20161019
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160928
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160921
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160913
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160907
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160831
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160824
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160803
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160727
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160720
+packetLen(0x0363, 10) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160713
+packetLen(0x0363, 5) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160706
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160629
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160622
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160615
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160525
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160511
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160504
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160427
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160420
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160414
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160323
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160316
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160217
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160211
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160203
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160120
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20160106
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20161221
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161214
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161207
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161130
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161026
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161019
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20161012
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160928
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160921
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160913
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160907
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160831
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160824
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160817
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160810
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160803
+packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160720
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160713
+packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160622
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160615
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160525
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160511
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160504
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160427
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160414
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160406
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160323
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160316
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160309
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160302
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160224
+packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160217
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160211
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160203
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160120
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20160106
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20161207
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161130
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161116
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161109
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161026
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161019
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20161012
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160928
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160921
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160913
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160907
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160831
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160824
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160727
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160720
+packetLen(0x0365, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160525
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160511
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160504
+packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160427
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160406
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160330
+packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160323
+packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160316
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160224
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160217
+packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160211
+packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160203
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160120
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20160106
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20161228
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161221
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161130
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161116
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161109
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161026
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161019
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20161005
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160928
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160921
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160913
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160907
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160831
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160824
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160629
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160622
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160608
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160511
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160504
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160414
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160330
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160316
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160302
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160224
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160217
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160120
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160113
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20160106
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20161109
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20161102
+packetLen(0x0367, 4) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20160309
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20160302
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20160106
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20161221
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20161130
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20161123
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20161116
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20161026
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20161019
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20161012
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20161005
+packetLen(0x0368, 7) // CZ_REQNAME2
+#elif PACKETVER >= 20160928
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160921
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160913
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160907
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160831
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160824
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160706
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160629
+packetLen(0x0368, -1) // CZ_REQNAME2
+#elif PACKETVER >= 20160615
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160511
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160504
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160414
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160406
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160309
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160302
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160224
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160217
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160120
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20160113
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20160106
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20161221
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161214
+packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161207
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161130
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161123
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161116
+packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161026
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161019
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20161012
+packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160928
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160921
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160913
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160907
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160831
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160824
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160622
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160615
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160511
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160504
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160414
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160406
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160316
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160302
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160224
+packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160217
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160120
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160113
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20160106
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20161221
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20161214
+packetLen(0x0436, 7) // CZ_ENTER2
+#elif PACKETVER >= 20161109
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20161102
+packetLen(0x0436, 7) // CZ_ENTER2
+#elif PACKETVER >= 20161005
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160928
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20160921
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160913
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160907
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160831
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160824
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160803
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160727
+packetLen(0x0436, 90) // CZ_ENTER2
+#elif PACKETVER >= 20160713
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160706
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20160615
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160608
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20160525
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160518
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160504
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160427
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160323
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160316
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160302
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160224
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20160217
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20160211
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160203
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20160120
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20160106
+packetLen(0x0436, 2) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20161221
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20161130
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20161123
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20161026
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20161019
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160928
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160921
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160913
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160907
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160831
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160824
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160817
+packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160629
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160622
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160615
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160608
+packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160511
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160504
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160414
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160406
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160316
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160217
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160211
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160203
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160120
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160113
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20160106
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20161228
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161221
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161130
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161102
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161026
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20161019
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160928
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160921
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160913
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160907
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160831
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160824
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160803
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160727
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160615
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160511
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160504
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160414
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160406
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160316
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160302
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160224
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160217
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160120
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160113
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20160106
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20161207
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20161130
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20161026
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20161019
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160928
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160921
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160913
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160907
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160831
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160817
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160727
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160720
+packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160629
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160622
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160525
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160511
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160504
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160427
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160414
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160406
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160323
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160316
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160217
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160211
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160203
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160120
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20160106
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20161207
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20161130
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20161026
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20161019
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20161012
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160928
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160921
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160913
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160907
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160831
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160824
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160803
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160727
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160615
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160608
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160525
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160511
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160504
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160427
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160323
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160316
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160217
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160211
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160203
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160120
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160113
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20160106
+packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20161207
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161130
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161109
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161102
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161026
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20161019
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160928
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160921
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160913
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160907
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160831
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160824
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160615
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160608
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160525
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160511
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160504
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160427
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160323
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160316
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160309
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160302
+packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160217
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160211
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160203
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160120
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20160106
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20161221
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20161130
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20161026
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20161019
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20161005
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160928
+packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160921
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160913
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160907
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160831
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160824
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160817
+packetLen(0x0811, 4) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160608
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160511
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160504
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160414
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160406
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160316
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160302
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160224
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160217
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160211
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160203
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160120
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160113
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20160106
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20161221
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20161130
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20161026
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20161019
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160928
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160921
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160913
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160907
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160831
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160824
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160615
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160511
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160504
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160414
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160406
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160316
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160302
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160224
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160217
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160120
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160113
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20160106
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20161228
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20161221
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160921
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160913
+packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160608
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160601
+packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20160106
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20161221
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161214
+packetLen(0x0819, 4) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161130
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161026
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161019
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20161012
+packetLen(0x0819, 26) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160928
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160921
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160913
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160907
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160831
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160824
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160817
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160810
+packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160727
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160720
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160615
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160511
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160427
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160420
+packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160414
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160406
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160316
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160309
+packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160302
+packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160224
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160217
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160211
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160203
+packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160120
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160113
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20160106
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20161123
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20161116
+packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20161109
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160907
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160831
+packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160504
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160427
+packetLen(0x0835, 36) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160211
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160203
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20160106
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20161221
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161130
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161109
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161102
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161026
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161019
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161012
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20161005
+packetLen(0x0838, 36) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160928
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160921
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160913
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160907
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160831
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160824
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160817
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160810
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160727
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160720
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160713
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160615
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160511
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160504
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160414
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160406
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160316
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160309
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160302
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160224
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160217
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160120
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160113
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20160106
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20161221
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161130
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161109
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161102
+packetLen(0x083c, 18) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161026
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20161019
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160928
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160921
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160913
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160907
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160831
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160824
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160817
+packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160622
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160615
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160511
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160504
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160414
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160406
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160316
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160309
+packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160302
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160224
+packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160217
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160120
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160113
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20160106
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20161228
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161221
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161214
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161102
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161026
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160601
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160525
+packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160414
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160406
+packetLen(0x085a, 18) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160316
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160309
+packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160106
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20161228
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161221
+packetLen(0x085b, 90) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161019
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161012
+packetLen(0x085b, 4) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160921
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160913
+packetLen(0x085b, 12) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160309
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160302
+packetLen(0x085b, 26) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160120
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160113
+packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160106
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20161130
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161123
+packetLen(0x085c, 90) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160824
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160817
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160706
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160629
+packetLen(0x085c, 90) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160615
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160608
+packetLen(0x085c, 8) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160414
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160406
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160106
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20160817
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160810
+packetLen(0x085d, 12) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160803
+packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160106
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20161228
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20161116
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20161109
+packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160817
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160810
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160706
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160629
+packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160601
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160525
+packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160518
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160511
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160203
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160127
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160106
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20161123
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161116
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161109
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161102
+packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161026
+packetLen(0x085f, 7) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160817
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160810
+packetLen(0x085f, 18) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160713
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160706
+packetLen(0x085f, 26) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160511
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160504
+packetLen(0x085f, 7) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160316
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160309
+packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160106
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20160817
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160810
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160720
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160713
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160706
+packetLen(0x0860, 7) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160629
+packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160106
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20161130
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161123
+packetLen(0x0861, 5) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161102
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161026
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160706
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160629
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160622
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160302
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160224
+packetLen(0x0861, 19) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160113
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160106
+packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20161221
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20161214
+packetLen(0x0862, 26) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20161102
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20161026
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160420
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160414
+packetLen(0x0862, 19) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160106
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20161019
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20161012
+packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20161005
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160706
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160629
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160608
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160601
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160106
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20161123
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161116
+packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161005
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160928
+packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160427
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160420
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160309
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160302
+packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160224
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160217
+packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160120
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160113
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160106
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20161228
+packetLen(0x0865, 90) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161116
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161109
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160921
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160913
+packetLen(0x0865, 6) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160907
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160831
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160720
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160713
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160629
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160622
+packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160309
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160302
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160127
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160120
+packetLen(0x0865, 36) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160106
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20161228
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161221
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160803
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160727
+packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160622
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160615
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160106
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20161214
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161207
+packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160824
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160817
+packetLen(0x0867, 12) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160706
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160629
+packetLen(0x0867, 36) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160622
+packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160601
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160525
+packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160406
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160330
+packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160323
+packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160309
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160302
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160106
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20161214
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161207
+packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161019
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161012
+packetLen(0x0868, 6) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160803
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160727
+packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160309
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160302
+packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160106
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20161109
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161102
+packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160803
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160727
+packetLen(0x0869, 12) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160720
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160706
+packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160414
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160406
+packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160330
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160323
+packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160106
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20161228
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20161116
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20161109
+packetLen(0x086a, 7) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160601
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160525
+packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160330
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160323
+packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160316
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160309
+packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160113
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160106
+packetLen(0x086a, 6) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20160824
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160817
+packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160713
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160706
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160511
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160504
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160302
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160224
+packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160106
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20161228
+packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20161102
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20161026
+packetLen(0x086c, 12) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160525
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160518
+packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160217
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160211
+packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160203
+packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160113
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160106
+packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20161228
+packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161221
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161214
+packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161116
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161109
+packetLen(0x086d, 10) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161019
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161012
+packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20161005
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160928
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160727
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160720
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160406
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160330
+packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160120
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160113
+packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160106
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20161102
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20161026
+packetLen(0x086e, 8) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160106
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20161130
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161116
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161109
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161102
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160817
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160810
+packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160106
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20161228
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161116
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161109
+packetLen(0x0870, 19) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160907
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160831
+packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160622
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160615
+packetLen(0x0870, 4) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160608
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160601
+packetLen(0x0870, 8) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160427
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160420
+packetLen(0x0870, 4) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160224
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160211
+packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160106
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20161228
+packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161130
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161123
+packetLen(0x0871, 4) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160106
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20161019
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0872, 12)
+#elif PACKETVER >= 20161005
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160427
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160330
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0872, 36)
+#elif PACKETVER >= 20160211
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20160316
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160309
+packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160302
+packetLen(0x0873, 12) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160224
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160217
+packetLen(0x0873, 5) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160211
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160203
+packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160120
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160113
+packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160106
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20161109
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20161102
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160921
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160913
+packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160907
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160831
+packetLen(0x0874, 26) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160803
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160727
+packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160525
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160518
+packetLen(0x0874, 19) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160427
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160420
+packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160106
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20161214
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161207
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161019
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161012
+packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160921
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160913
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160824
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160817
+packetLen(0x0875, 19) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160810
+packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160106
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20161228
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161221
+packetLen(0x0876, 12) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161116
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161109
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160907
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160831
+packetLen(0x0876, 8) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160106
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20160803
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160727
+packetLen(0x0877, 18) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160720
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160713
+packetLen(0x0877, 10) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160414
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160406
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160106
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20161005
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160928
+packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160907
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160831
+packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160810
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160803
+packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160414
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160406
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160330
+packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160323
+packetLen(0x0878, 19) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160113
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160106
+packetLen(0x0878, 36) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20160921
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160913
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160817
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160810
+packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160414
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160406
+packetLen(0x0879, -1) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160106
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20161116
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20161109
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20161102
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20161026
+packetLen(0x087a, -1) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160921
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160913
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160817
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160810
+packetLen(0x087a, 5) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160420
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160414
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160309
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160302
+packetLen(0x087a, 10) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160224
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160217
+packetLen(0x087a, 19) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160113
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160106
+packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20160720
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160713
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160106
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20161102
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20161026
+packetLen(0x087c, 4) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160907
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160831
+packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160316
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160309
+packetLen(0x087c, 19) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160106
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20160622
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160615
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160608
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160601
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160309
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160302
+packetLen(0x087d, 26) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160106
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20161214
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20161207
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160622
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160615
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160316
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160309
+packetLen(0x087e, 90) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160106
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20161228
+packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161130
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161123
+packetLen(0x087f, 26) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161102
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161026
+packetLen(0x087f, 10) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161005
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160928
+packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160824
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160817
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160810
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160803
+packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160727
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160720
+packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160622
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160615
+packetLen(0x087f, 90) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160406
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160330
+packetLen(0x087f, 8) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160113
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160106
+packetLen(0x087f, 19) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20161130
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161123
+packetLen(0x0880, 36) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161019
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161012
+packetLen(0x0880, 10) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160629
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160622
+packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160420
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160414
+packetLen(0x0880, 18) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160106
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20161228
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20161221
+packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20161116
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20161109
+packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160810
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160803
+packetLen(0x0881, 18) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160706
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160629
+packetLen(0x0881, 19) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160106
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20161130
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20161123
+packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160106
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20160803
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160727
+packetLen(0x0883, 7) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160720
+packetLen(0x0883, 10) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160713
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160330
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160323
+packetLen(0x0883, 26) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160309
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160302
+packetLen(0x0883, 10) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160106
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20161228
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20161221
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160713
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160706
+packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160622
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160615
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160511
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160504
+packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160427
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160420
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160414
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160406
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160302
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160224
+packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20160106
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20161228
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161221
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161123
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20161116
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160817
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160810
+packetLen(0x0885, 19) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160706
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160629
+packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160615
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160608
+packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160420
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160414
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160302
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160224
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160113
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20160106
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20161228
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161214
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161207
+packetLen(0x0886, 7) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161109
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161102
+packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161026
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161012
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20161005
+packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160824
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160817
+packetLen(0x0886, 7) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160810
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160803
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160713
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160706
+packetLen(0x0886, 4) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160511
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160504
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160217
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160211
+packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20160106
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20161221
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20161214
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160921
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160913
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160810
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160803
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160727
+packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160720
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160622
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160615
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160511
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160504
+packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20160106
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20160817
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160810
+packetLen(0x0888, 26) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160803
+packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160622
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160615
+packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160427
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160420
+packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160302
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160224
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160217
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160120
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160113
+packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20160106
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20161228
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161026
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161019
+packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20161005
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160928
+packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160921
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160913
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160713
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160706
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160615
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160608
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160406
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160330
+packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160113
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20160106
+packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20160622
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160615
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160511
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160504
+packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160113
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20160106
+packetLen(0x088a, 26) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20161130
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161123
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20161116
+packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160427
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160420
+packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160406
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160330
+packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160120
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160113
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20160106
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20161228
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20161221
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160211
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160203
+packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20160106
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20161123
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20161116
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160720
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160713
+packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160622
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160615
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160608
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160601
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160511
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160504
+packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160406
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160330
+packetLen(0x088d, 4) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160224
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160217
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20160106
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20161116
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161109
+packetLen(0x088e, -1) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161012
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20161005
+packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160928
+packetLen(0x088e, -1) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160921
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160913
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160803
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160727
+packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160706
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160629
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20160106
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20161207
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161130
+packetLen(0x088f, 4) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161123
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161116
+packetLen(0x088f, 19) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161109
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20161102
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160921
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160913
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160608
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160601
+packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160511
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160504
+packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160224
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160217
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20160106
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20161228
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161221
+packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161123
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161116
+packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161109
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20161102
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160817
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160810
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160629
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160622
+packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160511
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160504
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20160106
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20161116
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161109
+packetLen(0x0891, 12) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161102
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161026
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161012
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20161005
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160921
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160913
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160824
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160817
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160810
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160803
+packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160727
+packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160629
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160622
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160615
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160113
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20160106
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20161123
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161116
+packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161026
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161019
+packetLen(0x0892, 4) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161012
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20161005
+packetLen(0x0892, 18) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160921
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160913
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160720
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160713
+packetLen(0x0892, 12) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160706
+packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160414
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160406
+packetLen(0x0892, 90) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160120
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160113
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20160106
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20161228
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161123
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161116
+packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161019
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20161012
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160706
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160629
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160511
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160504
+packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160120
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160113
+packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20160106
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20161102
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20161026
+packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160518
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160511
+packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20160106
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20161221
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20161214
+packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160810
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160803
+packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160608
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160601
+packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160414
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160406
+packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20160106
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20160330
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160323
+packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20160106
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20161005
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160928
+packetLen(0x0897, 90) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160727
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160720
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20160106
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20161116
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20161109
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20161102
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20161026
+packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160622
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160615
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160511
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160504
+packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160414
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160406
+packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20160106
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20161228
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161221
+packetLen(0x0899, 4) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20161214
+packetLen(0x0899, 36) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160713
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160706
+packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160615
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160608
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160601
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160525
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160224
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160217
+packetLen(0x0899, 4) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160120
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160113
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20160106
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20161228
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161221
+packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161116
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161109
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20161005
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160928
+packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160727
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160720
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160713
+packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160629
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160622
+packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160525
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160518
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160330
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160323
+packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160120
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160113
+packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20160106
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20161228
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161221
+packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161012
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20161005
+packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160921
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160913
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160615
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160608
+packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160518
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160511
+packetLen(0x089b, 4) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160414
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160406
+packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160316
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160309
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20160106
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20161130
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20161123
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20161012
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20161005
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160921
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160913
+packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160824
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160817
+packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160810
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160803
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160727
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160720
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160601
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160525
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20160106
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20161116
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20161109
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160817
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160810
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160511
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160504
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160316
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160309
+packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20160106
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20160727
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160720
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160629
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160622
+packetLen(0x089e, 7) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160420
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160414
+packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160406
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20160106
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20161228
+packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161116
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161109
+packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20161102
+packetLen(0x089f, 26) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160817
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160810
+packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160803
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160727
+packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160720
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160713
+packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20160106
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20161019
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161012
+packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20161005
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160727
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160720
+packetLen(0x08a0, 12) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160224
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160217
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160120
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160113
+packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20160106
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20161214
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20161207
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20161123
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20161116
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160810
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160803
+packetLen(0x08a1, -1) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160414
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160406
+packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20160106
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20161228
+packetLen(0x08a2, 10) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161214
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161207
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161123
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161116
+packetLen(0x08a2, 18) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161109
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161102
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20161005
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160928
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160803
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160727
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160720
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160713
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160629
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160622
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20160106
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20161228
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20160106
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20160803
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160727
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160720
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160713
+packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160706
+packetLen(0x08a4, 18) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20160106
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20161228
+packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160921
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160913
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160824
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160817
+packetLen(0x08a5, 36) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160713
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160706
+packetLen(0x08a5, 19) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160427
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160420
+packetLen(0x08a5, 36) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20160106
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20161221
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20161214
+packetLen(0x08a6, 18) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160824
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160817
+packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160615
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160608
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160120
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160113
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20160106
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20161116
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20161109
+packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160803
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160727
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160608
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160601
+packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160316
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160309
+packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20160106
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20160907
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160831
+packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160713
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160706
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160629
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160622
+packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20160106
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20161130
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161123
+packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20161005
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160928
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160907
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160831
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160824
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160817
+packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160810
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160525
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160518
+packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160309
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160302
+packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160217
+packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20160106
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20161228
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161221
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161130
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161116
+packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161109
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20161102
+packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160727
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160720
+packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160120
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160113
+packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20160106
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20161228
+packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160824
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160817
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20160106
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20161228
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20161123
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20161116
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160824
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160817
+packetLen(0x08ac, 10) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160608
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160601
+packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160414
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160406
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160224
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160217
+packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20160106
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20161228
+packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161214
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161207
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161116
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161109
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161012
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20161005
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160824
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160817
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160511
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160504
+packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20160106
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20160907
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160831
+packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160727
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160720
+packetLen(0x0917, 4) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160106
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20161214
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20161207
+packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160713
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160706
+packetLen(0x0918, 90) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160518
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160511
+packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160504
+packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160420
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160414
+packetLen(0x0918, 4) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160406
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160330
+packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160211
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160203
+packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160106
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20161012
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161005
+packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160928
+packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160120
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160113
+packetLen(0x0919, 12) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160106
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20161130
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161123
+packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161102
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161026
+packetLen(0x091a, 19) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160817
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160810
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160309
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160302
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160106
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20161109
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20161102
+packetLen(0x091b, 36) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20161026
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160907
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160831
+packetLen(0x091b, 4) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160817
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160803
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160713
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160706
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160330
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160323
+packetLen(0x091b, 4) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160120
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160113
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20160106
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20161228
+packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160913
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160907
+packetLen(0x091c, 36) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160817
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160810
+packetLen(0x091c, 10) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160727
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160720
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160713
+packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160629
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160622
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20160106
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20161214
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20161207
+packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160720
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160713
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160601
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160525
+packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160316
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160309
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160224
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160217
+packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160113
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160106
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20161012
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20161005
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160928
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160706
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160629
+packetLen(0x091e, 18) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160106
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+
+// Packet: 0x0920
+#if PACKETVER >= 20161123
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20161116
+packetLen(0x0920, 90) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160518
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160511
+packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160316
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160309
+packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160302
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160224
+packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160217
+packetLen(0x0920, 7) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160106
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20160720
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160713
+packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160511
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160504
+packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160106
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20161109
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20161102
+packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160720
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160713
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160706
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160629
+packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160511
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160504
+packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160420
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160414
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160323
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160316
+packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160309
+packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160203
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160127
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160106
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+
+// Packet: 0x0924
+#if PACKETVER >= 20160713
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160706
+packetLen(0x0924, 10) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160608
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160601
+packetLen(0x0924, 4) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160511
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160504
+packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160120
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160113
+packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160106
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20161123
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161116
+packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161109
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161102
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160706
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160629
+packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160406
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160330
+packetLen(0x0925, 19) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160106
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20161228
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161221
+packetLen(0x0926, 26) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161130
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161123
+packetLen(0x0926, 19) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161102
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20161026
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160817
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160810
+packetLen(0x0926, 4) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160713
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160706
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160629
+packetLen(0x0926, 26) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160330
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160323
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160224
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160217
+packetLen(0x0926, 10) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160106
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20161116
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20161109
+packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20161005
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160928
+packetLen(0x0927, 10) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160420
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160414
+packetLen(0x0927, 36) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160406
+packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160330
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160323
+packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160309
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160302
+packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160106
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20161228
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20161221
+packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20161109
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20161102
+packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160921
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160913
+packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160525
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160518
+packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160106
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20161228
+packetLen(0x0929, 10) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160824
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160817
+packetLen(0x0929, -1) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160810
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160803
+packetLen(0x0929, 36) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160713
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160706
+packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160316
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160309
+packetLen(0x0929, 4) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160302
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160224
+packetLen(0x0929, 5) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160106
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20161130
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161123
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161116
+packetLen(0x092a, 10) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160727
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160720
+packetLen(0x092a, 26) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160406
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160330
+packetLen(0x092a, -1) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160316
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160309
+packetLen(0x092a, -1) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160106
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20161012
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20161005
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160817
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160810
+packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160106
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20161102
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20161026
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160907
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160831
+packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160720
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160713
+packetLen(0x092c, 6) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160601
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160525
+packetLen(0x092c, 18) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160406
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160330
+packetLen(0x092c, 18) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160106
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20161019
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20161012
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20161005
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160928
+packetLen(0x092d, 10) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160824
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160817
+packetLen(0x092d, 90) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160810
+packetLen(0x092d, 8) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160713
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160706
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160629
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160622
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160414
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160406
+packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160309
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160302
+packetLen(0x092d, 4) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160106
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20161228
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20161221
+packetLen(0x092e, 18) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20161214
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20161102
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20161026
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160907
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160831
+packetLen(0x092e, 12) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160803
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160727
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160224
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160217
+packetLen(0x092e, 90) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160106
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20161130
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20161123
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20161109
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20161102
+packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160629
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160622
+packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160427
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160420
+packetLen(0x092f, 18) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160309
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160302
+packetLen(0x092f, 90) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160224
+packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160106
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20161228
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161221
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161130
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161123
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161102
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161026
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160824
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160817
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160810
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160803
+packetLen(0x0930, 12) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160406
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160330
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160120
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160113
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160106
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20161207
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161130
+packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161123
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161116
+packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161012
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161005
+packetLen(0x0931, 26) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160720
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160713
+packetLen(0x0931, 10) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160420
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160414
+packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160106
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20161012
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20161005
+packetLen(0x0932, 12) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160810
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160803
+packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160316
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160309
+packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160120
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160113
+packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160106
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20160414
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160406
+packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160330
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160323
+packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160106
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20161228
+packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160831
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160824
+packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160810
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160803
+packetLen(0x0934, 7) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160420
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160414
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160406
+packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160106
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20161228
+packetLen(0x0935, 8) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160921
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160913
+packetLen(0x0935, -1) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160817
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160810
+packetLen(0x0935, 90) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160427
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160420
+packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160106
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20161019
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20161012
+packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160803
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160727
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160629
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160622
+packetLen(0x0936, 19) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160302
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160224
+packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160106
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20161116
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20161109
+packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20161019
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20161012
+packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160810
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160803
+packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160629
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160622
+packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160601
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160525
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160106
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20161228
+packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160302
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160224
+packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160106
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20161019
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20161012
+packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160824
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160817
+packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160720
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160713
+packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160706
+packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160406
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160330
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160106
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20160921
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160913
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160907
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160831
+packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160810
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160803
+packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160106
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20161012
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161005
+packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160727
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160720
+packetLen(0x093b, 5) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160629
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160622
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160615
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160608
+packetLen(0x093b, 4) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160406
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160330
+packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160224
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160217
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160106
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20161123
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161116
+packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161109
+packetLen(0x093c, 36) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160824
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160817
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160330
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160323
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160120
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160113
+packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160106
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20161228
+packetLen(0x093d, 7) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161221
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161214
+packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160713
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160706
+packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160106
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20160810
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160803
+packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160727
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160720
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160706
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160629
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160622
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160615
+packetLen(0x093e, 26) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160511
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160504
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160224
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160217
+packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160211
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160203
+packetLen(0x093e, 26) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160106
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20161116
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20161109
+packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160810
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160803
+packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160629
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160622
+packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160106
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20160518
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160511
+packetLen(0x0940, 36) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160504
+packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160427
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160414
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160406
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160211
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160203
+packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160113
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160106
+packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20161130
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20161123
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160511
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160504
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160224
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160217
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160120
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160113
+packetLen(0x0941, -1) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20160106
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20161012
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20161005
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20160106
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20161228
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161221
+packetLen(0x0943, 10) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161214
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161207
+packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161130
+packetLen(0x0943, 19) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161019
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20161012
+packetLen(0x0943, 18) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160817
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160810
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20160106
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20161228
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161019
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161012
+packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20161005
+packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160928
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160713
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160706
+packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20160106
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20161012
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20161005
+packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160720
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160713
+packetLen(0x0945, 7) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160706
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160601
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160525
+packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160420
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160414
+packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160309
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160302
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20160106
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20161228
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161221
+packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161109
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161102
+packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161026
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20161019
+packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160907
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160831
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160803
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160720
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160706
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160622
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20160106
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20160720
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160713
+packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160211
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160203
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20160106
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20160706
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160629
+packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160622
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160615
+packetLen(0x0948, 7) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160511
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160504
+packetLen(0x0948, 12) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20160106
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20161109
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20161102
+packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160921
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160913
+packetLen(0x0949, 26) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160803
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160727
+packetLen(0x0949, 8) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160414
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160406
+packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20160106
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20161123
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20161116
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20161012
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20161005
+packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160928
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160921
+packetLen(0x094a, 36) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160913
+packetLen(0x094a, 90) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160907
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160831
+packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160706
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160629
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160622
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160615
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160601
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160525
+packetLen(0x094a, 8) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160224
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160217
+packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20160106
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20161228
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20161221
+packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20161102
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20161026
+packetLen(0x094b, 8) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160622
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160615
+packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20160106
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20160713
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160706
+packetLen(0x094c, 36) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160302
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160224
+packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20160106
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20161130
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20161123
+packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20161012
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20161005
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160727
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160720
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160615
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160608
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160414
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160406
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160120
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160113
+packetLen(0x094d, 19) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20160106
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20161005
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160928
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160601
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160525
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160427
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160420
+packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160309
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160302
+packetLen(0x094e, 36) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20160106
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20161130
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161123
+packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161019
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20161012
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160907
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160831
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160316
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160309
+packetLen(0x094f, 7) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160224
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160217
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160120
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160113
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20160106
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20160921
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160913
+packetLen(0x0950, 7) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160907
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160831
+packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160309
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160302
+packetLen(0x0950, 8) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20160106
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20161019
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20161012
+packetLen(0x0951, 90) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160803
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160727
+packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160601
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160525
+packetLen(0x0951, 26) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20160106
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20161012
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20161005
+packetLen(0x0952, 4) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160921
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160913
+packetLen(0x0952, 19) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160810
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160803
+packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160511
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160504
+packetLen(0x0952, 26) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20160106
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20161102
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20161026
+packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20161005
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160928
+packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160727
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160720
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160420
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160414
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160406
+packetLen(0x0953, 36) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20160106
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20161207
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161130
+packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161116
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20161109
+packetLen(0x0954, 10) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160921
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160913
+packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160907
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160831
+packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160622
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160615
+packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160211
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160203
+packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20160106
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20161005
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160928
+packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160810
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160803
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20160106
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20161116
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20161109
+packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160810
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160803
+packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160601
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160525
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160316
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160309
+packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20160106
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20161123
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20161116
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20161005
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160928
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160907
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160831
+packetLen(0x0957, -1) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160824
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160817
+packetLen(0x0957, 18) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160720
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160713
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160706
+packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160622
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160615
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160309
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160302
+packetLen(0x0957, -1) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20160106
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20160713
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160706
+packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160622
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160615
+packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160608
+packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20160106
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20161207
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20161130
+packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160810
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160803
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160629
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160622
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20160106
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20161228
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161221
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161130
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161123
+packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161012
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20161005
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160928
+packetLen(0x095a, 4) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160810
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160803
+packetLen(0x095a, 26) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160706
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160629
+packetLen(0x095a, 7) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160309
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160302
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160211
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160203
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160127
+packetLen(0x095a, 36) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20160106
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20161130
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161123
+packetLen(0x095b, 7) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161116
+packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161012
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20161005
+packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160817
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160810
+packetLen(0x095b, 7) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160727
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160720
+packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160713
+packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160615
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160608
+packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160601
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160511
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160504
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20160106
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20161102
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20161026
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20161019
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20161012
+packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160622
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160615
+packetLen(0x095c, 18) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160427
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160420
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20160106
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20161214
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20161207
+packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20161123
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20161116
+packetLen(0x095d, 4) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160414
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160406
+packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160211
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160203
+packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20160106
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20161109
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20161102
+packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20161026
+packetLen(0x095e, 90) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160907
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160831
+packetLen(0x095e, 8) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160622
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160615
+packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160316
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160309
+packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160224
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160217
+packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20160106
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20160803
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160727
+packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160608
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160601
+packetLen(0x095f, 36) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160414
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160406
+packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20160106
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20160907
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160831
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160727
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160720
+packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160309
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160302
+packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20160106
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20160622
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160615
+packetLen(0x0961, 12) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160608
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160601
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160309
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160302
+packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160224
+packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160203
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160127
+packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20160106
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20161130
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161123
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161102
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161026
+packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161019
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20161012
+packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160921
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160913
+packetLen(0x0962, 4) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160414
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160406
+packetLen(0x0962, 4) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20160106
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20161026
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20161019
+packetLen(0x0963, 26) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160921
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160913
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160824
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160817
+packetLen(0x0963, 5) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20160106
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20161228
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20161221
+packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20161109
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20161102
+packetLen(0x0964, -1) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160907
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160831
+packetLen(0x0964, 10) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20160106
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20161228
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161221
+packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161214
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161207
+packetLen(0x0965, 26) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161109
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20161102
+packetLen(0x0965, 10) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160629
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160622
+packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20160106
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20161109
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161102
+packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161019
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20161012
+packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160224
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160217
+packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20160106
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20161123
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161116
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161019
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161012
+packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20161005
+packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160907
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160831
+packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160817
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160810
+packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160309
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160302
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160224
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160217
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160120
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160113
+packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20160106
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20160706
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160629
+packetLen(0x0968, 10) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160309
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160302
+packetLen(0x0968, 7) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20160106
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20160803
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160727
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160720
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160706
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160622
+packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160615
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160608
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160511
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160504
+packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160224
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160217
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20160106
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20161221
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20161123
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20161026
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20161019
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160928
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160921
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160913
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160907
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160831
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160824
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160810
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160803
+packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160706
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160629
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160615
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160511
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160504
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160414
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160406
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160309
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160302
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160224
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160217
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160120
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160113
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20160106
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+#if PACKETVER >= 20160921
+packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+#elif PACKETVER >= 20160106
+packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+#endif
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+packetLen(0x0a3d, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+#if PACKETVER >= 20160127
+packetLen(0x0a4d, -1)
+#endif
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20160302
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+#if PACKETVER >= 20160302
+packetLen(0x0a4f, -1)
+#endif
+
+// Packet: 0x0a50
+#if PACKETVER >= 20160427
+packetLen(0x0a50, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0a50, 6)
+#endif
+
+// Packet: 0x0a51
+#if PACKETVER >= 20160302
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+#endif
+
+// Packet: 0x0a52
+#if PACKETVER >= 20160316
+packetLen(0x0a52, 20)
+#endif
+
+// Packet: 0x0a53
+#if PACKETVER >= 20160316
+packetLen(0x0a53, 10)
+#endif
+
+// Packet: 0x0a54
+#if PACKETVER >= 20160316
+packetLen(0x0a54, -1)
+#endif
+
+// Packet: 0x0a55
+#if PACKETVER >= 20160316
+packetLen(0x0a55, 2)
+#endif
+
+// Packet: 0x0a56
+#if PACKETVER >= 20160316
+packetLen(0x0a56, 6)
+#endif
+
+// Packet: 0x0a57
+#if PACKETVER >= 20160316
+packetLen(0x0a57, 6)
+#endif
+
+// Packet: 0x0a58
+#if PACKETVER >= 20160316
+packetLen(0x0a58, 8)
+#endif
+
+// Packet: 0x0a59
+#if PACKETVER >= 20160316
+packetLen(0x0a59, -1)
+#endif
+
+// Packet: 0x0a5a
+#if PACKETVER >= 20160316
+packetLen(0x0a5a, 2)
+#endif
+
+// Packet: 0x0a5b
+#if PACKETVER >= 20160316
+packetLen(0x0a5b, 7)
+#endif
+
+// Packet: 0x0a5c
+#if PACKETVER >= 20160316
+packetLen(0x0a5c, 18)
+#endif
+
+// Packet: 0x0a5d
+#if PACKETVER >= 20160316
+packetLen(0x0a5d, 6)
+#endif
+
+// Packet: 0x0a68
+#if PACKETVER >= 20160323
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+#endif
+
+// Packet: 0x0a69
+#if PACKETVER >= 20160323
+packetLen(0x0a69, 6)
+#endif
+
+// Packet: 0x0a6a
+#if PACKETVER >= 20160323
+packetLen(0x0a6a, 12)
+#endif
+
+// Packet: 0x0a6b
+#if PACKETVER >= 20160323
+packetLen(0x0a6b, -1)
+#endif
+
+// Packet: 0x0a6c
+#if PACKETVER >= 20160330
+packetLen(0x0a6c, 7)
+#endif
+
+// Packet: 0x0a6d
+#if PACKETVER >= 20160330
+packetLen(0x0a6d, -1)
+#endif
+
+// Packet: 0x0a6e
+#if PACKETVER >= 20160330
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+#endif
+
+// Packet: 0x0a6f
+#if PACKETVER >= 20160330
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+#endif
+
+// Packet: 0x0a70
+#if PACKETVER >= 20160504
+packetLen(0x0a70, 2)
+#endif
+
+// Packet: 0x0a71
+#if PACKETVER >= 20160504
+packetLen(0x0a71, -1)
+#endif
+
+// Packet: 0x0a72
+#if PACKETVER >= 20160504
+packetLen(0x0a72, 61)
+#endif
+
+// Packet: 0x0a73
+#if PACKETVER >= 20160518
+packetLen(0x0a73, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0a73, 6)
+#endif
+
+// Packet: 0x0a74
+#if PACKETVER >= 20160511
+packetLen(0x0a74, 8)
+#endif
+
+// Packet: 0x0a76
+#if PACKETVER >= 20160518
+packetLen(0x0a76, 80)
+#endif
+
+// Packet: 0x0a77
+#if PACKETVER >= 20160525
+packetLen(0x0a77, 15)
+#endif
+
+// Packet: 0x0a78
+#if PACKETVER >= 20160525
+packetLen(0x0a78, 15)
+#endif
+
+// Packet: 0x0a79
+#if PACKETVER >= 20160601
+packetLen(0x0a79, -1)
+#endif
+
+// Packet: 0x0a7b
+#if PACKETVER >= 20160601
+packetLen(0x0a7b, -1)
+#endif
+
+// Packet: 0x0a7c
+#if PACKETVER >= 20160601
+packetLen(0x0a7c, -1)
+#endif
+
+// Packet: 0x0a7d
+#if PACKETVER >= 20160601
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+#endif
+
+// Packet: 0x0a7e
+#if PACKETVER >= 20160706
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+#elif PACKETVER >= 20160615
+packetLen(0x0a7e, 4) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+#endif
+
+// Packet: 0x0a7f
+#if PACKETVER >= 20160615
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+#endif
+
+// Packet: 0x0a80
+#if PACKETVER >= 20160629
+packetLen(0x0a80, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0a80, 2)
+#endif
+
+// Packet: 0x0a81
+#if PACKETVER >= 20160803
+packetLen(0x0a81, 4)
+#elif PACKETVER >= 20160706
+packetLen(0x0a81, 3)
+#elif PACKETVER >= 20160622
+// removed
+#elif PACKETVER >= 20160615
+packetLen(0x0a81, 3)
+#endif
+
+// Packet: 0x0a82
+#if PACKETVER >= 20160622
+packetLen(0x0a82, 46)
+#endif
+
+// Packet: 0x0a83
+#if PACKETVER >= 20160622
+packetLen(0x0a83, 46)
+#endif
+
+// Packet: 0x0a84
+#if PACKETVER >= 20160622
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+#endif
+
+// Packet: 0x0a85
+#if PACKETVER >= 20160622
+packetLen(0x0a85, 82)
+#endif
+
+// Packet: 0x0a86
+#if PACKETVER >= 20160622
+packetLen(0x0a86, -1)
+#endif
+
+// Packet: 0x0a87
+#if PACKETVER >= 20160713
+packetLen(0x0a87, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0a87, 4)
+#endif
+
+// Packet: 0x0a88
+#if PACKETVER >= 20160622
+packetLen(0x0a88, 2)
+#endif
+
+// Packet: 0x0a89
+#if PACKETVER >= 20160706
+packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+#elif PACKETVER >= 20160629
+packetLen(0x0a89, 32) // ZC_NOTIFY_OFFLINE_STORE
+#endif
+
+// Packet: 0x0a8a
+#if PACKETVER >= 20160629
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+#endif
+
+// Packet: 0x0a8b
+#if PACKETVER >= 20160629
+packetLen(0x0a8b, 2)
+#endif
+
+// Packet: 0x0a8c
+#if PACKETVER >= 20160629
+packetLen(0x0a8c, 2)
+#endif
+
+// Packet: 0x0a8d
+#if PACKETVER >= 20160629
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+#endif
+
+// Packet: 0x0a8e
+#if PACKETVER >= 20160720
+packetLen(0x0a8e, 2)
+#endif
+
+// Packet: 0x0a8f
+#if PACKETVER >= 20160720
+packetLen(0x0a8f, 2)
+#endif
+
+// Packet: 0x0a90
+#if PACKETVER >= 20160720
+packetLen(0x0a90, 3)
+#endif
+
+// Packet: 0x0a91
+#if PACKETVER >= 20160727
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+#endif
+
+// Packet: 0x0a92
+#if PACKETVER >= 20160727
+packetLen(0x0a92, -1)
+#endif
+
+// Packet: 0x0a93
+#if PACKETVER >= 20160727
+packetLen(0x0a93, 3)
+#endif
+
+// Packet: 0x0a94
+#if PACKETVER >= 20160803
+packetLen(0x0a94, 2)
+#endif
+
+// Packet: 0x0a95
+#if PACKETVER >= 20160907
+packetLen(0x0a95, 4)
+#endif
+
+// Packet: 0x0a96
+#if PACKETVER >= 20160921
+packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+#endif
+
+// Packet: 0x0a97
+#if PACKETVER >= 20160928
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+#endif
+
+// Packet: 0x0a98
+#if PACKETVER >= 20160928
+packetLen(0x0a98, 12) // ZC_ALT_EQUIPMENT_EQUIP
+#endif
+
+// Packet: 0x0a99
+#if PACKETVER >= 20160928
+packetLen(0x0a99, 8)
+#endif
+
+// Packet: 0x0a9a
+#if PACKETVER >= 20160928
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+#endif
+
+// Packet: 0x0a9b
+#if PACKETVER >= 20160928
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+#endif
+
+// Packet: 0x0a9c
+#if PACKETVER >= 20160928
+packetLen(0x0a9c, 2)
+#endif
+
+// Packet: 0x0a9d
+#if PACKETVER >= 20160928
+packetLen(0x0a9d, 4)
+#endif
+
+// Packet: 0x0a9e
+#if PACKETVER >= 20160928
+packetLen(0x0a9e, 2)
+#endif
+
+// Packet: 0x0a9f
+#if PACKETVER >= 20160928
+packetLen(0x0a9f, 2)
+#endif
+
+// Packet: 0x0aa0
+#if PACKETVER >= 20161005
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+#endif
+
+// Packet: 0x0aa1
+#if PACKETVER >= 20161005
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+#endif
+
+// Packet: 0x0aa2
+#if PACKETVER >= 20161005
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+#endif
+
+// Packet: 0x0aa3
+#if PACKETVER >= 20161005
+packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+#endif
+
+// Packet: 0x0aa4
+#if PACKETVER >= 20161005
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+#endif
+
+// Packet: 0x0aa5
+#if PACKETVER >= 20161026
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+#endif
+
+// Packet: 0x0aa6
+#if PACKETVER >= 20161026
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+#endif
+
+// Packet: 0x0aa7
+#if PACKETVER >= 20161130
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+#endif
+
+// Packet: 0x0aa8
+#if PACKETVER >= 20161130
+packetLen(0x0aa8, 5)
+#endif
+
+// Packet: 0x0aa9
+#if PACKETVER >= 20161130
+packetLen(0x0aa9, -1)
+#endif
+
+// Packet: 0x0aaa
+#if PACKETVER >= 20161130
+packetLen(0x0aaa, -1)
+#endif
+
+// Packet: 0x0aab
+#if PACKETVER >= 20161130
+packetLen(0x0aab, -1)
+#endif
+
+// Packet: 0x0aac
+#if PACKETVER >= 20161207
+packetLen(0x0aac, 67)
+#endif
+
+// Packet: 0x0aad
+#if PACKETVER >= 20161221
+packetLen(0x0aad, 47)
+#endif
+
+// Packet: 0x0aae
+#if PACKETVER >= 20161221
+packetLen(0x0aae, 2)
+#endif
+
+// Packet: 0x0aaf
+#if PACKETVER >= 20161221
+packetLen(0x0aaf, 6)
+#endif
+
+// Packet: 0x0ab0
+#if PACKETVER >= 20161221
+packetLen(0x0ab0, 6)
+#endif
+
+// Packet: 0x0ab1
+#if PACKETVER >= 20161228
+packetLen(0x0ab1, 14)
+#elif PACKETVER >= 20161221
+packetLen(0x0ab1, 10)
+#endif
+
+
+#endif /* COMMON_PACKETS2016_LEN_RE_H */
diff --git a/src/common/packets/packets2017_len_main.h b/src/common/packets/packets2017_len_main.h
new file mode 100644
index 000000000..ceca3d781
--- /dev/null
+++ b/src/common/packets/packets2017_len_main.h
@@ -0,0 +1,9103 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2017_LEN_MAIN_H
+#define COMMON_PACKETS2017_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20170906
+packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20170104
+packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20171220
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171213
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171115
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171108
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171101
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171025
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170913
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170906
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170719
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170712
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170705
+packetLen(0x0202, 36) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170628
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170621
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170329
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170322
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170315
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170308
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170228
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170222
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170104
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20171108
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171101
+packetLen(0x022d, 36) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171025
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171011
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171002
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170823
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170816
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170809
+packetLen(0x022d, 4) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170801
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170726
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170719
+packetLen(0x022d, 7) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170712
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170705
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170628
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170329
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170322
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170315
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170308
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170228
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170125
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170118
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170104
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20171101
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20171025
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20171018
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20171011
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170719
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170712
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170705
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170628
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170621
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170614
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170419
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170412
+packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170329
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170322
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170315
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170308
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170104
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20171227
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171220
+packetLen(0x0281, 19) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171213
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171129
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171122
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171101
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171025
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171018
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171011
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170920
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170913
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170906
+packetLen(0x0281, 36) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170830
+packetLen(0x0281, 5) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170823
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170816
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170809
+packetLen(0x0281, 8) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170801
+packetLen(0x0281, 5) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170719
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170712
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170705
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170628
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170517
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170502
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170426
+packetLen(0x0281, 36) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170412
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170405
+packetLen(0x0281, 18) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170329
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170322
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170315
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170308
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170111
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170104
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20171206
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20171129
+packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20171122
+packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20171002
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170927
+packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170913
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170906
+packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170830
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170712
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170705
+packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170322
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170315
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170222
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170215
+packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170208
+packetLen(0x02c4, 4) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170104
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20171227
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171220
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171213
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171206
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171129
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171122
+packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171115
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171101
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170927
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170920
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170913
+packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170906
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170830
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170823
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170809
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170801
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170719
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170621
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170517
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170426
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170412
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170322
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170315
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170308
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170228
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170222
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170215
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170201
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170125
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170104
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20171227
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171220
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171206
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171122
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171115
+packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171101
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171002
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170913
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170906
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170830
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170823
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170809
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170801
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170719
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170621
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170517
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170426
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170412
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170322
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170315
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170308
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170228
+packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170201
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170125
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170104
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20171227
+packetLen(0x0361, 7) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171206
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171129
+packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171101
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171025
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171002
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170927
+packetLen(0x0361, 4) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170830
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170823
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170816
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170809
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170801
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170719
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170712
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170705
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170628
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170621
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170614
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170607
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170531
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170329
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170322
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170315
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170308
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170104
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20171220
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171213
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171101
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171025
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171018
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171011
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171002
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170927
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170830
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170823
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170816
+packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170809
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170801
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170719
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170712
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170705
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170628
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170517
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170502
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170412
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170405
+packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170329
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170322
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170315
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170308
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170228
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170111
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170104
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20171220
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171213
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171206
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171129
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171101
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171025
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171018
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171011
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171002
+packetLen(0x0363, 10) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170906
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170830
+packetLen(0x0363, 18) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170823
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170809
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170801
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170726
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170719
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170712
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170705
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170628
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170517
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170502
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170412
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170405
+packetLen(0x0363, 4) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170322
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170315
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170308
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170111
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170104
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20171220
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20171213
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20171101
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20171011
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170906
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170823
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170816
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170809
+packetLen(0x0364, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170726
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170719
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170712
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170705
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170628
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170621
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170614
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170607
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170531
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170524
+packetLen(0x0364, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170502
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170329
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170322
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170315
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170308
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170125
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170118
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170111
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170104
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20171220
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171213
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171206
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171129
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171122
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171115
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171101
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171025
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171018
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171011
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170830
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170823
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170809
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170801
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170719
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170712
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170705
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170628
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170621
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170517
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170502
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170419
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170412
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170329
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170322
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170315
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170308
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170111
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170104
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20171227
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171220
+packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171129
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171122
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171115
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171101
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171002
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170927
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170913
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170906
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170830
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170823
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170816
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170809
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170801
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170726
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170719
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170628
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170621
+packetLen(0x0366, 18) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170517
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170426
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170412
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170322
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170315
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170308
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170228
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170222
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170215
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170208
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170125
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170104
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20170621
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170614
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170524
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170517
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170322
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170315
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170215
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170208
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170104
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20171227
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20171220
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20171129
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20171122
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20171115
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20171108
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20171101
+packetLen(0x0368, 19) // CZ_REQNAME2
+#elif PACKETVER >= 20171002
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170913
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170906
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170830
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170823
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170809
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170801
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170726
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170719
+packetLen(0x0368, 4) // CZ_REQNAME2
+#elif PACKETVER >= 20170621
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170531
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170524
+packetLen(0x0368, 36) // CZ_REQNAME2
+#elif PACKETVER >= 20170517
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170502
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170412
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170322
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170315
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170308
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170228
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170222
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170215
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170201
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170125
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170104
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20171227
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171220
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171129
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171122
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171115
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171108
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171101
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171002
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170927
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170920
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170913
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170906
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170830
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170823
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170809
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170801
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170726
+packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170719
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170621
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170607
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170531
+packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170517
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170426
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170412
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170405
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170322
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170315
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170308
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170228
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170222
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170215
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170201
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170125
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170104
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20171122
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20171115
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20171101
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20171025
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20171018
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20171011
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170927
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170920
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20170830
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170823
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170719
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170712
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170705
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170628
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170517
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170502
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170329
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170322
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170315
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20170308
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170125
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170118
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20170111
+packetLen(0x0436, 8) // CZ_ENTER2
+#elif PACKETVER >= 20170104
+packetLen(0x0436, 4) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20171227
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171220
+packetLen(0x0437, 18) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171129
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171122
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171115
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171101
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171018
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171011
+packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171002
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170920
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170913
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170906
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170830
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170823
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170809
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170801
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170719
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170621
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170614
+packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170524
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170517
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170426
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170412
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170322
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170315
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170308
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170228
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170222
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170215
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170208
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170125
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170104
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20171227
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171220
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171129
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171122
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171115
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171108
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171101
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171011
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171002
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170913
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170906
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170830
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170823
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170816
+packetLen(0x0438, 7) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170809
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170801
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170726
+packetLen(0x0438, 26) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170719
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170621
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170517
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170426
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170412
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170322
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170315
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170308
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170228
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170222
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170215
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170201
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170125
+packetLen(0x0438, 7) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170118
+packetLen(0x0438, 19) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170111
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170104
+packetLen(0x0438, 19) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20171220
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171213
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171115
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171108
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171101
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171025
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171018
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171011
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170920
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170913
+packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170830
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170823
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170809
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170801
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170726
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170712
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170705
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170628
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170621
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170614
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170607
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170531
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170517
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170502
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170329
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170322
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170315
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170308
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170111
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170104
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20171220
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171213
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171101
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171025
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171018
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171011
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170927
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170920
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170830
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170823
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170809
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170801
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170719
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170712
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170705
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170628
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170607
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170531
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170517
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170502
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170329
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170322
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170315
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170308
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170111
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170104
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20171227
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171220
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171213
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171122
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171115
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171101
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171025
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171018
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171011
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170913
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170906
+packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170830
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170823
+packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170816
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170809
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170801
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170719
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170712
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170705
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170628
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170621
+packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170531
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170524
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170517
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170426
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170329
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170322
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170315
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170308
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170111
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170104
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20171227
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171220
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171129
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171122
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171115
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171101
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171002
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170913
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170906
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170830
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170823
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170809
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170801
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170719
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170621
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170517
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170426
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170419
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170412
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170322
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170315
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170308
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170228
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170222
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170215
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170208
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170201
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170125
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170104
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20171227
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171220
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171129
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171122
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171115
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171108
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171101
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171002
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170913
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170906
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170830
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170823
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170809
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170801
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170719
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170621
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170524
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170517
+packetLen(0x0815, 10) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170426
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170412
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170322
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170315
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170308
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170228
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170222
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170215
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170201
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170125
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170104
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20170920
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20170913
+packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20170524
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20170517
+packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20170104
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20171227
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171220
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171129
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171122
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171115
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171108
+packetLen(0x0819, 90) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171101
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171002
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170913
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170906
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170830
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170823
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170809
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170801
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170719
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170621
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170607
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170531
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170517
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170426
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170419
+packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170412
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170405
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170329
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170322
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170315
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170308
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170228
+packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170215
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170201
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170125
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170104
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20171108
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20171101
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170920
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170913
+packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170816
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170809
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170412
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170405
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170104
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20171227
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171220
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171206
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171129
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171122
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171115
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171108
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171101
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171002
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170913
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170906
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170830
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170823
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170809
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170801
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170719
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170628
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170621
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170614
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170517
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170426
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170419
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170412
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170322
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170315
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170308
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170228
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170222
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170215
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170201
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170125
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170104
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20171227
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171220
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171129
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171122
+packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171115
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171101
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171002
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170913
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170906
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170830
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170823
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170809
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170801
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170719
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170621
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170614
+packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170517
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170426
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170412
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170322
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170315
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170308
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170228
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170222
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170215
+packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170201
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170125
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170104
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20170927
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170920
+packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170823
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170816
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170726
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170719
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170614
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170607
+packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170426
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170419
+packetLen(0x085a, 7) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170111
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170104
+packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20171129
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171122
+packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171108
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171101
+packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170607
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170531
+packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170104
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20171002
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170927
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170322
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170315
+packetLen(0x085c, 4) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170222
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170215
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170208
+packetLen(0x085c, 26) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170104
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20171115
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20171108
+packetLen(0x085d, 12) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170628
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170621
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170405
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170329
+packetLen(0x085d, 36) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170208
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170201
+packetLen(0x085d, 18) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170118
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170111
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170104
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20171227
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20171220
+packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170726
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170719
+packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170614
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170607
+packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170531
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170524
+packetLen(0x085e, 7) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170426
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170419
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170308
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170228
+packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170208
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170201
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170104
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20170607
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170524
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170412
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170405
+packetLen(0x085f, 8) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170228
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170222
+packetLen(0x085f, 26) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170104
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20171220
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171213
+packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171108
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171101
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170920
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170906
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170621
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170614
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170531
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170524
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170412
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170405
+packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170215
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170208
+packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170104
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20171227
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20171220
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170927
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170920
+packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170607
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170531
+packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170104
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20171206
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171129
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171122
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170927
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170920
+packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170823
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170816
+packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170614
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170607
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170426
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170419
+packetLen(0x0862, 26) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170125
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170118
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170104
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20171115
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20171108
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170726
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170719
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170705
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170628
+packetLen(0x0863, 36) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170614
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170607
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170419
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170412
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170322
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170315
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170308
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170228
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170104
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20170927
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170920
+packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170614
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170607
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170531
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170524
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170412
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170405
+packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170104
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20170927
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170920
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170913
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170906
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170830
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170621
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170614
+packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170412
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170405
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170125
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170118
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170104
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20170920
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170906
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170621
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170614
+packetLen(0x0866, 6) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170531
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170524
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170502
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170426
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170228
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170222
+packetLen(0x0866, 6) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170104
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20171213
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171206
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171129
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171122
+packetLen(0x0867, 19) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170621
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170614
+packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170104
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20170816
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170809
+packetLen(0x0868, 7) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170607
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170531
+packetLen(0x0868, 4) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170524
+packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170517
+packetLen(0x0868, 90) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170426
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170419
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170104
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20170419
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170412
+packetLen(0x0869, 18) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170104
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20171213
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171206
+packetLen(0x086a, 4) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171025
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171018
+packetLen(0x086a, 4) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170927
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170920
+packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170906
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170830
+packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170426
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170419
+packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170322
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170315
+packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170104
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20170308
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170228
+packetLen(0x086b, 19) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170104
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20171108
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171101
+packetLen(0x086c, 10) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170927
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170920
+packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170913
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170906
+packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170830
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170823
+packetLen(0x086c, 19) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170621
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170614
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170104
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20171206
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171129
+packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171122
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171115
+packetLen(0x086d, 4) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170830
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170823
+packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170531
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170524
+packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170419
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170412
+packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170104
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20171213
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20171206
+packetLen(0x086e, 18) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170816
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170809
+packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170726
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170719
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170201
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170125
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170104
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20171122
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171115
+packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170816
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170809
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170502
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170426
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170412
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170405
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170125
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170118
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170104
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20170228
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170222
+packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170104
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20170614
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170607
+packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170228
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170222
+packetLen(0x0871, 4) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170104
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20171227
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0872, 10)
+#elif PACKETVER >= 20171108
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20170322
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20171227
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171220
+packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171002
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170927
+packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170801
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170726
+packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170614
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170607
+packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170531
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170524
+packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170308
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170228
+packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170125
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170118
+packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170104
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20170801
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170726
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170308
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170228
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170104
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20171002
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170927
+packetLen(0x0875, 12) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170920
+packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170906
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170830
+packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170614
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170607
+packetLen(0x0875, 12) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170531
+packetLen(0x0875, 10) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170517
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170502
+packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170208
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170201
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170104
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20171206
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171129
+packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171108
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171101
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170816
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170809
+packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170222
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170215
+packetLen(0x0876, 26) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170201
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170125
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170104
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20171129
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20171122
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170621
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170614
+packetLen(0x0877, 18) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170228
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170222
+packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170201
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170125
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170118
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170111
+packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170104
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20171206
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171129
+packetLen(0x0878, 36) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171115
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171108
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170801
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170726
+packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170607
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170531
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170419
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170412
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170104
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20170712
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170705
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170621
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170614
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170419
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170412
+packetLen(0x0879, 4) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170208
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170201
+packetLen(0x0879, 4) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170125
+packetLen(0x0879, 10) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170104
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20171025
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171018
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170502
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170426
+packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170405
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170329
+packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170215
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170208
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170104
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20171018
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171011
+packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170913
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170906
+packetLen(0x087b, 8) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170607
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170531
+packetLen(0x087b, 7) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170524
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170517
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170419
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170412
+packetLen(0x087b, 10) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170322
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170315
+packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170201
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170125
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170104
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20170222
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170215
+packetLen(0x087c, -1) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170104
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20171227
+packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20171002
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170927
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170816
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170809
+packetLen(0x087d, 12) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170801
+packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170726
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170719
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170628
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170614
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170531
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170517
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170315
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170308
+packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170222
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170215
+packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170201
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170125
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170104
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20171122
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171115
+packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171108
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171025
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171018
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171002
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170927
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170823
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170816
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170621
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170614
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170222
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170215
+packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170104
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20170118
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170111
+packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170104
+packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20171227
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20171220
+packetLen(0x0880, 12) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170816
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170809
+packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170104
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20171220
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20171213
+packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170823
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170816
+packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170801
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170726
+packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170719
+packetLen(0x0881, 90) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170426
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170419
+packetLen(0x0881, 36) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170208
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170201
+packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170125
+packetLen(0x0881, 5) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170104
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20171227
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171220
+packetLen(0x0882, 6) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171018
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171011
+packetLen(0x0882, 5) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170823
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170816
+packetLen(0x0882, 36) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170726
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170719
+packetLen(0x0882, 12) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170531
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170524
+packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170104
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20171122
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171115
+packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170222
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170215
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170104
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20171115
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20171108
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170906
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170830
+packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170823
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170816
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170322
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170315
+packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170308
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170228
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170222
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170215
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170208
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170201
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170125
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170104
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20171227
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171220
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171213
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171206
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171129
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171122
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171011
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171002
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170906
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170830
+packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170726
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170719
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170628
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170621
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170614
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170607
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170531
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170208
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170201
+packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170104
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20171108
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20171101
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170712
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170705
+packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170208
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170201
+packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170104
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20170502
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170426
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170104
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20171227
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170906
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170830
+packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170823
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170816
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170405
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170329
+packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170104
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20171025
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20171018
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170927
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170920
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170823
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170816
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170628
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170621
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170614
+packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170308
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170228
+packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170222
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170104
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20171227
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171206
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171129
+packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170614
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170607
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170222
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170215
+packetLen(0x088a, 90) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170118
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170111
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170104
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20171122
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20171115
+packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170607
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170531
+packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170419
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170412
+packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170322
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170315
+packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170222
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170215
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170208
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170201
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170104
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20171227
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171220
+packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170920
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170913
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170816
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170809
+packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170524
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170517
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170222
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170215
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170208
+packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170104
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20171227
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170712
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170705
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170607
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170531
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170524
+packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170517
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170426
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170419
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170322
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170315
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170104
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20171108
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20171101
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170927
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170920
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170801
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170726
+packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170712
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170705
+packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170104
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20170426
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170419
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170322
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170315
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170104
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20171220
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171213
+packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171129
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171122
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171115
+packetLen(0x0890, 18) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170920
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170913
+packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170816
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170809
+packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170419
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170412
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170222
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170215
+packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170104
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20171129
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171122
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170920
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170913
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170726
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170719
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170104
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20170920
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170913
+packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170816
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170809
+packetLen(0x0892, 90) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170322
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170315
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170215
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170208
+packetLen(0x0892, 26) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170104
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20171129
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20171122
+packetLen(0x0893, 12) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170419
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170412
+packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170405
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170308
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170228
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170201
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170125
+packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170104
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20170607
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170531
+packetLen(0x0894, 19) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170524
+packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170517
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170502
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170228
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170222
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170201
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170125
+packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170104
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20171108
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20171101
+packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170816
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170809
+packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170201
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170125
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170104
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20171115
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171108
+packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170524
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170517
+packetLen(0x0896, 12) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170222
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170215
+packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170111
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170104
+packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20171213
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171206
+packetLen(0x0897, 19) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171129
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171122
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171115
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171108
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171011
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171002
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170906
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170830
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170614
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170607
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170426
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170419
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170104
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20171129
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20171122
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20171115
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170726
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170719
+packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170426
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170412
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170201
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170125
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170104
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20171227
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171220
+packetLen(0x0899, 36) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171108
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171101
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171011
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171002
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170927
+packetLen(0x0899, 7) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170906
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170830
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170816
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170809
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170621
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170614
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170524
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170517
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170502
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170426
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170104
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20171129
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171122
+packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171025
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171018
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171002
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170927
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170906
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170830
+packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170726
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170719
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170712
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170705
+packetLen(0x089a, 19) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170607
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170531
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170419
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170412
+packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170104
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20171108
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20171101
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20171002
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170927
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170920
+packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170222
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170215
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170201
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170125
+packetLen(0x089b, 90) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170104
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20171206
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20171129
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20171108
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20171101
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170607
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170524
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170517
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170502
+packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170426
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170419
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170412
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170104
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20171213
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171206
+packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171011
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171002
+packetLen(0x089d, 19) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170726
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170719
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170712
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170705
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170621
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170614
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170607
+packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170426
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170419
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170104
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20171227
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171220
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171129
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171122
+packetLen(0x089e, 7) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170906
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170830
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170524
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170517
+packetLen(0x089e, 4) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170308
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170228
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170125
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170118
+packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170104
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20171025
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20171018
+packetLen(0x089f, 26) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170104
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20171227
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171108
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171101
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170308
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170228
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170104
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20170531
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170524
+packetLen(0x08a1, 12) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170419
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170412
+packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170215
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170208
+packetLen(0x08a1, 18) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170118
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170111
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170104
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20171213
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171206
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171115
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171108
+packetLen(0x08a2, 10) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171101
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171025
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170913
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170906
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170830
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170621
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170614
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170524
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170517
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170502
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170426
+packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170308
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170228
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170222
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170215
+packetLen(0x08a2, 12) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170104
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20170913
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170906
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170823
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170816
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170809
+packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170801
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170726
+packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170228
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170222
+packetLen(0x08a3, 5) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170118
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170111
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170104
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20171213
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171206
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171122
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171115
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170502
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170426
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170208
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170201
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170104
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20171227
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171206
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171129
+packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171002
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170927
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170412
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170405
+packetLen(0x08a5, 19) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170201
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170125
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170104
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20171129
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20171122
+packetLen(0x08a6, 10) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20171025
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20171018
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20171002
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170927
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170920
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170913
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170816
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170809
+packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170801
+packetLen(0x08a6, 4) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170726
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170719
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170308
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170228
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170118
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170111
+packetLen(0x08a6, 18) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170104
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20170920
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170913
+packetLen(0x08a7, 4) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170906
+packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170823
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170816
+packetLen(0x08a7, 4) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170801
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170726
+packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170308
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170228
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170104
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20170906
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170830
+packetLen(0x08a8, 8) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170726
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170719
+packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170628
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170621
+packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170524
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170517
+packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170405
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170329
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170228
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170222
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170215
+packetLen(0x08a8, 18) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170104
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20171129
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20171122
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20171115
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20171108
+packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170823
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170816
+packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170614
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170607
+packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170104
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20170920
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170913
+packetLen(0x08aa, 10) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170801
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170726
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170524
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170517
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170426
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170419
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170322
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170315
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170104
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20171108
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20171101
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170920
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170913
+packetLen(0x08ab, 18) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170801
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170726
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170614
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170607
+packetLen(0x08ab, 90) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170104
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20170920
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170913
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170830
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170823
+packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170816
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170801
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170726
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170607
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170531
+packetLen(0x08ac, 90) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170215
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170208
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170104
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20171115
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171108
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171101
+packetLen(0x08ad, 12) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171002
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170927
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170920
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170913
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170621
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170614
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170607
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170531
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170125
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170118
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170104
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+#if PACKETVER >= 20170906
+packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+#elif PACKETVER >= 20170104
+packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+#endif
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20170405
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170329
+packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170104
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20170816
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170809
+packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170614
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170607
+packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170104
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20170927
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170920
+packetLen(0x0919, 10) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170614
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170607
+packetLen(0x0919, -1) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170208
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170201
+packetLen(0x0919, 26) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170104
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20171220
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20171213
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170913
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170906
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170712
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170705
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170419
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170412
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170329
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170322
+packetLen(0x091a, 36) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170315
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170118
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170111
+packetLen(0x091a, 36) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170104
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20171227
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20171220
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20171108
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20171101
+packetLen(0x091b, 8) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170920
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170913
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170726
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170719
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170621
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170614
+packetLen(0x091b, 10) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170524
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170517
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170426
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170419
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170322
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170315
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170201
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170125
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170118
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170111
+packetLen(0x091b, 19) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170104
+packetLen(0x091b, 5) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20170823
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20170816
+packetLen(0x091c, 12) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20170201
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20170125
+packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20170104
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20171213
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171206
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170920
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170913
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170801
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170726
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170322
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170315
+packetLen(0x091d, 12) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170104
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20171227
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20171220
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20171129
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20171122
+packetLen(0x091e, 90) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20171002
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170927
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170913
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170906
+packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170830
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170801
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170726
+packetLen(0x091e, 12) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170531
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170524
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170419
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170412
+packetLen(0x091e, 19) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170104
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20171115
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20171108
+packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170801
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170726
+packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170719
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170502
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170426
+packetLen(0x091f, 4) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170308
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170228
+packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170125
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170118
+packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170104
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20170426
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170419
+packetLen(0x0920, 10) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170322
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170315
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170208
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170125
+packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170104
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20170927
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170920
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170906
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170830
+packetLen(0x0921, 5) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170823
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170816
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170809
+packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170801
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170726
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170215
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170208
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170104
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20171002
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170927
+packetLen(0x0922, 26) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170426
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170419
+packetLen(0x0922, 19) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170322
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170315
+packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170104
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20171213
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171206
+packetLen(0x0923, 8) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171129
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171122
+packetLen(0x0923, 18) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171002
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170927
+packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170920
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170913
+packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170801
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170726
+packetLen(0x0923, -1) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170531
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170524
+packetLen(0x0923, -1) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170517
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170215
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170208
+packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170104
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20171227
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171220
+packetLen(0x0924, 8) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170104
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20170920
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170913
+packetLen(0x0925, 12) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170906
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170830
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170823
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170816
+packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170614
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170607
+packetLen(0x0925, 26) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170531
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170524
+packetLen(0x0925, 90) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170222
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170215
+packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170104
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20171122
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20171115
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170927
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170920
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170405
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170329
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170104
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20171002
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170927
+packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170920
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170913
+packetLen(0x0927, -1) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170614
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170607
+packetLen(0x0927, 10) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170502
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170426
+packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170125
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170118
+packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170104
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20171011
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20171002
+packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170104
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20171227
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20171220
+packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170419
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170412
+packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170405
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170329
+packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170201
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170125
+packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170104
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20170816
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170809
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170308
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170228
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170104
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20170816
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170809
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170222
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170215
+packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170201
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170125
+packetLen(0x092b, 10) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170104
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20171227
+packetLen(0x092c, 19) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170823
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170816
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170726
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170719
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170104
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20171011
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171002
+packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170607
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170531
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170215
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170208
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170104
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20171227
+packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171213
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171206
+packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170927
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170920
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170906
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170830
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170419
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170412
+packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170405
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170329
+packetLen(0x092e, 19) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170308
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170228
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170104
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20170726
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170719
+packetLen(0x092f, 18) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170712
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170705
+packetLen(0x092f, 4) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170621
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170614
+packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170104
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20170712
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170705
+packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170426
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170419
+packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170201
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170125
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170104
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20170816
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170809
+packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170614
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170607
+packetLen(0x0931, 4) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170104
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20170712
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170705
+packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170215
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170208
+packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170104
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20171227
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20171220
+packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170607
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170531
+packetLen(0x0933, 8) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170125
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170118
+packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170104
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20171129
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20171122
+packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20171011
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20171002
+packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170712
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170705
+packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170614
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170607
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170531
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170524
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170104
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20170426
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170419
+packetLen(0x0935, 90) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170104
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20171213
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171206
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170621
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170614
+packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170104
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20170927
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170920
+packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170607
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170531
+packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170405
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170329
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170308
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170228
+packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170222
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170215
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170208
+packetLen(0x0937, 36) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170104
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20171227
+packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171025
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171018
+packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170614
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170607
+packetLen(0x0938, 7) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170419
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170412
+packetLen(0x0938, 90) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170208
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170201
+packetLen(0x0938, 5) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170104
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20171108
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20171101
+packetLen(0x0939, 5) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170927
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170920
+packetLen(0x0939, 5) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170906
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170830
+packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170816
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170809
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170405
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170329
+packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170228
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170222
+packetLen(0x0939, 19) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170104
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20170823
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170816
+packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170426
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170419
+packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170104
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20171129
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171122
+packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171011
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171002
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170927
+packetLen(0x093b, 90) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170816
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170809
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170524
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170517
+packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170104
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20170517
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170502
+packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170201
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170125
+packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170104
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20171011
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20171002
+packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170823
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170816
+packetLen(0x093d, 19) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170726
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170719
+packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170104
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20171227
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171220
+packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171011
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171002
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170906
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170830
+packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170726
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170719
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170308
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170228
+packetLen(0x093e, 4) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170104
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20170426
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170419
+packetLen(0x093f, 10) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170104
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20171206
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171129
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171115
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171108
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170906
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170830
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170823
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170816
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170809
+packetLen(0x0940, 18) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170607
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170531
+packetLen(0x0940, 18) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170502
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170426
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170208
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170201
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170118
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170111
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170104
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20171227
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171220
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171115
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171108
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170823
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170816
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170104
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20171213
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20171206
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20171002
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170927
+packetLen(0x0942, 18) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170906
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170830
+packetLen(0x0942, 12) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170614
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170607
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170419
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170412
+packetLen(0x0942, 26) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170222
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170215
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170104
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20171011
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20171002
+packetLen(0x0943, 26) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170906
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170830
+packetLen(0x0943, -1) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170801
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170726
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170228
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170222
+packetLen(0x0943, 36) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170201
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170125
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170104
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20171025
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20171018
+packetLen(0x0944, 36) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170726
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170719
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170712
+packetLen(0x0944, 36) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170621
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170614
+packetLen(0x0944, 19) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170607
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170322
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170315
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170308
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170228
+packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170201
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170125
+packetLen(0x0944, 18) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170104
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20171227
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20171115
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20171108
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20171002
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170927
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170920
+packetLen(0x0945, 18) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170607
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170531
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170524
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170517
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170419
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170412
+packetLen(0x0945, 8) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170104
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20171227
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20171220
+packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20171129
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20171122
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170726
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170719
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170531
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170524
+packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170517
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170104
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20171129
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171122
+packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171115
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171108
+packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170906
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170830
+packetLen(0x0947, -1) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170524
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170517
+packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170308
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170228
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170104
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20170308
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170228
+packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170104
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20171115
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20171108
+packetLen(0x0949, 19) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170614
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170607
+packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170405
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170329
+packetLen(0x0949, 8) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170104
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20171025
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20171018
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170322
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170315
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170104
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20171206
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20171129
+packetLen(0x094b, 8) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20171002
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170927
+packetLen(0x094b, 26) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170104
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20170927
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170920
+packetLen(0x094c, -1) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170712
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170705
+packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170412
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170405
+packetLen(0x094c, 36) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170208
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170201
+packetLen(0x094c, 19) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170118
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170111
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170104
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20171108
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171101
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171002
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170927
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170104
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20171227
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171220
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171115
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171108
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170322
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170315
+packetLen(0x094e, 19) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170222
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170215
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170104
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20171025
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20171018
+packetLen(0x094f, 18) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170809
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170801
+packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170726
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170419
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170412
+packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170405
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170104
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20171018
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20171011
+packetLen(0x0950, 19) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170823
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170816
+packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170801
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170726
+packetLen(0x0950, 10) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170517
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170502
+packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170104
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20171227
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20171220
+packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170104
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20171108
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20171101
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170801
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170726
+packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170322
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170315
+packetLen(0x0952, 36) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170308
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170228
+packetLen(0x0952, 10) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170104
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20171206
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20171129
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170913
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170906
+packetLen(0x0953, 19) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170104
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20171018
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20171011
+packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170801
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170726
+packetLen(0x0954, 18) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170104
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20170308
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170228
+packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170104
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20170628
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170621
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170104
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20171227
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171220
+packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171213
+packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171108
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171101
+packetLen(0x0957, 7) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170628
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170621
+packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170614
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170104
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20171213
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171206
+packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171122
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171115
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171108
+packetLen(0x0958, 18) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170531
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170524
+packetLen(0x0958, 4) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170517
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170502
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170426
+packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170125
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170118
+packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170104
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20171002
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170927
+packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170906
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170830
+packetLen(0x0959, 10) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170823
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170816
+packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170419
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170412
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170104
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20171122
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171115
+packetLen(0x095a, 26) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171108
+packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171101
+packetLen(0x095a, -1) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171002
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170927
+packetLen(0x095a, 10) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170920
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170913
+packetLen(0x095a, 10) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170809
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170801
+packetLen(0x095a, 19) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170726
+packetLen(0x095a, 90) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170531
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170524
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170104
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20170830
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170823
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170628
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170621
+packetLen(0x095b, 4) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170531
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170524
+packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170419
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170412
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170104
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20170920
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170913
+packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170628
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170621
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170426
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170419
+packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170412
+packetLen(0x095c, 12) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170201
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170125
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170104
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20170927
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170920
+packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170426
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170419
+packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170412
+packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170228
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170222
+packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170104
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+
+// Packet: 0x095f
+#if PACKETVER >= 20171011
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171002
+packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170405
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170329
+packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170222
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170215
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170104
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20171227
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171220
+packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170823
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170816
+packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170524
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170517
+packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170104
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20171213
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20171206
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170927
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170920
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170628
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170621
+packetLen(0x0961, 19) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170118
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170111
+packetLen(0x0961, -1) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170104
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20171129
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171122
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171108
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171101
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170228
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170222
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170215
+packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170125
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170118
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170104
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20171115
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20171108
+packetLen(0x0963, 7) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170801
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170726
+packetLen(0x0963, -1) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170621
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170614
+packetLen(0x0963, 12) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170607
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170531
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170502
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170426
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170419
+packetLen(0x0963, 4) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170104
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20171227
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20171220
+packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170524
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170517
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170412
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170405
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170104
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20171115
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171108
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170426
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170419
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170201
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170125
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170104
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20171206
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20171129
+packetLen(0x0966, 19) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20171108
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20171101
+packetLen(0x0966, 10) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170927
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170920
+packetLen(0x0966, 90) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170726
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170719
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170208
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170201
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170104
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20171115
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20171108
+packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170531
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170524
+packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170104
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20171129
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171122
+packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170607
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170531
+packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170524
+packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170104
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20171227
+packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170222
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170215
+packetLen(0x0969, 5) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170208
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170201
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170118
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170111
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170104
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20171227
+packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171220
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171129
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171122
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171115
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171101
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171002
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170913
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170906
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170830
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170823
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170809
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170801
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170719
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170621
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170517
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170426
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170412
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170322
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170315
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170308
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170228
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170222
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170215
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170201
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170125
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170118
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170104
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+packetLen(0x0a3d, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+#if PACKETVER >= 20170830
+packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+#elif PACKETVER >= 20170104
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+packetLen(0x0a4e, 4)
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a52
+packetLen(0x0a52, 20)
+
+// Packet: 0x0a53
+packetLen(0x0a53, 10)
+
+// Packet: 0x0a54
+packetLen(0x0a54, -1)
+
+// Packet: 0x0a55
+packetLen(0x0a55, 2)
+
+// Packet: 0x0a56
+packetLen(0x0a56, 6)
+
+// Packet: 0x0a57
+packetLen(0x0a57, 6)
+
+// Packet: 0x0a58
+packetLen(0x0a58, 8)
+
+// Packet: 0x0a59
+packetLen(0x0a59, -1)
+
+// Packet: 0x0a5a
+packetLen(0x0a5a, 2)
+
+// Packet: 0x0a5b
+packetLen(0x0a5b, 7)
+
+// Packet: 0x0a5c
+packetLen(0x0a5c, 18)
+
+// Packet: 0x0a5d
+packetLen(0x0a5d, 6)
+
+// Packet: 0x0a68
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+
+// Packet: 0x0a69
+packetLen(0x0a69, 6)
+
+// Packet: 0x0a6a
+packetLen(0x0a6a, 12)
+
+// Packet: 0x0a6b
+packetLen(0x0a6b, -1)
+
+// Packet: 0x0a6c
+packetLen(0x0a6c, 7)
+
+// Packet: 0x0a6d
+packetLen(0x0a6d, -1)
+
+// Packet: 0x0a6e
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+
+// Packet: 0x0a70
+packetLen(0x0a70, 2)
+
+// Packet: 0x0a71
+packetLen(0x0a71, -1)
+
+// Packet: 0x0a72
+packetLen(0x0a72, 61)
+
+// Packet: 0x0a73
+packetLen(0x0a73, 2)
+
+// Packet: 0x0a74
+packetLen(0x0a74, 8)
+
+// Packet: 0x0a76
+packetLen(0x0a76, 80)
+
+// Packet: 0x0a77
+packetLen(0x0a77, 15)
+
+// Packet: 0x0a78
+packetLen(0x0a78, 15)
+
+// Packet: 0x0a79
+packetLen(0x0a79, -1)
+
+// Packet: 0x0a7b
+packetLen(0x0a7b, -1)
+
+// Packet: 0x0a7c
+packetLen(0x0a7c, -1)
+
+// Packet: 0x0a7d
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+
+// Packet: 0x0a80
+packetLen(0x0a80, 6)
+
+// Packet: 0x0a81
+packetLen(0x0a81, 4)
+
+// Packet: 0x0a82
+packetLen(0x0a82, 46)
+
+// Packet: 0x0a83
+packetLen(0x0a83, 46)
+
+// Packet: 0x0a84
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2)
+
+// Packet: 0x0a89
+packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+
+// Packet: 0x0a92
+packetLen(0x0a92, -1)
+
+// Packet: 0x0a93
+packetLen(0x0a93, 3)
+
+// Packet: 0x0a94
+packetLen(0x0a94, 2)
+
+// Packet: 0x0a95
+packetLen(0x0a95, 4)
+
+// Packet: 0x0a96
+packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a98
+#if PACKETVER >= 20170426
+packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+#elif PACKETVER >= 20170104
+packetLen(0x0a98, 12) // ZC_ALT_EQUIPMENT_EQUIP
+#endif
+
+// Packet: 0x0a99
+#if PACKETVER >= 20170419
+packetLen(0x0a99, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0a99, 8)
+#endif
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+
+// Packet: 0x0a9c
+packetLen(0x0a9c, 2)
+
+// Packet: 0x0a9d
+packetLen(0x0a9d, 4)
+
+// Packet: 0x0a9e
+packetLen(0x0a9e, 2)
+
+// Packet: 0x0a9f
+packetLen(0x0a9f, 2)
+
+// Packet: 0x0aa0
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+
+// Packet: 0x0aa3
+packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+
+// Packet: 0x0aa8
+packetLen(0x0aa8, 5)
+
+// Packet: 0x0aa9
+packetLen(0x0aa9, -1)
+
+// Packet: 0x0aaa
+packetLen(0x0aaa, -1)
+
+// Packet: 0x0aab
+packetLen(0x0aab, -1)
+
+// Packet: 0x0aac
+#if PACKETVER >= 20170329
+packetLen(0x0aac, 69)
+#elif PACKETVER >= 20170104
+packetLen(0x0aac, 67)
+#endif
+
+// Packet: 0x0aad
+#if PACKETVER >= 20170118
+packetLen(0x0aad, 51)
+#elif PACKETVER >= 20170104
+packetLen(0x0aad, 47)
+#endif
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+
+// Packet: 0x0ab3
+#if PACKETVER >= 20170118
+packetLen(0x0ab3, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0ab3, 15)
+#endif
+
+// Packet: 0x0ab4
+#if PACKETVER >= 20170111
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+#if PACKETVER >= 20170111
+packetLen(0x0ab5, 2)
+#endif
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20170111
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+#if PACKETVER >= 20170111
+packetLen(0x0ab7, 4)
+#endif
+
+// Packet: 0x0ab8
+#if PACKETVER >= 20170111
+packetLen(0x0ab8, 2)
+#endif
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20170111
+packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+#endif
+
+// Packet: 0x0aba
+#if PACKETVER >= 20170118
+packetLen(0x0aba, 2)
+#endif
+
+// Packet: 0x0abb
+#if PACKETVER >= 20170118
+packetLen(0x0abb, 2)
+#endif
+
+// Packet: 0x0abc
+#if PACKETVER >= 20170201
+packetLen(0x0abc, -1)
+#endif
+
+// Packet: 0x0abd
+#if PACKETVER >= 20170215
+packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+#endif
+
+// Packet: 0x0abe
+#if PACKETVER >= 20170228
+packetLen(0x0abe, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20170222
+packetLen(0x0abe, 116) // ZC_WARPLIST
+#endif
+
+// Packet: 0x0abf
+#if PACKETVER >= 20170228
+packetLen(0x0abf, -1)
+#elif PACKETVER >= 20170222
+packetLen(0x0abf, 114)
+#endif
+
+// Packet: 0x0ac0
+#if PACKETVER >= 20170228
+packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+#endif
+
+// Packet: 0x0ac1
+#if PACKETVER >= 20170228
+packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+#endif
+
+// Packet: 0x0ac2
+#if PACKETVER >= 20170228
+packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+#endif
+
+// Packet: 0x0ac3
+#if PACKETVER >= 20170228
+packetLen(0x0ac3, 2)
+#endif
+
+// Packet: 0x0ac4
+#if PACKETVER >= 20170228
+packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+#endif
+
+// Packet: 0x0ac5
+#if PACKETVER >= 20170228
+packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+#endif
+
+// Packet: 0x0ac6
+#if PACKETVER >= 20170228
+packetLen(0x0ac6, 156)
+#endif
+
+// Packet: 0x0ac7
+#if PACKETVER >= 20170228
+packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+#endif
+
+// Packet: 0x0ac8
+#if PACKETVER >= 20170308
+packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+#endif
+
+// Packet: 0x0ac9
+#if PACKETVER >= 20170308
+packetLen(0x0ac9, -1)
+#endif
+
+// Packet: 0x0aca
+#if PACKETVER >= 20170322
+packetLen(0x0aca, 3)
+#endif
+
+// Packet: 0x0acb
+#if PACKETVER >= 20170405
+packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+#endif
+
+// Packet: 0x0acc
+#if PACKETVER >= 20170405
+packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+#endif
+
+// Packet: 0x0acd
+#if PACKETVER >= 20170419
+packetLen(0x0acd, 23)
+#endif
+
+// Packet: 0x0ace
+#if PACKETVER >= 20170502
+packetLen(0x0ace, 4)
+#endif
+
+// Packet: 0x0acf
+#if PACKETVER >= 20171115
+packetLen(0x0acf, 68) // CA_LOGIN_OTP
+#elif PACKETVER >= 20170705
+packetLen(0x0acf, 64) // CA_LOGIN_OTP
+#elif PACKETVER >= 20170621
+packetLen(0x0acf, 57) // CA_LOGIN_OTP
+#elif PACKETVER >= 20170614
+packetLen(0x0acf, 52) // CA_LOGIN_OTP
+#endif
+
+// Packet: 0x0ad0
+#if PACKETVER >= 20170614
+packetLen(0x0ad0, 11) // CA_OTP_CODE
+#endif
+
+// Packet: 0x0ad1
+#if PACKETVER >= 20170614
+packetLen(0x0ad1, -1)
+#endif
+
+// Packet: 0x0ad2
+#if PACKETVER >= 20170719
+packetLen(0x0ad2, 30)
+#endif
+
+// Packet: 0x0ad3
+#if PACKETVER >= 20170719
+packetLen(0x0ad3, -1)
+#endif
+
+// Packet: 0x0ad4
+#if PACKETVER >= 20170719
+packetLen(0x0ad4, -1)
+#endif
+
+// Packet: 0x0ad5
+#if PACKETVER >= 20170719
+packetLen(0x0ad5, 2)
+#endif
+
+// Packet: 0x0ad6
+#if PACKETVER >= 20170719
+packetLen(0x0ad6, 2)
+#endif
+
+// Packet: 0x0ad7
+#if PACKETVER >= 20170719
+packetLen(0x0ad7, 8)
+#endif
+
+// Packet: 0x0ad8
+#if PACKETVER >= 20170719
+packetLen(0x0ad8, 8)
+#endif
+
+// Packet: 0x0ad9
+#if PACKETVER >= 20170719
+packetLen(0x0ad9, -1)
+#endif
+
+// Packet: 0x0ada
+#if PACKETVER >= 20170726
+packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+#endif
+
+// Packet: 0x0adb
+#if PACKETVER >= 20170830
+packetLen(0x0adb, -1)
+#endif
+
+// Packet: 0x0adc
+#if PACKETVER >= 20170906
+packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+#endif
+
+// Packet: 0x0add
+#if PACKETVER >= 20170913
+packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x0ade
+#if PACKETVER >= 20170920
+packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+#endif
+
+// Packet: 0x0adf
+#if PACKETVER >= 20170920
+packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+#endif
+
+// Packet: 0x0ae0
+#if PACKETVER >= 20170927
+packetLen(0x0ae0, 30)
+#endif
+
+// Packet: 0x0ae1
+#if PACKETVER >= 20171101
+packetLen(0x0ae1, 28)
+#endif
+
+// Packet: 0x0ae2
+#if PACKETVER >= 20171115
+packetLen(0x0ae2, 7) // ZC_OPEN_UI
+#endif
+
+// Packet: 0x0ae3
+#if PACKETVER >= 20171213
+packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+#endif
+
+// Packet: 0x0ae4
+#if PACKETVER >= 20171206
+packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0ae5
+#if PACKETVER >= 20171206
+packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+#endif
+
+// Packet: 0x0ae6
+#if PACKETVER >= 20171213
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20171213
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+#if PACKETVER >= 20171220
+packetLen(0x0ae8, 2)
+#endif
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20171220
+packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20171227
+packetLen(0x0aea, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0aea, 11)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20171227
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+#if PACKETVER >= 20171227
+packetLen(0x0aec, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2017_LEN_MAIN_H */
diff --git a/src/common/packets/packets2017_len_re.h b/src/common/packets/packets2017_len_re.h
new file mode 100644
index 000000000..17751f090
--- /dev/null
+++ b/src/common/packets/packets2017_len_re.h
@@ -0,0 +1,9109 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2017_LEN_RE_H
+#define COMMON_PACKETS2017_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+#if PACKETVER >= 20170830
+packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+#elif PACKETVER >= 20170104
+packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20171220
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171213
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171115
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171108
+packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171101
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171025
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170913
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170906
+packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170719
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170712
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170705
+packetLen(0x0202, 36) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170628
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170621
+packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170329
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170322
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170315
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170308
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170228
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170222
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20170104
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20171108
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171101
+packetLen(0x022d, 36) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171025
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171011
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171002
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170823
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170816
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170809
+packetLen(0x022d, 4) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170801
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170726
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170719
+packetLen(0x022d, 7) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170712
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170705
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170628
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170329
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170322
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170315
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170308
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170228
+packetLen(0x022d, 6) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170125
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170118
+packetLen(0x022d, 10) // CZ_COMMAND_MER
+#elif PACKETVER >= 20170104
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20171101
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20171025
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20171018
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20171011
+packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170719
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170712
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170705
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170628
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170621
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170614
+packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170419
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170412
+packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170329
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170322
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170315
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170308
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20170104
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20171227
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171220
+packetLen(0x0281, 19) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171213
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171129
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171122
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171101
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171025
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171018
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171011
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170920
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170913
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170906
+packetLen(0x0281, 36) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170830
+packetLen(0x0281, 5) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170823
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170816
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170809
+packetLen(0x0281, 8) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170801
+packetLen(0x0281, 5) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170719
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170712
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170705
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170628
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170517
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170502
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170426
+packetLen(0x0281, 36) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170412
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170405
+packetLen(0x0281, 18) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170329
+packetLen(0x0281, 26) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170322
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170315
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170308
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170111
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20170104
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20171206
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20171129
+packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20171122
+packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20171002
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170927
+packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170913
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170906
+packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170830
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170712
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170705
+packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170322
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170315
+packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170222
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170215
+packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170208
+packetLen(0x02c4, 4) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20170104
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20171227
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171220
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171213
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171206
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171129
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171122
+packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171115
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171101
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170927
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170920
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170913
+packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170906
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170830
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170823
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170809
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170801
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170719
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170621
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170517
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170426
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170412
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170322
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170315
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170308
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170228
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170222
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170215
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170201
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170125
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20170104
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20171227
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171220
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171206
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171122
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171115
+packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171101
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171002
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170913
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170906
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170830
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170823
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170809
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170801
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170719
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170621
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170517
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170426
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170412
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170322
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170315
+packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170308
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170228
+packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170201
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170125
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20170104
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20171227
+packetLen(0x0361, 7) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171206
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171129
+packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171101
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171025
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171002
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170927
+packetLen(0x0361, 4) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170830
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170823
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170816
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170809
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170801
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170719
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170712
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170705
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170628
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170621
+packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170614
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170607
+packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170531
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170329
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170322
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170315
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170308
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20170104
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20171220
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171213
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171101
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171025
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171018
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171011
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171002
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170927
+packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170830
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170823
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170816
+packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170809
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170801
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170719
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170712
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170705
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170628
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170517
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170502
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170412
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170405
+packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170329
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170322
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170315
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170308
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170228
+packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170111
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20170104
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20171220
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171213
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171206
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171129
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171101
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171025
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171018
+packetLen(0x0363, 19) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171011
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171002
+packetLen(0x0363, 10) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170906
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170830
+packetLen(0x0363, 18) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170823
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170809
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170801
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170726
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170719
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170712
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170705
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170628
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170517
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170502
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170412
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170405
+packetLen(0x0363, 4) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170322
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170315
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170308
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170111
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20170104
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20171220
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20171213
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20171101
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20171011
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170906
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170823
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170816
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170809
+packetLen(0x0364, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170726
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170719
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170712
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170705
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170628
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170621
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170614
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170607
+packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170531
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170524
+packetLen(0x0364, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170502
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170329
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170322
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170315
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170308
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170125
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170118
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170111
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20170104
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20171220
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171213
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171206
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171129
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171122
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171115
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171101
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171025
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171018
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171011
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170830
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170823
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170809
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170801
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170719
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170712
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170705
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170628
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170621
+packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170517
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170502
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170419
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170412
+packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170329
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170322
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170315
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170308
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170111
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20170104
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20171227
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171220
+packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171129
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171122
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171115
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171101
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171002
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170927
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170913
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170906
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170830
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170823
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170816
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170809
+packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170801
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170726
+packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170719
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170628
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170621
+packetLen(0x0366, 18) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170517
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170426
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170412
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170322
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170315
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170308
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170228
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170222
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170215
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170208
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170125
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20170104
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20170621
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170614
+packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170524
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170517
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170322
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170315
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170215
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170208
+packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20170104
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20171227
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20171220
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20171129
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20171122
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20171115
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20171108
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20171101
+packetLen(0x0368, 19) // CZ_REQNAME2
+#elif PACKETVER >= 20171002
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170913
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170906
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170830
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170823
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170809
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170801
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170726
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170719
+packetLen(0x0368, 4) // CZ_REQNAME2
+#elif PACKETVER >= 20170621
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170531
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170524
+packetLen(0x0368, 36) // CZ_REQNAME2
+#elif PACKETVER >= 20170517
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170502
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170412
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170322
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170315
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170308
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170228
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170222
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170215
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170201
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20170125
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20170104
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20171227
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171220
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171129
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171122
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171115
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171108
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171101
+packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171002
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170927
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170920
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170913
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170906
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170830
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170823
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170809
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170801
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170726
+packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170719
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170621
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170607
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170531
+packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170517
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170426
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170412
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170405
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170322
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170315
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170308
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170228
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170222
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170215
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170201
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170125
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20170104
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20171122
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20171115
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20171101
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20171025
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20171018
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20171011
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170927
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170920
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20170830
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170823
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170719
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170712
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170705
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170628
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170517
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170502
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170329
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170322
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170315
+packetLen(0x0436, -1) // CZ_ENTER2
+#elif PACKETVER >= 20170308
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20170125
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20170118
+packetLen(0x0436, 5) // CZ_ENTER2
+#elif PACKETVER >= 20170111
+packetLen(0x0436, 8) // CZ_ENTER2
+#elif PACKETVER >= 20170104
+packetLen(0x0436, 4) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20171227
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171220
+packetLen(0x0437, 18) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171129
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171122
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171115
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171101
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171018
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171011
+packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171002
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170920
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170913
+packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170906
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170830
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170823
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170809
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170801
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170719
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170621
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170614
+packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170524
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170517
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170426
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170412
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170322
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170315
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170308
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170228
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170222
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170215
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170208
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170125
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20170104
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20171227
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171220
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171129
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171122
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171115
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171108
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171101
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171011
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171002
+packetLen(0x0438, 5) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170913
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170906
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170830
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170823
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170816
+packetLen(0x0438, 7) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170809
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170801
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170726
+packetLen(0x0438, 26) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170719
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170621
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170517
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170426
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170412
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170322
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170315
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170308
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170228
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170222
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170215
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170201
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170125
+packetLen(0x0438, 7) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170118
+packetLen(0x0438, 19) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170111
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20170104
+packetLen(0x0438, 19) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20171220
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171213
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171115
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171108
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171101
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171025
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171018
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171011
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170920
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170913
+packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170830
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170823
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170809
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170801
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170726
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170712
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170705
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170628
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170621
+packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170614
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170607
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170531
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170517
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170502
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170329
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170322
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170315
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170308
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170111
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20170104
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20171220
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171213
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171101
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171025
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171018
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171011
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170927
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170920
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170830
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170823
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170809
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170801
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170719
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170712
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170705
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170628
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170607
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170531
+packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170517
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170502
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170329
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170322
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170315
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170308
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170111
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20170104
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20171227
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171220
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171213
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171122
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171115
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171101
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171025
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171018
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171011
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170913
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170906
+packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170830
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170823
+packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170816
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170809
+packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170801
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170719
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170712
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170705
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170628
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170621
+packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170531
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170524
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170517
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170426
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170329
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170322
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170315
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170308
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170111
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20170104
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20171227
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171220
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171129
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171122
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171115
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171101
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171002
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170913
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170906
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170830
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170823
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170809
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170801
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170719
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170621
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170517
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170426
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170419
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170412
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170322
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170315
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170308
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170228
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170222
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170215
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170208
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170201
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170125
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20170104
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20171227
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171220
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171129
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171122
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171115
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171108
+packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171101
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171002
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170913
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170906
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170830
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170823
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170809
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170801
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170719
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170621
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170524
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170517
+packetLen(0x0815, 10) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170426
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170412
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170322
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170315
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170308
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170228
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170222
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170215
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170201
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170125
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20170104
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20170920
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20170913
+packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20170524
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20170517
+packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20170104
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20171227
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171220
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171129
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171122
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171115
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171108
+packetLen(0x0819, 90) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171101
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171002
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170913
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170906
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170830
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170823
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170809
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170801
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170719
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170621
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170607
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170531
+packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170517
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170426
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170419
+packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170412
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170405
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170329
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170322
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170315
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170308
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170228
+packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170215
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170201
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170125
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20170104
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20171108
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20171101
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170920
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170913
+packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170816
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170809
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170412
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170405
+packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20170104
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20171227
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171220
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171206
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171129
+packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171122
+packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171115
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171108
+packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171101
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171002
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170913
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170906
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170830
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170823
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170809
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170801
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170719
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170628
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170621
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170614
+packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170517
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170426
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170419
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170412
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170322
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170315
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170308
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170228
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170222
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170215
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170201
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170125
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20170104
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20171227
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171220
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171129
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171122
+packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171115
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171101
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171002
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170913
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170906
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170830
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170823
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170809
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170801
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170719
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170621
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170614
+packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170517
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170426
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170412
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170322
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170315
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170308
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170228
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170222
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170215
+packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170201
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170125
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20170104
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20170927
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170920
+packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170823
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170816
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170726
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170719
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170614
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170607
+packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170426
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170419
+packetLen(0x085a, 7) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170111
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170104
+packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20171129
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171122
+packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171108
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171101
+packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170607
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170531
+packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170104
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20171002
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170927
+packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170322
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170315
+packetLen(0x085c, 4) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170222
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170215
+packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170208
+packetLen(0x085c, 26) // ZC_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170104
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20171115
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20171108
+packetLen(0x085d, 12) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170628
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170621
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170405
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170329
+packetLen(0x085d, 36) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170208
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170201
+packetLen(0x085d, 18) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170118
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170111
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170104
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20171227
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20171220
+packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170726
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170719
+packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170614
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170607
+packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170531
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170524
+packetLen(0x085e, 7) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170426
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170419
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170308
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170228
+packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170208
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170201
+packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170104
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20170607
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170524
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170412
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170405
+packetLen(0x085f, 8) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170228
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170222
+packetLen(0x085f, 26) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170104
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20171220
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171213
+packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171108
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171101
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170920
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170906
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170621
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170614
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170531
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170524
+packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170412
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170405
+packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170215
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170208
+packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170104
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20171227
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20171220
+packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170927
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170920
+packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170607
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170531
+packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170104
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20171206
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171129
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171122
+packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170927
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170920
+packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170823
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170816
+packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170614
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170607
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170426
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170419
+packetLen(0x0862, 26) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170125
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170118
+packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170104
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20171115
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20171108
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170726
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170719
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170705
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170628
+packetLen(0x0863, 36) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170614
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170607
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170419
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170412
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170322
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170315
+packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170308
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170228
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170104
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20170927
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170920
+packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170614
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170607
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170531
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170524
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170412
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170405
+packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170104
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20170927
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170920
+packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170913
+packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170906
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170830
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170621
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170614
+packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170412
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170405
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170125
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170118
+packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170104
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20170920
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170906
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170621
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170614
+packetLen(0x0866, 6) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170531
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170524
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170502
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170426
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170228
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170222
+packetLen(0x0866, 6) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170104
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20171213
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171206
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171129
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171122
+packetLen(0x0867, 19) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170621
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170614
+packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170104
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20170816
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170809
+packetLen(0x0868, 7) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170607
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170531
+packetLen(0x0868, 4) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170524
+packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170517
+packetLen(0x0868, 90) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170426
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170419
+packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170104
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20170419
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170412
+packetLen(0x0869, 18) // ZC_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170104
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20171213
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171206
+packetLen(0x086a, 4) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171025
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171018
+packetLen(0x086a, 4) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170927
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170920
+packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170906
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170830
+packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170426
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170419
+packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170322
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170315
+packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170104
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20170308
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170228
+packetLen(0x086b, 19) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170104
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20171108
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171101
+packetLen(0x086c, 10) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170927
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170920
+packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170913
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170906
+packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170830
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170823
+packetLen(0x086c, 19) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170621
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170614
+packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170104
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20171206
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171129
+packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171122
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171115
+packetLen(0x086d, 4) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170830
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170823
+packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170531
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170524
+packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170419
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170412
+packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170104
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20171213
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20171206
+packetLen(0x086e, 18) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170816
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170809
+packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170726
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170719
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170201
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170125
+packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170104
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20171122
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171115
+packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170816
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170809
+packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170502
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170426
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170412
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170405
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170125
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170118
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170104
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20170228
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170222
+packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170104
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20170614
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170607
+packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170228
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170222
+packetLen(0x0871, 4) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170104
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20171227
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0872, 10)
+#elif PACKETVER >= 20171108
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20170322
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20171227
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171220
+packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171002
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170927
+packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170801
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170726
+packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170614
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170607
+packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170531
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170524
+packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170308
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170228
+packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170125
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170118
+packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170104
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20170801
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170726
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170308
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170228
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170104
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20171002
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170927
+packetLen(0x0875, 12) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170920
+packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170906
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170830
+packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170614
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170607
+packetLen(0x0875, 12) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170531
+packetLen(0x0875, 10) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170517
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170502
+packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170208
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170201
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170104
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20171206
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171129
+packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171108
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171101
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170816
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170809
+packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170222
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170215
+packetLen(0x0876, 26) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170201
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170125
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170104
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20171129
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20171122
+packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170621
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170614
+packetLen(0x0877, 18) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170228
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170222
+packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170201
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170125
+packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170118
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170111
+packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170104
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20171206
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171129
+packetLen(0x0878, 36) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171115
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171108
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170801
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170726
+packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170607
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170531
+packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170419
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170412
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170104
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20170712
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170705
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170621
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170614
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170419
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170412
+packetLen(0x0879, 4) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170208
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170201
+packetLen(0x0879, 4) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170125
+packetLen(0x0879, 10) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170104
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20171025
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171018
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170502
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170426
+packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170405
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170329
+packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170215
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170208
+packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170104
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20171018
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171011
+packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170913
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170906
+packetLen(0x087b, 8) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170607
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170531
+packetLen(0x087b, 7) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170524
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170517
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170419
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170412
+packetLen(0x087b, 10) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170322
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170315
+packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170201
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170125
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170104
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20170222
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170215
+packetLen(0x087c, -1) // ZC_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170104
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20171227
+packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20171002
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170927
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170816
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170809
+packetLen(0x087d, 12) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170801
+packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170726
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170719
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170628
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170614
+packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170531
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170517
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170315
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170308
+packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170222
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170215
+packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170201
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170125
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170104
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20171122
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171115
+packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171108
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171025
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171018
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171002
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170927
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170823
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170816
+packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170621
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170614
+packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170222
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170215
+packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170104
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20170118
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170111
+packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170104
+packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20171227
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20171220
+packetLen(0x0880, 12) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170816
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170809
+packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170104
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20171220
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20171213
+packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170823
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170816
+packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170801
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170726
+packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170719
+packetLen(0x0881, 90) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170426
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170419
+packetLen(0x0881, 36) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170208
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170201
+packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170125
+packetLen(0x0881, 5) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170104
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20171227
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171220
+packetLen(0x0882, 6) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171018
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171011
+packetLen(0x0882, 5) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170823
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170816
+packetLen(0x0882, 36) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170726
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170719
+packetLen(0x0882, 12) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170531
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170524
+packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170104
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20171122
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171115
+packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170222
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170215
+packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170104
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20171115
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20171108
+packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170906
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170830
+packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170823
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170816
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170322
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170315
+packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170308
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170228
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170222
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170215
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170208
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170201
+packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170125
+packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20170104
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20171227
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171220
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171213
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171206
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171129
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171122
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171011
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171002
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170906
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170830
+packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170726
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170719
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170628
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170621
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170614
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170607
+packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170531
+packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170208
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170201
+packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20170104
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20171108
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20171101
+packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170712
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170705
+packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170208
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170201
+packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20170104
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20170502
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170426
+packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20170104
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20171227
+packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170906
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170830
+packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170823
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170816
+packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170405
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170329
+packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20170104
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20171025
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20171018
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170927
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170920
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170823
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170816
+packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170628
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170621
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170614
+packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170308
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170228
+packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170222
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20170104
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20171227
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171206
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171129
+packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170614
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170607
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170222
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170215
+packetLen(0x088a, 90) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170118
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170111
+packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20170104
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20171122
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20171115
+packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170607
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170531
+packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170419
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170412
+packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170322
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170315
+packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170222
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170215
+packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170208
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170201
+packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20170104
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20171227
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171220
+packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170920
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170913
+packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170816
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170809
+packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170524
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170517
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170222
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170215
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170208
+packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20170104
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20171227
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170712
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170705
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170607
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170531
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170524
+packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170517
+packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170426
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170419
+packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170322
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170315
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20170104
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20171108
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20171101
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170927
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170920
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170801
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170726
+packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170712
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170705
+packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20170104
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20170426
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170419
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170322
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170315
+packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20170104
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20171220
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171213
+packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171129
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171122
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171115
+packetLen(0x0890, 18) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170920
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170913
+packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170816
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170809
+packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170419
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170412
+packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170222
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170215
+packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20170104
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20171129
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171122
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170920
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170913
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170726
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170719
+packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20170104
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20170920
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170913
+packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170816
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170809
+packetLen(0x0892, 90) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170322
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170315
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170215
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170208
+packetLen(0x0892, 26) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20170104
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20171129
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20171122
+packetLen(0x0893, 12) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170419
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170412
+packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170405
+packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170308
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170228
+packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170201
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170125
+packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20170104
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20170607
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170531
+packetLen(0x0894, 19) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170524
+packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170517
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170502
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170228
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170222
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170201
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170125
+packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20170104
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20171108
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20171101
+packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170816
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170809
+packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170201
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170125
+packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20170104
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20171115
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171108
+packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170524
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170517
+packetLen(0x0896, 12) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170222
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170215
+packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170111
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20170104
+packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20171213
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171206
+packetLen(0x0897, 19) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171129
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171122
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171115
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171108
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171011
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171002
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170906
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170830
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170614
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170607
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170426
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170419
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20170104
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20171129
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20171122
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20171115
+packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170726
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170719
+packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170426
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170412
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170201
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170125
+packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20170104
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20171227
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171220
+packetLen(0x0899, 36) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171108
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171101
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171011
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171002
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170927
+packetLen(0x0899, 7) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170906
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170830
+packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170816
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170809
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170621
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170614
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170524
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170517
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170502
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170426
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20170104
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20171129
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171122
+packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171025
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171018
+packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171002
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170927
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170906
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170830
+packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170726
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170719
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170712
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170705
+packetLen(0x089a, 19) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170607
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170531
+packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170419
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170412
+packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20170104
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20171108
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20171101
+packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20171002
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170927
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170920
+packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170222
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170215
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170201
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170125
+packetLen(0x089b, 90) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20170104
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20171206
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20171129
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20171108
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20171101
+packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170607
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170524
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170517
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170502
+packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170426
+packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170419
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170412
+packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20170104
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20171213
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171206
+packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171011
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171002
+packetLen(0x089d, 19) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170726
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170719
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170712
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170705
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170621
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170614
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170607
+packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170426
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170419
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20170104
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20171227
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171220
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171129
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171122
+packetLen(0x089e, 7) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170906
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170830
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170524
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170517
+packetLen(0x089e, 4) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170308
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170228
+packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170125
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170118
+packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20170104
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20171025
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20171018
+packetLen(0x089f, 26) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20170104
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20171227
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171108
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171101
+packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170308
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170228
+packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20170104
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20170531
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170524
+packetLen(0x08a1, 12) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170419
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170412
+packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170215
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170208
+packetLen(0x08a1, 18) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170118
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170111
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20170104
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20171213
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171206
+packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171115
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171108
+packetLen(0x08a2, 10) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171101
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171025
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170913
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170906
+packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170830
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170621
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170614
+packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170524
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170517
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170502
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170426
+packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170308
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170228
+packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170222
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170215
+packetLen(0x08a2, 12) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20170104
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20170913
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170906
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170823
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170816
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170809
+packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170801
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170726
+packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170228
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170222
+packetLen(0x08a3, 5) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170118
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170111
+packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20170104
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20171213
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171206
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171122
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171115
+packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170502
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170426
+packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170208
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170201
+packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20170104
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20171227
+packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171206
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171129
+packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171002
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170927
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170412
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170405
+packetLen(0x08a5, 19) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170201
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170125
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20170104
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20171129
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20171122
+packetLen(0x08a6, 10) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20171025
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20171018
+packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20171002
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170927
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170920
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170913
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170816
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170809
+packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170801
+packetLen(0x08a6, 4) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170726
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170719
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170308
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170228
+packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170118
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170111
+packetLen(0x08a6, 18) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20170104
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20170920
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170913
+packetLen(0x08a7, 4) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170906
+packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170823
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170816
+packetLen(0x08a7, 4) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170801
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170726
+packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170308
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170228
+packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20170104
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20170906
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170830
+packetLen(0x08a8, 8) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170726
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170719
+packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170628
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170621
+packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170524
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170517
+packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170405
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170329
+packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170228
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170222
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170215
+packetLen(0x08a8, 18) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20170104
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20171129
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20171122
+packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20171115
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20171108
+packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170823
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170816
+packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170614
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170607
+packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20170104
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20170920
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170913
+packetLen(0x08aa, 10) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170801
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170726
+packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170524
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170517
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170426
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170419
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170322
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170315
+packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20170104
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20171108
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20171101
+packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170920
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170913
+packetLen(0x08ab, 18) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170801
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170726
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170614
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170607
+packetLen(0x08ab, 90) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20170104
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20170920
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170913
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170830
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170823
+packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170816
+packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170801
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170726
+packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170607
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170531
+packetLen(0x08ac, 90) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170215
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170208
+packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20170104
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20171115
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171108
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171101
+packetLen(0x08ad, 12) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171002
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170927
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170920
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170913
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170621
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170614
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170607
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170531
+packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170125
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170118
+packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20170104
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+#if PACKETVER >= 20170830
+packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+#elif PACKETVER >= 20170104
+packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+#endif
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20170405
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170329
+packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170104
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20170816
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170809
+packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170614
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170607
+packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170104
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20170927
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170920
+packetLen(0x0919, 10) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170614
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170607
+packetLen(0x0919, -1) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170208
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170201
+packetLen(0x0919, 26) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170104
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20171220
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20171213
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170913
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170906
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170712
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170705
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170419
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170412
+packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170329
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170322
+packetLen(0x091a, 36) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170315
+packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170118
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170111
+packetLen(0x091a, 36) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170104
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20171227
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20171220
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20171108
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20171101
+packetLen(0x091b, 8) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170920
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170913
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170726
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170719
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170621
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170614
+packetLen(0x091b, 10) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170524
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170517
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170426
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170419
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170322
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170315
+packetLen(0x091b, -1) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170201
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170125
+packetLen(0x091b, 6) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170118
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170111
+packetLen(0x091b, 19) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20170104
+packetLen(0x091b, 5) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20170823
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20170816
+packetLen(0x091c, 12) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20170201
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20170125
+packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20170104
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20171213
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171206
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170920
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170913
+packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170801
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170726
+packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170322
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170315
+packetLen(0x091d, 12) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170104
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20171227
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20171220
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20171129
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20171122
+packetLen(0x091e, 90) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20171002
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170927
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170913
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170906
+packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170830
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170801
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170726
+packetLen(0x091e, 12) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170531
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170524
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170419
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170412
+packetLen(0x091e, 19) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170104
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20171115
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20171108
+packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170801
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170726
+packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170719
+packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170502
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170426
+packetLen(0x091f, 4) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170308
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170228
+packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170125
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170118
+packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170104
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20170426
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170419
+packetLen(0x0920, 10) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170322
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170315
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170208
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170125
+packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170104
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20170927
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170920
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170906
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170830
+packetLen(0x0921, 5) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170823
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170816
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170809
+packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170801
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170726
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170215
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170208
+packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170104
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20171002
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170927
+packetLen(0x0922, 26) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170426
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170419
+packetLen(0x0922, 19) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170322
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170315
+packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170104
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20171213
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171206
+packetLen(0x0923, 8) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171129
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171122
+packetLen(0x0923, 18) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171002
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170927
+packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170920
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170913
+packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170801
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170726
+packetLen(0x0923, -1) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170531
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170524
+packetLen(0x0923, -1) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170517
+packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170215
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170208
+packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170104
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20171227
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171220
+packetLen(0x0924, 8) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170104
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20170920
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170913
+packetLen(0x0925, 12) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170906
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170830
+packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170823
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170816
+packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170614
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170607
+packetLen(0x0925, 26) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170531
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170524
+packetLen(0x0925, 90) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170222
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170215
+packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170104
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20171122
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20171115
+packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170927
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170920
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170405
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170329
+packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170104
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20171002
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170927
+packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170920
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170913
+packetLen(0x0927, -1) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170614
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170607
+packetLen(0x0927, 10) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170502
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170426
+packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170125
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170118
+packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170104
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20171011
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20171002
+packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170104
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20171227
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20171220
+packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170419
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170412
+packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170405
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170329
+packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170201
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170125
+packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170104
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20170816
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170809
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170308
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170228
+packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170104
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20170816
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170809
+packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170222
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170215
+packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170201
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170125
+packetLen(0x092b, 10) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170104
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20171227
+packetLen(0x092c, 19) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170823
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170816
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170726
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170719
+packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170104
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20171011
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171002
+packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170607
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170531
+packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170215
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170208
+packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170104
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20171227
+packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171213
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171206
+packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170927
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170920
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170906
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170830
+packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170419
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170412
+packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170405
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170329
+packetLen(0x092e, 19) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170308
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170228
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170104
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20170726
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170719
+packetLen(0x092f, 18) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170712
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170705
+packetLen(0x092f, 4) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170621
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170614
+packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170104
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20170712
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170705
+packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170426
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170419
+packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170201
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170125
+packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170104
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20170816
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170809
+packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170614
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170607
+packetLen(0x0931, 4) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170104
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20170712
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170705
+packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170215
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170208
+packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170104
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20171227
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20171220
+packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170607
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170531
+packetLen(0x0933, 8) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170125
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170118
+packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170104
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20171129
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20171122
+packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20171011
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20171002
+packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170712
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170705
+packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170614
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170607
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170531
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170524
+packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20170104
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20170426
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170419
+packetLen(0x0935, 90) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170104
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20171213
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171206
+packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170621
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170614
+packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170104
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20170927
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170920
+packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170607
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170531
+packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170405
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170329
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170308
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170228
+packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170222
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170215
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170208
+packetLen(0x0937, 36) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170104
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20171227
+packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171025
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171018
+packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170614
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170607
+packetLen(0x0938, 7) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170419
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170412
+packetLen(0x0938, 90) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170208
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170201
+packetLen(0x0938, 5) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170104
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20171108
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20171101
+packetLen(0x0939, 5) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170927
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170920
+packetLen(0x0939, 5) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170906
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170830
+packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170816
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170809
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170405
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170329
+packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170228
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170222
+packetLen(0x0939, 19) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170104
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20170823
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170816
+packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170426
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170419
+packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170104
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20171129
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171122
+packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171011
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171002
+packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170927
+packetLen(0x093b, 90) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170816
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170809
+packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170524
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170517
+packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170104
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20170517
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170502
+packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170201
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170125
+packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170104
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20171011
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20171002
+packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170823
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170816
+packetLen(0x093d, 19) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170726
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170719
+packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170104
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20171227
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171220
+packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171011
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171002
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170906
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170830
+packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170726
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170719
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170308
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170228
+packetLen(0x093e, 4) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170104
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20170426
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170419
+packetLen(0x093f, 10) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170104
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20171206
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171129
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171115
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171108
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170906
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170830
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170823
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170816
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170809
+packetLen(0x0940, 18) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170607
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170531
+packetLen(0x0940, 18) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170502
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170426
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170208
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170201
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170118
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170111
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170104
+packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20171227
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171220
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171115
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171108
+packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170823
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170816
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20170104
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20171213
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20171206
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20171002
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170927
+packetLen(0x0942, 18) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170906
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170830
+packetLen(0x0942, 12) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170614
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170607
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170419
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170412
+packetLen(0x0942, 26) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170222
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170215
+packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20170104
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20171011
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20171002
+packetLen(0x0943, 26) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170906
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170830
+packetLen(0x0943, -1) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170801
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170726
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170228
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170222
+packetLen(0x0943, 36) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170201
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170125
+packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20170104
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20171025
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20171018
+packetLen(0x0944, 36) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170726
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170719
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170712
+packetLen(0x0944, 36) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170621
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170614
+packetLen(0x0944, 19) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170607
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170322
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170315
+packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170308
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170228
+packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170201
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170125
+packetLen(0x0944, 18) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20170104
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20171227
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20171115
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20171108
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20171002
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170927
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170920
+packetLen(0x0945, 18) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170607
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170531
+packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170524
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170517
+packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170419
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170412
+packetLen(0x0945, 8) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20170104
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20171227
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20171220
+packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20171129
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20171122
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170726
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170719
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170531
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170524
+packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170517
+packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20170104
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20171129
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171122
+packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171115
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171108
+packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170906
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170830
+packetLen(0x0947, -1) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170524
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170517
+packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170308
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170228
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20170104
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20170308
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170228
+packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20170104
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20171115
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20171108
+packetLen(0x0949, 19) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170614
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170607
+packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170405
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170329
+packetLen(0x0949, 8) // CZ_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20170104
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20171025
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20171018
+packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170322
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170315
+packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20170104
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20171206
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20171129
+packetLen(0x094b, 8) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20171002
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170927
+packetLen(0x094b, 26) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20170104
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20170927
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170920
+packetLen(0x094c, -1) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170712
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170705
+packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170412
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170405
+packetLen(0x094c, 36) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170208
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170201
+packetLen(0x094c, 19) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170118
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170111
+packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20170104
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20171108
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171101
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171002
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170927
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20170104
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20171227
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171220
+packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171115
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171108
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170322
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170315
+packetLen(0x094e, 19) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170222
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170215
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20170104
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20171025
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20171018
+packetLen(0x094f, 18) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170809
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170801
+packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170726
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170419
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170412
+packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170405
+packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20170104
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20171018
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20171011
+packetLen(0x0950, 19) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170823
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170816
+packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170801
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170726
+packetLen(0x0950, 10) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170517
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170502
+packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20170104
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20171227
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20171220
+packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20170104
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20171108
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20171101
+packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170801
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170726
+packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170322
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170315
+packetLen(0x0952, 36) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170308
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170228
+packetLen(0x0952, 10) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20170104
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20171206
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20171129
+packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170913
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170906
+packetLen(0x0953, 19) // CZ_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20170104
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20171018
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20171011
+packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170801
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170726
+packetLen(0x0954, 18) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20170104
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20170308
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170228
+packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20170104
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20170628
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170621
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20170104
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20171227
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171220
+packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171213
+packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171108
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171101
+packetLen(0x0957, 7) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170628
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170621
+packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170614
+packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20170104
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20171213
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171206
+packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171122
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171115
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171108
+packetLen(0x0958, 18) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170531
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170524
+packetLen(0x0958, 4) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170517
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170502
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170426
+packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170125
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170118
+packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20170104
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20171002
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170927
+packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170906
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170830
+packetLen(0x0959, 10) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170823
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170816
+packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170419
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170412
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20170104
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20171122
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171115
+packetLen(0x095a, 26) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171108
+packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171101
+packetLen(0x095a, -1) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171002
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170927
+packetLen(0x095a, 10) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170920
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170913
+packetLen(0x095a, 10) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170809
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170801
+packetLen(0x095a, 19) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170726
+packetLen(0x095a, 90) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170531
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170524
+packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20170104
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20170830
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170823
+packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170628
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170621
+packetLen(0x095b, 4) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170531
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170524
+packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170419
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170412
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20170104
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20170920
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170913
+packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170628
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170621
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170426
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170419
+packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170412
+packetLen(0x095c, 12) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170201
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170125
+packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20170104
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20170927
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170920
+packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170426
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170419
+packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170412
+packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170228
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170222
+packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20170104
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+
+// Packet: 0x095f
+#if PACKETVER >= 20171011
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171002
+packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170405
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170329
+packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170222
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170215
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20170104
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20171227
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171220
+packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170823
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170816
+packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170524
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170517
+packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20170104
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20171213
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20171206
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170927
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170920
+packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170628
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170621
+packetLen(0x0961, 19) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170118
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170111
+packetLen(0x0961, -1) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20170104
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20171129
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171122
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171108
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20171101
+packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170228
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170222
+packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170215
+packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170125
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170118
+packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20170104
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20171115
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20171108
+packetLen(0x0963, 7) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170801
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170726
+packetLen(0x0963, -1) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170621
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170614
+packetLen(0x0963, 12) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170607
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170531
+packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170502
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170426
+packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170419
+packetLen(0x0963, 4) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20170104
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20171227
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20171220
+packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170524
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170517
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170412
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170405
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20170104
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20171115
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171108
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170426
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170419
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170201
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170125
+packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20170104
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20171206
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20171129
+packetLen(0x0966, 19) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20171108
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20171101
+packetLen(0x0966, 10) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170927
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170920
+packetLen(0x0966, 90) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170726
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170719
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170208
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170201
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20170104
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20171115
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20171108
+packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170531
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170524
+packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20170104
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20171129
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171122
+packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170607
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170531
+packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170524
+packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20170104
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20171227
+packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170222
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170215
+packetLen(0x0969, 5) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170208
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170201
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170118
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170111
+packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20170104
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20171227
+packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171220
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171129
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171122
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171115
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171101
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171002
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170913
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170906
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170830
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170823
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170809
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170801
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170719
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170621
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170517
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170426
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170412
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170322
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170315
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170308
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170228
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170222
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170215
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170201
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170125
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170118
+packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20170104
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+packetLen(0x0a3d, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+#if PACKETVER >= 20170830
+packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+#elif PACKETVER >= 20170104
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+packetLen(0x0a4e, 4)
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a52
+packetLen(0x0a52, 20)
+
+// Packet: 0x0a53
+packetLen(0x0a53, 10)
+
+// Packet: 0x0a54
+packetLen(0x0a54, -1)
+
+// Packet: 0x0a55
+packetLen(0x0a55, 2)
+
+// Packet: 0x0a56
+packetLen(0x0a56, 6)
+
+// Packet: 0x0a57
+packetLen(0x0a57, 6)
+
+// Packet: 0x0a58
+packetLen(0x0a58, 8)
+
+// Packet: 0x0a59
+packetLen(0x0a59, -1)
+
+// Packet: 0x0a5a
+packetLen(0x0a5a, 2)
+
+// Packet: 0x0a5b
+packetLen(0x0a5b, 7)
+
+// Packet: 0x0a5c
+packetLen(0x0a5c, 18)
+
+// Packet: 0x0a5d
+packetLen(0x0a5d, 6)
+
+// Packet: 0x0a68
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+
+// Packet: 0x0a69
+packetLen(0x0a69, 6)
+
+// Packet: 0x0a6a
+packetLen(0x0a6a, 12)
+
+// Packet: 0x0a6b
+packetLen(0x0a6b, -1)
+
+// Packet: 0x0a6c
+packetLen(0x0a6c, 7)
+
+// Packet: 0x0a6d
+packetLen(0x0a6d, -1)
+
+// Packet: 0x0a6e
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+
+// Packet: 0x0a70
+packetLen(0x0a70, 2)
+
+// Packet: 0x0a71
+packetLen(0x0a71, -1)
+
+// Packet: 0x0a72
+packetLen(0x0a72, 61)
+
+// Packet: 0x0a73
+packetLen(0x0a73, 2)
+
+// Packet: 0x0a74
+packetLen(0x0a74, 8)
+
+// Packet: 0x0a76
+packetLen(0x0a76, 80)
+
+// Packet: 0x0a77
+packetLen(0x0a77, 15)
+
+// Packet: 0x0a78
+packetLen(0x0a78, 15)
+
+// Packet: 0x0a79
+packetLen(0x0a79, -1)
+
+// Packet: 0x0a7b
+packetLen(0x0a7b, -1)
+
+// Packet: 0x0a7c
+packetLen(0x0a7c, -1)
+
+// Packet: 0x0a7d
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+
+// Packet: 0x0a80
+packetLen(0x0a80, 6)
+
+// Packet: 0x0a81
+packetLen(0x0a81, 4)
+
+// Packet: 0x0a82
+packetLen(0x0a82, 46)
+
+// Packet: 0x0a83
+packetLen(0x0a83, 46)
+
+// Packet: 0x0a84
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2)
+
+// Packet: 0x0a89
+packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+
+// Packet: 0x0a92
+packetLen(0x0a92, -1)
+
+// Packet: 0x0a93
+packetLen(0x0a93, 3)
+
+// Packet: 0x0a94
+packetLen(0x0a94, 2)
+
+// Packet: 0x0a95
+packetLen(0x0a95, 4)
+
+// Packet: 0x0a96
+packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a98
+#if PACKETVER >= 20170426
+packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+#elif PACKETVER >= 20170104
+packetLen(0x0a98, 12) // ZC_ALT_EQUIPMENT_EQUIP
+#endif
+
+// Packet: 0x0a99
+#if PACKETVER >= 20170419
+packetLen(0x0a99, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0a99, 8)
+#endif
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+
+// Packet: 0x0a9c
+packetLen(0x0a9c, 2)
+
+// Packet: 0x0a9d
+packetLen(0x0a9d, 4)
+
+// Packet: 0x0a9e
+packetLen(0x0a9e, 2)
+
+// Packet: 0x0a9f
+packetLen(0x0a9f, 2)
+
+// Packet: 0x0aa0
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+
+// Packet: 0x0aa3
+packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+
+// Packet: 0x0aa8
+packetLen(0x0aa8, 5)
+
+// Packet: 0x0aa9
+packetLen(0x0aa9, -1)
+
+// Packet: 0x0aaa
+packetLen(0x0aaa, -1)
+
+// Packet: 0x0aab
+packetLen(0x0aab, -1)
+
+// Packet: 0x0aac
+#if PACKETVER >= 20170329
+packetLen(0x0aac, 69)
+#elif PACKETVER >= 20170104
+packetLen(0x0aac, 67)
+#endif
+
+// Packet: 0x0aad
+#if PACKETVER >= 20170118
+packetLen(0x0aad, 51)
+#elif PACKETVER >= 20170104
+packetLen(0x0aad, 47)
+#endif
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+
+// Packet: 0x0ab3
+#if PACKETVER >= 20170118
+packetLen(0x0ab3, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0ab3, 15)
+#endif
+
+// Packet: 0x0ab4
+#if PACKETVER >= 20170111
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+#if PACKETVER >= 20170111
+packetLen(0x0ab5, 2)
+#endif
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20170111
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+#if PACKETVER >= 20170111
+packetLen(0x0ab7, 4)
+#endif
+
+// Packet: 0x0ab8
+#if PACKETVER >= 20170111
+packetLen(0x0ab8, 2)
+#endif
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20170111
+packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+#endif
+
+// Packet: 0x0aba
+#if PACKETVER >= 20170118
+packetLen(0x0aba, 2)
+#endif
+
+// Packet: 0x0abb
+#if PACKETVER >= 20170118
+packetLen(0x0abb, 2)
+#endif
+
+// Packet: 0x0abc
+#if PACKETVER >= 20170201
+packetLen(0x0abc, -1)
+#endif
+
+// Packet: 0x0abd
+#if PACKETVER >= 20170215
+packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+#endif
+
+// Packet: 0x0abe
+#if PACKETVER >= 20170228
+packetLen(0x0abe, -1) // ZC_WARPLIST
+#elif PACKETVER >= 20170222
+packetLen(0x0abe, 116) // ZC_WARPLIST
+#endif
+
+// Packet: 0x0abf
+#if PACKETVER >= 20170228
+packetLen(0x0abf, -1)
+#elif PACKETVER >= 20170222
+packetLen(0x0abf, 114)
+#endif
+
+// Packet: 0x0ac0
+#if PACKETVER >= 20170228
+packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+#endif
+
+// Packet: 0x0ac1
+#if PACKETVER >= 20170228
+packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+#endif
+
+// Packet: 0x0ac2
+#if PACKETVER >= 20170228
+packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+#endif
+
+// Packet: 0x0ac3
+#if PACKETVER >= 20170228
+packetLen(0x0ac3, 2)
+#endif
+
+// Packet: 0x0ac4
+#if PACKETVER >= 20170228
+packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+#endif
+
+// Packet: 0x0ac5
+#if PACKETVER >= 20170228
+packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+#endif
+
+// Packet: 0x0ac6
+#if PACKETVER >= 20170228
+packetLen(0x0ac6, 156)
+#endif
+
+// Packet: 0x0ac7
+#if PACKETVER >= 20170228
+packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+#endif
+
+// Packet: 0x0ac8
+#if PACKETVER >= 20170308
+packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+#endif
+
+// Packet: 0x0ac9
+#if PACKETVER >= 20170308
+packetLen(0x0ac9, -1)
+#endif
+
+// Packet: 0x0aca
+#if PACKETVER >= 20170322
+packetLen(0x0aca, 3)
+#endif
+
+// Packet: 0x0acb
+#if PACKETVER >= 20170405
+packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+#endif
+
+// Packet: 0x0acc
+#if PACKETVER >= 20170405
+packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+#endif
+
+// Packet: 0x0acd
+#if PACKETVER >= 20170419
+packetLen(0x0acd, 23)
+#endif
+
+// Packet: 0x0ace
+#if PACKETVER >= 20170502
+packetLen(0x0ace, 4)
+#endif
+
+// Packet: 0x0acf
+#if PACKETVER >= 20171115
+packetLen(0x0acf, 68) // CA_LOGIN_OTP
+#elif PACKETVER >= 20170705
+packetLen(0x0acf, 64) // CA_LOGIN_OTP
+#elif PACKETVER >= 20170621
+packetLen(0x0acf, 57) // CA_LOGIN_OTP
+#elif PACKETVER >= 20170614
+packetLen(0x0acf, 52) // CA_LOGIN_OTP
+#endif
+
+// Packet: 0x0ad0
+#if PACKETVER >= 20170614
+packetLen(0x0ad0, 11) // CA_OTP_CODE
+#endif
+
+// Packet: 0x0ad1
+#if PACKETVER >= 20170614
+packetLen(0x0ad1, -1)
+#endif
+
+// Packet: 0x0ad2
+#if PACKETVER >= 20170719
+packetLen(0x0ad2, 30)
+#endif
+
+// Packet: 0x0ad3
+#if PACKETVER >= 20170719
+packetLen(0x0ad3, -1)
+#endif
+
+// Packet: 0x0ad4
+#if PACKETVER >= 20170719
+packetLen(0x0ad4, -1)
+#endif
+
+// Packet: 0x0ad5
+#if PACKETVER >= 20170719
+packetLen(0x0ad5, 2)
+#endif
+
+// Packet: 0x0ad6
+#if PACKETVER >= 20170719
+packetLen(0x0ad6, 2)
+#endif
+
+// Packet: 0x0ad7
+#if PACKETVER >= 20170719
+packetLen(0x0ad7, 8)
+#endif
+
+// Packet: 0x0ad8
+#if PACKETVER >= 20170719
+packetLen(0x0ad8, 8)
+#endif
+
+// Packet: 0x0ad9
+#if PACKETVER >= 20170719
+packetLen(0x0ad9, -1)
+#endif
+
+// Packet: 0x0ada
+#if PACKETVER >= 20170726
+packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+#endif
+
+// Packet: 0x0adb
+#if PACKETVER >= 20170830
+packetLen(0x0adb, -1)
+#endif
+
+// Packet: 0x0adc
+#if PACKETVER >= 20170906
+packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+#endif
+
+// Packet: 0x0add
+#if PACKETVER >= 20170913
+packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x0ade
+#if PACKETVER >= 20170920
+packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+#endif
+
+// Packet: 0x0adf
+#if PACKETVER >= 20170920
+packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+#endif
+
+// Packet: 0x0ae0
+#if PACKETVER >= 20170927
+packetLen(0x0ae0, 30)
+#endif
+
+// Packet: 0x0ae1
+#if PACKETVER >= 20171101
+packetLen(0x0ae1, 28)
+#endif
+
+// Packet: 0x0ae2
+#if PACKETVER >= 20171115
+packetLen(0x0ae2, 7) // ZC_OPEN_UI
+#endif
+
+// Packet: 0x0ae3
+#if PACKETVER >= 20171213
+packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+#endif
+
+// Packet: 0x0ae4
+#if PACKETVER >= 20171206
+packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0ae5
+#if PACKETVER >= 20171206
+packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+#endif
+
+// Packet: 0x0ae6
+#if PACKETVER >= 20171213
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20171213
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+#if PACKETVER >= 20171220
+packetLen(0x0ae8, 2)
+#endif
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20171220
+packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20171227
+packetLen(0x0aea, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0aea, 11)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20171227
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+#if PACKETVER >= 20171227
+packetLen(0x0aec, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2017_LEN_RE_H */
diff --git a/src/common/packets/packets2017_len_zero.h b/src/common/packets/packets2017_len_zero.h
new file mode 100644
index 000000000..910de7ca9
--- /dev/null
+++ b/src/common/packets/packets2017_len_zero.h
@@ -0,0 +1,5375 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2017_LEN_ZERO_H
+#define COMMON_PACKETS2017_LEN_ZERO_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20171130
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171127
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171123
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171121
+packetLen(0x0202, 36) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171115
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20171018
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+#if PACKETVER >= 20171130
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171127
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171123
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171121
+packetLen(0x022d, -1) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171115
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20171018
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 5) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20171130
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20171127
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20171115
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20171018
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20171227
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171220
+packetLen(0x0281, 10) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171214
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171206
+packetLen(0x0281, 10) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171204
+packetLen(0x0281, 6) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171130
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171127
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171121
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171115
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20171018
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20171220
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20171214
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20171115
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20171018
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20171206
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171204
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171130
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171115
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20171018
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20171206
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171204
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171130
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20171018
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20171204
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171130
+packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171127
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171115
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20171018
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20171130
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171127
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171123
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20171018
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20171130
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171127
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171123
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171121
+packetLen(0x0363, -1) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171115
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20171018
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20171130
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20171127
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20171121
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20171018
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20171130
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171127
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171121
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171115
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20171018
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20171214
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171206
+packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171130
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171115
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20171018
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20171127
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20171123
+packetLen(0x0367, 5) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20171115
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20171018
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20171206
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20171204
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20171130
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20171018
+packetLen(0x0368, 6) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20171206
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171204
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171130
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171115
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20171018
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20171214
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20171206
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20171130
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20171127
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20171115
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20171018
+packetLen(0x0436, 19) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20171206
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171204
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171130
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171115
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20171018
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20171227
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171214
+packetLen(0x0438, 6) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171206
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171204
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171130
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20171018
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20171130
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171127
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171121
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171115
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20171018
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20171227
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171220
+packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171130
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171127
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171121
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20171018
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20171130
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171127
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171121
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171115
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20171018
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20171206
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171204
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171130
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171123
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171121
+packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20171018
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20171206
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171204
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171130
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171115
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20171018
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20171115
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20171018
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20171227
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171220
+packetLen(0x0819, 90) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171206
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171204
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171130
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20171018
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20171227
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20171220
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20171214
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20171206
+packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20171115
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20171018
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20171227
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171220
+packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171206
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171204
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171130
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171115
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20171018
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20171214
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171206
+packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171204
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171130
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171115
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20171018
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+
+// Packet: 0x085b
+#if PACKETVER >= 20171220
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171214
+packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171206
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171204
+packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171018
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+
+// Packet: 0x085d
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+
+// Packet: 0x085e
+#if PACKETVER >= 20171220
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20171214
+packetLen(0x085e, 18) // ZC_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20171018
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20171227
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20171220
+packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20171127
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20171123
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20171018
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20171227
+packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171214
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171206
+packetLen(0x0860, 4) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171127
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171123
+packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171121
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171115
+packetLen(0x0860, 4) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20171018
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+
+// Packet: 0x0862
+#if PACKETVER >= 20171220
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171214
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171206
+packetLen(0x0862, 5) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171018
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+
+// Packet: 0x0864
+#if PACKETVER >= 20171220
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20171214
+packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20171206
+packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20171204
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20171130
+packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20171018
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+
+// Packet: 0x0866
+#if PACKETVER >= 20171123
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171121
+packetLen(0x0866, 8) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20171018
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20171227
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171220
+packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20171018
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+
+// Packet: 0x0869
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+
+// Packet: 0x086a
+#if PACKETVER >= 20171220
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171214
+packetLen(0x086a, 5) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171018
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+
+// Packet: 0x086c
+#if PACKETVER >= 20171227
+packetLen(0x086c, 7) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171220
+packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171018
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+
+// Packet: 0x086e
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+
+// Packet: 0x086f
+#if PACKETVER >= 20171206
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171204
+packetLen(0x086f, 19) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171130
+packetLen(0x086f, 12) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171018
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20171214
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171206
+packetLen(0x0870, 8) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20171018
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20171227
+packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20171220
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20171214
+packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20171018
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20171227
+packetLen(0x0872, 90)
+#elif PACKETVER >= 20171220
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20171204
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20171220
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171214
+packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20171018
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20171227
+packetLen(0x0874, 19) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171018
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20171204
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20171130
+packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20171018
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20171227
+packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171127
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171123
+packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171018
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20171227
+packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20171018
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20171227
+packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171214
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171206
+packetLen(0x0878, 10) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171204
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171130
+packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20171018
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+
+// Packet: 0x087a
+#if PACKETVER >= 20171227
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171220
+packetLen(0x087a, 12) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171214
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171206
+packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171018
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20171227
+packetLen(0x087b, 8) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171214
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171206
+packetLen(0x087b, -1) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171018
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+
+// Packet: 0x087d
+#if PACKETVER >= 20171206
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20171204
+packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20171018
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20171227
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171220
+packetLen(0x087e, 4) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171018
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+
+// Packet: 0x0880
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+
+// Packet: 0x0881
+#if PACKETVER >= 20171204
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20171130
+packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20171121
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20171115
+packetLen(0x0881, 19) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20171018
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20171127
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171123
+packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171018
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+
+// Packet: 0x0884
+#if PACKETVER >= 20171204
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20171130
+packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20171018
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20171227
+packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171214
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171206
+packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171204
+packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20171018
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20171220
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20171214
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20171018
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20171206
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20171204
+packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20171130
+packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20171018
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+
+// Packet: 0x0889
+#if PACKETVER >= 20171227
+packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20171123
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20171121
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20171018
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+
+// Packet: 0x088b
+#if PACKETVER >= 20171220
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20171214
+packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20171204
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20171130
+packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20171018
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20171220
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171214
+packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171127
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171123
+packetLen(0x088c, 26) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20171018
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20171214
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20171206
+packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20171018
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+
+// Packet: 0x088f
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+
+// Packet: 0x0890
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+
+// Packet: 0x0891
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+
+// Packet: 0x0892
+#if PACKETVER >= 20171220
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20171214
+packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20171206
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20171204
+packetLen(0x0892, 4) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20171123
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20171121
+packetLen(0x0892, 18) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20171018
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20171214
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20171206
+packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20171130
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20171127
+packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20171018
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20171227
+packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171220
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171214
+packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171204
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171130
+packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20171018
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x0895
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+
+// Packet: 0x0896
+#if PACKETVER >= 20171206
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171204
+packetLen(0x0896, 36) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171127
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171123
+packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20171018
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20171220
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171214
+packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171206
+packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20171018
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+
+// Packet: 0x0899
+#if PACKETVER >= 20171227
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171220
+packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171204
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171130
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20171018
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+
+// Packet: 0x089b
+#if PACKETVER >= 20171227
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20171220
+packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20171018
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+
+// Packet: 0x089d
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+
+// Packet: 0x089e
+#if PACKETVER >= 20171214
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171206
+packetLen(0x089e, 12) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171127
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171123
+packetLen(0x089e, 18) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171121
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20171018
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20171227
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20171018
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20171204
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171130
+packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20171018
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+
+// Packet: 0x08a3
+#if PACKETVER >= 20171227
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20171220
+packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20171214
+packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20171018
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20171214
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171206
+packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20171018
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20171227
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171220
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171214
+packetLen(0x08a5, 90) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20171018
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+
+// Packet: 0x08a7
+#if PACKETVER >= 20171204
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20171130
+packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20171018
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20171127
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171123
+packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20171018
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x08a9
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+
+// Packet: 0x08aa
+#if PACKETVER >= 20171206
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20171204
+packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20171018
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+
+// Packet: 0x08ac
+#if PACKETVER >= 20171214
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171206
+packetLen(0x08ac, 7) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20171018
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20171227
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171220
+packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171123
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171121
+packetLen(0x08ad, 26) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20171018
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20171206
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171204
+packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171018
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20171123
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20171121
+packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20171018
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+
+// Packet: 0x091a
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+
+// Packet: 0x091b
+#if PACKETVER >= 20171206
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20171204
+packetLen(0x091b, 26) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20171018
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20171227
+packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20171121
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20171115
+packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20171018
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+
+// Packet: 0x091e
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+
+// Packet: 0x091f
+#if PACKETVER >= 20171227
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20171220
+packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20171123
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20171121
+packetLen(0x091f, 19) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20171018
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20171227
+packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20171214
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20171206
+packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20171018
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20171227
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20171220
+packetLen(0x0921, 5) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20171206
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20171204
+packetLen(0x0921, 18) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20171018
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20171121
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20171115
+packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20171018
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+
+// Packet: 0x0924
+#if PACKETVER >= 20171206
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171204
+packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20171018
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20171227
+packetLen(0x0925, 4) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20171204
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20171130
+packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20171018
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0926
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+
+// Packet: 0x0927
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+
+// Packet: 0x0928
+#if PACKETVER >= 20171204
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20171130
+packetLen(0x0928, 4) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20171123
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20171121
+packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20171018
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0929
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+
+// Packet: 0x092a
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+
+// Packet: 0x092b
+#if PACKETVER >= 20171127
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20171123
+packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20171018
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x092c
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+
+// Packet: 0x092d
+#if PACKETVER >= 20171227
+packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171220
+packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20171018
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20171227
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171220
+packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20171018
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+
+// Packet: 0x0930
+#if PACKETVER >= 20171227
+packetLen(0x0930, 36) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171204
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171130
+packetLen(0x0930, 19) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171127
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171123
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171018
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20171204
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20171130
+packetLen(0x0931, 26) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20171018
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20171227
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20171220
+packetLen(0x0932, 26) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20171018
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20171220
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20171214
+packetLen(0x0933, 7) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20171018
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20171227
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20171220
+packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20171018
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20171204
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171130
+packetLen(0x0935, 8) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171127
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171123
+packetLen(0x0935, 8) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171018
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20171214
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171206
+packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171018
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20171227
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20171220
+packetLen(0x0937, 7) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20171206
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20171204
+packetLen(0x0937, 8) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20171018
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+
+// Packet: 0x0939
+#if PACKETVER >= 20171227
+packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20171018
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20171214
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20171206
+packetLen(0x093a, -1) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20171204
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20171130
+packetLen(0x093a, 7) // ZC_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20171018
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x093b
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+
+// Packet: 0x093c
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+
+// Packet: 0x093d
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+
+// Packet: 0x093e
+#if PACKETVER >= 20171227
+packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171018
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+
+// Packet: 0x0940
+#if PACKETVER >= 20171214
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171206
+packetLen(0x0940, 90) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171018
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20171227
+packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171214
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171206
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20171018
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+
+// Packet: 0x0943
+#if PACKETVER >= 20171123
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20171121
+packetLen(0x0943, 8) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20171018
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+
+// Packet: 0x0945
+#if PACKETVER >= 20171227
+packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20171018
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20171227
+packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20171018
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20171204
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171130
+packetLen(0x0947, -1) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171127
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171123
+packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20171018
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+
+// Packet: 0x0949
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+
+// Packet: 0x094a
+#if PACKETVER >= 20171220
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20171214
+packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20171018
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20171227
+packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20171018
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20171204
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20171130
+packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20171018
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20171227
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171220
+packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171214
+packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20171018
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+
+// Packet: 0x094f
+#if PACKETVER >= 20171220
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20171214
+packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20171204
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20171130
+packetLen(0x094f, 90) // CZ_REASSEMBLY_AUTH57
+#elif PACKETVER >= 20171018
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20171123
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20171121
+packetLen(0x0950, 4) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20171018
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20171220
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20171214
+packetLen(0x0951, 26) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20171018
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+
+// Packet: 0x0953
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+
+// Packet: 0x0954
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+
+// Packet: 0x0955
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+
+// Packet: 0x0956
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+
+// Packet: 0x0957
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+
+// Packet: 0x0958
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+
+// Packet: 0x0959
+#if PACKETVER >= 20171214
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20171206
+packetLen(0x0959, 36) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20171121
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20171115
+packetLen(0x0959, 5) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20171018
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20171220
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171214
+packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20171018
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20171227
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20171220
+packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20171214
+packetLen(0x095b, 12) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20171204
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20171130
+packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20171018
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20171214
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20171206
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20171018
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+
+// Packet: 0x095e
+#if PACKETVER >= 20171227
+packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20171018
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20171214
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171206
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171204
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171130
+packetLen(0x095f, 26) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20171018
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20171220
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171214
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171206
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171130
+packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171127
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171123
+packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20171018
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+
+// Packet: 0x0962
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+
+// Packet: 0x0963
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+
+// Packet: 0x0964
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+
+// Packet: 0x0965
+#if PACKETVER >= 20171204
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171130
+packetLen(0x0965, 10) // CZ_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20171018
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20171121
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20171115
+packetLen(0x0966, 26) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20171018
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20171227
+packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20171018
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20171227
+packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20171018
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20171220
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20171214
+packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20171018
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20171227
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171220
+packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171214
+packetLen(0x096a, 10) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171206
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171204
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171130
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171115
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20171018
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+packetLen(0x0a3d, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+packetLen(0x0a4e, 4)
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a52
+packetLen(0x0a52, 20)
+
+// Packet: 0x0a53
+packetLen(0x0a53, 10)
+
+// Packet: 0x0a54
+packetLen(0x0a54, -1)
+
+// Packet: 0x0a55
+packetLen(0x0a55, 2)
+
+// Packet: 0x0a56
+packetLen(0x0a56, 6)
+
+// Packet: 0x0a57
+packetLen(0x0a57, 6)
+
+// Packet: 0x0a58
+packetLen(0x0a58, 8)
+
+// Packet: 0x0a59
+packetLen(0x0a59, -1)
+
+// Packet: 0x0a5a
+packetLen(0x0a5a, 2)
+
+// Packet: 0x0a5b
+packetLen(0x0a5b, 7)
+
+// Packet: 0x0a5c
+packetLen(0x0a5c, 18)
+
+// Packet: 0x0a5d
+packetLen(0x0a5d, 6)
+
+// Packet: 0x0a68
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+
+// Packet: 0x0a69
+packetLen(0x0a69, 6)
+
+// Packet: 0x0a6a
+packetLen(0x0a6a, 12)
+
+// Packet: 0x0a6b
+packetLen(0x0a6b, -1)
+
+// Packet: 0x0a6c
+packetLen(0x0a6c, 7)
+
+// Packet: 0x0a6d
+packetLen(0x0a6d, -1)
+
+// Packet: 0x0a6e
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+
+// Packet: 0x0a70
+packetLen(0x0a70, 2)
+
+// Packet: 0x0a71
+packetLen(0x0a71, -1)
+
+// Packet: 0x0a72
+packetLen(0x0a72, 61)
+
+// Packet: 0x0a73
+packetLen(0x0a73, 2)
+
+// Packet: 0x0a74
+packetLen(0x0a74, 8)
+
+// Packet: 0x0a76
+packetLen(0x0a76, 80)
+
+// Packet: 0x0a77
+packetLen(0x0a77, 15)
+
+// Packet: 0x0a78
+packetLen(0x0a78, 15)
+
+// Packet: 0x0a79
+packetLen(0x0a79, -1)
+
+// Packet: 0x0a7b
+packetLen(0x0a7b, -1)
+
+// Packet: 0x0a7c
+packetLen(0x0a7c, -1)
+
+// Packet: 0x0a7d
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+
+// Packet: 0x0a80
+packetLen(0x0a80, 6)
+
+// Packet: 0x0a81
+packetLen(0x0a81, 4)
+
+// Packet: 0x0a82
+packetLen(0x0a82, 46)
+
+// Packet: 0x0a83
+packetLen(0x0a83, 46)
+
+// Packet: 0x0a84
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2)
+
+// Packet: 0x0a89
+packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+
+// Packet: 0x0a92
+packetLen(0x0a92, -1)
+
+// Packet: 0x0a93
+packetLen(0x0a93, 3)
+
+// Packet: 0x0a94
+packetLen(0x0a94, 2)
+
+// Packet: 0x0a95
+packetLen(0x0a95, 4)
+
+// Packet: 0x0a96
+packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4)
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+
+// Packet: 0x0a9c
+packetLen(0x0a9c, 2)
+
+// Packet: 0x0a9d
+packetLen(0x0a9d, 4)
+
+// Packet: 0x0a9e
+packetLen(0x0a9e, 2)
+
+// Packet: 0x0a9f
+packetLen(0x0a9f, 2)
+
+// Packet: 0x0aa0
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+
+// Packet: 0x0aa3
+packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+
+// Packet: 0x0aa8
+packetLen(0x0aa8, 5)
+
+// Packet: 0x0aa9
+packetLen(0x0aa9, -1)
+
+// Packet: 0x0aaa
+packetLen(0x0aaa, -1)
+
+// Packet: 0x0aab
+packetLen(0x0aab, -1)
+
+// Packet: 0x0aac
+packetLen(0x0aac, 69)
+
+// Packet: 0x0aad
+packetLen(0x0aad, 51)
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+
+// Packet: 0x0ab3
+packetLen(0x0ab3, 19)
+
+// Packet: 0x0ab4
+packetLen(0x0ab4, 4)
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+packetLen(0x0ab6, 6)
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1) // ZC_WARPLIST
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+#if PACKETVER >= 20171113
+packetLen(0x0acf, 68) // CA_LOGIN_OTP
+#elif PACKETVER >= 20171018
+packetLen(0x0acf, 64) // CA_LOGIN_OTP
+#endif
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11) // CA_OTP_CODE
+
+// Packet: 0x0ad1
+packetLen(0x0ad1, -1)
+
+// Packet: 0x0ad2
+packetLen(0x0ad2, 30)
+
+// Packet: 0x0ad3
+packetLen(0x0ad3, -1)
+
+// Packet: 0x0ad4
+packetLen(0x0ad4, -1)
+
+// Packet: 0x0ad5
+packetLen(0x0ad5, 2)
+
+// Packet: 0x0ad6
+packetLen(0x0ad6, 2)
+
+// Packet: 0x0ad7
+packetLen(0x0ad7, 8)
+
+// Packet: 0x0ad8
+packetLen(0x0ad8, 8)
+
+// Packet: 0x0ad9
+packetLen(0x0ad9, -1)
+
+// Packet: 0x0ada
+packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+
+// Packet: 0x0add
+packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+#if PACKETVER >= 20171025
+packetLen(0x0ae1, 28)
+#endif
+
+// Packet: 0x0ae2
+#if PACKETVER >= 20171109
+packetLen(0x0ae2, 7) // ZC_OPEN_UI
+#endif
+
+// Packet: 0x0ae3
+#if PACKETVER >= 20171123
+packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+#endif
+
+// Packet: 0x0ae4
+#if PACKETVER >= 20171130
+packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+#endif
+
+// Packet: 0x0ae5
+#if PACKETVER >= 20171130
+packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+#endif
+
+// Packet: 0x0ae6
+#if PACKETVER >= 20171214
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20171214
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+#if PACKETVER >= 20171214
+packetLen(0x0ae8, 2)
+#endif
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20171220
+packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20171227
+packetLen(0x0aea, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0aea, 11)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20171227
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+#if PACKETVER >= 20171227
+packetLen(0x0aec, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2017_LEN_ZERO_H */
diff --git a/src/common/packets/packets2018_len_main.h b/src/common/packets/packets2018_len_main.h
new file mode 100644
index 000000000..c7f4c0972
--- /dev/null
+++ b/src/common/packets/packets2018_len_main.h
@@ -0,0 +1,5786 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2018_LEN_MAIN_H
+#define COMMON_PACKETS2018_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+#if PACKETVER >= 20181121
+packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20180103
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20181121
+packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20180103
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+#if PACKETVER >= 20181121
+packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20180103
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#endif
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+#if PACKETVER >= 20181121
+packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+#if PACKETVER >= 20181121
+packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+#if PACKETVER >= 20181121
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#endif
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+#if PACKETVER >= 20181121
+packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20180103
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#endif
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+#if PACKETVER >= 20181121
+packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20180103
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+#endif
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+#if PACKETVER >= 20181121
+packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20180103
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20181121
+packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20180103
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+#if PACKETVER >= 20181121
+packetLen(0x01a3, 7) // ZC_FEED_PET
+#elif PACKETVER >= 20180103
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#endif
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+#if PACKETVER >= 20181121
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20180103
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+#if PACKETVER >= 20181121
+packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20180103
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20181121
+packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20180103
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+#if PACKETVER >= 20181121
+packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20180103
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+#endif
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+#if PACKETVER >= 20181121
+packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20180103
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20181121
+packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20180103
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20181121
+packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20180103
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20181121
+packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20180103
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+#if PACKETVER >= 20181121
+packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20180103
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20180315
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180307
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180221
+packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180124
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180117
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180103
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+#if PACKETVER >= 20180307
+packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20180103
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#endif
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+#if PACKETVER >= 20181121
+packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+#elif PACKETVER >= 20180103
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+#endif
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+#if PACKETVER >= 20181121
+packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20180103
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20181121
+packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20180103
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20181121
+packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20180103
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20180315
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180124
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180117
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180103
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20181121
+packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20180103
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20181121
+packetLen(0x022f, 7) // ZC_FEED_MER
+#elif PACKETVER >= 20180103
+packetLen(0x022f, 5) // ZC_FEED_MER
+#endif
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20180315
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180124
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180117
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180103
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+#if PACKETVER >= 20181121
+packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+#elif PACKETVER >= 20180103
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+#endif
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20180315
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180314
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180307
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180213
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180207
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180124
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180117
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180103
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+#if PACKETVER >= 20181121
+packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+#elif PACKETVER >= 20180103
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20181121
+packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+#elif PACKETVER >= 20180103
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20181121
+packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20180103
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#endif
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+#if PACKETVER >= 20181121
+packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+#elif PACKETVER >= 20180103
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+#endif
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20180315
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180117
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180103
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+#if PACKETVER >= 20181121
+packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20180103
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#endif
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+#if PACKETVER >= 20181121
+packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20181121
+packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20181121
+packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20180315
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180314
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180307
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180213
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180117
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180103
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20180315
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180213
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180207
+packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180117
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180103
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20180315
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180314
+packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180124
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180117
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180103
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20180315
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180213
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180207
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180124
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180117
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180103
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20180315
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180213
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180207
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180124
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180117
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180103
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20180315
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180213
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180207
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180124
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180117
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180103
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20180315
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180213
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180207
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180124
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180117
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180103
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20180314
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180307
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180221
+packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180213
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180117
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180103
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20180315
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20180103
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20180315
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20180213
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20180117
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20180103
+packetLen(0x0368, 2) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20180315
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180314
+packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180221
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180213
+packetLen(0x0369, 36) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180117
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180103
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20180315
+packetLen(0x0436, 19) // CZ_ENTER2
+#elif PACKETVER >= 20180314
+packetLen(0x0436, 6) // CZ_ENTER2
+#elif PACKETVER >= 20180307
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20180221
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20180207
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20180124
+packetLen(0x0436, 8) // CZ_ENTER2
+#elif PACKETVER >= 20180117
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20180103
+packetLen(0x0436, 2) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20180315
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180314
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180307
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180213
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180117
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180103
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20180315
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180213
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180117
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180103
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+#if PACKETVER >= 20181121
+packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20180315
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180314
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180307
+packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180213
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180207
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180124
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180117
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180103
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20180315
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180213
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180207
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180124
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180117
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180103
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20180315
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180221
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180213
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180207
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180124
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180117
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180103
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+#if PACKETVER >= 20181121
+packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+#elif PACKETVER >= 20180103
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20180315
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180213
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180117
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20180213
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20180117
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20180315
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20180221
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20180213
+packetLen(0x0817, 90) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20180315
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180213
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180207
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180124
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180117
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+#if PACKETVER >= 20181121
+packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#endif
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+#if PACKETVER >= 20181121
+packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+#elif PACKETVER >= 20180103
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+#endif
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20180315
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20180103
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20180307
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180221
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180213
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180117
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180103
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20181121
+packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180315
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180213
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180117
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180103
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+#if PACKETVER >= 20181121
+packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+#endif
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20180315
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20180314
+packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20180221
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20180213
+packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20180103
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+
+// Packet: 0x085c
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+
+// Packet: 0x085d
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+
+// Packet: 0x085e
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+
+// Packet: 0x085f
+#if PACKETVER >= 20180207
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180124
+packetLen(0x085f, 36) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180103
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+
+// Packet: 0x0861
+#if PACKETVER >= 20180314
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20180307
+packetLen(0x0861, 90) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20180103
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20180315
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20180307
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20180103
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20180315
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180314
+packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180103
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20180314
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20180307
+packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20180103
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20180117
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20180103
+packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+
+// Packet: 0x0867
+#if PACKETVER >= 20180307
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180221
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180103
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20180315
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180314
+packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180207
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180124
+packetLen(0x0868, 4) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180103
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+
+// Packet: 0x086a
+#if PACKETVER >= 20180207
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20180124
+packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20180103
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20180117
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20180103
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20180314
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20180221
+packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20180103
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20180117
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20180103
+packetLen(0x086d, 12) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20180315
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20180314
+packetLen(0x086e, 8) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20180103
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20180307
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180221
+packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180213
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180207
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180124
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180103
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20180314
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20180307
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20180213
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20180207
+packetLen(0x0870, 19) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20180103
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20180307
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180221
+packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180103
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20180314
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20180117
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0872, 6)
+#endif
+
+// Packet: 0x0873
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+
+// Packet: 0x0874
+#if PACKETVER >= 20180315
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180314
+packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180221
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180213
+packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180103
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20180221
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180213
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180124
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180117
+packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180103
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20180307
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20180221
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20180117
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20180103
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20180314
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180307
+packetLen(0x0877, 5) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180103
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20180221
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20180213
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20180103
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20180307
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180221
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180117
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180103
+packetLen(0x0879, -1) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20180315
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20180314
+packetLen(0x087a, 19) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20180207
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20180124
+packetLen(0x087a, 26) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20180103
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20180221
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180213
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180103
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+
+// Packet: 0x087d
+#if PACKETVER >= 20180307
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20180221
+packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20180103
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+
+// Packet: 0x087f
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+
+// Packet: 0x0880
+#if PACKETVER >= 20180307
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180221
+packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180103
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20180307
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180221
+packetLen(0x0881, 18) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180213
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180207
+packetLen(0x0881, 26) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180103
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20180221
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20180213
+packetLen(0x0882, 10) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20180103
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20180307
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20180221
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20180103
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+
+// Packet: 0x0885
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+
+// Packet: 0x0886
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+
+// Packet: 0x0887
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+
+// Packet: 0x0888
+#if PACKETVER >= 20180315
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20180314
+packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20180207
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20180124
+packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20180103
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+
+// Packet: 0x088a
+#if PACKETVER >= 20180315
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20180314
+packetLen(0x088a, 10) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20180103
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+
+// Packet: 0x088c
+#if PACKETVER >= 20180221
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20180213
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20180103
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20180315
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180314
+packetLen(0x088d, 36) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180307
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180103
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+
+// Packet: 0x088f
+#if PACKETVER >= 20180307
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20180221
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20180103
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20180207
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20180124
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20180103
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20180307
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180221
+packetLen(0x0891, 4) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180103
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20180221
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180213
+packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180103
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20180314
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20180307
+packetLen(0x0893, 10) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20180103
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+
+// Packet: 0x0895
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+
+// Packet: 0x0896
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+
+// Packet: 0x0897
+#if PACKETVER >= 20180307
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20180221
+packetLen(0x0897, 19) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20180103
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20180221
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20180213
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20180103
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20180117
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180103
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+
+// Packet: 0x089b
+#if PACKETVER >= 20180315
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180314
+packetLen(0x089b, 90) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180307
+packetLen(0x089b, 12) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180103
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20180221
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20180213
+packetLen(0x089c, 4) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20180103
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20180307
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20180221
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20180103
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+
+// Packet: 0x089f
+#if PACKETVER >= 20180117
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180103
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+
+// Packet: 0x08a3
+#if PACKETVER >= 20180221
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180213
+packetLen(0x08a3, 19) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180103
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+
+// Packet: 0x08a5
+#if PACKETVER >= 20180221
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180213
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180103
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+
+// Packet: 0x08a9
+#if PACKETVER >= 20180117
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20180103
+packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20180314
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180307
+packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180103
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20180314
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180307
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180117
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180103
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20180117
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20180103
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20180221
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20180213
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20180103
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20180314
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180307
+packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180221
+packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180213
+packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180103
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+
+// Packet: 0x0919
+#if PACKETVER >= 20180207
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180124
+packetLen(0x0919, 26) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180103
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+
+// Packet: 0x091b
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+
+// Packet: 0x091c
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x091d
+#if PACKETVER >= 20180117
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20180103
+packetLen(0x091d, 7) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20180307
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180221
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180103
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+
+// Packet: 0x0920
+#if PACKETVER >= 20180314
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180307
+packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180103
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20180315
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180314
+packetLen(0x0921, 7) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180103
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20180221
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20180213
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20180103
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+
+// Packet: 0x0924
+#if PACKETVER >= 20180221
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180213
+packetLen(0x0924, 10) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180103
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+
+// Packet: 0x0926
+#if PACKETVER >= 20180221
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180213
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180117
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180103
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20180117
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20180103
+packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+
+// Packet: 0x0929
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+
+// Packet: 0x092a
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+
+// Packet: 0x092b
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+
+// Packet: 0x092c
+#if PACKETVER >= 20180213
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180207
+packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180117
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180103
+packetLen(0x092c, 8) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+
+// Packet: 0x092e
+#if PACKETVER >= 20180213
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180207
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180103
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20180315
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20180314
+packetLen(0x092f, 5) // ZC_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20180103
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x0930
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+
+// Packet: 0x0931
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+
+// Packet: 0x0932
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+
+// Packet: 0x0933
+#if PACKETVER >= 20180315
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180314
+packetLen(0x0933, 8) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180221
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180213
+packetLen(0x0933, 7) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180103
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+
+// Packet: 0x0935
+#if PACKETVER >= 20180315
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20180314
+packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20180117
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20180103
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+
+// Packet: 0x0937
+#if PACKETVER >= 20180314
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180307
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180103
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20180117
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20180103
+packetLen(0x0938, 10) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20180314
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20180307
+packetLen(0x0939, 36) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20180103
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+
+// Packet: 0x093b
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+
+// Packet: 0x093c
+#if PACKETVER >= 20180221
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20180213
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20180103
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20180307
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180221
+packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180103
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+
+// Packet: 0x093f
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+
+// Packet: 0x0940
+#if PACKETVER >= 20180213
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180207
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180124
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180103
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20180314
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180307
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180117
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180103
+packetLen(0x0941, 5) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+
+// Packet: 0x0943
+#if PACKETVER >= 20180221
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180213
+packetLen(0x0943, 18) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180103
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20180314
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20180307
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20180103
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20180315
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20180314
+packetLen(0x0945, 18) // CZ_REASSEMBLY_AUTH47
+#elif PACKETVER >= 20180103
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20180207
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180124
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180117
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180103
+packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+
+// Packet: 0x0948
+#if PACKETVER >= 20180314
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180307
+packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180117
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180103
+packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+
+// Packet: 0x094a
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+
+// Packet: 0x094b
+#if PACKETVER >= 20180307
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180221
+packetLen(0x094b, 10) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180103
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+
+// Packet: 0x094d
+#if PACKETVER >= 20180315
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180314
+packetLen(0x094d, -1) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180307
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180221
+packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180207
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180124
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180103
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20180315
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180314
+packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180307
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180221
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180117
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180103
+packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+
+// Packet: 0x0950
+#if PACKETVER >= 20180213
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180207
+packetLen(0x0950, 36) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180103
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20180314
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20180307
+packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20180103
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+
+// Packet: 0x0953
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+
+// Packet: 0x0954
+#if PACKETVER >= 20180314
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20180307
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20180103
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20180221
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20180213
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20180103
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20180315
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180314
+packetLen(0x0956, 4) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180103
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20180314
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180221
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180103
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20180207
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180124
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180103
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20180315
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20180314
+packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20180103
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20180221
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20180213
+packetLen(0x095a, -1) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20180103
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+
+// Packet: 0x095c
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+
+// Packet: 0x095d
+#if PACKETVER >= 20180117
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180103
+packetLen(0x095d, 10) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+
+// Packet: 0x095f
+#if PACKETVER >= 20180315
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20180314
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20180117
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20180103
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20180117
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20180103
+packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20180207
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180124
+packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180103
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20180315
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20180314
+packetLen(0x0962, -1) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20180221
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20180213
+packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20180103
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+
+// Packet: 0x0964
+#if PACKETVER >= 20180307
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20180221
+packetLen(0x0964, 12) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20180103
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+
+// Packet: 0x0966
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+
+// Packet: 0x0967
+#if PACKETVER >= 20180315
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180314
+packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180103
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+
+// Packet: 0x0969
+#if PACKETVER >= 20180314
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20180307
+packetLen(0x0969, 7) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20180103
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20180307
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180221
+packetLen(0x096a, 7) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180213
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180117
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180103
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+#if PACKETVER >= 20181121
+packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+#elif PACKETVER >= 20180103
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+#endif
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+#if PACKETVER >= 20181121
+packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#elif PACKETVER >= 20180103
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20181121
+packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+#if PACKETVER >= 20181121
+packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+#if PACKETVER >= 20181121
+packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#elif PACKETVER >= 20180103
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20181121
+packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#elif PACKETVER >= 20180103
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#endif
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+#if PACKETVER >= 20181121
+packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20181121
+packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+#if PACKETVER >= 20181121
+packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#elif PACKETVER >= 20180103
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#endif
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+#if PACKETVER >= 20181121
+packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+#elif PACKETVER >= 20180103
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+#endif
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+#if PACKETVER >= 20181121
+packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+#elif PACKETVER >= 20180103
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+#endif
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+#if PACKETVER >= 20181121
+packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+#elif PACKETVER >= 20180103
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20181121
+packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+#elif PACKETVER >= 20180103
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20181121
+packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+#elif PACKETVER >= 20180103
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20181121
+packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+#elif PACKETVER >= 20180103
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+#endif
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+#if PACKETVER >= 20181121
+packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+#elif PACKETVER >= 20180103
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+#endif
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+#if PACKETVER >= 20181121
+packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+#elif PACKETVER >= 20180103
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+#endif
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+#if PACKETVER >= 20181121
+packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+#endif
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+#if PACKETVER >= 20181121
+packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+#elif PACKETVER >= 20180103
+packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+#endif
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+#if PACKETVER >= 20181121
+packetLen(0x0a3d, 20)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20181121
+packetLen(0x0a3f, 11)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+#if PACKETVER >= 20181121
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+#elif PACKETVER >= 20180103
+packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20181121
+packetLen(0x0a4e, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a52
+packetLen(0x0a52, 20)
+
+// Packet: 0x0a53
+packetLen(0x0a53, 10)
+
+// Packet: 0x0a54
+packetLen(0x0a54, -1)
+
+// Packet: 0x0a55
+packetLen(0x0a55, 2)
+
+// Packet: 0x0a56
+packetLen(0x0a56, 6)
+
+// Packet: 0x0a57
+packetLen(0x0a57, 6)
+
+// Packet: 0x0a58
+packetLen(0x0a58, 8)
+
+// Packet: 0x0a59
+packetLen(0x0a59, -1)
+
+// Packet: 0x0a5a
+packetLen(0x0a5a, 2)
+
+// Packet: 0x0a5b
+packetLen(0x0a5b, 7)
+
+// Packet: 0x0a5c
+packetLen(0x0a5c, 18)
+
+// Packet: 0x0a5d
+packetLen(0x0a5d, 6)
+
+// Packet: 0x0a68
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+
+// Packet: 0x0a69
+packetLen(0x0a69, 6)
+
+// Packet: 0x0a6a
+packetLen(0x0a6a, 12)
+
+// Packet: 0x0a6b
+packetLen(0x0a6b, -1)
+
+// Packet: 0x0a6c
+packetLen(0x0a6c, 7)
+
+// Packet: 0x0a6d
+packetLen(0x0a6d, -1)
+
+// Packet: 0x0a6e
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+
+// Packet: 0x0a70
+packetLen(0x0a70, 2)
+
+// Packet: 0x0a71
+packetLen(0x0a71, -1)
+
+// Packet: 0x0a72
+packetLen(0x0a72, 61)
+
+// Packet: 0x0a73
+packetLen(0x0a73, 2)
+
+// Packet: 0x0a74
+packetLen(0x0a74, 8)
+
+// Packet: 0x0a76
+packetLen(0x0a76, 80)
+
+// Packet: 0x0a77
+packetLen(0x0a77, 15)
+
+// Packet: 0x0a78
+packetLen(0x0a78, 15)
+
+// Packet: 0x0a79
+packetLen(0x0a79, -1)
+
+// Packet: 0x0a7b
+packetLen(0x0a7b, -1)
+
+// Packet: 0x0a7c
+packetLen(0x0a7c, -1)
+
+// Packet: 0x0a7d
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+
+// Packet: 0x0a80
+packetLen(0x0a80, 6)
+
+// Packet: 0x0a81
+packetLen(0x0a81, 4)
+
+// Packet: 0x0a82
+packetLen(0x0a82, 46)
+
+// Packet: 0x0a83
+packetLen(0x0a83, 46)
+
+// Packet: 0x0a84
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2)
+
+// Packet: 0x0a89
+#if PACKETVER >= 20181121
+packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+#endif
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+
+// Packet: 0x0a92
+packetLen(0x0a92, -1)
+
+// Packet: 0x0a93
+packetLen(0x0a93, 3)
+
+// Packet: 0x0a94
+packetLen(0x0a94, 2)
+
+// Packet: 0x0a95
+packetLen(0x0a95, 4)
+
+// Packet: 0x0a96
+#if PACKETVER >= 20181121
+packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+#elif PACKETVER >= 20180103
+packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+#endif
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4)
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+
+// Packet: 0x0a9c
+packetLen(0x0a9c, 2)
+
+// Packet: 0x0a9d
+packetLen(0x0a9d, 4)
+
+// Packet: 0x0a9e
+packetLen(0x0a9e, 2)
+
+// Packet: 0x0a9f
+packetLen(0x0a9f, 2)
+
+// Packet: 0x0aa0
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+
+// Packet: 0x0aa3
+#if PACKETVER >= 20181121
+packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+#elif PACKETVER >= 20180103
+packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+#endif
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+
+// Packet: 0x0aa8
+packetLen(0x0aa8, 5)
+
+// Packet: 0x0aa9
+packetLen(0x0aa9, -1)
+
+// Packet: 0x0aaa
+packetLen(0x0aaa, -1)
+
+// Packet: 0x0aab
+packetLen(0x0aab, -1)
+
+// Packet: 0x0aac
+packetLen(0x0aac, 69)
+
+// Packet: 0x0aad
+packetLen(0x0aad, 51)
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+
+// Packet: 0x0ab3
+packetLen(0x0ab3, 19)
+
+// Packet: 0x0ab4
+#if PACKETVER >= 20181121
+packetLen(0x0ab4, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20181121
+packetLen(0x0ab6, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20181121
+packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+#elif PACKETVER >= 20180103
+packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+#endif
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1) // ZC_WARPLIST
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+packetLen(0x0acf, 68) // CA_LOGIN_OTP
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11) // CA_OTP_CODE
+
+// Packet: 0x0ad1
+packetLen(0x0ad1, -1)
+
+// Packet: 0x0ad2
+packetLen(0x0ad2, 30)
+
+// Packet: 0x0ad3
+packetLen(0x0ad3, -1)
+
+// Packet: 0x0ad4
+packetLen(0x0ad4, -1)
+
+// Packet: 0x0ad5
+packetLen(0x0ad5, 2)
+
+// Packet: 0x0ad6
+packetLen(0x0ad6, 2)
+
+// Packet: 0x0ad7
+packetLen(0x0ad7, 8)
+
+// Packet: 0x0ad8
+packetLen(0x0ad8, 8)
+
+// Packet: 0x0ad9
+packetLen(0x0ad9, -1)
+
+// Packet: 0x0ada
+#if PACKETVER >= 20181121
+packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+#elif PACKETVER >= 20180103
+packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+#endif
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+
+// Packet: 0x0add
+#if PACKETVER >= 20181121
+packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20180103
+packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+packetLen(0x0ae1, 28)
+
+// Packet: 0x0ae2
+packetLen(0x0ae2, 7) // ZC_OPEN_UI
+
+// Packet: 0x0ae3
+packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+
+// Packet: 0x0ae4
+packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0ae5
+packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0ae6
+#if PACKETVER >= 20180207
+packetLen(0x0ae6, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20180404
+packetLen(0x0ae7, 38)
+#elif PACKETVER >= 20180321
+packetLen(0x0ae7, 34)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20180117
+packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+#elif PACKETVER >= 20180103
+packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aea, 2)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+#if PACKETVER >= 20180117
+packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+#endif
+
+// Packet: 0x0af0
+#if PACKETVER >= 20180117
+packetLen(0x0af0, 10) // ZC_UI_ACTION
+#endif
+
+// Packet: 0x0af2
+#if PACKETVER >= 20180124
+packetLen(0x0af2, 40)
+#endif
+
+// Packet: 0x0af3
+#if PACKETVER >= 20180124
+packetLen(0x0af3, -1)
+#endif
+
+// Packet: 0x0af4
+#if PACKETVER >= 20180207
+packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0af5
+#if PACKETVER >= 20180207
+packetLen(0x0af5, 3)
+#endif
+
+// Packet: 0x0af6
+#if PACKETVER >= 20180207
+packetLen(0x0af6, 88)
+#endif
+
+// Packet: 0x0af7
+#if PACKETVER >= 20180207
+packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+#endif
+
+// Packet: 0x0af8
+#if PACKETVER >= 20180321
+packetLen(0x0af8, 11)
+#endif
+
+// Packet: 0x0af9
+#if PACKETVER >= 20180404
+packetLen(0x0af9, 6)
+#endif
+
+// Packet: 0x0afa
+#if PACKETVER >= 20180404
+packetLen(0x0afa, 54)
+#endif
+
+// Packet: 0x0afb
+#if PACKETVER >= 20180418
+packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+#endif
+
+// Packet: 0x0afc
+#if PACKETVER >= 20180516
+packetLen(0x0afc, 16)
+#endif
+
+// Packet: 0x0afd
+#if PACKETVER >= 20180605
+packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+#endif
+
+// Packet: 0x0afe
+#if PACKETVER >= 20180605
+packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+#endif
+
+// Packet: 0x0aff
+#if PACKETVER >= 20180605
+packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+#endif
+
+// Packet: 0x0b00
+#if PACKETVER >= 20180620
+packetLen(0x0b00, 8)
+#endif
+
+// Packet: 0x0b01
+#if PACKETVER >= 20180704
+packetLen(0x0b01, 56)
+#elif PACKETVER >= 20180620
+packetLen(0x0b01, 40)
+#endif
+
+// Packet: 0x0b02
+#if PACKETVER >= 20180704
+packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+#endif
+
+// Packet: 0x0b03
+#if PACKETVER >= 20180801
+packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+#endif
+
+// Packet: 0x0b04
+#if PACKETVER >= 20180801
+packetLen(0x0b04, 80)
+#endif
+
+// Packet: 0x0b05
+#if PACKETVER >= 20181121
+packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+#elif PACKETVER >= 20180829
+packetLen(0x0b05, 59) // ZC_OFFLINE_STORE_VISIBLE
+#endif
+
+// Packet: 0x0b06
+#if PACKETVER >= 20181002
+// removed
+#elif PACKETVER >= 20180829
+packetLen(0x0b06, 53)
+#endif
+
+// Packet: 0x0b07
+#if PACKETVER >= 20180829
+packetLen(0x0b07, -1)
+#endif
+
+// Packet: 0x0b08
+#if PACKETVER >= 20181002
+packetLen(0x0b08, -1) // ZC_INVENTORY_START
+#elif PACKETVER >= 20180912
+packetLen(0x0b08, 27) // ZC_INVENTORY_START
+#elif PACKETVER >= 20180829
+packetLen(0x0b08, 26) // ZC_INVENTORY_START
+#endif
+
+// Packet: 0x0b09
+#if PACKETVER >= 20180829
+packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+#endif
+
+// Packet: 0x0b0a
+#if PACKETVER >= 20180829
+packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0b0b
+#if PACKETVER >= 20180912
+packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+#elif PACKETVER >= 20180829
+packetLen(0x0b0b, 3) // ZC_INVENTORY_END
+#endif
+
+// Packet: 0x0b0c
+#if PACKETVER >= 20180829
+packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+#endif
+
+// Packet: 0x0b0d
+#if PACKETVER >= 20180912
+packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+#endif
+
+// Packet: 0x0b0e
+#if PACKETVER >= 20180912
+packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+#endif
+
+// Packet: 0x0b0f
+#if PACKETVER >= 20180912
+packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+#endif
+
+// Packet: 0x0b10
+#if PACKETVER >= 20181002
+packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+#endif
+
+// Packet: 0x0b11
+#if PACKETVER >= 20181002
+packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+#endif
+
+// Packet: 0x0b12
+#if PACKETVER >= 20181017
+packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+#endif
+
+// Packet: 0x0b13
+#if PACKETVER >= 20181121
+packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+#elif PACKETVER >= 20181017
+packetLen(0x0b13, 40) // ZC_ITEM_PREVIEW
+#endif
+
+// Packet: 0x0b14
+#if PACKETVER >= 20181031
+packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+#endif
+
+// Packet: 0x0b15
+#if PACKETVER >= 20181031
+packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+#endif
+
+// Packet: 0x0b16
+#if PACKETVER >= 20181031
+packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+#endif
+
+// Packet: 0x0b17
+#if PACKETVER >= 20181031
+packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+#endif
+
+// Packet: 0x0b18
+#if PACKETVER >= 20181031
+packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+#endif
+
+// Packet: 0x0b19
+#if PACKETVER >= 20181031
+packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+#endif
+
+// Packet: 0x0b1a
+#if PACKETVER >= 20181212
+packetLen(0x0b1a, 29)
+#endif
+
+
+#endif /* COMMON_PACKETS2018_LEN_MAIN_H */
diff --git a/src/common/packets/packets2018_len_re.h b/src/common/packets/packets2018_len_re.h
new file mode 100644
index 000000000..42a417fea
--- /dev/null
+++ b/src/common/packets/packets2018_len_re.h
@@ -0,0 +1,5670 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2018_LEN_RE_H
+#define COMMON_PACKETS2018_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+#if PACKETVER >= 20180704
+packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20180103
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20180704
+packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20180103
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+#if PACKETVER >= 20180704
+packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20180103
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#endif
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+#if PACKETVER >= 20180704
+packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+#if PACKETVER >= 20180704
+packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+#if PACKETVER >= 20180704
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#endif
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+#if PACKETVER >= 20180704
+packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20180103
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#endif
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+#if PACKETVER >= 20180704
+packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20180103
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+#endif
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+#if PACKETVER >= 20180704
+packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20180103
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20180704
+packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20180103
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+#if PACKETVER >= 20180704
+packetLen(0x01a3, 7) // ZC_FEED_PET
+#elif PACKETVER >= 20180103
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#endif
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+#if PACKETVER >= 20180704
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20180103
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+#if PACKETVER >= 20180704
+packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20180103
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20180704
+packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20180103
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+#if PACKETVER >= 20180704
+packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20180103
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+#endif
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+#if PACKETVER >= 20180704
+packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20180103
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20180704
+packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20180103
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20180704
+packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20180103
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20180704
+packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20180103
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+#if PACKETVER >= 20180704
+packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20180103
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20180321
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180307
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180221
+packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180124
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180117
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180103
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+#if PACKETVER >= 20180221
+packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20180103
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#endif
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+#if PACKETVER >= 20180704
+packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+#elif PACKETVER >= 20180103
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+#endif
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+#if PACKETVER >= 20180704
+packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20180103
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20180704
+packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20180103
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20180704
+packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20180103
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20180321
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180124
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180117
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180103
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20180704
+packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20180103
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20180704
+packetLen(0x022f, 7) // ZC_FEED_MER
+#elif PACKETVER >= 20180103
+packetLen(0x022f, 5) // ZC_FEED_MER
+#endif
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20180321
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180124
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180117
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180103
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+#if PACKETVER >= 20180704
+packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+#elif PACKETVER >= 20180103
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+#endif
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20180307
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180213
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180207
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180124
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180117
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180103
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+#if PACKETVER >= 20180704
+packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+#elif PACKETVER >= 20180103
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20180704
+packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+#elif PACKETVER >= 20180103
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20180704
+packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20180103
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#endif
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+#if PACKETVER >= 20180704
+packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+#elif PACKETVER >= 20180103
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+#endif
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20180321
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180117
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180103
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+#if PACKETVER >= 20180704
+packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20180103
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#endif
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+#if PACKETVER >= 20180704
+packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20180704
+packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20180704
+packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20180321
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180307
+packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180213
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180117
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180103
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20180321
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180213
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180207
+packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180117
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180103
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20180321
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180124
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180117
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180103
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20180321
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180213
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180207
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180124
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180117
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180103
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20180321
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180213
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180207
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180124
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180117
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180103
+packetLen(0x0363, 26) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20180321
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180213
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180207
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180124
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180117
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180103
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20180321
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180213
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180207
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180124
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180117
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180103
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20180321
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180307
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180221
+packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180213
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180117
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180103
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20180321
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20180103
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20180321
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20180213
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20180117
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20180103
+packetLen(0x0368, 2) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20180321
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180221
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180213
+packetLen(0x0369, 36) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180117
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180103
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20180321
+packetLen(0x0436, 19) // CZ_ENTER2
+#elif PACKETVER >= 20180307
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20180221
+packetLen(0x0436, 26) // CZ_ENTER2
+#elif PACKETVER >= 20180207
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20180124
+packetLen(0x0436, 8) // CZ_ENTER2
+#elif PACKETVER >= 20180117
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20180103
+packetLen(0x0436, 2) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20180321
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180307
+packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180213
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180117
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180103
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20180321
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180213
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180117
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180103
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+#if PACKETVER >= 20180704
+packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20180321
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180307
+packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180213
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180207
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180124
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180117
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180103
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20180321
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180213
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180207
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180124
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180117
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180103
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20180321
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180221
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180213
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180207
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180124
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180117
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180103
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+#if PACKETVER >= 20180704
+packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+#elif PACKETVER >= 20180103
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20180321
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180213
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180117
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20180213
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20180117
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20180321
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20180221
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20180213
+packetLen(0x0817, 90) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20180321
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180213
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180207
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180124
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180117
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+#if PACKETVER >= 20180704
+packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#endif
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+#if PACKETVER >= 20180704
+packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+#elif PACKETVER >= 20180103
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+#endif
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20180321
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20180103
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20180307
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180221
+packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180213
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180117
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180103
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20180704
+packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180321
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180213
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180117
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180103
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+#if PACKETVER >= 20180704
+packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+#endif
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20180221
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20180213
+packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20180103
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+
+// Packet: 0x085c
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+
+// Packet: 0x085d
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+
+// Packet: 0x085e
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+
+// Packet: 0x085f
+#if PACKETVER >= 20180207
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180124
+packetLen(0x085f, 36) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180103
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+
+// Packet: 0x0861
+#if PACKETVER >= 20180321
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20180307
+packetLen(0x0861, 90) // ZC_REASSEMBLY_AUTH08
+#elif PACKETVER >= 20180103
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20180321
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20180307
+packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20180103
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x0863
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+
+// Packet: 0x0864
+#if PACKETVER >= 20180321
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20180307
+packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20180103
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20180117
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20180103
+packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0866
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+
+// Packet: 0x0867
+#if PACKETVER >= 20180307
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180221
+packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180103
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20180207
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180124
+packetLen(0x0868, 4) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180103
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+
+// Packet: 0x086a
+#if PACKETVER >= 20180207
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20180124
+packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20180103
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20180117
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20180103
+packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20180321
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20180221
+packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20180103
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20180117
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20180103
+packetLen(0x086d, 12) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+
+// Packet: 0x086f
+#if PACKETVER >= 20180307
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180221
+packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180213
+packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180207
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180124
+packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180103
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20180321
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20180307
+packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20180213
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20180207
+packetLen(0x0870, 19) // ZC_REASSEMBLY_AUTH23
+#elif PACKETVER >= 20180103
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20180307
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180221
+packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180103
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20180321
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20180117
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0872, 6)
+#endif
+
+// Packet: 0x0873
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+
+// Packet: 0x0874
+#if PACKETVER >= 20180221
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180213
+packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180103
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20180221
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180213
+packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180124
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180117
+packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180103
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20180307
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20180221
+packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20180117
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+#elif PACKETVER >= 20180103
+packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20180321
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180307
+packetLen(0x0877, 5) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180103
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20180221
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20180213
+packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20180103
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20180307
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180221
+packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180117
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180103
+packetLen(0x0879, -1) // ZC_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20180207
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20180124
+packetLen(0x087a, 26) // ZC_REASSEMBLY_AUTH33
+#elif PACKETVER >= 20180103
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20180221
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180213
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180103
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+
+// Packet: 0x087d
+#if PACKETVER >= 20180307
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20180221
+packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20180103
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+
+// Packet: 0x087f
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+
+// Packet: 0x0880
+#if PACKETVER >= 20180307
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180221
+packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180103
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20180307
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180221
+packetLen(0x0881, 18) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180213
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180207
+packetLen(0x0881, 26) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180103
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20180221
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20180213
+packetLen(0x0882, 10) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20180103
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20180307
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20180221
+packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20180103
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x0884
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+
+// Packet: 0x0885
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+
+// Packet: 0x0886
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+
+// Packet: 0x0887
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+
+// Packet: 0x0888
+#if PACKETVER >= 20180207
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20180124
+packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20180103
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+
+// Packet: 0x088a
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+
+// Packet: 0x088b
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+
+// Packet: 0x088c
+#if PACKETVER >= 20180221
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20180213
+packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+#elif PACKETVER >= 20180103
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20180321
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180307
+packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180103
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+
+// Packet: 0x088f
+#if PACKETVER >= 20180307
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20180221
+packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+#elif PACKETVER >= 20180103
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20180207
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20180124
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20180103
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20180307
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180221
+packetLen(0x0891, 4) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180103
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20180221
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180213
+packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180103
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20180321
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20180307
+packetLen(0x0893, 10) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20180103
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+
+// Packet: 0x0895
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+
+// Packet: 0x0896
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+
+// Packet: 0x0897
+#if PACKETVER >= 20180307
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20180221
+packetLen(0x0897, 19) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20180103
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20180221
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20180213
+packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20180103
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20180117
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180103
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+
+// Packet: 0x089b
+#if PACKETVER >= 20180321
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180307
+packetLen(0x089b, 12) // CZ_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180103
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20180221
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20180213
+packetLen(0x089c, 4) // CZ_REASSEMBLY_AUTH25
+#elif PACKETVER >= 20180103
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20180307
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20180221
+packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20180103
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+
+// Packet: 0x089f
+#if PACKETVER >= 20180117
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+#elif PACKETVER >= 20180103
+packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+#endif
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+
+// Packet: 0x08a3
+#if PACKETVER >= 20180221
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180213
+packetLen(0x08a3, 19) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180103
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+
+// Packet: 0x08a5
+#if PACKETVER >= 20180221
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180213
+packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180103
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+
+// Packet: 0x08a9
+#if PACKETVER >= 20180117
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+#elif PACKETVER >= 20180103
+packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20180321
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180307
+packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180103
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20180321
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180307
+packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180117
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180103
+packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20180117
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20180103
+packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20180221
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20180213
+packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+#elif PACKETVER >= 20180103
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20180321
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180307
+packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180221
+packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180213
+packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180103
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+
+// Packet: 0x0919
+#if PACKETVER >= 20180207
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180124
+packetLen(0x0919, 26) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180103
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+
+// Packet: 0x091b
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+
+// Packet: 0x091c
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x091d
+#if PACKETVER >= 20180117
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20180103
+packetLen(0x091d, 7) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20180307
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180221
+packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180103
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+
+// Packet: 0x0920
+#if PACKETVER >= 20180321
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180307
+packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180103
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+
+// Packet: 0x0922
+#if PACKETVER >= 20180221
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20180213
+packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20180103
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+
+// Packet: 0x0924
+#if PACKETVER >= 20180221
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180213
+packetLen(0x0924, 10) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180103
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+
+// Packet: 0x0926
+#if PACKETVER >= 20180221
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180213
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180117
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180103
+packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20180117
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20180103
+packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0928
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+
+// Packet: 0x0929
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+
+// Packet: 0x092a
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+
+// Packet: 0x092b
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+
+// Packet: 0x092c
+#if PACKETVER >= 20180213
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180207
+packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180117
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180103
+packetLen(0x092c, 8) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+
+// Packet: 0x092e
+#if PACKETVER >= 20180213
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180207
+packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180103
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+
+// Packet: 0x0930
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+
+// Packet: 0x0931
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+
+// Packet: 0x0932
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+
+// Packet: 0x0933
+#if PACKETVER >= 20180221
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180213
+packetLen(0x0933, 7) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180103
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+
+// Packet: 0x0935
+#if PACKETVER >= 20180117
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20180103
+packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0936
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+
+// Packet: 0x0937
+#if PACKETVER >= 20180321
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180307
+packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180103
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20180117
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20180103
+packetLen(0x0938, 10) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20180321
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20180307
+packetLen(0x0939, 36) // ZC_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20180103
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x093a
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+
+// Packet: 0x093b
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+
+// Packet: 0x093c
+#if PACKETVER >= 20180221
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20180213
+packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20180103
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20180307
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180221
+packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180103
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+
+// Packet: 0x093f
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+
+// Packet: 0x0940
+#if PACKETVER >= 20180213
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180207
+packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180124
+packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180103
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20180321
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180307
+packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180117
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180103
+packetLen(0x0941, 5) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+
+// Packet: 0x0943
+#if PACKETVER >= 20180221
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180213
+packetLen(0x0943, 18) // CZ_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180103
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20180321
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20180307
+packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20180103
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x0945
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+
+// Packet: 0x0946
+#if PACKETVER >= 20180207
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180124
+packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180117
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180103
+packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+
+// Packet: 0x0948
+#if PACKETVER >= 20180321
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180307
+packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180117
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180103
+packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x0949
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+
+// Packet: 0x094a
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+
+// Packet: 0x094b
+#if PACKETVER >= 20180307
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180221
+packetLen(0x094b, 10) // CZ_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180103
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x094c
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+
+// Packet: 0x094d
+#if PACKETVER >= 20180307
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180221
+packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180207
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180124
+packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180103
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20180307
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180221
+packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180117
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180103
+packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+
+// Packet: 0x0950
+#if PACKETVER >= 20180213
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180207
+packetLen(0x0950, 36) // CZ_REASSEMBLY_AUTH58
+#elif PACKETVER >= 20180103
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20180321
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20180307
+packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20180103
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+
+// Packet: 0x0953
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+
+// Packet: 0x0954
+#if PACKETVER >= 20180321
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20180307
+packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20180103
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20180221
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20180213
+packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20180103
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+
+// Packet: 0x0957
+#if PACKETVER >= 20180321
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180221
+packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180103
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20180207
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180124
+packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180103
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+
+// Packet: 0x095a
+#if PACKETVER >= 20180221
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20180213
+packetLen(0x095a, -1) // CZ_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20180103
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x095b
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+
+// Packet: 0x095c
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+
+// Packet: 0x095d
+#if PACKETVER >= 20180117
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180103
+packetLen(0x095d, 10) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+
+// Packet: 0x095f
+#if PACKETVER >= 20180117
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+#elif PACKETVER >= 20180103
+packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20180117
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+#elif PACKETVER >= 20180103
+packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20180207
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180124
+packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180103
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20180221
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20180213
+packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20180103
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0963
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+
+// Packet: 0x0964
+#if PACKETVER >= 20180307
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20180221
+packetLen(0x0964, 12) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20180103
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+
+// Packet: 0x0966
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+
+// Packet: 0x0967
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+
+// Packet: 0x0968
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+
+// Packet: 0x0969
+#if PACKETVER >= 20180321
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20180307
+packetLen(0x0969, 7) // CZ_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20180103
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20180307
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180221
+packetLen(0x096a, 7) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180213
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180117
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180103
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+#if PACKETVER >= 20180704
+packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+#elif PACKETVER >= 20180103
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+#endif
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+#if PACKETVER >= 20180704
+packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#elif PACKETVER >= 20180103
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20180704
+packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+#if PACKETVER >= 20180704
+packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+#if PACKETVER >= 20180704
+packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#elif PACKETVER >= 20180103
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20180704
+packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#elif PACKETVER >= 20180103
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#endif
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+#if PACKETVER >= 20180704
+packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20180704
+packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+#if PACKETVER >= 20180704
+packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#elif PACKETVER >= 20180103
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#endif
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+#if PACKETVER >= 20180704
+packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+#elif PACKETVER >= 20180103
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+#endif
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+#if PACKETVER >= 20180704
+packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+#elif PACKETVER >= 20180103
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+#endif
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+#if PACKETVER >= 20180704
+packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+#elif PACKETVER >= 20180103
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20180704
+packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+#elif PACKETVER >= 20180103
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20180704
+packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+#elif PACKETVER >= 20180103
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20180704
+packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+#elif PACKETVER >= 20180103
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+#endif
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+#if PACKETVER >= 20180704
+packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+#elif PACKETVER >= 20180103
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+#endif
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+#if PACKETVER >= 20180704
+packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+#elif PACKETVER >= 20180103
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+#endif
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+#if PACKETVER >= 20180704
+packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+#endif
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+#if PACKETVER >= 20180704
+packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+#elif PACKETVER >= 20180103
+packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+#endif
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+#if PACKETVER >= 20180704
+packetLen(0x0a3d, 20)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20180704
+packetLen(0x0a3f, 11)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+#if PACKETVER >= 20180704
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+#elif PACKETVER >= 20180103
+packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20180704
+packetLen(0x0a4e, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a52
+packetLen(0x0a52, 20)
+
+// Packet: 0x0a53
+packetLen(0x0a53, 10)
+
+// Packet: 0x0a54
+packetLen(0x0a54, -1)
+
+// Packet: 0x0a55
+packetLen(0x0a55, 2)
+
+// Packet: 0x0a56
+packetLen(0x0a56, 6)
+
+// Packet: 0x0a57
+packetLen(0x0a57, 6)
+
+// Packet: 0x0a58
+packetLen(0x0a58, 8)
+
+// Packet: 0x0a59
+packetLen(0x0a59, -1)
+
+// Packet: 0x0a5a
+packetLen(0x0a5a, 2)
+
+// Packet: 0x0a5b
+packetLen(0x0a5b, 7)
+
+// Packet: 0x0a5c
+packetLen(0x0a5c, 18)
+
+// Packet: 0x0a5d
+packetLen(0x0a5d, 6)
+
+// Packet: 0x0a68
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+
+// Packet: 0x0a69
+packetLen(0x0a69, 6)
+
+// Packet: 0x0a6a
+packetLen(0x0a6a, 12)
+
+// Packet: 0x0a6b
+packetLen(0x0a6b, -1)
+
+// Packet: 0x0a6c
+packetLen(0x0a6c, 7)
+
+// Packet: 0x0a6d
+packetLen(0x0a6d, -1)
+
+// Packet: 0x0a6e
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+
+// Packet: 0x0a70
+packetLen(0x0a70, 2)
+
+// Packet: 0x0a71
+packetLen(0x0a71, -1)
+
+// Packet: 0x0a72
+packetLen(0x0a72, 61)
+
+// Packet: 0x0a73
+packetLen(0x0a73, 2)
+
+// Packet: 0x0a74
+packetLen(0x0a74, 8)
+
+// Packet: 0x0a76
+packetLen(0x0a76, 80)
+
+// Packet: 0x0a77
+packetLen(0x0a77, 15)
+
+// Packet: 0x0a78
+packetLen(0x0a78, 15)
+
+// Packet: 0x0a79
+packetLen(0x0a79, -1)
+
+// Packet: 0x0a7b
+packetLen(0x0a7b, -1)
+
+// Packet: 0x0a7c
+packetLen(0x0a7c, -1)
+
+// Packet: 0x0a7d
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+
+// Packet: 0x0a80
+packetLen(0x0a80, 6)
+
+// Packet: 0x0a81
+packetLen(0x0a81, 4)
+
+// Packet: 0x0a82
+packetLen(0x0a82, 46)
+
+// Packet: 0x0a83
+packetLen(0x0a83, 46)
+
+// Packet: 0x0a84
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2)
+
+// Packet: 0x0a89
+#if PACKETVER >= 20180704
+packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+#endif
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+
+// Packet: 0x0a92
+packetLen(0x0a92, -1)
+
+// Packet: 0x0a93
+packetLen(0x0a93, 3)
+
+// Packet: 0x0a94
+packetLen(0x0a94, 2)
+
+// Packet: 0x0a95
+packetLen(0x0a95, 4)
+
+// Packet: 0x0a96
+#if PACKETVER >= 20180704
+packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+#elif PACKETVER >= 20180103
+packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+#endif
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4)
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+
+// Packet: 0x0a9c
+packetLen(0x0a9c, 2)
+
+// Packet: 0x0a9d
+packetLen(0x0a9d, 4)
+
+// Packet: 0x0a9e
+packetLen(0x0a9e, 2)
+
+// Packet: 0x0a9f
+packetLen(0x0a9f, 2)
+
+// Packet: 0x0aa0
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+
+// Packet: 0x0aa3
+#if PACKETVER >= 20180704
+packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+#elif PACKETVER >= 20180103
+packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+#endif
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+
+// Packet: 0x0aa8
+packetLen(0x0aa8, 5)
+
+// Packet: 0x0aa9
+packetLen(0x0aa9, -1)
+
+// Packet: 0x0aaa
+packetLen(0x0aaa, -1)
+
+// Packet: 0x0aab
+packetLen(0x0aab, -1)
+
+// Packet: 0x0aac
+packetLen(0x0aac, 69)
+
+// Packet: 0x0aad
+packetLen(0x0aad, 51)
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+
+// Packet: 0x0ab3
+packetLen(0x0ab3, 19)
+
+// Packet: 0x0ab4
+#if PACKETVER >= 20180704
+packetLen(0x0ab4, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20180704
+packetLen(0x0ab6, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20180704
+packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+#elif PACKETVER >= 20180103
+packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+#endif
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1) // ZC_WARPLIST
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+packetLen(0x0acf, 68) // CA_LOGIN_OTP
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11) // CA_OTP_CODE
+
+// Packet: 0x0ad1
+packetLen(0x0ad1, -1)
+
+// Packet: 0x0ad2
+packetLen(0x0ad2, 30)
+
+// Packet: 0x0ad3
+packetLen(0x0ad3, -1)
+
+// Packet: 0x0ad4
+packetLen(0x0ad4, -1)
+
+// Packet: 0x0ad5
+packetLen(0x0ad5, 2)
+
+// Packet: 0x0ad6
+packetLen(0x0ad6, 2)
+
+// Packet: 0x0ad7
+packetLen(0x0ad7, 8)
+
+// Packet: 0x0ad8
+packetLen(0x0ad8, 8)
+
+// Packet: 0x0ad9
+packetLen(0x0ad9, -1)
+
+// Packet: 0x0ada
+#if PACKETVER >= 20180704
+packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+#elif PACKETVER >= 20180103
+packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+#endif
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+
+// Packet: 0x0add
+#if PACKETVER >= 20180704
+packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20180103
+packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+packetLen(0x0ae1, 28)
+
+// Packet: 0x0ae2
+packetLen(0x0ae2, 7) // ZC_OPEN_UI
+
+// Packet: 0x0ae3
+packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+
+// Packet: 0x0ae4
+packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0ae5
+packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0ae6
+#if PACKETVER >= 20180207
+packetLen(0x0ae6, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20180404
+packetLen(0x0ae7, 38)
+#elif PACKETVER >= 20180321
+packetLen(0x0ae7, 34)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20180117
+packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+#elif PACKETVER >= 20180103
+packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aea, 2)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+#if PACKETVER >= 20180117
+packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+#endif
+
+// Packet: 0x0af0
+#if PACKETVER >= 20180117
+packetLen(0x0af0, 10) // ZC_UI_ACTION
+#endif
+
+// Packet: 0x0af2
+#if PACKETVER >= 20180124
+packetLen(0x0af2, 40)
+#endif
+
+// Packet: 0x0af3
+#if PACKETVER >= 20180124
+packetLen(0x0af3, -1)
+#endif
+
+// Packet: 0x0af4
+#if PACKETVER >= 20180207
+packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0af5
+#if PACKETVER >= 20180207
+packetLen(0x0af5, 3)
+#endif
+
+// Packet: 0x0af6
+#if PACKETVER >= 20180207
+packetLen(0x0af6, 88)
+#endif
+
+// Packet: 0x0af7
+#if PACKETVER >= 20180207
+packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+#endif
+
+// Packet: 0x0af8
+#if PACKETVER >= 20180321
+packetLen(0x0af8, 11)
+#endif
+
+// Packet: 0x0af9
+#if PACKETVER >= 20180404
+packetLen(0x0af9, 6)
+#endif
+
+// Packet: 0x0afa
+#if PACKETVER >= 20180404
+packetLen(0x0afa, 54)
+#endif
+
+// Packet: 0x0afb
+#if PACKETVER >= 20180418
+packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+#endif
+
+// Packet: 0x0afc
+#if PACKETVER >= 20180516
+packetLen(0x0afc, 16)
+#endif
+
+// Packet: 0x0afd
+#if PACKETVER >= 20180605
+packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+#endif
+
+// Packet: 0x0afe
+#if PACKETVER >= 20180605
+packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+#endif
+
+// Packet: 0x0aff
+#if PACKETVER >= 20180605
+packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+#endif
+
+// Packet: 0x0b00
+#if PACKETVER >= 20180620
+packetLen(0x0b00, 8)
+#endif
+
+// Packet: 0x0b01
+#if PACKETVER >= 20180704
+packetLen(0x0b01, 56)
+#elif PACKETVER >= 20180620
+packetLen(0x0b01, 40)
+#endif
+
+// Packet: 0x0b02
+#if PACKETVER >= 20180704
+packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+#endif
+
+// Packet: 0x0b03
+#if PACKETVER >= 20180801
+packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+#endif
+
+// Packet: 0x0b04
+#if PACKETVER >= 20180801
+packetLen(0x0b04, 80)
+#endif
+
+// Packet: 0x0b05
+#if PACKETVER >= 20180829
+packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+#endif
+
+// Packet: 0x0b06
+#if PACKETVER >= 20181002
+// removed
+#elif PACKETVER >= 20180829
+packetLen(0x0b06, 53)
+#endif
+
+// Packet: 0x0b07
+#if PACKETVER >= 20180829
+packetLen(0x0b07, -1)
+#endif
+
+// Packet: 0x0b08
+#if PACKETVER >= 20180919
+packetLen(0x0b08, -1) // ZC_INVENTORY_START
+#elif PACKETVER >= 20180912
+packetLen(0x0b08, 27) // ZC_INVENTORY_START
+#elif PACKETVER >= 20180829
+packetLen(0x0b08, 26) // ZC_INVENTORY_START
+#endif
+
+// Packet: 0x0b09
+#if PACKETVER >= 20180829
+packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+#endif
+
+// Packet: 0x0b0a
+#if PACKETVER >= 20180829
+packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0b0b
+#if PACKETVER >= 20180912
+packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+#elif PACKETVER >= 20180829
+packetLen(0x0b0b, 3) // ZC_INVENTORY_END
+#endif
+
+// Packet: 0x0b0c
+#if PACKETVER >= 20180829
+packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+#endif
+
+// Packet: 0x0b0d
+#if PACKETVER >= 20180912
+packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+#endif
+
+// Packet: 0x0b0e
+#if PACKETVER >= 20180912
+packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+#endif
+
+// Packet: 0x0b0f
+#if PACKETVER >= 20180912
+packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+#endif
+
+// Packet: 0x0b10
+#if PACKETVER >= 20181002
+packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+#endif
+
+// Packet: 0x0b11
+#if PACKETVER >= 20181002
+packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+#endif
+
+// Packet: 0x0b12
+#if PACKETVER >= 20181017
+packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+#endif
+
+// Packet: 0x0b13
+#if PACKETVER >= 20181017
+packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+#endif
+
+// Packet: 0x0b14
+#if PACKETVER >= 20181031
+packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+#endif
+
+// Packet: 0x0b15
+#if PACKETVER >= 20181031
+packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+#endif
+
+// Packet: 0x0b16
+#if PACKETVER >= 20181031
+packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+#endif
+
+// Packet: 0x0b17
+#if PACKETVER >= 20181031
+packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+#endif
+
+// Packet: 0x0b18
+#if PACKETVER >= 20181031
+packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+#endif
+
+// Packet: 0x0b19
+#if PACKETVER >= 20181031
+packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+#endif
+
+// Packet: 0x0b1a
+#if PACKETVER >= 20181212
+packetLen(0x0b1a, 29)
+#endif
+
+
+#endif /* COMMON_PACKETS2018_LEN_RE_H */
diff --git a/src/common/packets/packets2018_len_zero.h b/src/common/packets/packets2018_len_zero.h
new file mode 100644
index 000000000..39448930e
--- /dev/null
+++ b/src/common/packets/packets2018_len_zero.h
@@ -0,0 +1,5958 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2018_LEN_ZERO_H
+#define COMMON_PACKETS2018_LEN_ZERO_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+#if PACKETVER >= 20181114
+packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+#elif PACKETVER >= 20180103
+packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20181114
+packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20180103
+packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+#if PACKETVER >= 20181114
+packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+#elif PACKETVER >= 20180103
+packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+#endif
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+#if PACKETVER >= 20181114
+packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+#endif
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+#if PACKETVER >= 20181114
+packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+#if PACKETVER >= 20181114
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+#endif
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+#if PACKETVER >= 20181114
+packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+#elif PACKETVER >= 20180103
+packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+#endif
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+#if PACKETVER >= 20181114
+packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+#elif PACKETVER >= 20180103
+packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+#endif
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+#if PACKETVER >= 20181114
+packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+#elif PACKETVER >= 20180103
+packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20181114
+packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+#elif PACKETVER >= 20180103
+packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+#if PACKETVER >= 20181114
+packetLen(0x01a3, 7) // ZC_FEED_PET
+#elif PACKETVER >= 20180103
+packetLen(0x01a3, 5) // ZC_FEED_PET
+#endif
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+#if PACKETVER >= 20181114
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+#elif PACKETVER >= 20180103
+packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+#if PACKETVER >= 20181114
+packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+#elif PACKETVER >= 20180103
+packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20181114
+packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+#elif PACKETVER >= 20180103
+packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+#if PACKETVER >= 20181114
+packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+#elif PACKETVER >= 20180103
+packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+#endif
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+#if PACKETVER >= 20181114
+packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+#elif PACKETVER >= 20180103
+packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20181114
+packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+#elif PACKETVER >= 20180103
+packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20181114
+packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+#elif PACKETVER >= 20180103
+packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20181114
+packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+#elif PACKETVER >= 20180103
+packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+#if PACKETVER >= 20181114
+packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+#elif PACKETVER >= 20180103
+packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+#endif
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+#if PACKETVER >= 20180523
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180511
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180315
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180314
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180228
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180213
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180131
+packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+#elif PACKETVER >= 20180103
+packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+#if PACKETVER >= 20180328
+packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+#elif PACKETVER >= 20180103
+packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+#endif
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+#if PACKETVER >= 20181114
+packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+#elif PACKETVER >= 20180103
+packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+#endif
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+#if PACKETVER >= 20181114
+packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+#elif PACKETVER >= 20180103
+packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20181114
+packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+#elif PACKETVER >= 20180103
+packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20181114
+packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+#elif PACKETVER >= 20180103
+packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20180523
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180511
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180315
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180314
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180228
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180221
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180213
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180131
+packetLen(0x022d, 19) // CZ_COMMAND_MER
+#elif PACKETVER >= 20180103
+packetLen(0x022d, 2) // CZ_COMMAND_MER
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20181114
+packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+#elif PACKETVER >= 20180103
+packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20181114
+packetLen(0x022f, 7) // ZC_FEED_MER
+#elif PACKETVER >= 20180103
+packetLen(0x022f, 5) // ZC_FEED_MER
+#endif
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+#if PACKETVER >= 20180523
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180511
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180315
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180228
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180213
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180131
+packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+#elif PACKETVER >= 20180103
+packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+#endif
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+#if PACKETVER >= 20181114
+packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+#elif PACKETVER >= 20180103
+packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+#endif
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+#if PACKETVER >= 20180523
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180511
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180315
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180314
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180228
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180213
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180131
+packetLen(0x0281, -1) // CZ_GANGSI_RANK
+#elif PACKETVER >= 20180103
+packetLen(0x0281, 2) // CZ_GANGSI_RANK
+#endif
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+#if PACKETVER >= 20181114
+packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+#elif PACKETVER >= 20180103
+packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20181114
+packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+#elif PACKETVER >= 20180103
+packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20181114
+packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+#elif PACKETVER >= 20180103
+packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+#endif
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+#if PACKETVER >= 20181114
+packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+#elif PACKETVER >= 20180103
+packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+#endif
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+#if PACKETVER >= 20180523
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180511
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180315
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180228
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180221
+packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180213
+packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+#elif PACKETVER >= 20180103
+packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+#endif
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+#if PACKETVER >= 20181114
+packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+#elif PACKETVER >= 20180103
+packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+#endif
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+#if PACKETVER >= 20181114
+packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20181114
+packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20181114
+packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+#if PACKETVER >= 20180523
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180511
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180315
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180314
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180228
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180221
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180131
+packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180117
+packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+#elif PACKETVER >= 20180103
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20180523
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180511
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180315
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180314
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180228
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180213
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180131
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180117
+packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+#elif PACKETVER >= 20180103
+packetLen(0x0360, 18) // CZ_REQUEST_TIME2
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20180523
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180511
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180315
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180314
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180228
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180221
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180213
+packetLen(0x0361, 90) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180131
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180117
+packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+#elif PACKETVER >= 20180103
+packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20180523
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180511
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180315
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180314
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180221
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180213
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180131
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+#elif PACKETVER >= 20180103
+packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20180523
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180511
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180315
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180314
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180228
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180213
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180131
+packetLen(0x0363, 8) // CZ_ITEM_THROW2
+#elif PACKETVER >= 20180103
+packetLen(0x0363, 2) // CZ_ITEM_THROW2
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20180523
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180511
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180315
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180314
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180228
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180221
+packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180213
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180131
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180117
+packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#elif PACKETVER >= 20180103
+packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20180523
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180511
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180315
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180314
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180228
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180213
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180131
+packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#elif PACKETVER >= 20180103
+packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20180523
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180511
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180315
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180314
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180228
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180213
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180207
+packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180117
+packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+#elif PACKETVER >= 20180103
+packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20180523
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20180511
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20180315
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20180207
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20180131
+packetLen(0x0367, 36) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#elif PACKETVER >= 20180103
+packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20180523
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20180511
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20180315
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20180314
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20180228
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20180213
+packetLen(0x0368, 2) // CZ_REQNAME2
+#elif PACKETVER >= 20180131
+packetLen(0x0368, 6) // CZ_REQNAME2
+#elif PACKETVER >= 20180103
+packetLen(0x0368, 2) // CZ_REQNAME2
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20180523
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180511
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180315
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180314
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180228
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180213
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180131
+packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+#elif PACKETVER >= 20180103
+packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+#if PACKETVER >= 20180523
+packetLen(0x0436, 19) // CZ_ENTER2
+#elif PACKETVER >= 20180511
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20180315
+packetLen(0x0436, 19) // CZ_ENTER2
+#elif PACKETVER >= 20180314
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20180228
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20180213
+packetLen(0x0436, 2) // CZ_ENTER2
+#elif PACKETVER >= 20180131
+packetLen(0x0436, 4) // CZ_ENTER2
+#elif PACKETVER >= 20180103
+packetLen(0x0436, 2) // CZ_ENTER2
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20180523
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180511
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180315
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180314
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180228
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180213
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180131
+packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+#elif PACKETVER >= 20180103
+packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20180523
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180511
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180315
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180314
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180228
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180221
+packetLen(0x0438, -1) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180213
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180131
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180117
+packetLen(0x0438, 8) // CZ_USE_SKILL2
+#elif PACKETVER >= 20180103
+packetLen(0x0438, 2) // CZ_USE_SKILL2
+#endif
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+#if PACKETVER >= 20181114
+packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+#endif
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+#if PACKETVER >= 20180523
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180511
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180315
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180314
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180228
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180213
+packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180131
+packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180117
+packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+#elif PACKETVER >= 20180103
+packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+#endif
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+#if PACKETVER >= 20180523
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180511
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180315
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180314
+packetLen(0x07ec, 19) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180228
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180213
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180131
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+#elif PACKETVER >= 20180103
+packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+#if PACKETVER >= 20180523
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180511
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180315
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180314
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180228
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180221
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180213
+packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180131
+packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+#elif PACKETVER >= 20180103
+packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+#endif
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+#if PACKETVER >= 20181114
+packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+#elif PACKETVER >= 20180103
+packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+#endif
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+#if PACKETVER >= 20180523
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180511
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180315
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180314
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180228
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180213
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180131
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+#if PACKETVER >= 20180314
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20180228
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20180221
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20180213
+packetLen(0x0815, 10) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20180131
+packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+#if PACKETVER >= 20180315
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20180228
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20180221
+packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+#if PACKETVER >= 20180523
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180511
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180315
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180314
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180228
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180213
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180131
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+#if PACKETVER >= 20181114
+packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+#endif
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+#if PACKETVER >= 20181114
+packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+#elif PACKETVER >= 20180103
+packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+#endif
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+#if PACKETVER >= 20180523
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20180511
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20180315
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+#elif PACKETVER >= 20180103
+packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+#if PACKETVER >= 20180314
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180228
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180213
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180131
+packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#elif PACKETVER >= 20180103
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+#if PACKETVER >= 20181114
+packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180523
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180511
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180315
+packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180314
+packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180228
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180213
+packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180131
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180117
+packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+#elif PACKETVER >= 20180103
+packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+#endif
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+#if PACKETVER >= 20181114
+packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+#elif PACKETVER >= 20180103
+packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+#endif
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+#if PACKETVER >= 20180221
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20180213
+packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+#elif PACKETVER >= 20180103
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20180228
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20180221
+packetLen(0x085b, 10) // ZC_REASSEMBLY_AUTH02
+#elif PACKETVER >= 20180103
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+#endif
+
+// Packet: 0x085c
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+
+// Packet: 0x085d
+#if PACKETVER >= 20180315
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20180314
+packetLen(0x085d, 26) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20180221
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20180213
+packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20180103
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x085e
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+
+// Packet: 0x085f
+#if PACKETVER >= 20180523
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180511
+packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180315
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180314
+packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180103
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20180117
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20180103
+packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x0861
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+
+// Packet: 0x0862
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+
+// Packet: 0x0863
+#if PACKETVER >= 20180523
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180511
+packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180103
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x0864
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+
+// Packet: 0x0865
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+
+// Packet: 0x0866
+#if PACKETVER >= 20180315
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20180314
+packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20180131
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20180103
+packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0867
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+
+// Packet: 0x0868
+#if PACKETVER >= 20180221
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180213
+packetLen(0x0868, 18) // ZC_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180103
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0869
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+
+// Packet: 0x086a
+#if PACKETVER >= 20180228
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20180221
+packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+#elif PACKETVER >= 20180103
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+#endif
+
+// Packet: 0x086b
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+
+// Packet: 0x086c
+#if PACKETVER >= 20180523
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20180511
+packetLen(0x086c, 7) // ZC_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20180103
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20180117
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20180103
+packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20180131
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20180117
+packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+#elif PACKETVER >= 20180103
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20180131
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180117
+packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180103
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x0870
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+
+// Packet: 0x0871
+#if PACKETVER >= 20180117
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+#elif PACKETVER >= 20180103
+packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20180117
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0872, -1)
+#endif
+
+// Packet: 0x0873
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+
+// Packet: 0x0874
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+
+// Packet: 0x0875
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+
+// Packet: 0x0876
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+
+// Packet: 0x0877
+#if PACKETVER >= 20180523
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180511
+packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180103
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20180315
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20180314
+packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20180103
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x0879
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+
+// Packet: 0x087a
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+
+// Packet: 0x087b
+#if PACKETVER >= 20180221
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180213
+packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180117
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180103
+packetLen(0x087b, 8) // ZC_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x087c
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+
+// Packet: 0x087d
+#if PACKETVER >= 20180131
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20180117
+packetLen(0x087d, 19) // ZC_REASSEMBLY_AUTH36
+#elif PACKETVER >= 20180103
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20180523
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20180511
+packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+#elif PACKETVER >= 20180103
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+#endif
+
+// Packet: 0x087f
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+
+// Packet: 0x0880
+#if PACKETVER >= 20180523
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180511
+packetLen(0x0880, 6) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180228
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180221
+packetLen(0x0880, 19) // ZC_REASSEMBLY_AUTH39
+#elif PACKETVER >= 20180103
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20180131
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180117
+packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+#elif PACKETVER >= 20180103
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20180221
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20180213
+packetLen(0x0882, 12) // ZC_REASSEMBLY_AUTH41
+#elif PACKETVER >= 20180103
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+#endif
+
+// Packet: 0x0883
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+
+// Packet: 0x0884
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+
+// Packet: 0x0885
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+
+// Packet: 0x0886
+#if PACKETVER >= 20180131
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20180117
+packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+#elif PACKETVER >= 20180103
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20180221
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20180213
+packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+#elif PACKETVER >= 20180103
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20180221
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20180213
+packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20180117
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+#elif PACKETVER >= 20180103
+packetLen(0x0888, 7) // CZ_REASSEMBLY_AUTH05
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20180523
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180511
+packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+#elif PACKETVER >= 20180103
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20180221
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20180213
+packetLen(0x088a, 4) // CZ_REASSEMBLY_AUTH07
+#elif PACKETVER >= 20180103
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+#endif
+
+// Packet: 0x088b
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+
+// Packet: 0x088c
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+
+// Packet: 0x088d
+#if PACKETVER >= 20180315
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180314
+packetLen(0x088d, 36) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180228
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180221
+packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+#elif PACKETVER >= 20180103
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20180221
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20180213
+packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+#elif PACKETVER >= 20180103
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+#endif
+
+// Packet: 0x088f
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+
+// Packet: 0x0890
+#if PACKETVER >= 20180131
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20180117
+packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+#elif PACKETVER >= 20180103
+packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20180315
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180314
+packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180131
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180117
+packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+#elif PACKETVER >= 20180103
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20180228
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180221
+packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+#elif PACKETVER >= 20180103
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20180523
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20180511
+packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20180131
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20180117
+packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+#elif PACKETVER >= 20180103
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+#endif
+
+// Packet: 0x0894
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+
+// Packet: 0x0895
+#if PACKETVER >= 20180228
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20180221
+packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+#elif PACKETVER >= 20180103
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20180523
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20180511
+packetLen(0x0896, 19) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20180117
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+#elif PACKETVER >= 20180103
+packetLen(0x0896, 10) // CZ_REASSEMBLY_AUTH19
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20180315
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20180314
+packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+#elif PACKETVER >= 20180103
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+#endif
+
+// Packet: 0x0898
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+
+// Packet: 0x0899
+#if PACKETVER >= 20180523
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180511
+packetLen(0x0899, 12) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180315
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180314
+packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180221
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180213
+packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180131
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180117
+packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+#elif PACKETVER >= 20180103
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+#endif
+
+// Packet: 0x089a
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+
+// Packet: 0x089b
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+
+// Packet: 0x089c
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+
+// Packet: 0x089d
+#if PACKETVER >= 20180131
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20180117
+packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+#elif PACKETVER >= 20180103
+packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20180315
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180314
+packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180131
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180117
+packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+#elif PACKETVER >= 20180103
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+#endif
+
+// Packet: 0x089f
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+
+// Packet: 0x08a1
+#if PACKETVER >= 20180315
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180314
+packetLen(0x08a1, 4) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180228
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180221
+packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+#elif PACKETVER >= 20180103
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20180523
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20180511
+packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+#elif PACKETVER >= 20180103
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20180228
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180221
+packetLen(0x08a3, 10) // CZ_REASSEMBLY_AUTH32
+#elif PACKETVER >= 20180103
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+#endif
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+
+// Packet: 0x08a5
+#if PACKETVER >= 20180523
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180511
+packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+#elif PACKETVER >= 20180103
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20180117
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+#elif PACKETVER >= 20180103
+packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+#endif
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+
+// Packet: 0x08a9
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+
+// Packet: 0x08aa
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+
+// Packet: 0x08ab
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+
+// Packet: 0x08ac
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+
+// Packet: 0x08ad
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+#if PACKETVER >= 20180315
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180314
+packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180221
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180213
+packetLen(0x0917, 7) // ZC_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180103
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20180315
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20180314
+packetLen(0x0918, 7) // ZC_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20180103
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20180523
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180511
+packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180131
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180117
+packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+#elif PACKETVER >= 20180103
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20180523
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20180511
+packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+#elif PACKETVER >= 20180103
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20180228
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20180221
+packetLen(0x091b, 90) // ZC_PRNPC_STATE
+#elif PACKETVER >= 20180103
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20180131
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20180117
+packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#elif PACKETVER >= 20180103
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20180523
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20180511
+packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20180221
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20180213
+packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20180103
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20180117
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+#elif PACKETVER >= 20180103
+packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20180315
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20180314
+packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20180131
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20180117
+packetLen(0x091f, 90) // ZC_REASSEMBLY_AUTH51
+#elif PACKETVER >= 20180103
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20180523
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180511
+packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180315
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180314
+packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180103
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20180228
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180221
+packetLen(0x0921, -1) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180131
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180117
+packetLen(0x0921, 5) // ZC_REASSEMBLY_AUTH53
+#elif PACKETVER >= 20180103
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20180221
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20180213
+packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+#elif PACKETVER >= 20180103
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20180315
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180314
+packetLen(0x0923, 12) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180228
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180221
+packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180103
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20180117
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180103
+packetLen(0x0924, 4) // ZC_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x0925
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+
+// Packet: 0x0926
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+
+// Packet: 0x0927
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+
+// Packet: 0x0928
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+
+// Packet: 0x0929
+#if PACKETVER >= 20180131
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20180117
+packetLen(0x0929, 18) // ZC_REASSEMBLY_AUTH61
+#elif PACKETVER >= 20180103
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+#endif
+
+// Packet: 0x092a
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+
+// Packet: 0x092b
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+
+// Packet: 0x092c
+#if PACKETVER >= 20180523
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180511
+packetLen(0x092c, 10) // ZC_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180103
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20180523
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180511
+packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180228
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180221
+packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180131
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180117
+packetLen(0x092d, 4) // ZC_REASSEMBLY_AUTH65
+#elif PACKETVER >= 20180103
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20180523
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180511
+packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180103
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x092f
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+
+// Packet: 0x0930
+#if PACKETVER >= 20180315
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20180314
+packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20180228
+packetLen(0x0930, 36) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20180221
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20180213
+packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+#elif PACKETVER >= 20180103
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20180315
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20180314
+packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20180103
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20180228
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20180221
+packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20180103
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20180131
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180117
+packetLen(0x0933, 12) // ZC_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180103
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x0934
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+
+// Packet: 0x0935
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+
+// Packet: 0x0936
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+
+// Packet: 0x0937
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+
+// Packet: 0x0938
+#if PACKETVER >= 20180117
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+#elif PACKETVER >= 20180103
+packetLen(0x0938, 90) // ZC_REASSEMBLY_AUTH76
+#endif
+
+// Packet: 0x0939
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+
+// Packet: 0x093a
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+
+// Packet: 0x093b
+#if PACKETVER >= 20180228
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20180221
+packetLen(0x093b, 12) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20180117
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+#elif PACKETVER >= 20180103
+packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+#endif
+
+// Packet: 0x093c
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+
+// Packet: 0x093d
+#if PACKETVER >= 20180228
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180221
+packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180103
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20180228
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20180221
+packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20180103
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20180315
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20180314
+packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+#elif PACKETVER >= 20180103
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20180207
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180131
+packetLen(0x0940, 90) // ZC_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180103
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20180221
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180213
+packetLen(0x0941, 19) // CZ_REASSEMBLY_AUTH43
+#elif PACKETVER >= 20180103
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20180523
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20180511
+packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20180228
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20180221
+packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20180213
+packetLen(0x0942, 8) // CZ_REASSEMBLY_AUTH44
+#elif PACKETVER >= 20180103
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+#endif
+
+// Packet: 0x0943
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+
+// Packet: 0x0944
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+
+// Packet: 0x0945
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+
+// Packet: 0x0946
+#if PACKETVER >= 20180315
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180314
+packetLen(0x0946, 90) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180131
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180117
+packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+#elif PACKETVER >= 20180103
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20180221
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20180213
+packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+#elif PACKETVER >= 20180103
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+#endif
+
+// Packet: 0x0948
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+
+// Packet: 0x0949
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+
+// Packet: 0x094a
+#if PACKETVER >= 20180523
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180511
+packetLen(0x094a, 90) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180315
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180314
+packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+#elif PACKETVER >= 20180103
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+#endif
+
+// Packet: 0x094b
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+
+// Packet: 0x094c
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+
+// Packet: 0x094d
+#if PACKETVER >= 20180221
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180213
+packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+#elif PACKETVER >= 20180103
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20180315
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180314
+packetLen(0x094e, 5) // CZ_REASSEMBLY_AUTH56
+#elif PACKETVER >= 20180103
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+#endif
+
+// Packet: 0x094f
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+
+// Packet: 0x0950
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+
+// Packet: 0x0951
+#if PACKETVER >= 20180228
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20180221
+packetLen(0x0951, 18) // CZ_REASSEMBLY_AUTH59
+#elif PACKETVER >= 20180103
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20180228
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20180221
+packetLen(0x0952, 4) // CZ_REASSEMBLY_AUTH60
+#elif PACKETVER >= 20180103
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+#endif
+
+// Packet: 0x0953
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+
+// Packet: 0x0954
+#if PACKETVER >= 20180315
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20180314
+packetLen(0x0954, 18) // CZ_REASSEMBLY_AUTH62
+#elif PACKETVER >= 20180103
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20180523
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20180511
+packetLen(0x0955, 26) // CZ_REASSEMBLY_AUTH63
+#elif PACKETVER >= 20180103
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20180523
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180511
+packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180315
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180314
+packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180117
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+#elif PACKETVER >= 20180103
+packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+#endif
+
+// Packet: 0x0957
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+
+// Packet: 0x0958
+#if PACKETVER >= 20180315
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180314
+packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180228
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180221
+packetLen(0x0958, 7) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180213
+packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180117
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+#elif PACKETVER >= 20180103
+packetLen(0x0958, 19) // CZ_REASSEMBLY_AUTH66
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20180228
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20180221
+packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+#elif PACKETVER >= 20180103
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+#endif
+
+// Packet: 0x095a
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+
+// Packet: 0x095b
+#if PACKETVER >= 20180117
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+#elif PACKETVER >= 20180103
+packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20180523
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20180511
+packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20180221
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20180213
+packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+#elif PACKETVER >= 20180103
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20180228
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180221
+packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180117
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+#elif PACKETVER >= 20180103
+packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20180131
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20180117
+packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+#elif PACKETVER >= 20180103
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+#endif
+
+// Packet: 0x095f
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+
+// Packet: 0x0960
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+
+// Packet: 0x0961
+#if PACKETVER >= 20180523
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180511
+packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+#elif PACKETVER >= 20180103
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+#endif
+
+// Packet: 0x0962
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+
+// Packet: 0x0963
+#if PACKETVER >= 20180131
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20180117
+packetLen(0x0963, 5) // CZ_REASSEMBLY_AUTH77
+#elif PACKETVER >= 20180103
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20180117
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+#elif PACKETVER >= 20180103
+packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+#endif
+
+// Packet: 0x0965
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+
+// Packet: 0x0966
+#if PACKETVER >= 20180117
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+#elif PACKETVER >= 20180103
+packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20180221
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180207
+packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+#elif PACKETVER >= 20180103
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20180523
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20180511
+packetLen(0x0968, 36) // CZ_REASSEMBLY_AUTH82
+#elif PACKETVER >= 20180103
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+#endif
+
+// Packet: 0x0969
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+
+// Packet: 0x096a
+#if PACKETVER >= 20180314
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180228
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180213
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180131
+packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180117
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+#elif PACKETVER >= 20180103
+packetLen(0x096a, 12) // CZ_REASSEMBLY_AUTH84
+#endif
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+#if PACKETVER >= 20181114
+packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+#elif PACKETVER >= 20180103
+packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+#endif
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+#if PACKETVER >= 20181114
+packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#elif PACKETVER >= 20180103
+packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20181114
+packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+#if PACKETVER >= 20181114
+packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+#if PACKETVER >= 20181114
+packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#elif PACKETVER >= 20180103
+packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20181114
+packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#elif PACKETVER >= 20180103
+packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+#endif
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+#if PACKETVER >= 20181114
+packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20181114
+packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+#endif
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+#if PACKETVER >= 20181114
+packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#elif PACKETVER >= 20180103
+packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+#endif
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+#if PACKETVER >= 20181114
+packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+#elif PACKETVER >= 20180103
+packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+#endif
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+#if PACKETVER >= 20181114
+packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+#elif PACKETVER >= 20180103
+packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+#endif
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+#if PACKETVER >= 20181114
+packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+#elif PACKETVER >= 20180103
+packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20181114
+packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+#elif PACKETVER >= 20180103
+packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20181114
+packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+#elif PACKETVER >= 20180103
+packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20181114
+packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+#elif PACKETVER >= 20180103
+packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+#endif
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+#if PACKETVER >= 20181114
+packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+#elif PACKETVER >= 20180103
+packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+#endif
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+#if PACKETVER >= 20181114
+packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+#elif PACKETVER >= 20180103
+packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+#endif
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+#if PACKETVER >= 20181114
+packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+#elif PACKETVER >= 20180103
+packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+#endif
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+#if PACKETVER >= 20181114
+packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+#elif PACKETVER >= 20180103
+packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+#endif
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+#if PACKETVER >= 20181114
+packetLen(0x0a3d, 20)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20181114
+packetLen(0x0a3f, 11)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+#if PACKETVER >= 20181114
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+#elif PACKETVER >= 20180103
+packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20181114
+packetLen(0x0a4e, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a52
+packetLen(0x0a52, 20)
+
+// Packet: 0x0a53
+packetLen(0x0a53, 10)
+
+// Packet: 0x0a54
+packetLen(0x0a54, -1)
+
+// Packet: 0x0a55
+packetLen(0x0a55, 2)
+
+// Packet: 0x0a56
+packetLen(0x0a56, 6)
+
+// Packet: 0x0a57
+packetLen(0x0a57, 6)
+
+// Packet: 0x0a58
+packetLen(0x0a58, 8)
+
+// Packet: 0x0a59
+packetLen(0x0a59, -1)
+
+// Packet: 0x0a5a
+packetLen(0x0a5a, 2)
+
+// Packet: 0x0a5b
+packetLen(0x0a5b, 7)
+
+// Packet: 0x0a5c
+packetLen(0x0a5c, 18)
+
+// Packet: 0x0a5d
+packetLen(0x0a5d, 6)
+
+// Packet: 0x0a68
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+
+// Packet: 0x0a69
+packetLen(0x0a69, 6)
+
+// Packet: 0x0a6a
+packetLen(0x0a6a, 12)
+
+// Packet: 0x0a6b
+packetLen(0x0a6b, -1)
+
+// Packet: 0x0a6c
+packetLen(0x0a6c, 7)
+
+// Packet: 0x0a6d
+packetLen(0x0a6d, -1)
+
+// Packet: 0x0a6e
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+
+// Packet: 0x0a70
+packetLen(0x0a70, 2)
+
+// Packet: 0x0a71
+packetLen(0x0a71, -1)
+
+// Packet: 0x0a72
+packetLen(0x0a72, 61)
+
+// Packet: 0x0a73
+packetLen(0x0a73, 2)
+
+// Packet: 0x0a74
+packetLen(0x0a74, 8)
+
+// Packet: 0x0a76
+packetLen(0x0a76, 80)
+
+// Packet: 0x0a77
+packetLen(0x0a77, 15)
+
+// Packet: 0x0a78
+packetLen(0x0a78, 15)
+
+// Packet: 0x0a79
+packetLen(0x0a79, -1)
+
+// Packet: 0x0a7b
+packetLen(0x0a7b, -1)
+
+// Packet: 0x0a7c
+packetLen(0x0a7c, -1)
+
+// Packet: 0x0a7d
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+
+// Packet: 0x0a80
+packetLen(0x0a80, 6)
+
+// Packet: 0x0a81
+packetLen(0x0a81, 4)
+
+// Packet: 0x0a82
+packetLen(0x0a82, 46)
+
+// Packet: 0x0a83
+packetLen(0x0a83, 46)
+
+// Packet: 0x0a84
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2)
+
+// Packet: 0x0a89
+#if PACKETVER >= 20181114
+packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+#elif PACKETVER >= 20180103
+packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+#endif
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+
+// Packet: 0x0a92
+packetLen(0x0a92, -1)
+
+// Packet: 0x0a93
+packetLen(0x0a93, 3)
+
+// Packet: 0x0a94
+packetLen(0x0a94, 2)
+
+// Packet: 0x0a95
+packetLen(0x0a95, 4)
+
+// Packet: 0x0a96
+#if PACKETVER >= 20181114
+packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+#elif PACKETVER >= 20180103
+packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+#endif
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4)
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+
+// Packet: 0x0a9c
+packetLen(0x0a9c, 2)
+
+// Packet: 0x0a9d
+packetLen(0x0a9d, 4)
+
+// Packet: 0x0a9e
+packetLen(0x0a9e, 2)
+
+// Packet: 0x0a9f
+packetLen(0x0a9f, 2)
+
+// Packet: 0x0aa0
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+
+// Packet: 0x0aa3
+#if PACKETVER >= 20181114
+packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+#elif PACKETVER >= 20180103
+packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+#endif
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+
+// Packet: 0x0aa8
+packetLen(0x0aa8, 5)
+
+// Packet: 0x0aa9
+packetLen(0x0aa9, -1)
+
+// Packet: 0x0aaa
+packetLen(0x0aaa, -1)
+
+// Packet: 0x0aab
+packetLen(0x0aab, -1)
+
+// Packet: 0x0aac
+packetLen(0x0aac, 69)
+
+// Packet: 0x0aad
+packetLen(0x0aad, 51)
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+
+// Packet: 0x0ab3
+packetLen(0x0ab3, 19)
+
+// Packet: 0x0ab4
+#if PACKETVER >= 20181114
+packetLen(0x0ab4, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20181114
+packetLen(0x0ab6, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20181114
+packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+#elif PACKETVER >= 20180103
+packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+#endif
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1) // ZC_WARPLIST
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+packetLen(0x0acf, 68) // CA_LOGIN_OTP
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11) // CA_OTP_CODE
+
+// Packet: 0x0ad1
+packetLen(0x0ad1, -1)
+
+// Packet: 0x0ad2
+packetLen(0x0ad2, 30)
+
+// Packet: 0x0ad3
+packetLen(0x0ad3, -1)
+
+// Packet: 0x0ad4
+packetLen(0x0ad4, -1)
+
+// Packet: 0x0ad5
+packetLen(0x0ad5, 2)
+
+// Packet: 0x0ad6
+packetLen(0x0ad6, 2)
+
+// Packet: 0x0ad7
+packetLen(0x0ad7, 8)
+
+// Packet: 0x0ad8
+packetLen(0x0ad8, 8)
+
+// Packet: 0x0ad9
+packetLen(0x0ad9, -1)
+
+// Packet: 0x0ada
+#if PACKETVER >= 20181114
+packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+#elif PACKETVER >= 20180103
+packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+#endif
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+
+// Packet: 0x0add
+#if PACKETVER >= 20181114
+packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+#elif PACKETVER >= 20180103
+packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+#endif
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+packetLen(0x0ae1, 28)
+
+// Packet: 0x0ae2
+packetLen(0x0ae2, 7) // ZC_OPEN_UI
+
+// Packet: 0x0ae3
+packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+
+// Packet: 0x0ae4
+packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0ae5
+packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0ae6
+#if PACKETVER >= 20180131
+packetLen(0x0ae6, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20180328
+packetLen(0x0ae7, 38)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20180117
+packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+#elif PACKETVER >= 20180103
+packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aea, 2)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+#if PACKETVER >= 20180117
+packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+#endif
+
+// Packet: 0x0af0
+#if PACKETVER >= 20180117
+packetLen(0x0af0, 10) // ZC_UI_ACTION
+#endif
+
+// Packet: 0x0af2
+#if PACKETVER >= 20180131
+packetLen(0x0af2, 40)
+#endif
+
+// Packet: 0x0af3
+#if PACKETVER >= 20180131
+packetLen(0x0af3, -1)
+#endif
+
+// Packet: 0x0af4
+#if PACKETVER >= 20180131
+packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+#endif
+
+// Packet: 0x0af5
+#if PACKETVER >= 20180207
+packetLen(0x0af5, 3)
+#endif
+
+// Packet: 0x0af6
+#if PACKETVER >= 20180207
+packetLen(0x0af6, 88)
+#endif
+
+// Packet: 0x0af7
+#if PACKETVER >= 20180207
+packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+#endif
+
+// Packet: 0x0af8
+#if PACKETVER >= 20180328
+packetLen(0x0af8, 11)
+#endif
+
+// Packet: 0x0af9
+#if PACKETVER >= 20180328
+packetLen(0x0af9, 6)
+#endif
+
+// Packet: 0x0afa
+#if PACKETVER >= 20180328
+packetLen(0x0afa, 54)
+#endif
+
+// Packet: 0x0afb
+#if PACKETVER >= 20180425
+packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+#endif
+
+// Packet: 0x0afc
+#if PACKETVER >= 20180523
+packetLen(0x0afc, 16)
+#endif
+
+// Packet: 0x0afd
+#if PACKETVER >= 20180605
+packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+#endif
+
+// Packet: 0x0afe
+#if PACKETVER >= 20180605
+packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+#endif
+
+// Packet: 0x0aff
+#if PACKETVER >= 20180605
+packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+#endif
+
+// Packet: 0x0b00
+#if PACKETVER >= 20180627
+packetLen(0x0b00, 8)
+#endif
+
+// Packet: 0x0b01
+#if PACKETVER >= 20180627
+packetLen(0x0b01, 56)
+#endif
+
+// Packet: 0x0b02
+#if PACKETVER >= 20180627
+packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+#endif
+
+// Packet: 0x0b03
+#if PACKETVER >= 20180725
+packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+#endif
+
+// Packet: 0x0b04
+#if PACKETVER >= 20180808
+packetLen(0x0b04, 80)
+#endif
+
+// Packet: 0x0b05
+#if PACKETVER >= 20181114
+packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+#elif PACKETVER >= 20180822
+packetLen(0x0b05, 59) // ZC_OFFLINE_STORE_VISIBLE
+#endif
+
+// Packet: 0x0b06
+#if PACKETVER >= 20181010
+// removed
+#elif PACKETVER >= 20180822
+packetLen(0x0b06, 53)
+#endif
+
+// Packet: 0x0b07
+#if PACKETVER >= 20180822
+packetLen(0x0b07, -1)
+#endif
+
+// Packet: 0x0b08
+#if PACKETVER >= 20180919
+packetLen(0x0b08, -1) // ZC_INVENTORY_START
+#elif PACKETVER >= 20180905
+packetLen(0x0b08, 27) // ZC_INVENTORY_START
+#elif PACKETVER >= 20180822
+packetLen(0x0b08, 26) // ZC_INVENTORY_START
+#endif
+
+// Packet: 0x0b09
+#if PACKETVER >= 20180822
+packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+#endif
+
+// Packet: 0x0b0a
+#if PACKETVER >= 20180822
+packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+#endif
+
+// Packet: 0x0b0b
+#if PACKETVER >= 20180905
+packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+#elif PACKETVER >= 20180822
+packetLen(0x0b0b, 3) // ZC_INVENTORY_END
+#endif
+
+// Packet: 0x0b0c
+#if PACKETVER >= 20180822
+packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+#endif
+
+// Packet: 0x0b0d
+#if PACKETVER >= 20180919
+packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+#elif PACKETVER >= 20180905
+packetLen(0x0b0d, 6) // ZC_REMOVE_EFFECT
+#endif
+
+// Packet: 0x0b0e
+#if PACKETVER >= 20180919
+packetLen(0x0b0e, -1)
+#endif
+
+// Packet: 0x0b0f
+#if PACKETVER >= 20180919
+packetLen(0x0b0f, -1)
+#endif
+
+// Packet: 0x0b10
+#if PACKETVER >= 20181010
+packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+#endif
+
+// Packet: 0x0b11
+#if PACKETVER >= 20181010
+packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+#endif
+
+// Packet: 0x0b12
+#if PACKETVER >= 20181024
+packetLen(0x0b12, 2)
+#endif
+
+// Packet: 0x0b13
+#if PACKETVER >= 20181114
+packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+#elif PACKETVER >= 20181024
+packetLen(0x0b13, 40) // ZC_ITEM_PREVIEW
+#endif
+
+// Packet: 0x0b14
+#if PACKETVER >= 20181114
+packetLen(0x0b14, 2)
+#endif
+
+// Packet: 0x0b15
+#if PACKETVER >= 20181114
+packetLen(0x0b15, 7)
+#endif
+
+// Packet: 0x0b16
+#if PACKETVER >= 20181114
+packetLen(0x0b16, 2)
+#endif
+
+// Packet: 0x0b17
+#if PACKETVER >= 20181114
+packetLen(0x0b17, 3)
+#endif
+
+// Packet: 0x0b18
+#if PACKETVER >= 20181114
+packetLen(0x0b18, 4)
+#endif
+
+// Packet: 0x0b19
+#if PACKETVER >= 20181114
+packetLen(0x0b19, 2)
+#endif
+
+// Packet: 0x0b1a
+#if PACKETVER >= 20181212
+packetLen(0x0b1a, 29)
+#endif
+
+
+#endif /* COMMON_PACKETS2018_LEN_ZERO_H */
diff --git a/src/common/packets/packets2019_len_main.h b/src/common/packets/packets2019_len_main.h
new file mode 100644
index 000000000..f55db7cd0
--- /dev/null
+++ b/src/common/packets/packets2019_len_main.h
@@ -0,0 +1,4453 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2019_LEN_MAIN_H
+#define COMMON_PACKETS2019_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 7) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 7) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+
+// Packet: 0x0360
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+
+// Packet: 0x0361
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+
+// Packet: 0x0362
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+
+// Packet: 0x0363
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+
+// Packet: 0x0364
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+
+// Packet: 0x0365
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+
+// Packet: 0x0366
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+
+// Packet: 0x0367
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+
+// Packet: 0x0368
+packetLen(0x0368, 6) // CZ_REQNAME2
+
+// Packet: 0x0369
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+packetLen(0x0436, 19) // CZ_ENTER2
+
+// Packet: 0x0437
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+
+// Packet: 0x0438
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+
+// Packet: 0x085b
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+
+// Packet: 0x085c
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+
+// Packet: 0x085d
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+
+// Packet: 0x085e
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+
+// Packet: 0x085f
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+
+// Packet: 0x0860
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+
+// Packet: 0x0861
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+
+// Packet: 0x0862
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+
+// Packet: 0x0863
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+
+// Packet: 0x0864
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+
+// Packet: 0x0865
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+
+// Packet: 0x0866
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+
+// Packet: 0x0867
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+
+// Packet: 0x0868
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+
+// Packet: 0x0869
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+
+// Packet: 0x086a
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+
+// Packet: 0x086b
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+
+// Packet: 0x086c
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+
+// Packet: 0x086d
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+
+// Packet: 0x086e
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+
+// Packet: 0x086f
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+
+// Packet: 0x0870
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+
+// Packet: 0x0871
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+
+// Packet: 0x0872
+packetLen(0x0872, 2)
+
+// Packet: 0x0873
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+
+// Packet: 0x0874
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+
+// Packet: 0x0875
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+
+// Packet: 0x0876
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+
+// Packet: 0x0877
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+
+// Packet: 0x0878
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+
+// Packet: 0x0879
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+
+// Packet: 0x087a
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+
+// Packet: 0x087b
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+
+// Packet: 0x087c
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+
+// Packet: 0x087d
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+
+// Packet: 0x087e
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+
+// Packet: 0x087f
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+
+// Packet: 0x0880
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+
+// Packet: 0x0881
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+
+// Packet: 0x0882
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+
+// Packet: 0x0883
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+
+// Packet: 0x0884
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+
+// Packet: 0x0885
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+
+// Packet: 0x0886
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+
+// Packet: 0x0887
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+
+// Packet: 0x0888
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+
+// Packet: 0x0889
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+
+// Packet: 0x088a
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+
+// Packet: 0x088b
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+
+// Packet: 0x088c
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+
+// Packet: 0x088d
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+
+// Packet: 0x088e
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+
+// Packet: 0x088f
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+
+// Packet: 0x0890
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+
+// Packet: 0x0891
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+
+// Packet: 0x0892
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+
+// Packet: 0x0893
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+
+// Packet: 0x0894
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+
+// Packet: 0x0895
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+
+// Packet: 0x0896
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+
+// Packet: 0x0897
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+
+// Packet: 0x0898
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+
+// Packet: 0x0899
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+
+// Packet: 0x089a
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+
+// Packet: 0x089b
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+
+// Packet: 0x089c
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+
+// Packet: 0x089d
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+
+// Packet: 0x089e
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+
+// Packet: 0x089f
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+
+// Packet: 0x08a3
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+
+// Packet: 0x08a5
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+
+// Packet: 0x08a9
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+
+// Packet: 0x08aa
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+
+// Packet: 0x08ab
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+
+// Packet: 0x08ac
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+
+// Packet: 0x08ad
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+
+// Packet: 0x0918
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+
+// Packet: 0x0919
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+
+// Packet: 0x091a
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+
+// Packet: 0x091b
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+
+// Packet: 0x091c
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x091d
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+
+// Packet: 0x091e
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+
+// Packet: 0x091f
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+
+// Packet: 0x0920
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+
+// Packet: 0x0921
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+
+// Packet: 0x0922
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+
+// Packet: 0x0923
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+
+// Packet: 0x0924
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+
+// Packet: 0x0925
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+
+// Packet: 0x0926
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+
+// Packet: 0x0927
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+
+// Packet: 0x0928
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+
+// Packet: 0x0929
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+
+// Packet: 0x092a
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+
+// Packet: 0x092b
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+
+// Packet: 0x092c
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+
+// Packet: 0x092d
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+
+// Packet: 0x092e
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+
+// Packet: 0x092f
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+
+// Packet: 0x0930
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+
+// Packet: 0x0931
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+
+// Packet: 0x0932
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+
+// Packet: 0x0933
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+
+// Packet: 0x0934
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+
+// Packet: 0x0935
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+
+// Packet: 0x0936
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+
+// Packet: 0x0937
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+
+// Packet: 0x0938
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+
+// Packet: 0x0939
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+
+// Packet: 0x093a
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+
+// Packet: 0x093b
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+
+// Packet: 0x093c
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+
+// Packet: 0x093d
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+
+// Packet: 0x093e
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+
+// Packet: 0x093f
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+
+// Packet: 0x0940
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+
+// Packet: 0x0941
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+
+// Packet: 0x0942
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+
+// Packet: 0x0943
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+
+// Packet: 0x0944
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+
+// Packet: 0x0945
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+
+// Packet: 0x0946
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+
+// Packet: 0x0947
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+
+// Packet: 0x0948
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+
+// Packet: 0x0949
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+
+// Packet: 0x094a
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+
+// Packet: 0x094b
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+
+// Packet: 0x094c
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+
+// Packet: 0x094d
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+
+// Packet: 0x094e
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+
+// Packet: 0x094f
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+
+// Packet: 0x0950
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+
+// Packet: 0x0951
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+
+// Packet: 0x0952
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+
+// Packet: 0x0953
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+
+// Packet: 0x0954
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+
+// Packet: 0x0955
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+
+// Packet: 0x0956
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+
+// Packet: 0x0957
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+
+// Packet: 0x0958
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+
+// Packet: 0x0959
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+
+// Packet: 0x095a
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+
+// Packet: 0x095b
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+
+// Packet: 0x095c
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+
+// Packet: 0x095d
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+
+// Packet: 0x095e
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+
+// Packet: 0x095f
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+
+// Packet: 0x0960
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+
+// Packet: 0x0961
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+
+// Packet: 0x0962
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+
+// Packet: 0x0963
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+
+// Packet: 0x0964
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+
+// Packet: 0x0965
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+
+// Packet: 0x0966
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+
+// Packet: 0x0967
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+
+// Packet: 0x0968
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+
+// Packet: 0x0969
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+
+// Packet: 0x096a
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+packetLen(0x0a3d, 20)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 11)
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14) // CZ_REQ_STYLE_CHANGE
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2) // CZ_STYLE_CLOSE
+
+// Packet: 0x0a49
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+packetLen(0x0a4e, 6)
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a52
+packetLen(0x0a52, 20)
+
+// Packet: 0x0a53
+packetLen(0x0a53, 10)
+
+// Packet: 0x0a54
+packetLen(0x0a54, -1)
+
+// Packet: 0x0a55
+packetLen(0x0a55, 2)
+
+// Packet: 0x0a56
+packetLen(0x0a56, 6)
+
+// Packet: 0x0a57
+packetLen(0x0a57, 6)
+
+// Packet: 0x0a58
+packetLen(0x0a58, 8)
+
+// Packet: 0x0a59
+packetLen(0x0a59, -1)
+
+// Packet: 0x0a5a
+packetLen(0x0a5a, 2)
+
+// Packet: 0x0a5b
+packetLen(0x0a5b, 7)
+
+// Packet: 0x0a5c
+packetLen(0x0a5c, 18)
+
+// Packet: 0x0a5d
+packetLen(0x0a5d, 6)
+
+// Packet: 0x0a68
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+
+// Packet: 0x0a69
+packetLen(0x0a69, 6)
+
+// Packet: 0x0a6a
+packetLen(0x0a6a, 12)
+
+// Packet: 0x0a6b
+packetLen(0x0a6b, -1)
+
+// Packet: 0x0a6c
+packetLen(0x0a6c, 7)
+
+// Packet: 0x0a6d
+packetLen(0x0a6d, -1)
+
+// Packet: 0x0a6e
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+
+// Packet: 0x0a70
+packetLen(0x0a70, 2)
+
+// Packet: 0x0a71
+packetLen(0x0a71, -1)
+
+// Packet: 0x0a72
+packetLen(0x0a72, 61)
+
+// Packet: 0x0a73
+packetLen(0x0a73, 2)
+
+// Packet: 0x0a74
+packetLen(0x0a74, 8)
+
+// Packet: 0x0a76
+packetLen(0x0a76, 80)
+
+// Packet: 0x0a77
+packetLen(0x0a77, 15)
+
+// Packet: 0x0a78
+packetLen(0x0a78, 15)
+
+// Packet: 0x0a79
+packetLen(0x0a79, -1)
+
+// Packet: 0x0a7b
+packetLen(0x0a7b, -1)
+
+// Packet: 0x0a7c
+packetLen(0x0a7c, -1)
+
+// Packet: 0x0a7d
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+
+// Packet: 0x0a80
+packetLen(0x0a80, 6)
+
+// Packet: 0x0a81
+packetLen(0x0a81, 4)
+
+// Packet: 0x0a82
+packetLen(0x0a82, 46)
+
+// Packet: 0x0a83
+packetLen(0x0a83, 46)
+
+// Packet: 0x0a84
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2) // CZ_COOLDOWN_RESET
+
+// Packet: 0x0a89
+packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+
+// Packet: 0x0a92
+packetLen(0x0a92, -1)
+
+// Packet: 0x0a93
+packetLen(0x0a93, 3)
+
+// Packet: 0x0a94
+packetLen(0x0a94, 2)
+
+// Packet: 0x0a95
+packetLen(0x0a95, 4)
+
+// Packet: 0x0a96
+packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_ADD
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4) // CZ_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+
+// Packet: 0x0a9c
+packetLen(0x0a9c, 2) // CZ_ALT_EQUIPMENT_SWITCH
+
+// Packet: 0x0a9d
+packetLen(0x0a9d, 4) // ZC_ALT_EQUIPMENT_SWITCH_ACK
+
+// Packet: 0x0a9e
+packetLen(0x0a9e, 2)
+
+// Packet: 0x0a9f
+packetLen(0x0a9f, 2)
+
+// Packet: 0x0aa0
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+
+// Packet: 0x0aa3
+packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+
+// Packet: 0x0aa8
+packetLen(0x0aa8, 5)
+
+// Packet: 0x0aa9
+packetLen(0x0aa9, -1)
+
+// Packet: 0x0aaa
+packetLen(0x0aaa, -1)
+
+// Packet: 0x0aab
+packetLen(0x0aab, -1)
+
+// Packet: 0x0aac
+packetLen(0x0aac, 69)
+
+// Packet: 0x0aad
+packetLen(0x0aad, 51)
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+
+// Packet: 0x0ab3
+packetLen(0x0ab3, 19)
+
+// Packet: 0x0ab4
+packetLen(0x0ab4, 6)
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+packetLen(0x0ab6, 8)
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1) // ZC_WARPLIST
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+packetLen(0x0acf, 68) // CA_LOGIN_OTP
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11) // CA_OTP_CODE
+
+// Packet: 0x0ad1
+packetLen(0x0ad1, -1) // AC_LOGIN_OTP
+
+// Packet: 0x0ad2
+packetLen(0x0ad2, 30)
+
+// Packet: 0x0ad3
+packetLen(0x0ad3, -1)
+
+// Packet: 0x0ad4
+packetLen(0x0ad4, -1)
+
+// Packet: 0x0ad5
+packetLen(0x0ad5, 2)
+
+// Packet: 0x0ad6
+packetLen(0x0ad6, 2)
+
+// Packet: 0x0ad7
+packetLen(0x0ad7, 8)
+
+// Packet: 0x0ad8
+packetLen(0x0ad8, 8)
+
+// Packet: 0x0ad9
+packetLen(0x0ad9, -1)
+
+// Packet: 0x0ada
+packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+
+// Packet: 0x0add
+packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58) // ZC_ACK_REQNAME_TITLE
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+packetLen(0x0ae1, 28)
+
+// Packet: 0x0ae2
+packetLen(0x0ae2, 7) // ZC_OPEN_UI
+
+// Packet: 0x0ae3
+packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+
+// Packet: 0x0ae4
+packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0ae5
+packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0ae6
+packetLen(0x0ae6, 10)
+
+// Packet: 0x0ae7
+packetLen(0x0ae7, 38)
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+
+// Packet: 0x0af0
+packetLen(0x0af0, 10) // ZC_UI_ACTION
+
+// Packet: 0x0af2
+packetLen(0x0af2, 40)
+
+// Packet: 0x0af3
+packetLen(0x0af3, -1)
+
+// Packet: 0x0af4
+packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0af5
+packetLen(0x0af5, 3)
+
+// Packet: 0x0af6
+packetLen(0x0af6, 88)
+
+// Packet: 0x0af7
+packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0af8
+packetLen(0x0af8, 11)
+
+// Packet: 0x0af9
+packetLen(0x0af9, 6)
+
+// Packet: 0x0afa
+packetLen(0x0afa, 54)
+
+// Packet: 0x0afb
+packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+
+// Packet: 0x0afc
+packetLen(0x0afc, 16) // CZ_REQ_STYLE_CHANGE2
+
+// Packet: 0x0afd
+packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+
+// Packet: 0x0afe
+packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x0aff
+packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+
+// Packet: 0x0b00
+packetLen(0x0b00, 8)
+
+// Packet: 0x0b01
+packetLen(0x0b01, 56)
+
+// Packet: 0x0b02
+packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+
+// Packet: 0x0b03
+packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+
+// Packet: 0x0b04
+packetLen(0x0b04, 80)
+
+// Packet: 0x0b05
+packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+
+// Packet: 0x0b07
+packetLen(0x0b07, -1)
+
+// Packet: 0x0b08
+packetLen(0x0b08, -1) // ZC_INVENTORY_START
+
+// Packet: 0x0b09
+packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+
+// Packet: 0x0b0a
+packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0b0b
+packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+
+// Packet: 0x0b0c
+packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+
+// Packet: 0x0b0d
+packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+
+// Packet: 0x0b0e
+packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+
+// Packet: 0x0b0f
+packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+
+// Packet: 0x0b10
+packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+
+// Packet: 0x0b11
+packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+
+// Packet: 0x0b12
+packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+
+// Packet: 0x0b13
+packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+
+// Packet: 0x0b14
+packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+
+// Packet: 0x0b15
+packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+
+// Packet: 0x0b16
+packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+
+// Packet: 0x0b17
+packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+
+// Packet: 0x0b18
+packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+
+// Packet: 0x0b19
+packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+
+// Packet: 0x0b1a
+packetLen(0x0b1a, 29) // ZC_USESKILL_ACK3
+
+// Packet: 0x0b1b
+#if PACKETVER >= 20190213
+packetLen(0x0b1b, 2) // ZC_ALT_PING
+#endif
+
+// Packet: 0x0b1c
+#if PACKETVER >= 20190227
+packetLen(0x0b1c, 2) // CZ_PING
+#endif
+
+// Packet: 0x0b1d
+#if PACKETVER >= 20190227
+packetLen(0x0b1d, 2) // ZC_PING
+#endif
+
+// Packet: 0x0b1e
+#if PACKETVER >= 20190227
+packetLen(0x0b1e, 10)
+#endif
+
+// Packet: 0x0b1f
+#if PACKETVER >= 20190306
+packetLen(0x0b1f, 10)
+#endif
+
+// Packet: 0x0b20
+#if PACKETVER >= 20190403
+packetLen(0x0b20, 271)
+#endif
+
+// Packet: 0x0b21
+#if PACKETVER >= 20190403
+packetLen(0x0b21, 13)
+#elif PACKETVER >= 20190306
+// removed
+#elif PACKETVER >= 20190227
+packetLen(0x0b21, 10)
+#endif
+
+// Packet: 0x0b22
+#if PACKETVER >= 20190403
+packetLen(0x0b22, 5)
+#elif PACKETVER >= 20190306
+// removed
+#elif PACKETVER >= 20190227
+packetLen(0x0b22, 6)
+#endif
+
+// Packet: 0x0b23
+#if PACKETVER >= 20190417
+packetLen(0x0b23, 6)
+#elif PACKETVER >= 20190306
+// removed
+#elif PACKETVER >= 20190227
+packetLen(0x0b23, 10)
+#endif
+
+// Packet: 0x0b24
+#if PACKETVER >= 20190417
+packetLen(0x0b24, 6)
+#endif
+
+// Packet: 0x0b25
+#if PACKETVER >= 20190417
+packetLen(0x0b25, 6)
+#endif
+
+// Packet: 0x0b26
+#if PACKETVER >= 20190417
+packetLen(0x0b26, 18)
+#endif
+
+
+#endif /* COMMON_PACKETS2019_LEN_MAIN_H */
diff --git a/src/common/packets/packets2019_len_re.h b/src/common/packets/packets2019_len_re.h
new file mode 100644
index 000000000..2f68261cd
--- /dev/null
+++ b/src/common/packets/packets2019_len_re.h
@@ -0,0 +1,4459 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2019_LEN_RE_H
+#define COMMON_PACKETS2019_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 7) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x020f
+packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+
+// Packet: 0x0210
+packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 7) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+
+// Packet: 0x0360
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+
+// Packet: 0x0361
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+
+// Packet: 0x0362
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+
+// Packet: 0x0363
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+
+// Packet: 0x0364
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+
+// Packet: 0x0365
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+
+// Packet: 0x0366
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+
+// Packet: 0x0367
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+
+// Packet: 0x0368
+packetLen(0x0368, 6) // CZ_REQNAME2
+
+// Packet: 0x0369
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+packetLen(0x0436, 19) // CZ_ENTER2
+
+// Packet: 0x0437
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+
+// Packet: 0x0438
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+
+// Packet: 0x085b
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+
+// Packet: 0x085c
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+
+// Packet: 0x085d
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+
+// Packet: 0x085e
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+
+// Packet: 0x085f
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+
+// Packet: 0x0860
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+
+// Packet: 0x0861
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+
+// Packet: 0x0862
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+
+// Packet: 0x0863
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+
+// Packet: 0x0864
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+
+// Packet: 0x0865
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+
+// Packet: 0x0866
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+
+// Packet: 0x0867
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+
+// Packet: 0x0868
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+
+// Packet: 0x0869
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+
+// Packet: 0x086a
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+
+// Packet: 0x086b
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+
+// Packet: 0x086c
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+
+// Packet: 0x086d
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+
+// Packet: 0x086e
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+
+// Packet: 0x086f
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+
+// Packet: 0x0870
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+
+// Packet: 0x0871
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+
+// Packet: 0x0872
+packetLen(0x0872, 2)
+
+// Packet: 0x0873
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+
+// Packet: 0x0874
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+
+// Packet: 0x0875
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+
+// Packet: 0x0876
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+
+// Packet: 0x0877
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+
+// Packet: 0x0878
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+
+// Packet: 0x0879
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+
+// Packet: 0x087a
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+
+// Packet: 0x087b
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+
+// Packet: 0x087c
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+
+// Packet: 0x087d
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+
+// Packet: 0x087e
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+
+// Packet: 0x087f
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+
+// Packet: 0x0880
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+
+// Packet: 0x0881
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+
+// Packet: 0x0882
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+
+// Packet: 0x0883
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+
+// Packet: 0x0884
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+
+// Packet: 0x0885
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+
+// Packet: 0x0886
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+
+// Packet: 0x0887
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+
+// Packet: 0x0888
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+
+// Packet: 0x0889
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+
+// Packet: 0x088a
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+
+// Packet: 0x088b
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+
+// Packet: 0x088c
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+
+// Packet: 0x088d
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+
+// Packet: 0x088e
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+
+// Packet: 0x088f
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+
+// Packet: 0x0890
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+
+// Packet: 0x0891
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+
+// Packet: 0x0892
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+
+// Packet: 0x0893
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+
+// Packet: 0x0894
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+
+// Packet: 0x0895
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+
+// Packet: 0x0896
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+
+// Packet: 0x0897
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+
+// Packet: 0x0898
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+
+// Packet: 0x0899
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+
+// Packet: 0x089a
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+
+// Packet: 0x089b
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+
+// Packet: 0x089c
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+
+// Packet: 0x089d
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+
+// Packet: 0x089e
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+
+// Packet: 0x089f
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+
+// Packet: 0x08a3
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+
+// Packet: 0x08a5
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+
+// Packet: 0x08a9
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+
+// Packet: 0x08aa
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+
+// Packet: 0x08ab
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+
+// Packet: 0x08ac
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+
+// Packet: 0x08ad
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+
+// Packet: 0x0918
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+
+// Packet: 0x0919
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+
+// Packet: 0x091a
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+
+// Packet: 0x091b
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+
+// Packet: 0x091c
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x091d
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+
+// Packet: 0x091e
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+
+// Packet: 0x091f
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+
+// Packet: 0x0920
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+
+// Packet: 0x0921
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+
+// Packet: 0x0922
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+
+// Packet: 0x0923
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+
+// Packet: 0x0924
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+
+// Packet: 0x0925
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+
+// Packet: 0x0926
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+
+// Packet: 0x0927
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+
+// Packet: 0x0928
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+
+// Packet: 0x0929
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+
+// Packet: 0x092a
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+
+// Packet: 0x092b
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+
+// Packet: 0x092c
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+
+// Packet: 0x092d
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+
+// Packet: 0x092e
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+
+// Packet: 0x092f
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+
+// Packet: 0x0930
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+
+// Packet: 0x0931
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+
+// Packet: 0x0932
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+
+// Packet: 0x0933
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+
+// Packet: 0x0934
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+
+// Packet: 0x0935
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+
+// Packet: 0x0936
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+
+// Packet: 0x0937
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+
+// Packet: 0x0938
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+
+// Packet: 0x0939
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+
+// Packet: 0x093a
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+
+// Packet: 0x093b
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+
+// Packet: 0x093c
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+
+// Packet: 0x093d
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+
+// Packet: 0x093e
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+
+// Packet: 0x093f
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+
+// Packet: 0x0940
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+
+// Packet: 0x0941
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+
+// Packet: 0x0942
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+
+// Packet: 0x0943
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+
+// Packet: 0x0944
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+
+// Packet: 0x0945
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+
+// Packet: 0x0946
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+
+// Packet: 0x0947
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+
+// Packet: 0x0948
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+
+// Packet: 0x0949
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+
+// Packet: 0x094a
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+
+// Packet: 0x094b
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+
+// Packet: 0x094c
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+
+// Packet: 0x094d
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+
+// Packet: 0x094e
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+
+// Packet: 0x094f
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+
+// Packet: 0x0950
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+
+// Packet: 0x0951
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+
+// Packet: 0x0952
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+
+// Packet: 0x0953
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+
+// Packet: 0x0954
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+
+// Packet: 0x0955
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+
+// Packet: 0x0956
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+
+// Packet: 0x0957
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+
+// Packet: 0x0958
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+
+// Packet: 0x0959
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+
+// Packet: 0x095a
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+
+// Packet: 0x095b
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+
+// Packet: 0x095c
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+
+// Packet: 0x095d
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+
+// Packet: 0x095e
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+
+// Packet: 0x095f
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+
+// Packet: 0x0960
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+
+// Packet: 0x0961
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+
+// Packet: 0x0962
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+
+// Packet: 0x0963
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+
+// Packet: 0x0964
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+
+// Packet: 0x0965
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+
+// Packet: 0x0966
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+
+// Packet: 0x0967
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+
+// Packet: 0x0968
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+
+// Packet: 0x0969
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+
+// Packet: 0x096a
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+packetLen(0x0a3d, 20)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 11)
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14) // CZ_REQ_STYLE_CHANGE
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2) // CZ_STYLE_CLOSE
+
+// Packet: 0x0a49
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+packetLen(0x0a4e, 6)
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a52
+packetLen(0x0a52, 20)
+
+// Packet: 0x0a53
+packetLen(0x0a53, 10)
+
+// Packet: 0x0a54
+packetLen(0x0a54, -1)
+
+// Packet: 0x0a55
+packetLen(0x0a55, 2)
+
+// Packet: 0x0a56
+packetLen(0x0a56, 6)
+
+// Packet: 0x0a57
+packetLen(0x0a57, 6)
+
+// Packet: 0x0a58
+packetLen(0x0a58, 8)
+
+// Packet: 0x0a59
+packetLen(0x0a59, -1)
+
+// Packet: 0x0a5a
+packetLen(0x0a5a, 2)
+
+// Packet: 0x0a5b
+packetLen(0x0a5b, 7)
+
+// Packet: 0x0a5c
+packetLen(0x0a5c, 18)
+
+// Packet: 0x0a5d
+packetLen(0x0a5d, 6)
+
+// Packet: 0x0a68
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+
+// Packet: 0x0a69
+packetLen(0x0a69, 6)
+
+// Packet: 0x0a6a
+packetLen(0x0a6a, 12)
+
+// Packet: 0x0a6b
+packetLen(0x0a6b, -1)
+
+// Packet: 0x0a6c
+packetLen(0x0a6c, 7)
+
+// Packet: 0x0a6d
+packetLen(0x0a6d, -1)
+
+// Packet: 0x0a6e
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+
+// Packet: 0x0a70
+packetLen(0x0a70, 2)
+
+// Packet: 0x0a71
+packetLen(0x0a71, -1)
+
+// Packet: 0x0a72
+packetLen(0x0a72, 61)
+
+// Packet: 0x0a73
+packetLen(0x0a73, 2)
+
+// Packet: 0x0a74
+packetLen(0x0a74, 8)
+
+// Packet: 0x0a76
+packetLen(0x0a76, 80)
+
+// Packet: 0x0a77
+packetLen(0x0a77, 15)
+
+// Packet: 0x0a78
+packetLen(0x0a78, 15)
+
+// Packet: 0x0a79
+packetLen(0x0a79, -1)
+
+// Packet: 0x0a7b
+packetLen(0x0a7b, -1)
+
+// Packet: 0x0a7c
+packetLen(0x0a7c, -1)
+
+// Packet: 0x0a7d
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+
+// Packet: 0x0a80
+packetLen(0x0a80, 6)
+
+// Packet: 0x0a81
+packetLen(0x0a81, 4)
+
+// Packet: 0x0a82
+packetLen(0x0a82, 46)
+
+// Packet: 0x0a83
+packetLen(0x0a83, 46)
+
+// Packet: 0x0a84
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2) // CZ_COOLDOWN_RESET
+
+// Packet: 0x0a89
+packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+
+// Packet: 0x0a92
+packetLen(0x0a92, -1)
+
+// Packet: 0x0a93
+packetLen(0x0a93, 3)
+
+// Packet: 0x0a94
+packetLen(0x0a94, 2)
+
+// Packet: 0x0a95
+packetLen(0x0a95, 4)
+
+// Packet: 0x0a96
+packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_ADD
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4) // CZ_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+
+// Packet: 0x0a9c
+packetLen(0x0a9c, 2) // CZ_ALT_EQUIPMENT_SWITCH
+
+// Packet: 0x0a9d
+packetLen(0x0a9d, 4) // ZC_ALT_EQUIPMENT_SWITCH_ACK
+
+// Packet: 0x0a9e
+packetLen(0x0a9e, 2)
+
+// Packet: 0x0a9f
+packetLen(0x0a9f, 2)
+
+// Packet: 0x0aa0
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+
+// Packet: 0x0aa3
+packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+
+// Packet: 0x0aa8
+packetLen(0x0aa8, 5)
+
+// Packet: 0x0aa9
+packetLen(0x0aa9, -1)
+
+// Packet: 0x0aaa
+packetLen(0x0aaa, -1)
+
+// Packet: 0x0aab
+packetLen(0x0aab, -1)
+
+// Packet: 0x0aac
+packetLen(0x0aac, 69)
+
+// Packet: 0x0aad
+packetLen(0x0aad, 51)
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+
+// Packet: 0x0ab3
+packetLen(0x0ab3, 19)
+
+// Packet: 0x0ab4
+packetLen(0x0ab4, 6)
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+packetLen(0x0ab6, 8)
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1) // ZC_WARPLIST
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+packetLen(0x0acf, 68) // CA_LOGIN_OTP
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11) // CA_OTP_CODE
+
+// Packet: 0x0ad1
+packetLen(0x0ad1, -1) // AC_LOGIN_OTP
+
+// Packet: 0x0ad2
+packetLen(0x0ad2, 30)
+
+// Packet: 0x0ad3
+packetLen(0x0ad3, -1)
+
+// Packet: 0x0ad4
+packetLen(0x0ad4, -1)
+
+// Packet: 0x0ad5
+packetLen(0x0ad5, 2)
+
+// Packet: 0x0ad6
+packetLen(0x0ad6, 2)
+
+// Packet: 0x0ad7
+packetLen(0x0ad7, 8)
+
+// Packet: 0x0ad8
+packetLen(0x0ad8, 8)
+
+// Packet: 0x0ad9
+packetLen(0x0ad9, -1)
+
+// Packet: 0x0ada
+packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+
+// Packet: 0x0add
+packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58) // ZC_ACK_REQNAME_TITLE
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+packetLen(0x0ae1, 28)
+
+// Packet: 0x0ae2
+packetLen(0x0ae2, 7) // ZC_OPEN_UI
+
+// Packet: 0x0ae3
+packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+
+// Packet: 0x0ae4
+packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0ae5
+packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0ae6
+packetLen(0x0ae6, 10)
+
+// Packet: 0x0ae7
+packetLen(0x0ae7, 38)
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+
+// Packet: 0x0af0
+packetLen(0x0af0, 10) // ZC_UI_ACTION
+
+// Packet: 0x0af2
+packetLen(0x0af2, 40)
+
+// Packet: 0x0af3
+packetLen(0x0af3, -1)
+
+// Packet: 0x0af4
+packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0af5
+packetLen(0x0af5, 3)
+
+// Packet: 0x0af6
+packetLen(0x0af6, 88)
+
+// Packet: 0x0af7
+packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0af8
+packetLen(0x0af8, 11)
+
+// Packet: 0x0af9
+packetLen(0x0af9, 6)
+
+// Packet: 0x0afa
+packetLen(0x0afa, 54)
+
+// Packet: 0x0afb
+packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+
+// Packet: 0x0afc
+packetLen(0x0afc, 16) // CZ_REQ_STYLE_CHANGE2
+
+// Packet: 0x0afd
+packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+
+// Packet: 0x0afe
+packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x0aff
+packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+
+// Packet: 0x0b00
+packetLen(0x0b00, 8)
+
+// Packet: 0x0b01
+packetLen(0x0b01, 56)
+
+// Packet: 0x0b02
+packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+
+// Packet: 0x0b03
+packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+
+// Packet: 0x0b04
+packetLen(0x0b04, 80)
+
+// Packet: 0x0b05
+packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+
+// Packet: 0x0b07
+packetLen(0x0b07, -1)
+
+// Packet: 0x0b08
+packetLen(0x0b08, -1) // ZC_INVENTORY_START
+
+// Packet: 0x0b09
+packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+
+// Packet: 0x0b0a
+packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0b0b
+packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+
+// Packet: 0x0b0c
+packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+
+// Packet: 0x0b0d
+packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+
+// Packet: 0x0b0e
+packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+
+// Packet: 0x0b0f
+packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+
+// Packet: 0x0b10
+packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+
+// Packet: 0x0b11
+packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+
+// Packet: 0x0b12
+packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+
+// Packet: 0x0b13
+packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+
+// Packet: 0x0b14
+packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+
+// Packet: 0x0b15
+packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+
+// Packet: 0x0b16
+packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+
+// Packet: 0x0b17
+packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+
+// Packet: 0x0b18
+packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+
+// Packet: 0x0b19
+packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+
+// Packet: 0x0b1a
+packetLen(0x0b1a, 29) // ZC_USESKILL_ACK3
+
+// Packet: 0x0b1b
+#if PACKETVER >= 20190213
+packetLen(0x0b1b, 2) // ZC_ALT_PING
+#endif
+
+// Packet: 0x0b1c
+#if PACKETVER >= 20190220
+packetLen(0x0b1c, 2) // CZ_PING
+#endif
+
+// Packet: 0x0b1d
+#if PACKETVER >= 20190220
+packetLen(0x0b1d, 2) // ZC_PING
+#endif
+
+// Packet: 0x0b1e
+#if PACKETVER >= 20190227
+packetLen(0x0b1e, 10)
+#endif
+
+// Packet: 0x0b1f
+#if PACKETVER >= 20190306
+packetLen(0x0b1f, 10)
+#endif
+
+// Packet: 0x0b20
+#if PACKETVER >= 20190403
+packetLen(0x0b20, 271)
+#endif
+
+// Packet: 0x0b21
+#if PACKETVER >= 20190403
+packetLen(0x0b21, 13)
+#elif PACKETVER >= 20190306
+// removed
+#elif PACKETVER >= 20190227
+packetLen(0x0b21, 10)
+#endif
+
+// Packet: 0x0b22
+#if PACKETVER >= 20190403
+packetLen(0x0b22, 5)
+#elif PACKETVER >= 20190306
+// removed
+#elif PACKETVER >= 20190227
+packetLen(0x0b22, 6)
+#endif
+
+// Packet: 0x0b23
+#if PACKETVER >= 20190417
+packetLen(0x0b23, 6)
+#elif PACKETVER >= 20190306
+// removed
+#elif PACKETVER >= 20190227
+packetLen(0x0b23, 10)
+#endif
+
+// Packet: 0x0b24
+#if PACKETVER >= 20190417
+packetLen(0x0b24, 6)
+#endif
+
+// Packet: 0x0b25
+#if PACKETVER >= 20190417
+packetLen(0x0b25, 6)
+#endif
+
+// Packet: 0x0b26
+#if PACKETVER >= 20190417
+packetLen(0x0b26, 18)
+#endif
+
+
+#endif /* COMMON_PACKETS2019_LEN_RE_H */
diff --git a/src/common/packets/packets2019_len_zero.h b/src/common/packets/packets2019_len_zero.h
new file mode 100644
index 000000000..24abdb7bd
--- /dev/null
+++ b/src/common/packets/packets2019_len_zero.h
@@ -0,0 +1,4467 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS2019_LEN_ZERO_H
+#define COMMON_PACKETS2019_LEN_ZERO_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55) // CA_LOGIN
+
+// Packet: 0x0065
+packetLen(0x0065, 17) // CH_ENTER
+
+// Packet: 0x0066
+packetLen(0x0066, 3) // CH_SELECT_CHAR
+
+// Packet: 0x0067
+packetLen(0x0067, 37) // CH_MAKE_CHAR
+
+// Packet: 0x0068
+packetLen(0x0068, 46) // CH_DELETE_CHAR
+
+// Packet: 0x0069
+packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x006a
+packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+
+// Packet: 0x006b
+packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+
+// Packet: 0x006c
+packetLen(0x006c, 3) // HC_REFUSE_ENTER
+
+// Packet: 0x006d
+packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+
+// Packet: 0x006e
+packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+
+// Packet: 0x006f
+packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+
+// Packet: 0x0070
+packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+
+// Packet: 0x0071
+packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0072
+packetLen(0x0072, 22) // CZ_ENTER
+
+// Packet: 0x0073
+packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+
+// Packet: 0x0074
+packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+
+// Packet: 0x0075
+packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+
+// Packet: 0x0076
+packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+
+// Packet: 0x0077
+packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+
+// Packet: 0x0078
+packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+
+// Packet: 0x0079
+packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+
+// Packet: 0x007a
+packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+
+// Packet: 0x007b
+packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+
+// Packet: 0x007c
+packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+
+// Packet: 0x007d
+packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+
+// Packet: 0x007e
+packetLen(0x007e, 105) // CZ_REQUEST_TIME
+
+// Packet: 0x007f
+packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+
+// Packet: 0x0080
+packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+
+// Packet: 0x0081
+packetLen(0x0081, 3) // SC_NOTIFY_BAN
+
+// Packet: 0x0082
+packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+
+// Packet: 0x0083
+packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+
+// Packet: 0x0084
+packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+
+// Packet: 0x0085
+packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+
+// Packet: 0x0086
+packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+
+// Packet: 0x0087
+packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+
+// Packet: 0x0088
+packetLen(0x0088, 10) // ZC_STOPMOVE
+
+// Packet: 0x0089
+packetLen(0x0089, 11) // CZ_REQUEST_ACT
+
+// Packet: 0x008a
+packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+
+// Packet: 0x008b
+packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+
+// Packet: 0x008e
+packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+
+// Packet: 0x0090
+packetLen(0x0090, 7) // CZ_CONTACTNPC
+
+// Packet: 0x0091
+packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+
+// Packet: 0x0092
+packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0093
+packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+
+// Packet: 0x0094
+packetLen(0x0094, 19) // CZ_REQNAME
+
+// Packet: 0x0095
+packetLen(0x0095, 30) // ZC_ACK_REQNAME
+
+// Packet: 0x0096
+packetLen(0x0096, -1) // CZ_WHISPER
+
+// Packet: 0x0097
+packetLen(0x0097, -1) // ZC_WHISPER
+
+// Packet: 0x0098
+packetLen(0x0098, 3) // ZC_ACK_WHISPER
+
+// Packet: 0x0099
+packetLen(0x0099, -1) // CZ_BROADCAST
+
+// Packet: 0x009a
+packetLen(0x009a, -1) // ZC_BROADCAST
+
+// Packet: 0x009b
+packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+
+// Packet: 0x009c
+packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+
+// Packet: 0x009d
+packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+
+// Packet: 0x009e
+packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x009f
+packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+
+// Packet: 0x00a0
+packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14) // CZ_ITEM_THROW
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+
+// Packet: 0x00af
+packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3) // CZ_RESTART
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3) // ZC_RESTART_ACK
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1) // ZC_MENU_LIST
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2) // CZ_REQ_STATUS
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44) // ZC_STATUS
+
+// Packet: 0x00be
+packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7) // ZC_EMOTION
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6) // ZC_USER_COUNT
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+
+// Packet: 0x00da
+packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+
+// Packet: 0x00db
+packetLen(0x00db, -1) // ZC_ENTER_ROOM
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+
+// Packet: 0x00de
+packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+
+// Packet: 0x00df
+packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00e9
+packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+
+// Packet: 0x00f4
+packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1) // ZC_GROUP_LIST
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+
+// Packet: 0x0100
+packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+
+// Packet: 0x0101
+packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+
+// Packet: 0x0102
+packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+
+// Packet: 0x0103
+packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+
+// Packet: 0x0104
+packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0105
+packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+
+// Packet: 0x0106
+packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+
+// Packet: 0x0107
+packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+
+// Packet: 0x0108
+packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+
+// Packet: 0x0109
+packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+
+// Packet: 0x010a
+packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+
+// Packet: 0x010b
+packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+
+// Packet: 0x010c
+packetLen(0x010c, 6) // ZC_MVP
+
+// Packet: 0x010d
+packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+
+// Packet: 0x010e
+packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+
+// Packet: 0x010f
+packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+
+// Packet: 0x0110
+packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+
+// Packet: 0x0111
+packetLen(0x0111, 39) // ZC_ADD_SKILL
+
+// Packet: 0x0112
+packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+
+// Packet: 0x0113
+packetLen(0x0113, 25) // CZ_USE_SKILL
+
+// Packet: 0x0114
+packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+
+// Packet: 0x0115
+packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+
+// Packet: 0x0116
+packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0117
+packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+
+// Packet: 0x0118
+packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+
+// Packet: 0x0119
+packetLen(0x0119, 13) // ZC_STATE_CHANGE
+
+// Packet: 0x011a
+packetLen(0x011a, 15) // ZC_USE_SKILL
+
+// Packet: 0x011b
+packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+
+// Packet: 0x011c
+packetLen(0x011c, 68) // ZC_WARPLIST
+
+// Packet: 0x011d
+packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+
+// Packet: 0x011e
+packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+
+// Packet: 0x011f
+packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+
+// Packet: 0x0120
+packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+
+// Packet: 0x0121
+packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+
+// Packet: 0x0122
+packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+
+// Packet: 0x0123
+packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+
+// Packet: 0x0124
+packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+
+// Packet: 0x0125
+packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+
+// Packet: 0x0126
+packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+
+// Packet: 0x0127
+packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+
+// Packet: 0x0128
+packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+
+// Packet: 0x0129
+packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+
+// Packet: 0x012a
+packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+
+// Packet: 0x012b
+packetLen(0x012b, 2) // ZC_CARTOFF
+
+// Packet: 0x012c
+packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+
+// Packet: 0x012d
+packetLen(0x012d, 4) // ZC_OPENSTORE
+
+// Packet: 0x012e
+packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+
+// Packet: 0x012f
+packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+
+// Packet: 0x0130
+packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+
+// Packet: 0x0131
+packetLen(0x0131, 86) // ZC_STORE_ENTRY
+
+// Packet: 0x0132
+packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+
+// Packet: 0x0133
+packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0134
+packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+
+// Packet: 0x0135
+packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+
+// Packet: 0x0136
+packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+
+// Packet: 0x0137
+packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+
+// Packet: 0x0138
+packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+
+// Packet: 0x0139
+packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+
+// Packet: 0x013a
+packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+
+// Packet: 0x013b
+packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+
+// Packet: 0x013c
+packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+
+// Packet: 0x013d
+packetLen(0x013d, 6) // ZC_RECOVERY
+
+// Packet: 0x013e
+packetLen(0x013e, 24) // ZC_USESKILL_ACK
+
+// Packet: 0x013f
+packetLen(0x013f, 26) // CZ_ITEM_CREATE
+
+// Packet: 0x0140
+packetLen(0x0140, 22) // CZ_MOVETO_MAP
+
+// Packet: 0x0141
+packetLen(0x0141, 14) // ZC_COUPLESTATUS
+
+// Packet: 0x0142
+packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+
+// Packet: 0x0143
+packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+
+// Packet: 0x0144
+packetLen(0x0144, 23) // ZC_COMPASS
+
+// Packet: 0x0145
+packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+
+// Packet: 0x0146
+packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+
+// Packet: 0x0147
+packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+
+// Packet: 0x0148
+packetLen(0x0148, 8) // ZC_RESURRECTION
+
+// Packet: 0x0149
+packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+
+// Packet: 0x014a
+packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+
+// Packet: 0x014b
+packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+
+// Packet: 0x014c
+packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+
+// Packet: 0x014d
+packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+
+// Packet: 0x014e
+packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+
+// Packet: 0x014f
+packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+
+// Packet: 0x0150
+packetLen(0x0150, 110) // ZC_GUILD_INFO
+
+// Packet: 0x0151
+packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+
+// Packet: 0x0152
+packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+
+// Packet: 0x0153
+packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+
+// Packet: 0x0154
+packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0155
+packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+
+// Packet: 0x0156
+packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+
+// Packet: 0x0157
+packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+
+// Packet: 0x0159
+packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+
+// Packet: 0x015a
+packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+
+// Packet: 0x015b
+packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+
+// Packet: 0x015c
+packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+
+// Packet: 0x015d
+packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+
+// Packet: 0x015e
+packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+
+// Packet: 0x015f
+packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+
+// Packet: 0x0160
+packetLen(0x0160, -1) // ZC_POSITION_INFO
+
+// Packet: 0x0161
+packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0162
+packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+
+// Packet: 0x0163
+packetLen(0x0163, -1) // ZC_BAN_LIST
+
+// Packet: 0x0164
+packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+
+// Packet: 0x0165
+packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+
+// Packet: 0x0166
+packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+
+// Packet: 0x0167
+packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+
+// Packet: 0x0168
+packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+
+// Packet: 0x0169
+packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+
+// Packet: 0x016a
+packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+
+// Packet: 0x016b
+packetLen(0x016b, 10) // CZ_JOIN_GUILD
+
+// Packet: 0x016c
+packetLen(0x016c, 43) // ZC_UPDATE_GDID
+
+// Packet: 0x016d
+packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+
+// Packet: 0x016e
+packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+
+// Packet: 0x016f
+packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+
+// Packet: 0x0170
+packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+
+// Packet: 0x0171
+packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+
+// Packet: 0x0172
+packetLen(0x0172, 10) // CZ_ALLY_GUILD
+
+// Packet: 0x0173
+packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+
+// Packet: 0x0174
+packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+
+// Packet: 0x0175
+packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+
+// Packet: 0x0176
+packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+
+// Packet: 0x0177
+packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+
+// Packet: 0x0178
+packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+
+// Packet: 0x0179
+packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+
+// Packet: 0x017a
+packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017b
+packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+
+// Packet: 0x017c
+packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+
+// Packet: 0x017d
+packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+
+// Packet: 0x017e
+packetLen(0x017e, -1) // CZ_GUILD_CHAT
+
+// Packet: 0x017f
+packetLen(0x017f, -1) // ZC_GUILD_CHAT
+
+// Packet: 0x0180
+packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+
+// Packet: 0x0181
+packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+
+// Packet: 0x0182
+packetLen(0x0182, 106) // ZC_MEMBER_ADD
+
+// Packet: 0x0183
+packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+
+// Packet: 0x0184
+packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+
+// Packet: 0x0185
+packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+
+// Packet: 0x0187
+packetLen(0x0187, 6) // CH_UNKNOWN_PING
+
+// Packet: 0x0188
+packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+
+// Packet: 0x0189
+packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+
+// Packet: 0x018a
+packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+
+// Packet: 0x018b
+packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+
+// Packet: 0x018c
+packetLen(0x018c, 29) // ZC_MONSTER_INFO
+
+// Packet: 0x018d
+packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+
+// Packet: 0x018e
+packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+
+// Packet: 0x018f
+packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+
+// Packet: 0x0190
+packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+
+// Packet: 0x0191
+packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+
+// Packet: 0x0192
+packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+
+// Packet: 0x0193
+packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+
+// Packet: 0x0194
+packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0195
+packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+
+// Packet: 0x0196
+packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+
+// Packet: 0x0197
+packetLen(0x0197, 4) // CZ_RESET
+
+// Packet: 0x0198
+packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+
+// Packet: 0x0199
+packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+
+// Packet: 0x019a
+packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+
+// Packet: 0x019b
+packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+
+// Packet: 0x019c
+packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+
+// Packet: 0x019d
+packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+
+// Packet: 0x019e
+packetLen(0x019e, 2) // ZC_START_CAPTURE
+
+// Packet: 0x019f
+packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3) // CZ_COMMAND_PET
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+
+// Packet: 0x01a3
+packetLen(0x01a3, 7) // ZC_FEED_PET
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26) // CZ_RENAME_PET
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6) // CZ_PET_ACT
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10) // ZC_PET_ACT
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+
+// Packet: 0x01ae
+packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+
+// Packet: 0x01af
+packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18) // SC_BILLING_INFO
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6) // ZC_DISPEL
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26) // CZ_REMOVE_AID
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26) // CZ_SHIFT
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26) // CZ_RECALL
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26) // CZ_RECALL_GID
+
+// Packet: 0x01be
+packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1) // ZC_BROADCAST2
+
+// Packet: 0x01c4
+packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+
+// Packet: 0x01c5
+packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+
+// Packet: 0x01c8
+packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8) // ZC_SPIRITS
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14) // ZC_BLADESTOP
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10) // ZC_COMBODELAY
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35) // ZC_SOUND
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+
+// Packet: 0x01d7
+packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+
+// Packet: 0x01d8
+packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+
+// Packet: 0x01d9
+packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+
+// Packet: 0x01da
+packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+
+// Packet: 0x01db
+packetLen(0x01db, 2) // CA_REQ_HASH
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1) // AC_ACK_HASH
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47) // CA_LOGIN2
+
+// Packet: 0x01de
+packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+
+// Packet: 0x01df
+packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8) // ZC_SPIRITS2
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2) // ZC_START_COUPLE
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26) // ZC_COUPLENAME
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2) // CZ_DORIDORI
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6) // ZC_CONGRATULATION
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2) // CZ_CHOPOKGI
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34) // ZC_REQ_BABY
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14) // CZ_JOIN_BABY
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2) // ZC_START_BABY
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48) // CA_LOGIN3
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+
+// Packet: 0x01fd
+packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10) // ZC_HIGHJUMP
+
+// Packet: 0x0200
+packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+
+// Packet: 0x0201
+packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+
+// Packet: 0x0202
+packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+
+// Packet: 0x0203
+packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+
+// Packet: 0x0204
+packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+
+// Packet: 0x0205
+packetLen(0x0205, 26) // ZC_DIVORCE
+
+// Packet: 0x0206
+packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+
+// Packet: 0x0207
+packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+
+// Packet: 0x0208
+packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+
+// Packet: 0x0209
+packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+
+// Packet: 0x020a
+packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+
+// Packet: 0x020d
+packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+
+// Packet: 0x020e
+packetLen(0x020e, 32) // ZC_STARSKILL
+
+// Packet: 0x0212
+packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+
+// Packet: 0x0213
+packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+
+// Packet: 0x0214
+packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+
+// Packet: 0x0215
+packetLen(0x0215, 6) // ZC_SKILLMSG
+
+// Packet: 0x0216
+packetLen(0x0216, 6) // ZC_BABYMSG
+
+// Packet: 0x0217
+packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+
+// Packet: 0x0218
+packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+
+// Packet: 0x0219
+packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+
+// Packet: 0x021a
+packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+
+// Packet: 0x021b
+packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+
+// Packet: 0x021c
+packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+
+// Packet: 0x021d
+packetLen(0x021d, 6) // CZ_LESSEFFECT
+
+// Packet: 0x021e
+packetLen(0x021e, 6) // ZC_LESSEFFECT
+
+// Packet: 0x021f
+packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+
+// Packet: 0x0220
+packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+
+// Packet: 0x0221
+packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+
+// Packet: 0x0222
+packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+
+// Packet: 0x0223
+packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+
+// Packet: 0x0224
+packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+
+// Packet: 0x0225
+packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+
+// Packet: 0x0226
+packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+
+// Packet: 0x0227
+packetLen(0x0227, 18) // ZC_GAME_GUARD
+
+// Packet: 0x0228
+packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+
+// Packet: 0x0229
+packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+
+// Packet: 0x022a
+packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+
+// Packet: 0x022b
+packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+
+// Packet: 0x022c
+packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+
+// Packet: 0x022d
+packetLen(0x022d, 5) // CZ_COMMAND_MER
+
+// Packet: 0x022e
+packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+
+// Packet: 0x022f
+packetLen(0x022f, 7) // ZC_FEED_MER
+
+// Packet: 0x0230
+packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+
+// Packet: 0x0231
+packetLen(0x0231, 26) // CZ_RENAME_MER
+
+// Packet: 0x0232
+packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+
+// Packet: 0x0233
+packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+
+// Packet: 0x0234
+packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+
+// Packet: 0x0235
+packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+
+// Packet: 0x0236
+packetLen(0x0236, 10) // ZC_KILLER_POINT
+
+// Packet: 0x0237
+packetLen(0x0237, 2) // CZ_KILLER_RANK
+
+// Packet: 0x0238
+packetLen(0x0238, 282) // ZC_KILLER_RANK
+
+// Packet: 0x0239
+packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+
+// Packet: 0x023a
+packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+
+// Packet: 0x023b
+packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+
+// Packet: 0x023c
+packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+
+// Packet: 0x023d
+packetLen(0x023d, 6) // AC_EVENT_RESULT
+
+// Packet: 0x023e
+packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+
+// Packet: 0x023f
+packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+
+// Packet: 0x0240
+packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+
+// Packet: 0x0241
+packetLen(0x0241, 6) // CZ_MAIL_OPEN
+
+// Packet: 0x0242
+packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+
+// Packet: 0x0243
+packetLen(0x0243, 6) // CZ_MAIL_DELETE
+
+// Packet: 0x0244
+packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+
+// Packet: 0x0245
+packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+
+// Packet: 0x0246
+packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+
+// Packet: 0x0247
+packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+
+// Packet: 0x0248
+packetLen(0x0248, -1) // CZ_MAIL_SEND
+
+// Packet: 0x0249
+packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+
+// Packet: 0x024a
+packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+
+// Packet: 0x024b
+packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+
+// Packet: 0x024c
+packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+
+// Packet: 0x024d
+packetLen(0x024d, 12) // CZ_AUCTION_ADD
+
+// Packet: 0x024e
+packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+
+// Packet: 0x024f
+packetLen(0x024f, 10) // CZ_AUCTION_BUY
+
+// Packet: 0x0250
+packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+
+// Packet: 0x0251
+packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+
+// Packet: 0x0252
+packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+
+// Packet: 0x0253
+packetLen(0x0253, 3) // ZC_STARPLACE
+
+// Packet: 0x0254
+packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+
+// Packet: 0x0255
+packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+
+// Packet: 0x0256
+packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+
+// Packet: 0x0257
+packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+
+// Packet: 0x0258
+packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+
+// Packet: 0x0259
+packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+
+// Packet: 0x025a
+packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+
+// Packet: 0x025b
+packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+
+// Packet: 0x025c
+packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+
+// Packet: 0x025d
+packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+
+// Packet: 0x025e
+packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+
+// Packet: 0x025f
+packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+
+// Packet: 0x0260
+packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+
+// Packet: 0x0261
+packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+
+// Packet: 0x0262
+packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+
+// Packet: 0x0263
+packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+
+// Packet: 0x0264
+packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+
+// Packet: 0x0265
+packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+
+// Packet: 0x0266
+packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+
+// Packet: 0x0267
+packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+
+// Packet: 0x0268
+packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+
+// Packet: 0x0269
+packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+
+// Packet: 0x026a
+packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+
+// Packet: 0x026b
+packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+
+// Packet: 0x026c
+packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+
+// Packet: 0x026d
+packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+
+// Packet: 0x026f
+packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+
+// Packet: 0x0270
+packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0271
+packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+
+// Packet: 0x0272
+packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+
+// Packet: 0x0273
+packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+
+// Packet: 0x0274
+packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+
+// Packet: 0x0275
+packetLen(0x0275, 37) // CH_ENTER2
+
+// Packet: 0x0276
+packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+
+// Packet: 0x0277
+packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+
+// Packet: 0x0278
+packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+
+// Packet: 0x0279
+packetLen(0x0279, 2) // CZ_HUNTINGLIST
+
+// Packet: 0x027a
+packetLen(0x027a, -1) // ZC_HUNTINGLIST
+
+// Packet: 0x027b
+packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+
+// Packet: 0x027c
+packetLen(0x027c, 60) // CA_LOGIN4
+
+// Packet: 0x027d
+packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+
+// Packet: 0x027e
+packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+
+// Packet: 0x027f
+packetLen(0x027f, 8) // CA_CLIENT_TYPE
+
+// Packet: 0x0280
+packetLen(0x0280, 12) // ZC_GANGSI_POINT
+
+// Packet: 0x0281
+packetLen(0x0281, 4) // CZ_GANGSI_RANK
+
+// Packet: 0x0282
+packetLen(0x0282, 284) // ZC_GANGSI_RANK
+
+// Packet: 0x0283
+packetLen(0x0283, 6) // ZC_AID
+
+// Packet: 0x0284
+packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+
+// Packet: 0x0285
+packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+
+// Packet: 0x0286
+packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+
+// Packet: 0x0287
+packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+
+// Packet: 0x0288
+packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0289
+packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+
+// Packet: 0x028a
+packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+
+// Packet: 0x028b
+packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+
+// Packet: 0x028c
+packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+
+// Packet: 0x028d
+packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+
+// Packet: 0x028e
+packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+
+// Packet: 0x028f
+packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+
+// Packet: 0x0290
+packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+
+// Packet: 0x0291
+packetLen(0x0291, 4) // ZC_MSG
+
+// Packet: 0x0292
+packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+
+// Packet: 0x0293
+packetLen(0x0293, 70) // ZC_BOSS_INFO
+
+// Packet: 0x0294
+packetLen(0x0294, 10) // ZC_READ_BOOK
+
+// Packet: 0x0295
+packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0296
+packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0297
+packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+
+// Packet: 0x0298
+packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+
+// Packet: 0x0299
+packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+
+// Packet: 0x029a
+packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+
+// Packet: 0x029b
+packetLen(0x029b, 80) // ZC_MER_INIT
+
+// Packet: 0x029c
+packetLen(0x029c, 66) // ZC_MER_PROPERTY
+
+// Packet: 0x029d
+packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+
+// Packet: 0x029e
+packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+
+// Packet: 0x029f
+packetLen(0x029f, 3) // CZ_MER_COMMAND
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8) // CZ_KSY_EVENT
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85) // CA_LOGIN_HAN
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107) // ZC_ADD_QUEST
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6) // ZC_DEL_QUEST
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+
+// Packet: 0x02b8
+packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1) // ZC_NPC_CHAT
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+
+// Packet: 0x02d4
+packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10) // CZ_CONFIG
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10) // ZC_CONFIG
+
+// Packet: 0x02da
+packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+
+// Packet: 0x02db
+packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+
+// Packet: 0x02de
+packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+
+// Packet: 0x02df
+packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6) // CZ_BOT_CHECK
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+
+// Packet: 0x02ec
+packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+
+// Packet: 0x02ed
+packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+
+// Packet: 0x02ee
+packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10) // ZC_PROGRESS
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2) // CZ_PROGRESS
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+
+// Packet: 0x035c
+packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+
+// Packet: 0x035d
+packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+
+// Packet: 0x035e
+packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+
+// Packet: 0x035f
+packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+
+// Packet: 0x0360
+packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+
+// Packet: 0x0361
+packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+
+// Packet: 0x0362
+packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+
+// Packet: 0x0363
+packetLen(0x0363, 6) // CZ_ITEM_THROW2
+
+// Packet: 0x0364
+packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+
+// Packet: 0x0365
+packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+
+// Packet: 0x0366
+packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+
+// Packet: 0x0367
+packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+
+// Packet: 0x0368
+packetLen(0x0368, 6) // CZ_REQNAME2
+
+// Packet: 0x0369
+packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18) // AHC_GAME_GUARD
+
+// Packet: 0x03de
+packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+
+// Packet: 0x0436
+packetLen(0x0436, 19) // CZ_ENTER2
+
+// Packet: 0x0437
+packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+
+// Packet: 0x0438
+packetLen(0x0438, 10) // CZ_USE_SKILL2
+
+// Packet: 0x0439
+packetLen(0x0439, 8) // CZ_USE_ITEM2
+
+// Packet: 0x043d
+packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+
+// Packet: 0x043e
+packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+
+// Packet: 0x043f
+packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+
+// Packet: 0x0440
+packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+
+// Packet: 0x0441
+packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+
+// Packet: 0x0442
+packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+
+// Packet: 0x0443
+packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+
+// Packet: 0x0444
+packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+
+// Packet: 0x0445
+packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+
+// Packet: 0x0446
+packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+
+// Packet: 0x0447
+packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+
+// Packet: 0x0448
+packetLen(0x0448, -1) // HC_CHARACTER_LIST
+
+// Packet: 0x0449
+packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+
+// Packet: 0x044a
+packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+
+// Packet: 0x044b
+packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+
+// Packet: 0x07da
+packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+
+// Packet: 0x07db
+packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+
+// Packet: 0x07de
+packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+
+// Packet: 0x07df
+packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8) // ZC_MSG_VALUE
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+
+// Packet: 0x07e4
+packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8) // ZC_MSG_SKILL
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32) // CH_CHECKBOT
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1) // HC_CHECKBOT
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+
+// Packet: 0x07ec
+packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+
+// Packet: 0x0800
+packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0801
+packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+
+// Packet: 0x0802
+packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+
+// Packet: 0x0803
+packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+
+// Packet: 0x0804
+packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+
+// Packet: 0x0805
+packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+
+// Packet: 0x0806
+packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+
+// Packet: 0x0807
+packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+
+// Packet: 0x0808
+packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+
+// Packet: 0x0809
+packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+
+// Packet: 0x080a
+packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+
+// Packet: 0x080b
+packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+
+// Packet: 0x080c
+packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080d
+packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+
+// Packet: 0x080e
+packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+
+// Packet: 0x080f
+packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+
+// Packet: 0x0810
+packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+
+// Packet: 0x0811
+packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+
+// Packet: 0x0812
+packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+
+// Packet: 0x0813
+packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+
+// Packet: 0x0814
+packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+
+// Packet: 0x0815
+packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+
+// Packet: 0x0816
+packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+
+// Packet: 0x0817
+packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+
+// Packet: 0x0818
+packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+
+// Packet: 0x0819
+packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+
+// Packet: 0x081a
+packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+
+// Packet: 0x081b
+packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+
+// Packet: 0x081c
+packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+
+// Packet: 0x081d
+packetLen(0x081d, 22) // ZC_EL_INIT
+
+// Packet: 0x081e
+packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+
+// Packet: 0x081f
+packetLen(0x081f, -1) // ZC_BROADCAST4
+
+// Packet: 0x0820
+packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+
+// Packet: 0x0821
+packetLen(0x0821, 2) // AC_OTP_USER
+
+// Packet: 0x0822
+packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+
+// Packet: 0x0823
+packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+
+// Packet: 0x0824
+packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+
+// Packet: 0x0825
+packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+
+// Packet: 0x0827
+packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0828
+packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+
+// Packet: 0x0829
+packetLen(0x0829, 12) // CH_DELETE_CHAR3
+
+// Packet: 0x082a
+packetLen(0x082a, 10) // HC_DELETE_CHAR3
+
+// Packet: 0x082b
+packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082c
+packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+
+// Packet: 0x082d
+packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+
+// Packet: 0x0835
+packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+
+// Packet: 0x0836
+packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+
+// Packet: 0x0837
+packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+
+// Packet: 0x0838
+packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+
+// Packet: 0x0839
+packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+
+// Packet: 0x083a
+packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+
+// Packet: 0x083b
+packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+
+// Packet: 0x083c
+packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+
+// Packet: 0x083d
+packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+
+// Packet: 0x083e
+packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+
+// Packet: 0x0840
+packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0841
+packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+
+// Packet: 0x0842
+packetLen(0x0842, 6) // CZ_RECALL_SSO
+
+// Packet: 0x0843
+packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+
+// Packet: 0x0844
+packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+
+// Packet: 0x0845
+packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+
+// Packet: 0x0846
+packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+
+// Packet: 0x0847
+packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+
+// Packet: 0x0848
+packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+
+// Packet: 0x0849
+packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+
+// Packet: 0x084a
+packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+
+// Packet: 0x084b
+packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+
+// Packet: 0x084c
+packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+
+// Packet: 0x084d
+packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+
+// Packet: 0x084e
+packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+
+// Packet: 0x084f
+packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+
+// Packet: 0x0850
+packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+
+// Packet: 0x0851
+packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+
+// Packet: 0x0852
+packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+
+// Packet: 0x0853
+packetLen(0x0853, -1) // ZC_GPK_AUTH
+
+// Packet: 0x0854
+packetLen(0x0854, -1) // CZ_GPK_AUTH
+
+// Packet: 0x0855
+packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+
+// Packet: 0x0856
+packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+
+// Packet: 0x0857
+packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+
+// Packet: 0x0858
+packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+
+// Packet: 0x0859
+packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+
+// Packet: 0x085a
+packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+
+// Packet: 0x085b
+packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+
+// Packet: 0x085c
+packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+
+// Packet: 0x085d
+packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+
+// Packet: 0x085e
+packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+
+// Packet: 0x085f
+packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+
+// Packet: 0x0860
+packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+
+// Packet: 0x0861
+packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+
+// Packet: 0x0862
+packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+
+// Packet: 0x0863
+packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+
+// Packet: 0x0864
+packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+
+// Packet: 0x0865
+packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+
+// Packet: 0x0866
+packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+
+// Packet: 0x0867
+packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+
+// Packet: 0x0868
+packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+
+// Packet: 0x0869
+packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+
+// Packet: 0x086a
+packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+
+// Packet: 0x086b
+packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+
+// Packet: 0x086c
+packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+
+// Packet: 0x086d
+packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+
+// Packet: 0x086e
+packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+
+// Packet: 0x086f
+packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+
+// Packet: 0x0870
+packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+
+// Packet: 0x0871
+packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+
+// Packet: 0x0872
+packetLen(0x0872, 2)
+
+// Packet: 0x0873
+packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+
+// Packet: 0x0874
+packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+
+// Packet: 0x0875
+packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+
+// Packet: 0x0876
+packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+
+// Packet: 0x0877
+packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+
+// Packet: 0x0878
+packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+
+// Packet: 0x0879
+packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+
+// Packet: 0x087a
+packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+
+// Packet: 0x087b
+packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+
+// Packet: 0x087c
+packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+
+// Packet: 0x087d
+packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+
+// Packet: 0x087e
+packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+
+// Packet: 0x087f
+packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+
+// Packet: 0x0880
+packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+
+// Packet: 0x0881
+packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+
+// Packet: 0x0882
+packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+
+// Packet: 0x0883
+packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+
+// Packet: 0x0884
+packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+
+// Packet: 0x0885
+packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+
+// Packet: 0x0886
+packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+
+// Packet: 0x0887
+packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+
+// Packet: 0x0888
+packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+
+// Packet: 0x0889
+packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+
+// Packet: 0x088a
+packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+
+// Packet: 0x088b
+packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+
+// Packet: 0x088c
+packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+
+// Packet: 0x088d
+packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+
+// Packet: 0x088e
+packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+
+// Packet: 0x088f
+packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+
+// Packet: 0x0890
+packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+
+// Packet: 0x0891
+packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+
+// Packet: 0x0892
+packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+
+// Packet: 0x0893
+packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+
+// Packet: 0x0894
+packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+
+// Packet: 0x0895
+packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+
+// Packet: 0x0896
+packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+
+// Packet: 0x0897
+packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+
+// Packet: 0x0898
+packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+
+// Packet: 0x0899
+packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+
+// Packet: 0x089a
+packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+
+// Packet: 0x089b
+packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+
+// Packet: 0x089c
+packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+
+// Packet: 0x089d
+packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+
+// Packet: 0x089e
+packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+
+// Packet: 0x089f
+packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+
+// Packet: 0x08a3
+packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+
+// Packet: 0x08a5
+packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+
+// Packet: 0x08a9
+packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+
+// Packet: 0x08aa
+packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+
+// Packet: 0x08ab
+packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+
+// Packet: 0x08ac
+packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+
+// Packet: 0x08ad
+packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+
+// Packet: 0x08af
+packetLen(0x08af, 10) // HC_WAITING_LOGIN
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2) // ZC_START_COLLECTION
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+
+// Packet: 0x08be
+packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2) // CZ_MACRO_START
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2) // CZ_MACRO_STOP
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109) // CA_LOGIN5
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10) // ZC_FASTMOVE
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+
+// Packet: 0x08da
+packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08db
+packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08de
+packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+
+// Packet: 0x08df
+packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+
+// Packet: 0x0900
+packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+
+// Packet: 0x0901
+packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+
+// Packet: 0x0902
+packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+
+// Packet: 0x0903
+packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+
+// Packet: 0x0904
+packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+
+// Packet: 0x0905
+packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+
+// Packet: 0x0906
+packetLen(0x0906, -1) // ZC_MICROSCOPE
+
+// Packet: 0x0907
+packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+
+// Packet: 0x0908
+packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+
+// Packet: 0x090a
+packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+
+// Packet: 0x090d
+packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+
+// Packet: 0x090e
+packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+
+// Packet: 0x090f
+packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+
+// Packet: 0x0910
+packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+
+// Packet: 0x0911
+packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+
+// Packet: 0x0912
+packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+
+// Packet: 0x0913
+packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+
+// Packet: 0x0914
+packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+
+// Packet: 0x0915
+packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+
+// Packet: 0x0916
+packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+
+// Packet: 0x0917
+packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+
+// Packet: 0x0918
+packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+
+// Packet: 0x0919
+packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+
+// Packet: 0x091a
+packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+
+// Packet: 0x091b
+packetLen(0x091b, 2) // ZC_PRNPC_STATE
+
+// Packet: 0x091c
+packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x091d
+packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+
+// Packet: 0x091e
+packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+
+// Packet: 0x091f
+packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+
+// Packet: 0x0920
+packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+
+// Packet: 0x0921
+packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+
+// Packet: 0x0922
+packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+
+// Packet: 0x0923
+packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+
+// Packet: 0x0924
+packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+
+// Packet: 0x0925
+packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+
+// Packet: 0x0926
+packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+
+// Packet: 0x0927
+packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+
+// Packet: 0x0928
+packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+
+// Packet: 0x0929
+packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+
+// Packet: 0x092a
+packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+
+// Packet: 0x092b
+packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+
+// Packet: 0x092c
+packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+
+// Packet: 0x092d
+packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+
+// Packet: 0x092e
+packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+
+// Packet: 0x092f
+packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+
+// Packet: 0x0930
+packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+
+// Packet: 0x0931
+packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+
+// Packet: 0x0932
+packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+
+// Packet: 0x0933
+packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+
+// Packet: 0x0934
+packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+
+// Packet: 0x0935
+packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+
+// Packet: 0x0936
+packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+
+// Packet: 0x0937
+packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+
+// Packet: 0x0938
+packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+
+// Packet: 0x0939
+packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+
+// Packet: 0x093a
+packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+
+// Packet: 0x093b
+packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+
+// Packet: 0x093c
+packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+
+// Packet: 0x093d
+packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+
+// Packet: 0x093e
+packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+
+// Packet: 0x093f
+packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+
+// Packet: 0x0940
+packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+
+// Packet: 0x0941
+packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+
+// Packet: 0x0942
+packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+
+// Packet: 0x0943
+packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+
+// Packet: 0x0944
+packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+
+// Packet: 0x0945
+packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+
+// Packet: 0x0946
+packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+
+// Packet: 0x0947
+packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+
+// Packet: 0x0948
+packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+
+// Packet: 0x0949
+packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+
+// Packet: 0x094a
+packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+
+// Packet: 0x094b
+packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+
+// Packet: 0x094c
+packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+
+// Packet: 0x094d
+packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+
+// Packet: 0x094e
+packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+
+// Packet: 0x094f
+packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+
+// Packet: 0x0950
+packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+
+// Packet: 0x0951
+packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+
+// Packet: 0x0952
+packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+
+// Packet: 0x0953
+packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+
+// Packet: 0x0954
+packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+
+// Packet: 0x0955
+packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+
+// Packet: 0x0956
+packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+
+// Packet: 0x0957
+packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+
+// Packet: 0x0958
+packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+
+// Packet: 0x0959
+packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+
+// Packet: 0x095a
+packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+
+// Packet: 0x095b
+packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+
+// Packet: 0x095c
+packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+
+// Packet: 0x095d
+packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+
+// Packet: 0x095e
+packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+
+// Packet: 0x095f
+packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+
+// Packet: 0x0960
+packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+
+// Packet: 0x0961
+packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+
+// Packet: 0x0962
+packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+
+// Packet: 0x0963
+packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+
+// Packet: 0x0964
+packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+
+// Packet: 0x0965
+packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+
+// Packet: 0x0966
+packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+
+// Packet: 0x0967
+packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+
+// Packet: 0x0968
+packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+
+// Packet: 0x0969
+packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+
+// Packet: 0x096a
+packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+
+// Packet: 0x096b
+packetLen(0x096b, 4) // ZC_PRNPC_STATE
+
+// Packet: 0x096c
+packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+
+// Packet: 0x096d
+packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+
+// Packet: 0x096e
+packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+
+// Packet: 0x096f
+packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+
+// Packet: 0x0970
+packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+
+// Packet: 0x0971
+packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+
+// Packet: 0x0972
+packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+
+// Packet: 0x0973
+packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+
+// Packet: 0x0974
+packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+
+// Packet: 0x0975
+packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+
+// Packet: 0x0976
+packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+
+// Packet: 0x0977
+packetLen(0x0977, 14) // ZC_HP_INFO
+
+// Packet: 0x0978
+packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+
+// Packet: 0x0979
+packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+
+// Packet: 0x097a
+packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+
+// Packet: 0x097b
+packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+
+// Packet: 0x097c
+packetLen(0x097c, 4) // CZ_REQ_RANKING
+
+// Packet: 0x097d
+packetLen(0x097d, 288) // ZC_ACK_RANKING
+
+// Packet: 0x097e
+packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+
+// Packet: 0x097f
+packetLen(0x097f, -1) // ZC_SELECTCART
+
+// Packet: 0x0980
+packetLen(0x0980, 7) // CZ_SELECTCART
+
+// Packet: 0x0981
+packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+
+// Packet: 0x0982
+packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+
+// Packet: 0x0983
+packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+
+// Packet: 0x0984
+packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+
+// Packet: 0x0985
+packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+
+// Packet: 0x0986
+packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+
+// Packet: 0x0987
+packetLen(0x0987, -1) // CA_LOGIN6
+
+// Packet: 0x0988
+packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+
+// Packet: 0x0989
+packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+
+// Packet: 0x098a
+packetLen(0x098a, -1) // ZC_CLANINFO
+
+// Packet: 0x098b
+packetLen(0x098b, 2) // AC_REQ_NEW_USER
+
+// Packet: 0x098c
+packetLen(0x098c, 4) // CA_ACK_NEW_USER
+
+// Packet: 0x098d
+packetLen(0x098d, -1) // CZ_CLAN_CHAT
+
+// Packet: 0x098e
+packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+
+// Packet: 0x098f
+packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+
+// Packet: 0x0990
+packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+
+// Packet: 0x0991
+packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0992
+packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0993
+packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0994
+packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0995
+packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x0996
+packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x0997
+packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+
+// Packet: 0x0998
+packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+
+// Packet: 0x0999
+packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+
+// Packet: 0x099a
+packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+
+// Packet: 0x099b
+packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+
+// Packet: 0x099c
+packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+
+// Packet: 0x099d
+packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+
+// Packet: 0x099e
+packetLen(0x099e, 12) // HC_QUEUE_ORDER
+
+// Packet: 0x099f
+packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ad
+packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+
+// Packet: 0x09ae
+packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09af
+packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b0
+packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+
+// Packet: 0x09b2
+packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+
+// Packet: 0x09b3
+packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+
+// Packet: 0x09be
+packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+
+// Packet: 0x09c3
+packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c4
+packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1) // CA_LOGIN_OTP
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1) // SC_SOCT
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17) // ZC_USE_SKILL2
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8) // ZC_MSG_COLOR
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+
+// Packet: 0x09da
+packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+
+// Packet: 0x09db
+packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+
+// Packet: 0x09de
+packetLen(0x09de, -1) // ZC_WHISPER02
+
+// Packet: 0x09df
+packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+
+// Packet: 0x09e6
+packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+
+// Packet: 0x09f7
+packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+
+// Packet: 0x0a05
+packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+
+// Packet: 0x0a09
+packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+
+// Packet: 0x0a20
+packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a22
+packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8) // ZC_RECOVERY2
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+
+// Packet: 0x0a37
+packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3) // ZC_OPEN_UI
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36) // CH_MAKE_CHAR
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+
+// Packet: 0x0a3c
+packetLen(0x0a3c, -1)
+
+// Packet: 0x0a3d
+packetLen(0x0a3d, 20)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 11)
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14) // CZ_REQ_STYLE_CHANGE
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2) // CZ_STYLE_CLOSE
+
+// Packet: 0x0a49
+packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+packetLen(0x0a4e, 6)
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+
+// Packet: 0x0a52
+packetLen(0x0a52, 20)
+
+// Packet: 0x0a53
+packetLen(0x0a53, 10)
+
+// Packet: 0x0a54
+packetLen(0x0a54, -1)
+
+// Packet: 0x0a55
+packetLen(0x0a55, 2)
+
+// Packet: 0x0a56
+packetLen(0x0a56, 6)
+
+// Packet: 0x0a57
+packetLen(0x0a57, 6)
+
+// Packet: 0x0a58
+packetLen(0x0a58, 8)
+
+// Packet: 0x0a59
+packetLen(0x0a59, -1)
+
+// Packet: 0x0a5a
+packetLen(0x0a5a, 2)
+
+// Packet: 0x0a5b
+packetLen(0x0a5b, 7)
+
+// Packet: 0x0a5c
+packetLen(0x0a5c, 18)
+
+// Packet: 0x0a5d
+packetLen(0x0a5d, 6)
+
+// Packet: 0x0a68
+packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+
+// Packet: 0x0a69
+packetLen(0x0a69, 6)
+
+// Packet: 0x0a6a
+packetLen(0x0a6a, 12)
+
+// Packet: 0x0a6b
+packetLen(0x0a6b, -1)
+
+// Packet: 0x0a6c
+packetLen(0x0a6c, 7)
+
+// Packet: 0x0a6d
+packetLen(0x0a6d, -1)
+
+// Packet: 0x0a6e
+packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+
+// Packet: 0x0a70
+packetLen(0x0a70, 2)
+
+// Packet: 0x0a71
+packetLen(0x0a71, -1)
+
+// Packet: 0x0a72
+packetLen(0x0a72, 61)
+
+// Packet: 0x0a73
+packetLen(0x0a73, 2)
+
+// Packet: 0x0a74
+packetLen(0x0a74, 8)
+
+// Packet: 0x0a76
+packetLen(0x0a76, 80)
+
+// Packet: 0x0a77
+packetLen(0x0a77, 15)
+
+// Packet: 0x0a78
+packetLen(0x0a78, 15)
+
+// Packet: 0x0a79
+packetLen(0x0a79, -1)
+
+// Packet: 0x0a7b
+packetLen(0x0a7b, -1)
+
+// Packet: 0x0a7c
+packetLen(0x0a7c, -1)
+
+// Packet: 0x0a7d
+packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+
+// Packet: 0x0a80
+packetLen(0x0a80, 6)
+
+// Packet: 0x0a81
+packetLen(0x0a81, 4)
+
+// Packet: 0x0a82
+packetLen(0x0a82, 46)
+
+// Packet: 0x0a83
+packetLen(0x0a83, 46)
+
+// Packet: 0x0a84
+packetLen(0x0a84, 94) // ZC_GUILD_INFO
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1) // ZC_BAN_LIST
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2) // CZ_COOLDOWN_RESET
+
+// Packet: 0x0a89
+packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+
+// Packet: 0x0a92
+packetLen(0x0a92, -1)
+
+// Packet: 0x0a93
+packetLen(0x0a93, 3)
+
+// Packet: 0x0a94
+packetLen(0x0a94, 2)
+
+// Packet: 0x0a95
+packetLen(0x0a95, 4)
+
+// Packet: 0x0a96
+packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_ADD
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4) // CZ_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+
+// Packet: 0x0a9c
+packetLen(0x0a9c, 2) // CZ_ALT_EQUIPMENT_SWITCH
+
+// Packet: 0x0a9d
+packetLen(0x0a9d, 4) // ZC_ALT_EQUIPMENT_SWITCH_ACK
+
+// Packet: 0x0a9e
+packetLen(0x0a9e, 2)
+
+// Packet: 0x0a9f
+packetLen(0x0a9f, 2)
+
+// Packet: 0x0aa0
+packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+
+// Packet: 0x0aa3
+packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+
+// Packet: 0x0aa8
+packetLen(0x0aa8, 5)
+
+// Packet: 0x0aa9
+packetLen(0x0aa9, -1)
+
+// Packet: 0x0aaa
+packetLen(0x0aaa, -1)
+
+// Packet: 0x0aab
+packetLen(0x0aab, -1)
+
+// Packet: 0x0aac
+packetLen(0x0aac, 69)
+
+// Packet: 0x0aad
+packetLen(0x0aad, 51)
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+
+// Packet: 0x0ab3
+packetLen(0x0ab3, 19)
+
+// Packet: 0x0ab4
+packetLen(0x0ab4, 6)
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+packetLen(0x0ab6, 8)
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1) // ZC_WARPLIST
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+packetLen(0x0acf, 68) // CA_LOGIN_OTP
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11) // CA_OTP_CODE
+
+// Packet: 0x0ad1
+packetLen(0x0ad1, -1) // AC_LOGIN_OTP
+
+// Packet: 0x0ad2
+packetLen(0x0ad2, 30)
+
+// Packet: 0x0ad3
+packetLen(0x0ad3, -1)
+
+// Packet: 0x0ad4
+packetLen(0x0ad4, -1)
+
+// Packet: 0x0ad5
+packetLen(0x0ad5, 2)
+
+// Packet: 0x0ad6
+packetLen(0x0ad6, 2)
+
+// Packet: 0x0ad7
+packetLen(0x0ad7, 8)
+
+// Packet: 0x0ad8
+packetLen(0x0ad8, 8)
+
+// Packet: 0x0ad9
+packetLen(0x0ad9, -1)
+
+// Packet: 0x0ada
+packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+
+// Packet: 0x0add
+packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58) // ZC_ACK_REQNAME_TITLE
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+packetLen(0x0ae1, 28)
+
+// Packet: 0x0ae2
+packetLen(0x0ae2, 7) // ZC_OPEN_UI
+
+// Packet: 0x0ae3
+packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+
+// Packet: 0x0ae4
+packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+
+// Packet: 0x0ae5
+packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+
+// Packet: 0x0ae6
+packetLen(0x0ae6, 10)
+
+// Packet: 0x0ae7
+packetLen(0x0ae7, 38)
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+
+// Packet: 0x0af0
+packetLen(0x0af0, 10) // ZC_UI_ACTION
+
+// Packet: 0x0af2
+packetLen(0x0af2, 40)
+
+// Packet: 0x0af3
+packetLen(0x0af3, -1)
+
+// Packet: 0x0af4
+packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+
+// Packet: 0x0af5
+packetLen(0x0af5, 3)
+
+// Packet: 0x0af6
+packetLen(0x0af6, 88)
+
+// Packet: 0x0af7
+packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+
+// Packet: 0x0af8
+packetLen(0x0af8, 11)
+
+// Packet: 0x0af9
+packetLen(0x0af9, 6)
+
+// Packet: 0x0afa
+packetLen(0x0afa, 54)
+
+// Packet: 0x0afb
+packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+
+// Packet: 0x0afc
+packetLen(0x0afc, 16) // CZ_REQ_STYLE_CHANGE2
+
+// Packet: 0x0afd
+packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+
+// Packet: 0x0afe
+packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+
+// Packet: 0x0aff
+packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+
+// Packet: 0x0b00
+packetLen(0x0b00, 8)
+
+// Packet: 0x0b01
+packetLen(0x0b01, 56)
+
+// Packet: 0x0b02
+packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+
+// Packet: 0x0b03
+packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+
+// Packet: 0x0b04
+packetLen(0x0b04, 80)
+
+// Packet: 0x0b05
+packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+
+// Packet: 0x0b07
+packetLen(0x0b07, -1)
+
+// Packet: 0x0b08
+packetLen(0x0b08, -1) // ZC_INVENTORY_START
+
+// Packet: 0x0b09
+packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+
+// Packet: 0x0b0a
+packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+
+// Packet: 0x0b0b
+packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+
+// Packet: 0x0b0c
+packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+
+// Packet: 0x0b0d
+packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+
+// Packet: 0x0b0e
+packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+
+// Packet: 0x0b0f
+packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+
+// Packet: 0x0b10
+packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+
+// Packet: 0x0b11
+packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+
+// Packet: 0x0b12
+packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+
+// Packet: 0x0b13
+packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+
+// Packet: 0x0b14
+packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+
+// Packet: 0x0b15
+packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+
+// Packet: 0x0b16
+packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+
+// Packet: 0x0b17
+packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+
+// Packet: 0x0b18
+packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+
+// Packet: 0x0b19
+packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+
+// Packet: 0x0b1a
+packetLen(0x0b1a, 29) // ZC_USESKILL_ACK3
+
+// Packet: 0x0b1b
+#if PACKETVER >= 20190130
+packetLen(0x0b1b, 2) // ZC_ALT_PING
+#endif
+
+// Packet: 0x0b1c
+#if PACKETVER >= 20190220
+packetLen(0x0b1c, 2) // CZ_PING
+#endif
+
+// Packet: 0x0b1d
+#if PACKETVER >= 20190220
+packetLen(0x0b1d, 2) // ZC_PING
+#endif
+
+// Packet: 0x0b1e
+#if PACKETVER >= 20190313
+packetLen(0x0b1e, 10)
+#endif
+
+// Packet: 0x0b1f
+#if PACKETVER >= 20190313
+packetLen(0x0b1f, 10)
+#endif
+
+// Packet: 0x0b20
+#if PACKETVER >= 20190327
+packetLen(0x0b20, 271)
+#endif
+
+// Packet: 0x0b21
+#if PACKETVER >= 20190327
+packetLen(0x0b21, 13)
+#endif
+
+// Packet: 0x0b22
+#if PACKETVER >= 20190327
+packetLen(0x0b22, 5)
+#endif
+
+// Packet: 0x0b23
+#if PACKETVER >= 20190410
+packetLen(0x0b23, 6)
+#endif
+
+// Packet: 0x0b24
+#if PACKETVER >= 20190424
+packetLen(0x0b24, 6)
+#endif
+
+// Packet: 0x0b25
+#if PACKETVER >= 20190424
+packetLen(0x0b25, 6)
+#endif
+
+// Packet: 0x0b26
+#if PACKETVER >= 20190424
+packetLen(0x0b26, 16)
+#endif
+
+// Packet: 0x0b27
+#if PACKETVER >= 20190502
+packetLen(0x0b27, -1)
+#elif PACKETVER >= 20190424
+packetLen(0x0b27, 2)
+#endif
+
+// Packet: 0x0b28
+#if PACKETVER >= 20190502
+packetLen(0x0b28, 22)
+#elif PACKETVER >= 20190424
+packetLen(0x0b28, -1)
+#endif
+
+// Packet: 0x0b29
+#if PACKETVER >= 20190502
+packetLen(0x0b29, 6)
+#elif PACKETVER >= 20190424
+packetLen(0x0b29, 3)
+#endif
+
+// Packet: 0x0b2a
+#if PACKETVER >= 20190502
+packetLen(0x0b2a, 6)
+#endif
+
+
+#endif /* COMMON_PACKETS2019_LEN_ZERO_H */
diff --git a/src/common/packets/packets_len_ad.h b/src/common/packets/packets_len_ad.h
new file mode 100644
index 000000000..adfe65a76
--- /dev/null
+++ b/src/common/packets/packets_len_ad.h
@@ -0,0 +1,39 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS_LEN_AD_H
+#define COMMON_PACKETS_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#if PACKETVER >= 20080000
+#include "common/packets/packets2008_len_ad.h"
+#elif PACKETVER >= 20070000
+#include "common/packets/packets2007_len_ad.h"
+#elif PACKETVER >= 20060000
+#include "common/packets/packets2006_len_ad.h"
+#elif PACKETVER >= 20050000
+#include "common/packets/packets2005_len_ad.h"
+#elif PACKETVER >= 20040000
+#include "common/packets/packets2004_len_ad.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_AD_H */
diff --git a/src/common/packets/packets_len_main.h b/src/common/packets/packets_len_main.h
new file mode 100644
index 000000000..49711994d
--- /dev/null
+++ b/src/common/packets/packets_len_main.h
@@ -0,0 +1,63 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS_LEN_MAIN_H
+#define COMMON_PACKETS_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#if PACKETVER >= 20190000
+#include "common/packets/packets2019_len_main.h"
+#elif PACKETVER >= 20180000
+#include "common/packets/packets2018_len_main.h"
+#elif PACKETVER >= 20170000
+#include "common/packets/packets2017_len_main.h"
+#elif PACKETVER >= 20160000
+#include "common/packets/packets2016_len_main.h"
+#elif PACKETVER >= 20150000
+#include "common/packets/packets2015_len_main.h"
+#elif PACKETVER >= 20140000
+#include "common/packets/packets2014_len_main.h"
+#elif PACKETVER >= 20130000
+#include "common/packets/packets2013_len_main.h"
+#elif PACKETVER >= 20120000
+#include "common/packets/packets2012_len_main.h"
+#elif PACKETVER >= 20110000
+#include "common/packets/packets2011_len_main.h"
+#elif PACKETVER >= 20100000
+#include "common/packets/packets2010_len_main.h"
+#elif PACKETVER >= 20090000
+#include "common/packets/packets2009_len_main.h"
+#elif PACKETVER >= 20080000
+#include "common/packets/packets2008_len_main.h"
+#elif PACKETVER >= 20070000
+#include "common/packets/packets2007_len_main.h"
+#elif PACKETVER >= 20060000
+#include "common/packets/packets2006_len_main.h"
+#elif PACKETVER >= 20050000
+#include "common/packets/packets2005_len_main.h"
+#elif PACKETVER >= 20040000
+#include "common/packets/packets2004_len_main.h"
+#elif PACKETVER >= 20030000
+#include "common/packets/packets2003_len_main.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_MAIN_H */
diff --git a/src/common/packets/packets_len_re.h b/src/common/packets/packets_len_re.h
new file mode 100644
index 000000000..506a1ef80
--- /dev/null
+++ b/src/common/packets/packets_len_re.h
@@ -0,0 +1,53 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS_LEN_RE_H
+#define COMMON_PACKETS_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#if PACKETVER >= 20190000
+#include "common/packets/packets2019_len_re.h"
+#elif PACKETVER >= 20180000
+#include "common/packets/packets2018_len_re.h"
+#elif PACKETVER >= 20170000
+#include "common/packets/packets2017_len_re.h"
+#elif PACKETVER >= 20160000
+#include "common/packets/packets2016_len_re.h"
+#elif PACKETVER >= 20150000
+#include "common/packets/packets2015_len_re.h"
+#elif PACKETVER >= 20140000
+#include "common/packets/packets2014_len_re.h"
+#elif PACKETVER >= 20130000
+#include "common/packets/packets2013_len_re.h"
+#elif PACKETVER >= 20120000
+#include "common/packets/packets2012_len_re.h"
+#elif PACKETVER >= 20110000
+#include "common/packets/packets2011_len_re.h"
+#elif PACKETVER >= 20100000
+#include "common/packets/packets2010_len_re.h"
+#elif PACKETVER >= 20090000
+#include "common/packets/packets2009_len_re.h"
+#elif PACKETVER >= 20080000
+#include "common/packets/packets2008_len_re.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_RE_H */
diff --git a/src/common/packets/packets_len_sak.h b/src/common/packets/packets_len_sak.h
new file mode 100644
index 000000000..e359ae1d2
--- /dev/null
+++ b/src/common/packets/packets_len_sak.h
@@ -0,0 +1,43 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019 Hercules Dev Team
+ * Copyright (C) 2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS_LEN_SAK_H
+#define COMMON_PACKETS_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#if PACKETVER >= 20090000
+#include "common/packets/packets2009_len_sak.h"
+#elif PACKETVER >= 20080000
+#include "common/packets/packets2008_len_sak.h"
+#elif PACKETVER >= 20070000
+#include "common/packets/packets2007_len_sak.h"
+#elif PACKETVER >= 20060000
+#include "common/packets/packets2006_len_sak.h"
+#elif PACKETVER >= 20050000
+#include "common/packets/packets2005_len_sak.h"
+#elif PACKETVER >= 20040000
+#include "common/packets/packets2004_len_sak.h"
+#elif PACKETVER >= 20030000
+#include "common/packets/packets2003_len_sak.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_SAK_H */
diff --git a/src/common/packets/packets_len_zero.h b/src/common/packets/packets_len_zero.h
new file mode 100644
index 000000000..10295cac2
--- /dev/null
+++ b/src/common/packets/packets_len_zero.h
@@ -0,0 +1,35 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS_LEN_ZERO_H
+#define COMMON_PACKETS_LEN_ZERO_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#if PACKETVER >= 20190000
+#include "common/packets/packets2019_len_zero.h"
+#elif PACKETVER >= 20180000
+#include "common/packets/packets2018_len_zero.h"
+#elif PACKETVER >= 20170000
+#include "common/packets/packets2017_len_zero.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_ZERO_H */
diff --git a/src/common/packets_len.h b/src/common/packets_len.h
new file mode 100644
index 000000000..02f63ae0d
--- /dev/null
+++ b/src/common/packets_len.h
@@ -0,0 +1,35 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2012-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef COMMON_PACKETS_LEN_H
+#define COMMON_PACKETS_LEN_H
+
+#if defined(PACKETVER_ZERO)
+#include "common/packets/packets_len_zero.h"
+#elif defined(PACKETVER_RE)
+#include "common/packets/packets_len_re.h"
+#elif defined(PACKETVER_SAK)
+#include "common/packets/packets_len_sak.h"
+#elif defined(PACKETVER_AD)
+#include "common/packets/packets_len_ad.h"
+#else
+#include "common/packets/packets_len_main.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_H */
diff --git a/src/common/packetsstatic_len.h b/src/common/packetsstatic_len.h
new file mode 100644
index 000000000..730516c27
--- /dev/null
+++ b/src/common/packetsstatic_len.h
@@ -0,0 +1,41 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2013-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef COMMON_PACKETSSTATIC_LEN_H
+#define COMMON_PACKETSSTATIC_LEN_H
+
+#ifdef packetLen
+#error packetLen already defined
+#endif
+
+#define DEFINE_PACKET_HEADER(name, id) \
+ STATIC_ASSERT((int32)(PACKET_LEN_##id) == -1 || sizeof(struct PACKET_##name) == \
+ (size_t)PACKET_LEN_##id, "Wrong size PACKET_"#name); \
+ enum { HEADER_##name = id };
+
+#define DEFINE_PACKET_ID(name, id) \
+ enum { HEADER_##name = id };
+
+#define packetLen(id, len) PACKET_LEN_##id = (len),
+enum packet_lengths {
+#include "common/packets_len.h"
+};
+#undef packetLen
+
+#endif /* COMMON_PACKETSSTATIC_LEN_H */
diff --git a/src/common/socket.c b/src/common/socket.c
index 290c7a1b3..8ee4f06e2 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -30,6 +30,7 @@
#include "common/memmgr.h"
#include "common/mmo.h"
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/showmsg.h"
#include "common/strlib.h"
#include "common/timer.h"
@@ -78,8 +79,6 @@
static struct socket_interface sockt_s;
struct socket_interface *sockt;
-static const char *SOCKET_CONF_FILENAME = "conf/common/socket.conf";
-
#ifdef SEND_SHORTLIST
// Add a fd to the shortlist so that it'll be recognized as a fd that needs
// sending done on it.
@@ -301,10 +300,8 @@ static uint32 send_shortlist_set[(FD_SETSIZE+31)/32];// to know if specific fd's
static int create_session(int fd, RecvFunc func_recv, SendFunc func_send, ParseFunc func_parse);
-#ifndef MINICORE
- static int ip_rules = 1;
- static int connect_check(uint32 ip);
-#endif // MINICORE
+static int ip_rules = 1;
+static int connect_check(uint32 ip);
static const char *error_msg(void)
{
@@ -463,7 +460,7 @@ static int recv_to_fifo(int fd)
socket_data_ci += len;
}
#endif // SHOW_SERVER_STATS
- return 0;
+ return (int)len;
}
static int send_from_fifo(int fd)
@@ -491,11 +488,12 @@ static int send_from_fifo(int fd)
return 0;
}
- if( len > 0 )
+ if (len > 0)
{
+ sockt->session[fd]->wdata_tick = sockt->last_tick;
// some data could not be transferred?
// shift unsent data to the beginning of the queue
- if( (size_t)len < sockt->session[fd]->wdata_size )
+ if ((size_t)len < sockt->session[fd]->wdata_size)
memmove(sockt->session[fd]->wdata, sockt->session[fd]->wdata + len, sockt->session[fd]->wdata_size - len);
sockt->session[fd]->wdata_size -= len;
@@ -556,12 +554,10 @@ static int connect_client(int listen_fd)
setsocketopts(fd,NULL);
sockt->set_nonblocking(fd, 1);
-#ifndef MINICORE
if( ip_rules && !connect_check(ntohl(client_address.sin_addr.s_addr)) ) {
sockt->close(fd);
return -1;
}
-#endif // MINICORE
#ifndef SOCKET_EPOLL
// Select Based Event Dispatcher
@@ -584,6 +580,7 @@ static int connect_client(int listen_fd)
create_session(fd, recv_to_fifo, send_from_fifo, default_func_parse);
sockt->session[fd]->client_addr = ntohl(client_address.sin_addr.s_addr);
+ sockt->session[fd]->flag.validate = sockt->validate;
return fd;
}
@@ -650,10 +647,10 @@ static int make_listen_bind(uint32 ip, uint16 port)
if(sockt->fd_max <= fd) sockt->fd_max = fd + 1;
- create_session(fd, connect_client, null_send, null_parse);
+ create_session(fd, sockt->connect_client, null_send, null_parse);
sockt->session[fd]->client_addr = 0; // just listens
sockt->session[fd]->rdata_tick = 0; // disable timeouts on this socket
-
+ sockt->session[fd]->wdata_tick = 0;
return fd;
}
@@ -736,6 +733,7 @@ static int create_session(int fd, RecvFunc func_recv, SendFunc func_send, ParseF
sockt->session[fd]->func_send = func_send;
sockt->session[fd]->func_parse = func_parse;
sockt->session[fd]->rdata_tick = sockt->last_tick;
+ sockt->session[fd]->wdata_tick = sockt->last_tick;
sockt->session[fd]->session_data = NULL;
sockt->session[fd]->hdata = NULL;
return 0;
@@ -814,7 +812,36 @@ static int rfifoskip(int fd, size_t len)
if (s->rdata_size < s->rdata_pos + len) {
ShowError("RFIFOSKIP: skipped past end of read buffer! Adjusting from %"PRIuS" to %"PRIuS" (session #%d)\n", len, RFIFOREST(fd), fd);
+ Assert_report(0);
len = RFIFOREST(fd);
+ } else {
+ const size_t lenRest = RFIFOREST(fd);
+ if (s->flag.validate == 1 && len == lenRest) {
+ if (lenRest >= 2) {
+ const uint32 cmd = (uint32)RFIFOW(fd, 0);
+ if (cmd < MIN_PACKET_DB || cmd > MAX_PACKET_DB) {
+ ShowError("Skip wrong packet id: 0x%04X\n", cmd);
+ Assert_report(0);
+ } else {
+ int packet_len = packets->db[cmd];
+ if (packet_len == -1) {
+ if (lenRest < 4) {
+ ShowError("Skip packet with size smaller than 4\n");
+ Assert_report(0);
+ } else {
+ packet_len = RFIFOW(fd, 2);
+ if (packet_len != lenRest) {
+ ShowError("Skip packet 0x%04X with dynamic size %"PRIuS", but must be size %d\n", cmd, lenRest, packet_len);
+ Assert_report(0);
+ }
+ }
+ } else if (packet_len != lenRest) {
+ ShowError("Skip packet 0x%04X with size %"PRIuS", but must be size %d\n", cmd, lenRest, packet_len);
+ Assert_report(0);
+ }
+ }
+ }
+ }
}
s->rdata_pos = s->rdata_pos + len;
@@ -825,14 +852,12 @@ static int rfifoskip(int fd, size_t len)
}
/// advance the WFIFO cursor (marking 'len' bytes for sending)
-static int wfifoset(int fd, size_t len)
+static int wfifoset(int fd, size_t len, bool validate)
{
- size_t newreserve;
- struct socket_data* s;
-
if (!sockt->session_is_valid(fd))
return 0;
- s = sockt->session[fd];
+
+ struct socket_data* s = sockt->session[fd];
if (s == NULL || s->wdata == NULL)
return 0;
@@ -871,6 +896,10 @@ static int wfifoset(int fd, size_t len)
}
}
+
+ if (validate && s->flag.validate == 1)
+ sockt->validateWfifo(fd, len);
+
s->wdata_size += len;
#ifdef SHOW_SERVER_STATS
socket_data_qo += len;
@@ -881,7 +910,7 @@ static int wfifoset(int fd, size_t len)
// always keep a WFIFO_SIZE reserve in the buffer
// For inter-server connections, let the reserve be 1/4th of the link size.
- newreserve = s->flag.server ? FIFOSIZE_SERVERLINK / 4 : WFIFO_SIZE;
+ size_t newreserve = s->flag.server ? FIFOSIZE_SERVERLINK / 4 : WFIFO_SIZE;
// readjust the buffer to include the chosen reserve
sockt->realloc_writefifo(fd, newreserve);
@@ -893,6 +922,15 @@ static int wfifoset(int fd, size_t len)
return 0;
}
+static void wfifohead(int fd, size_t len)
+{
+ Assert_retv(fd >= 0);
+
+ sockt->session[fd]->last_head_size = (uint32)len;
+ if (sockt->session[fd]->wdata_size + len > sockt->session[fd]->max_wdata)
+ sockt->realloc_writefifo(fd, len);
+}
+
static int do_sockets(int next)
{
#ifndef SOCKET_EPOLL
@@ -1065,9 +1103,6 @@ static int do_sockets(int next)
return 0;
}
-//////////////////////////////
-#ifndef MINICORE
-//////////////////////////////
// IP rules and DDoS protection
struct connect_history {
@@ -1326,11 +1361,6 @@ static bool access_list_add(struct config_setting_t *setting, const char *list_n
return true;
}
-//////////////////////////////
-#endif // MINICORE
-//////////////////////////////
-
-#ifndef MINICORE
/**
* Reads 'socket_configuration/ip_rules' and initializes required variables.
*
@@ -1387,9 +1417,7 @@ static bool socket_config_read_iprules(const char *filename, struct config_t *co
return true;
}
-#endif // ! MINICORE
-#ifndef MINICORE
/**
* Reads 'socket_configuration/ddos' and initializes required variables.
*
@@ -1419,7 +1447,6 @@ static bool socket_config_read_ddos(const char *filename, struct config_t *confi
return true;
}
-#endif // ! MINICORE
/**
* Reads 'socket_configuration' and initializes required variables.
@@ -1464,7 +1491,6 @@ static bool socket_config_read(const char *filename, bool imported)
}
#endif // SOCKET_EPOLL
-#ifndef MINICORE
{
uint32 ui32 = 0;
libconfig->setting_lookup_bool(setting, "debug", &access_debug);
@@ -1477,11 +1503,10 @@ static bool socket_config_read(const char *filename, bool imported)
retval = false;
if (!socket_config_read_ddos(filename, &config, imported))
retval = false;
-#endif // MINICORE
// import should overwrite any previous configuration, so it should be called last
if (libconfig->lookup_string(&config, "import", &import) == CONFIG_TRUE) {
- if (strcmp(import, filename) == 0 || strcmp(import, SOCKET_CONF_FILENAME) == 0) {
+ if (strcmp(import, filename) == 0 || strcmp(import, sockt->SOCKET_CONF_FILENAME) == 0) {
ShowWarning("socket_config_read: Loop detected! Skipping 'import'...\n");
} else {
if (!socket_config_read(import, true))
@@ -1496,12 +1521,10 @@ static bool socket_config_read(const char *filename, bool imported)
static void socket_final(void)
{
int i;
-#ifndef MINICORE
if( connect_history )
db_destroy(connect_history);
VECTOR_CLEAR(access_allow);
VECTOR_CLEAR(access_deny);
-#endif // MINICORE
for( i = 1; i < sockt->fd_max; i++ )
if(sockt->session[i])
@@ -1686,15 +1709,13 @@ static void socket_init(void)
}
#endif // defined(HAVE_SETRLIMIT) && !defined(CYGWIN)
-#ifndef MINICORE
VECTOR_INIT(access_allow);
VECTOR_INIT(access_deny);
-#endif // ! MINICORE
// Get initial local ips
sockt->naddr_ = sockt->getips(sockt->addr_,16);
- socket_config_read(SOCKET_CONF_FILENAME, false);
+ socket_config_read(sockt->SOCKET_CONF_FILENAME, false);
#ifndef SOCKET_EPOLL
// Select based Event Dispatcher:
@@ -1729,12 +1750,10 @@ static void socket_init(void)
// should hold enough buffer (it is a vacuum so to speak) as it is never flushed. [Skotlex]
create_session(0, null_recv, null_send, null_parse);
-#ifndef MINICORE
// Delete old connection history every 5 minutes
connect_history = uidb_alloc(DB_OPT_RELEASE_DATA);
timer->add_func_list(connect_check_clear, "connect_check_clear");
timer->add_interval(timer->gettick()+1000, connect_check_clear, 0, 0, 5*60*1000);
-#endif // MINICORE
ShowInfo("Server supports up to '"CL_WHITE"%"PRIu64""CL_RESET"' concurrent connections.\n", rlim_cur);
}
@@ -1818,6 +1837,11 @@ static void socket_datasync(int fd, bool send)
{ sizeof(struct guild_castle) },
{ sizeof(struct fame_list) },
{ PACKETVER },
+ { PACKETVER_MAIN_NUM },
+ { PACKETVER_RE_NUM },
+ { PACKETVER_ZERO_NUM },
+ { PACKETVER_AD_NUM },
+ { PACKETVER_SAK_NUM },
};
unsigned short i;
unsigned int alen = ARRAYLENGTH(data_list);
@@ -1832,7 +1856,7 @@ static void socket_datasync(int fd, bool send)
WFIFOL(fd, 4 + ( i * 4 ) ) = data_list[i].length;
}
- WFIFOSET(fd, p_len);
+ WFIFOSET2(fd, p_len);
} else {
for( i = 0; i < alen; i++ ) {
if( RFIFOL(fd, 4 + (i * 4) ) != data_list[i].length ) {
@@ -1841,7 +1865,7 @@ static void socket_datasync(int fd, bool send)
WFIFOW(fd, 0) = 0x2b0a;
WFIFOW(fd, 2) = 8;
WFIFOL(fd, 4) = 0;
- WFIFOSET(fd, 8);
+ WFIFOSET2(fd, 8);
sockt->flush(fd);
/* shut down */
ShowFatalError("Servers are out of sync! recompile from scratch (%d)\n",i);
@@ -2072,10 +2096,56 @@ static void socket_net_config_read(const char *filename)
return;
}
+static void socket_validateWfifo(int fd, size_t len)
+{
+ if (len < 2) {
+ ShowError("Sent packet with size smaller than 2\n");
+ Assert_retv(0);
+ return;
+ }
+ const uint32 cmd = (uint32)WFIFOW(fd, 0);
+ const uint32 last_head_size = sockt->session[fd]->last_head_size;
+ sockt->session[fd]->last_head_size = 0;
+
+ if (cmd < MIN_PACKET_DB || cmd > MAX_PACKET_DB) {
+ ShowError("Sent wrong packet id: 0x%04X\n", cmd);
+ Assert_retv(0);
+ return;
+ }
+ if (len > 65535) {
+ ShowError("Sent packet with size bigger than 65535\n");
+ Assert_retv(0);
+ return;
+ }
+ int packet_len = packets->db[cmd];
+ const int len2 = (int)len;
+ if (packet_len == -1) {
+ if (len2 < 4) {
+ ShowError("Sent packet with size smaller than 4\n");
+ Assert_retv(0);
+ return;
+ }
+ packet_len = WFIFOW(fd, 2);
+ if (packet_len != len2) {
+ ShowError("Sent packet 0x%04X with dynamic size %d, but must be size %d\n", cmd, len2, packet_len);
+ Assert_retv(0);
+ }
+ } else if (packet_len != len2) {
+ ShowError("Sent packet 0x%04X with size %d, but must be size %d\n", cmd, len2, packet_len);
+ Assert_retv(0);
+ }
+ if (last_head_size < (uint32)packet_len) {
+ ShowError("Reserved too small packet buffer for packet 0x%04X with size %u, but must be size %d\n", cmd, last_head_size, packet_len);
+ Assert_retv(0);
+ }
+}
+
void socket_defaults(void)
{
sockt = &sockt_s;
+ sockt->SOCKET_CONF_FILENAME = "conf/common/socket.conf";
+
sockt->fd_max = 0;
/* */
sockt->stall_time = 60;
@@ -2083,6 +2153,7 @@ void socket_defaults(void)
/* */
memset(&sockt->addr_, 0, sizeof(sockt->addr_));
sockt->naddr_ = 0;
+ sockt->validate = false;
/* */
VECTOR_INIT(sockt->lan_subnets);
VECTOR_INIT(sockt->allowed_ips);
@@ -2100,6 +2171,7 @@ void socket_defaults(void)
sockt->realloc_fifo = realloc_fifo;
sockt->realloc_writefifo = realloc_writefifo;
sockt->wfifoset = wfifoset;
+ sockt->wfifohead = wfifohead;
sockt->rfifoskip = rfifoskip;
sockt->close = socket_close;
/* */
@@ -2108,6 +2180,7 @@ void socket_defaults(void)
/* */
sockt->flush = flush_fifo;
sockt->flush_fifos = flush_fifos;
+ sockt->connect_client = connect_client;
sockt->set_nonblocking = set_nonblocking;
sockt->set_defaultparse = set_defaultparse;
sockt->host2ip = host2ip;
@@ -2122,4 +2195,5 @@ void socket_defaults(void)
sockt->trusted_ip_check = socket_trusted_ip_check;
sockt->net_config_read_sub = socket_net_config_read_sub;
sockt->net_config_read = socket_net_config_read;
+ sockt->validateWfifo = socket_validateWfifo;
}
diff --git a/src/common/socket.h b/src/common/socket.h
index 3c082e718..b20b0b07e 100644
--- a/src/common/socket.h
+++ b/src/common/socket.h
@@ -41,11 +41,7 @@ struct config_setting_t;
// socket I/O macros
#define RFIFOHEAD(fd)
-#define WFIFOHEAD(fd, size) \
- do{ \
- if ((fd) && sockt->session[fd]->wdata_size + (size) > sockt->session[fd]->max_wdata) \
- sockt->realloc_writefifo((fd), (size)); \
- } while(0)
+#define WFIFOHEAD(fd, size) sockt->wfifohead(fd, size)
#define RFIFOP(fd,pos) ((const void *)(sockt->session[fd]->rdata + sockt->session[fd]->rdata_pos + (pos)))
#define WFIFOP(fd,pos) ((void *)(sockt->session[fd]->wdata + sockt->session[fd]->wdata_size + (pos)))
@@ -73,7 +69,8 @@ struct config_setting_t;
} \
} while(0)
-#define WFIFOSET(fd, len) (sockt->wfifoset(fd, len))
+#define WFIFOSET(fd, len) (sockt->wfifoset(fd, len, true))
+#define WFIFOSET2(fd, len) (sockt->wfifoset(fd, len, false))
#define RFIFOSKIP(fd, len) (sockt->rfifoskip(fd, len))
/* [Ind/Hercules] */
@@ -122,6 +119,7 @@ struct socket_data {
unsigned char eof : 1;
unsigned char server : 1;
unsigned char ping : 2;
+ unsigned char validate : 1;
} flag;
uint32 client_addr; // remote client address
@@ -130,7 +128,9 @@ struct socket_data {
size_t max_rdata, max_wdata;
size_t rdata_size, wdata_size;
size_t rdata_pos;
+ uint32 last_head_size;
time_t rdata_tick; // time of last recv (for detecting timeouts); zero when timeout is disabled
+ time_t wdata_tick; // time of last send (for detecting timeouts);
RecvFunc func_recv;
SendFunc func_send;
@@ -178,9 +178,12 @@ struct socket_interface {
/* */
time_t stall_time;
time_t last_tick;
+
+ const char *SOCKET_CONF_FILENAME;
/* */
uint32 addr_[16]; // ip addresses of local host (host byte order)
int naddr_; // # of ip addresses
+ bool validate;
struct socket_data **session;
@@ -200,15 +203,18 @@ struct socket_interface {
int (*make_connection) (uint32 ip, uint16 port, struct hSockOpt *opt);
int (*realloc_fifo) (int fd, unsigned int rfifo_size, unsigned int wfifo_size);
int (*realloc_writefifo) (int fd, size_t addition);
- int (*wfifoset) (int fd, size_t len);
+ int (*wfifoset) (int fd, size_t len, bool validate);
+ void (*wfifohead) (int fd, size_t len);
int (*rfifoskip) (int fd, size_t len);
void (*close) (int fd);
+ void (*validateWfifo) (int fd, size_t len);
/* */
bool (*session_is_valid) (int fd);
bool (*session_is_active) (int fd);
/* */
void (*flush) (int fd);
void (*flush_fifos) (void);
+ int (*connect_client) (int listen_fd);
void (*set_nonblocking) (int fd, unsigned long yes);
void (*set_defaultparse) (ParseFunc defaultparse);
/* hostname/ip conversion functions */
diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c
index b8cb2a90a..e3977f440 100644
--- a/src/common/sysinfo.c
+++ b/src/common/sysinfo.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2015 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -221,8 +221,12 @@ enum windows_ver_suite {
#define SYSINFO_COMPILER "Microsoft Visual C++ 2012 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
#elif _MSC_VER >= 1800 && _MSC_VER < 1900
#define SYSINFO_COMPILER "Microsoft Visual C++ 2013 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
-#elif _MSC_VER >= 1900 && _MSC_VER < 2000
+#elif _MSC_VER >= 1900 && _MSC_VER < 1910
#define SYSINFO_COMPILER "Microsoft Visual C++ 2015 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
+#elif _MSC_VER >= 1910 && _MSC_VER < 1920
+#define SYSINFO_COMPILER "Microsoft Visual C++ 2017 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
+#elif _MSC_VER >= 1920 && _MSC_VER < 2000
+#define SYSINFO_COMPILER "Microsoft Visual C++ 2019 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
#else // < 1300 || >= 2000
#define SYSINFO_COMPILER "Microsoft Visual C++ v" EXPAND_AND_QUOTE(_MSC_VER)
#endif
diff --git a/src/config/const.h b/src/config/const.h
index 3b35e354e..4767b5721 100644
--- a/src/config/const.h
+++ b/src/config/const.h
@@ -114,11 +114,6 @@
} while(0)
#endif
-/* console_input doesn't go well with minicore */
-#ifdef MINICORE
- #undef CONSOLE_INPUT
-#endif
-
/**
* End of File
**/
diff --git a/src/login/HPMlogin.c b/src/login/HPMlogin.c
index c13bd96a3..304db5501 100644
--- a/src/login/HPMlogin.c
+++ b/src/login/HPMlogin.c
@@ -30,6 +30,8 @@
#include "login/lclif.p.h"
#include "login/login.h"
#include "login/loginlog.h"
+#include "login/packets_ac_struct.h"
+#include "login/packets_ca_struct.h"
#include "common/HPMi.h"
#include "common/conf.h"
#include "common/console.h"
@@ -41,6 +43,7 @@
#include "common/memmgr.h"
#include "common/mutex.h"
#include "common/mmo.h"
+#include "common/packets.h"
#include "common/nullpo.h"
#include "common/random.h"
#include "common/showmsg.h"
diff --git a/src/login/lclif.c b/src/login/lclif.c
index 48a9c6b94..97871922d 100644
--- a/src/login/lclif.c
+++ b/src/login/lclif.c
@@ -24,6 +24,8 @@
#include "login/ipban.h"
#include "login/login.h"
#include "login/loginlog.h"
+#include "login/packets_ac_struct.h"
+#include "login/packets_ca_struct.h"
#include "common/HPM.h"
#include "common/cbasetypes.h"
#include "common/db.h"
@@ -49,10 +51,10 @@ struct lclif_interface *lclif;
/// @copydoc lclif_interface::connection_error()
static void lclif_connection_error(int fd, uint8 error)
{
- struct packet_SC_NOTIFY_BAN *packet = NULL;
+ struct PACKET_SC_NOTIFY_BAN *packet = NULL;
WFIFOHEAD(fd, sizeof(*packet));
packet = WP2PTR(fd);
- packet->packet_id = PACKET_ID_SC_NOTIFY_BAN;
+ packet->packet_id = HEADER_SC_NOTIFY_BAN;
packet->error_code = error;
WFIFOSET(fd, sizeof(*packet));
}
@@ -68,7 +70,7 @@ static enum parsefunc_rcode lclif_parse_CA_CONNECT_INFO_CHANGED(int fd, struct l
static enum parsefunc_rcode lclif_parse_CA_EXE_HASHCHECK(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_EXE_HASHCHECK(int fd, struct login_session_data *sd)
{
- const struct packet_CA_EXE_HASHCHECK *packet = RP2PTR(fd);
+ const struct PACKET_CA_EXE_HASHCHECK *packet = RP2PTR(fd);
sd->has_client_hash = 1;
memcpy(sd->client_hash, packet->hash_value, 16);
return PACKET_VALID;
@@ -78,7 +80,7 @@ static enum parsefunc_rcode lclif_parse_CA_EXE_HASHCHECK(int fd, struct login_se
static enum parsefunc_rcode lclif_parse_CA_LOGIN(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -97,7 +99,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN(int fd, struct login_session_da
static enum parsefunc_rcode lclif_parse_CA_LOGIN2(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN2(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN2 *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN2 *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -113,7 +115,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN2(int fd, struct login_session_d
static enum parsefunc_rcode lclif_parse_CA_LOGIN3(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN3(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN3 *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN3 *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -131,7 +133,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN3(int fd, struct login_session_d
static enum parsefunc_rcode lclif_parse_CA_LOGIN4(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN4(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN4 *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN4 *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -149,7 +151,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN4(int fd, struct login_session_d
static enum parsefunc_rcode lclif_parse_CA_LOGIN_PCBANG(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN_PCBANG(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN_PCBANG *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN_PCBANG *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -171,7 +173,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN_PCBANG(int fd, struct login_ses
static enum parsefunc_rcode lclif_parse_CA_LOGIN_HAN(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN_HAN(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN_HAN *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN_HAN *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -194,11 +196,11 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN_HAN(int fd, struct login_sessio
static enum parsefunc_rcode lclif_parse_CA_SSO_LOGIN_REQ(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_SSO_LOGIN_REQ(int fd, struct login_session_data *sd)
{
- const struct packet_CA_SSO_LOGIN_REQ *packet = RP2PTR(fd);
+ const struct PACKET_CA_SSO_LOGIN_REQ *packet = RP2PTR(fd);
int tokenlen = (int)RFIFOREST(fd) - (int)sizeof(*packet);
if (tokenlen > PASSWD_LEN || tokenlen < 1) {
- ShowError("packet_CA_SSO_LOGIN_REQ: Token length is not between allowed password length, kicking player ('%s')", packet->id);
+ ShowError("PACKET_CA_SSO_LOGIN_REQ: Token length is not between allowed password length, kicking player ('%s')", packet->id);
sockt->eof(fd);
return PACKET_VALID;
}
@@ -220,11 +222,27 @@ static enum parsefunc_rcode lclif_parse_CA_SSO_LOGIN_REQ(int fd, struct login_se
static enum parsefunc_rcode lclif_parse_CA_LOGIN_OTP(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN_OTP(int fd, struct login_session_data *sd)
{
- //const struct packet_CA_LOGIN_OTP *packet = RP2PTR(fd);
+ //const struct PACKET_CA_LOGIN_OTP *packet = RP2PTR(fd);
login->client_login_otp(fd, sd);
return PACKET_VALID;
}
+/// @copydoc lclif_interface_private::parse_CA_ACK_MOBILE_OTP()
+static enum parsefunc_rcode lclif_parse_CA_ACK_MOBILE_OTP(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
+static enum parsefunc_rcode lclif_parse_CA_ACK_MOBILE_OTP(int fd, struct login_session_data *sd)
+{
+ // TODO: parsing packet data
+ return PACKET_VALID;
+}
+
+/// @copydoc lclif_interface_private::parse_CA_OTP_CODE()
+static enum parsefunc_rcode lclif_parse_CA_OTP_CODE(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
+static enum parsefunc_rcode lclif_parse_CA_OTP_CODE(int fd, struct login_session_data *sd)
+{
+ // TODO: parsing packet data
+ return PACKET_VALID;
+}
+
/// @copydoc lclif_interface_private::parse_CA_REQ_HASH()
static enum parsefunc_rcode lclif_parse_CA_REQ_HASH(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_REQ_HASH(int fd, struct login_session_data *sd)
@@ -255,7 +273,7 @@ static bool lclif_send_server_list(struct login_session_data *sd)
{
int server_num = 0, i, n, length;
uint32 ip;
- struct packet_AC_ACCEPT_LOGIN *packet = NULL;
+ struct PACKET_AC_ACCEPT_LOGIN *packet = NULL;
for (i = 0; i < ARRAYLENGTH(login->dbs->server); ++i) {
if (sockt->session_is_active(login->dbs->server[i].fd))
@@ -272,9 +290,9 @@ static bool lclif_send_server_list(struct login_session_data *sd)
packet = WP2PTR(sd->fd);
#if PACKETVER < 20170315
- packet->packet_id = PACKET_ID_AC_ACCEPT_LOGIN;
+ packet->packet_id = HEADER_AC_ACCEPT_LOGIN;
#else
- packet->packet_id = PACKET_ID_AC_ACCEPT_LOGIN2;
+ packet->packet_id = HEADER_AC_ACCEPT_LOGIN2;
#endif
packet->packet_len = length;
packet->auth_code = sd->login_id1;
@@ -312,14 +330,14 @@ static bool lclif_send_server_list(struct login_session_data *sd)
static void lclif_send_auth_failed(int fd, time_t ban, uint32 error)
{
#if PACKETVER >= 20180627
- struct packet_AC_REFUSE_LOGIN_R2 *packet = NULL;
- int packet_id = PACKET_ID_AC_REFUSE_LOGIN_R3;
+ struct PACKET_AC_REFUSE_LOGIN_R2 *packet = NULL;
+ int packet_id = HEADER_AC_REFUSE_LOGIN_R3;
#elif PACKETVER >= 20101123
- struct packet_AC_REFUSE_LOGIN_R2 *packet = NULL;
- int packet_id = PACKET_ID_AC_REFUSE_LOGIN_R2;
+ struct PACKET_AC_REFUSE_LOGIN_R2 *packet = NULL;
+ int packet_id = HEADER_AC_REFUSE_LOGIN_R2;
#else
- struct packet_AC_REFUSE_LOGIN *packet = NULL;
- int packet_id = PACKET_ID_AC_REFUSE_LOGIN;
+ struct PACKET_AC_REFUSE_LOGIN *packet = NULL;
+ int packet_id = HEADER_AC_REFUSE_LOGIN;
#endif
WFIFOHEAD(fd, sizeof(*packet));
packet = WP2PTR(fd);
@@ -335,10 +353,10 @@ static void lclif_send_auth_failed(int fd, time_t ban, uint32 error)
/// @copydoc lclif_interface::login_error()
static void lclif_send_login_error(int fd, uint8 error)
{
- struct packet_AC_REFUSE_LOGIN *packet = NULL;
+ struct PACKET_AC_REFUSE_LOGIN *packet = NULL;
WFIFOHEAD(fd, sizeof(*packet));
packet = WP2PTR(fd);
- packet->packet_id = PACKET_ID_AC_REFUSE_LOGIN;
+ packet->packet_id = HEADER_AC_REFUSE_LOGIN;
packet->error_code = error;
memset(packet->block_date, '\0', sizeof(packet->block_date));
WFIFOSET(fd, sizeof(*packet));
@@ -348,12 +366,12 @@ static void lclif_send_login_error(int fd, uint8 error)
static void lclif_send_coding_key(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static void lclif_send_coding_key(int fd, struct login_session_data *sd)
{
- struct packet_AC_ACK_HASH *packet = NULL;
+ struct PACKET_AC_ACK_HASH *packet = NULL;
int16 size = sizeof(*packet) + sd->md5keylen;
WFIFOHEAD(fd, size);
packet = WP2PTR(fd);
- packet->packet_id = PACKET_ID_AC_ACK_HASH;
+ packet->packet_id = HEADER_AC_ACK_HASH;
packet->packet_len = size;
memcpy(packet->secret, sd->md5key, sd->md5keylen);
WFIFOSET(fd, size);
@@ -476,10 +494,10 @@ static enum parsefunc_rcode lclif_parse_sub(int fd, struct login_session_data *s
/// @copydoc lclif_interface::packet()
static const struct login_packet_db *lclif_packet(int16 packet_id)
{
- if (packet_id == PACKET_ID_CA_CHARSERVERCONNECT)
+ if (packet_id == HEADER_CA_CHARSERVERCONNECT)
return &lclif->p->dbs->packet_db[0];
- if (packet_id > MAX_PACKET_DB || packet_id < MIN_PACKET_DB)
+ if (packet_id > MAX_PACKET_LOGIN_DB || packet_id < MIN_PACKET_DB)
return NULL;
return &lclif->p->dbs->packet_db[packet_id];
@@ -503,8 +521,8 @@ static void packetdb_loaddb(void)
int16 packet_len;
LoginParseFunc **pFunc;
} packet[] = {
-#define packet_def(name) { PACKET_ID_ ## name, sizeof(struct packet_ ## name), &lclif->p->parse_ ## name }
-#define packet_def2(name, len) { PACKET_ID_ ## name, (len), &lclif->p->parse_ ## name }
+#define packet_def(name) { HEADER_ ## name, sizeof(struct PACKET_ ## name), &lclif->p->parse_ ## name }
+#define packet_def2(name, len) { HEADER_ ## name, (len), &lclif->p->parse_ ## name }
packet_def(CA_CONNECT_INFO_CHANGED),
packet_def(CA_EXE_HASHCHECK),
packet_def(CA_LOGIN),
@@ -515,6 +533,12 @@ static void packetdb_loaddb(void)
packet_def(CA_LOGIN_HAN),
packet_def2(CA_SSO_LOGIN_REQ, -1),
packet_def(CA_LOGIN_OTP),
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114
+ packet_def(CA_ACK_MOBILE_OTP),
+#endif
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114 || defined(PACKETVER_ZERO)
+ packet_def(CA_OTP_CODE),
+#endif
packet_def(CA_REQ_HASH),
#undef packet_def
#undef packet_def2
@@ -525,13 +549,13 @@ static void packetdb_loaddb(void)
for (i = 0; i < length; ++i) {
int16 packet_id = packet[i].packet_id;
- Assert_retb(packet_id >= MIN_PACKET_DB && packet_id <= MAX_PACKET_DB);
+ Assert_retb(packet_id >= MIN_PACKET_DB && packet_id <= MAX_PACKET_LOGIN_DB);
lclif->p->dbs->packet_db[packet_id].len = packet[i].packet_len;
lclif->p->dbs->packet_db[packet_id].pFunc = packet[i].pFunc;
}
//Explict case, we will save character login packet in position 0 which is unused and not valid by normal
- lclif->p->dbs->packet_db[0].len = sizeof(struct packet_CA_CHARSERVERCONNECT);
+ lclif->p->dbs->packet_db[0].len = sizeof(struct PACKET_CA_CHARSERVERCONNECT);
lclif->p->dbs->packet_db[0].pFunc = &lclif->p->parse_CA_CHARSERVERCONNECT;
}
@@ -579,6 +603,8 @@ void lclif_defaults(void)
lclif->p->parse_CA_LOGIN_HAN = lclif_parse_CA_LOGIN_HAN;
lclif->p->parse_CA_SSO_LOGIN_REQ = lclif_parse_CA_SSO_LOGIN_REQ;
lclif->p->parse_CA_LOGIN_OTP = lclif_parse_CA_LOGIN_OTP;
+ lclif->p->parse_CA_ACK_MOBILE_OTP = lclif_parse_CA_ACK_MOBILE_OTP;
+ lclif->p->parse_CA_OTP_CODE = lclif_parse_CA_OTP_CODE;
lclif->p->parse_CA_REQ_HASH = lclif_parse_CA_REQ_HASH;
lclif->p->parse_CA_CHARSERVERCONNECT = lclif_parse_CA_CHARSERVERCONNECT;
}
diff --git a/src/login/lclif.h b/src/login/lclif.h
index d1e4317a2..26c061367 100644
--- a/src/login/lclif.h
+++ b/src/login/lclif.h
@@ -87,8 +87,8 @@ struct lclif_interface {
* @param fd The client connection file descriptor.
* @param ban The ban duration (if error == 6).
* @param error The authentication error code.
- * @see #PACKET_ID_AC_REFUSE_LOGIN.
- * @see #PACKET_ID_AC_REFUSE_LOGIN_R2.
+ * @see #HEADER_AC_REFUSE_LOGIN.
+ * @see #HEADER_AC_REFUSE_LOGIN_R2.
*/
void (*auth_failed)(int fd, time_t ban, uint32 error);
diff --git a/src/login/lclif.p.h b/src/login/lclif.p.h
index 7fa8475f4..cc9805ea8 100644
--- a/src/login/lclif.p.h
+++ b/src/login/lclif.p.h
@@ -31,285 +31,23 @@
/* Definitions and macros */
/// Maximum amount of packets processed at once from the same client
+#ifndef MAX_PROCESSED_PACKETS
#define MAX_PROCESSED_PACKETS (3)
+#endif
// Packet DB
+#ifndef MIN_PACKET_DB
#define MIN_PACKET_DB 0x0064
-#define MAX_PACKET_DB 0x0acf
-
-/* Enums */
-
-/// Packet IDs
-enum login_packet_id {
- // CA (Client to Login)
- PACKET_ID_CA_LOGIN = 0x0064,
- PACKET_ID_CA_LOGIN2 = 0x01dd,
- PACKET_ID_CA_LOGIN3 = 0x01fa,
- PACKET_ID_CA_CONNECT_INFO_CHANGED = 0x0200,
- PACKET_ID_CA_EXE_HASHCHECK = 0x0204,
- PACKET_ID_CA_LOGIN_PCBANG = 0x0277,
- PACKET_ID_CA_LOGIN4 = 0x027c,
- PACKET_ID_CA_LOGIN_HAN = 0x02b0,
- PACKET_ID_CA_SSO_LOGIN_REQ = 0x0825,
- PACKET_ID_CA_LOGIN_OTP = 0x0acf,
- PACKET_ID_CA_REQ_HASH = 0x01db,
- PACKET_ID_CA_CHARSERVERCONNECT = 0x2710, // Custom Hercules Packet
- //PACKET_ID_CA_SSO_LOGIN_REQa = 0x825a, /* unused */
-
- // AC (Login to Client)
-
- PACKET_ID_AC_ACCEPT_LOGIN = 0x0069,
- PACKET_ID_AC_ACCEPT_LOGIN2 = 0x0ac4,
- PACKET_ID_AC_REFUSE_LOGIN = 0x006a,
- PACKET_ID_SC_NOTIFY_BAN = 0x0081,
- PACKET_ID_AC_ACK_HASH = 0x01dc,
- PACKET_ID_AC_REFUSE_LOGIN_R2 = 0x083e,
- PACKET_ID_AC_REFUSE_LOGIN_R3 = 0x0b02,
-};
-
-/* Packets Structs */
-#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
-#pragma pack(push, 1)
-#endif // not NetBSD < 6 / Solaris
-
-/**
- * Packet structure for CA_LOGIN.
- */
-struct packet_CA_LOGIN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- char password[24]; ///< Password
- uint8 clienttype; ///< Client Type
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN2.
- */
-struct packet_CA_LOGIN2 {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN2)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- uint8 password_md5[16]; ///< Password hash
- uint8 clienttype; ///< Client Type
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN3.
- */
-struct packet_CA_LOGIN3 {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN3)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- uint8 password_md5[16]; ///< Password hash
- uint8 clienttype; ///< Client Type
- uint8 clientinfo; ///< Index of the connection in the clientinfo file (+10 if the command-line contains "pc")
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN4.
- */
-struct packet_CA_LOGIN4 {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN4)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- uint8 password_md5[16]; ///< Password hash
- uint8 clienttype; ///< Client Type
- char mac_address[13]; ///< MAC Address
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN_PCBANG.
- */
-struct packet_CA_LOGIN_PCBANG {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN_PCBANG)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- char password[24]; ///< Password
- uint8 clienttype; ///< Client Type
- char ip[16]; ///< IP Address
- char mac_address[13]; ///< MAC Address
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN_HAN.
- */
-struct packet_CA_LOGIN_HAN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN_HAN)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- char password[24]; ///< Password
- uint8 clienttype; ///< Client Type
- char ip[16]; ///< IP Address
- char mac_address[13]; ///< MAC Address
- uint8 is_han_game_user; ///< 'isGravityID'
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_SSO_LOGIN_REQ.
- *
- * Variable-length packet.
- */
-struct packet_CA_SSO_LOGIN_REQ {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_SSO_LOGIN_REQ)
- int16 packet_len; ///< Length (variable length)
- uint32 version; ///< Clientver
- uint8 clienttype; ///< Clienttype
- char id[24]; ///< Username
- char password[27]; ///< Password
- int8 mac_address[17]; ///< MAC Address
- char ip[15]; ///< IP Address
- char t1[]; ///< SSO Login Token (variable length)
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN_OTP.
- */
-struct packet_CA_LOGIN_OTP {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN_OTP)
-#if PACKETVER >= 20171113
- uint32 devFlags; ///< flags including dev flag
#endif
- char login[25]; ///< Username
- char password[32]; ///< Password encrypted by rijndael
- char flagsStr[5]; ///< Unknown flags. Normally string: G000
-} __attribute__((packed));
-
-#if 0 // Unused
-struct packet_CA_SSO_LOGIN_REQa {
- int16 packet_id;
- int16 packet_len;
- uint32 version;
- uint8 clienttype;
- char id[24];
- int8 mac_address[17];
- char ip[15];
- char t1[];
-} __attribute__((packed));
-#endif // unused
-
-/**
- * Packet structure for CA_CONNECT_INFO_CHANGED.
- *
- * New alive packet. Used to verify if client is always alive.
- */
-struct packet_CA_CONNECT_INFO_CHANGED {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_CONNECT_INFO_CHANGED)
- char id[24]; ///< account.userid
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_EXE_HASHCHECK.
- *
- * (kRO 2004-05-31aSakexe langtype 0 and 6)
- */
-struct packet_CA_EXE_HASHCHECK {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_EXE_HASHCHECK)
- uint8 hash_value[16]; ///< Client MD5 hash
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_REQ_HASH.
- */
-struct packet_CA_REQ_HASH {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_REQ_HASH)
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_CHARSERVERCONNECT.
- *
- * This packet is used internally, to signal a char-server connection.
- */
-struct packet_CA_CHARSERVERCONNECT {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_CHARSERVERCONNECT)
- char userid[24]; ///< Username
- char password[24]; ///< Password
- int32 unknown;
- int32 ip; ///< Charserver IP
- int16 port; ///< Charserver port
- char name[20]; ///< Charserver name
- int16 unknown2;
- int16 type; ///< Charserver type
- int16 new; ///< Whether charserver is to be marked as new
-} __attribute__((packed));
-
-/**
- * Packet structure for SC_NOTIFY_BAN.
- */
-struct packet_SC_NOTIFY_BAN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_SC_NOTIFY_BAN)
- uint8 error_code; ///< Error code
-} __attribute__((packed));
-
-/**
- * Packet structure for AC_REFUSE_LOGIN.
- */
-struct packet_AC_REFUSE_LOGIN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_AC_REFUSE_LOGIN)
- uint8 error_code; ///< Error code
- char block_date[20]; ///< Ban expiration date
-} __attribute__((packed));
-
-/**
- * Packet structure for AC_REFUSE_LOGIN_R2.
- */
-struct packet_AC_REFUSE_LOGIN_R2 {
- int16 packet_id; ///< Packet ID (#PACKET_ID_AC_REFUSE_LOGIN_R2)
- uint32 error_code; ///< Error code
- char block_date[20]; ///< Ban expiration date
-} __attribute__((packed));
-
-/**
- * Packet structure for AC_ACCEPT_LOGIN.
- *
- * Variable-length packet.
- */
-struct packet_AC_ACCEPT_LOGIN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_AC_ACCEPT_LOGIN)
- int16 packet_len; ///< Packet length (variable length)
- int32 auth_code; ///< Authentication code
- uint32 aid; ///< Account ID
- uint32 user_level; ///< User level
- uint32 last_login_ip; ///< Last login IP
- char last_login_time[26]; ///< Last login timestamp
- uint8 sex; ///< Account sex
-#if PACKETVER >= 20170315
- char twitter_auth_token[16];
- uint8 twitter_flag;
+#ifndef MAX_PACKET_LOGIN_DB
+#define MAX_PACKET_LOGIN_DB 0x0ad0
#endif
- struct {
- uint32 ip; ///< Server IP address
- int16 port; ///< Server port
- char name[20]; ///< Server name
- uint16 usercount; ///< Online users
- uint16 state; ///< Server state
- uint16 property; ///< Server property
-#if PACKETVER >= 20170315
- char unknown2[128];
-#endif
- } server_list[]; ///< List of charservers
-} __attribute__((packed));
-
-/**
- * Packet structure for AC_ACK_HASH.
- *
- * Variable-length packet
- */
-struct packet_AC_ACK_HASH {
- int16 packet_id; ///< Packet ID (#PACKET_ID_AC_ACK_HASH)
- int16 packet_len; ///< Packet length (variable length)
- uint8 secret[]; ///< Challenge string
-} __attribute__((packed));
-
-#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
-#pragma pack(pop)
-#endif // not NetBSD < 6 / Solaris
/**
* Login Client Interface additional data
*/
struct lclif_interface_dbs {
- struct login_packet_db packet_db[MAX_PACKET_DB + 1]; ///< Packet database.
+ struct login_packet_db packet_db[MAX_PACKET_LOGIN_DB + 1]; ///< Packet database.
};
/**
@@ -332,18 +70,20 @@ struct lclif_interface_private {
*/
enum parsefunc_rcode (*parse_sub)(int fd, struct login_session_data *sd);
- LoginParseFunc *parse_CA_CONNECT_INFO_CHANGED; ///< Packet handler for #packet_CA_CONNECT_INFO_CHANGED.
- LoginParseFunc *parse_CA_EXE_HASHCHECK; ///< Packet handler for #packet_CA_EXE_HASHCHECK.
- LoginParseFunc *parse_CA_LOGIN; ///< Packet handler for #packet_CA_LOGIN.
- LoginParseFunc *parse_CA_LOGIN2; ///< Packet handler for #packet_CA_LOGIN2.
- LoginParseFunc *parse_CA_LOGIN3; ///< Packet handler for #packet_CA_LOGIN3.
- LoginParseFunc *parse_CA_LOGIN4; ///< Packet handler for #packet_CA_LOGIN4.
- LoginParseFunc *parse_CA_LOGIN_PCBANG; ///< Packet handler for #packet_CA_LOGIN_PCBANG.
- LoginParseFunc *parse_CA_LOGIN_HAN; ///< Packet handler for #packet_CA_LOGIN_HAN.
- LoginParseFunc *parse_CA_SSO_LOGIN_REQ; ///< Packet handler for #packet_CA_SSO_LOGIN_REQ.
- LoginParseFunc *parse_CA_LOGIN_OTP; ///< Packet handler for #packet_CA_LOGIN_OTP.
- LoginParseFunc *parse_CA_REQ_HASH; ///< Packet handler for #packet_CA_REQ_HASH.
- LoginParseFunc *parse_CA_CHARSERVERCONNECT; ///< Packet handler for #packet_CA_CHARSERVERCONNECT.
+ LoginParseFunc *parse_CA_CONNECT_INFO_CHANGED; ///< Packet handler for #PACKET_CA_CONNECT_INFO_CHANGED.
+ LoginParseFunc *parse_CA_EXE_HASHCHECK; ///< Packet handler for #PACKET_CA_EXE_HASHCHECK.
+ LoginParseFunc *parse_CA_LOGIN; ///< Packet handler for #PACKET_CA_LOGIN.
+ LoginParseFunc *parse_CA_LOGIN2; ///< Packet handler for #PACKET_CA_LOGIN2.
+ LoginParseFunc *parse_CA_LOGIN3; ///< Packet handler for #PACKET_CA_LOGIN3.
+ LoginParseFunc *parse_CA_LOGIN4; ///< Packet handler for #PACKET_CA_LOGIN4.
+ LoginParseFunc *parse_CA_LOGIN_PCBANG; ///< Packet handler for #PACKET_CA_LOGIN_PCBANG.
+ LoginParseFunc *parse_CA_LOGIN_HAN; ///< Packet handler for #PACKET_CA_LOGIN_HAN.
+ LoginParseFunc *parse_CA_SSO_LOGIN_REQ; ///< Packet handler for #PACKET_CA_SSO_LOGIN_REQ.
+ LoginParseFunc *parse_CA_LOGIN_OTP; ///< Packet handler for #PACKET_CA_LOGIN_OTP.
+ LoginParseFunc *parse_CA_ACK_MOBILE_OTP; ///< Packet handler for #PACKET_CA_ACK_MOBILE_OTP.
+ LoginParseFunc *parse_CA_OTP_CODE; ///< Packet handler for #PACKET_CA_OTP_CODE.
+ LoginParseFunc *parse_CA_REQ_HASH; ///< Packet handler for #PACKET_CA_REQ_HASH.
+ LoginParseFunc *parse_CA_CHARSERVERCONNECT; ///< Packet handler for #PACKET_CA_CHARSERVERCONNECT.
};
#endif // LOGIN_LCLIF_P_H
diff --git a/src/login/login.c b/src/login/login.c
index d54348834..580f79ebb 100644
--- a/src/login/login.c
+++ b/src/login/login.c
@@ -27,6 +27,7 @@
#include "login/ipban.h"
#include "login/loginlog.h"
#include "login/lclif.h"
+#include "login/packets_ac_struct.h"
#include "common/HPM.h"
#include "common/cbasetypes.h"
#include "common/conf.h"
@@ -35,6 +36,7 @@
#include "common/memmgr.h"
#include "common/md5calc.h"
#include "common/nullpo.h"
+#include "common/packetsstatic_len.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
@@ -1368,36 +1370,37 @@ static bool login_client_login(int fd, struct login_session_data *sd)
static bool login_client_login_otp(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static bool login_client_login_otp(int fd, struct login_session_data *sd)
{
+#if PACKETVER_MAIN_NUM >= 20170621 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
// send ok response with fake token
-#ifdef PACKETVER_ZERO
-#if PACKETVER >= 20171127
- WFIFOHEAD(fd, 33);
- WFIFOW(fd, 0) = 0x0ae3;
- WFIFOW(fd, 2) = 33; // len
- WFIFOL(fd, 4) = 0; // normal login
- safestrncpy(WFIFOP(fd, 8), "S1000", 6);
- safestrncpy(WFIFOP(fd, 28), "token", 6);
- WFIFOSET(fd, 33);
-#elif PACKETVER >= 20171123
- WFIFOHEAD(fd, 19);
- WFIFOW(fd, 0) = 0x0ae3;
- WFIFOW(fd, 2) = 19; // len
- WFIFOL(fd, 4) = 0; // normal login
- safestrncpy(WFIFOP(fd, 8), "S1000", 6);
- safestrncpy(WFIFOP(fd, 14), "token", 6);
- WFIFOSET(fd, 19);
-#else
- WFIFOHEAD(fd, 13);
- WFIFOW(fd, 0) = 0x0ad1;
- WFIFOW(fd, 2) = 13; // len
- WFIFOL(fd, 4) = 0; // normal login
- safestrncpy(WFIFOP(fd, 8), "token", 6);
- WFIFOSET(fd, 13);
-#endif
+ const int len = sizeof(struct PACKET_AC_LOGIN_OTP) + 6; // + "token" string
+ WFIFOHEAD(fd, len);
+ struct PACKET_AC_LOGIN_OTP *packet = WP2PTR(sd->fd);
+ memset(packet, 0, len);
+ packet->packet_id = HEADER_AC_LOGIN_OTP;
+ packet->packet_len = len;
+ packet->loginFlag = 0; // normal login
+#if PACKETVER_MAIN_NUM >= 20171213 || PACKETVER_RE_NUM >= 20171213 || PACKETVER_ZERO_NUM >= 20171123
+ safestrncpy(packet->loginFlag2, "S1000", 6);
+#endif // PACKETVER_MAIN_NUM >= 20171213 || PACKETVER_RE_NUM >= 20171213 || PACKETVER_ZERO_NUM >= 20171123
+
+ safestrncpy(packet->token, "token", 6);
+ WFIFOSET(fd, len);
return true;
-#else // PACKETVER_ZERO
+#else // PACKETVER_MAIN_NUM >= 20170621 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
return false;
-#endif // PACKETVER_ZERO
+#endif // PACKETVER_MAIN_NUM >= 20170621 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+}
+
+static void login_client_login_mobile_otp_request(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
+static void login_client_login_mobile_otp_request(int fd, struct login_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114 || defined(PACKETVER_ZERO)
+ WFIFOHEAD(sd->fd, sizeof(struct PACKET_AC_REQ_MOBILE_OTP));
+ struct PACKET_AC_REQ_MOBILE_OTP *packet = WP2PTR(sd->fd);
+ packet->packet_id = HEADER_AC_REQ_MOBILE_OTP;
+ packet->aid = sd->account_id;
+ WFIFOSET(fd, sizeof(struct PACKET_AC_REQ_MOBILE_OTP));
+#endif
}
static void login_char_server_connection_status(int fd, struct login_session_data* sd, uint8 status) __attribute__((nonnull (2)));
@@ -1438,13 +1441,16 @@ static void login_parse_request_connection(int fd, struct login_session_data* sd
loginlog->log(sockt->session[fd]->client_addr, sd->userid, 100, message);
result = login->mmo_auth(sd, true);
- if (core->runflag == LOGINSERVER_ST_RUNNING &&
+
+ if (!sockt->allowed_ip_check(ipl)) {
+ ShowNotice("Connection of the char-server '%s' REFUSED (IP not allowed).\n", server_name);
+ login->char_server_connection_status(fd, sd, 2);
+ } else if (core->runflag == LOGINSERVER_ST_RUNNING &&
result == -1 &&
sd->sex == 'S' &&
sd->account_id >= 0 &&
sd->account_id < ARRAYLENGTH(login->dbs->server) &&
- !sockt->session_is_valid(login->dbs->server[sd->account_id].fd) &&
- sockt->allowed_ip_check(ipl))
+ !sockt->session_is_valid(login->dbs->server[sd->account_id].fd))
{
ShowStatus("Connection of the char-server '%s' accepted.\n", server_name);
safestrncpy(login->dbs->server[sd->account_id].name, server_name, sizeof(login->dbs->server[sd->account_id].name));
@@ -1457,15 +1463,14 @@ static void login_parse_request_connection(int fd, struct login_session_data* sd
sockt->session[fd]->func_parse = login->parse_fromchar;
sockt->session[fd]->flag.server = 1;
+ sockt->session[fd]->flag.validate = 0;
sockt->realloc_fifo(fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
// send connection success
login->char_server_connection_status(fd, sd, 0);
- }
- else
- {
+ } else {
ShowNotice("Connection of the char-server '%s' REFUSED.\n", server_name);
- login->char_server_connection_status(fd, sd, 3);
+ login->char_server_connection_status(fd, sd, 1);
}
}
@@ -2175,6 +2180,7 @@ int do_init(int argc, char **argv)
// set default parser as lclif->parse function
sockt->set_defaultparse(lclif->parse);
+ sockt->validate = true;
// every 10 minutes cleanup online account db.
timer->add_func_list(login->online_data_cleanup, "login->online_data_cleanup");
@@ -2273,6 +2279,7 @@ void login_defaults(void)
login->parse_fromchar = login_parse_fromchar;
login->client_login = login_client_login;
login->client_login_otp = login_client_login_otp;
+ login->client_login_mobile_otp_request = login_client_login_mobile_otp_request;
login->parse_request_connection = login_parse_request_connection;
login->auth_ok = login_auth_ok;
login->auth_failed = login_auth_failed;
diff --git a/src/login/login.h b/src/login/login.h
index 8a863f5aa..7f74057c6 100644
--- a/src/login/login.h
+++ b/src/login/login.h
@@ -219,6 +219,7 @@ struct login_interface {
void (*auth_failed) (struct login_session_data* sd, int result);
bool (*client_login) (int fd, struct login_session_data *sd);
bool (*client_login_otp) (int fd, struct login_session_data *sd);
+ void (*client_login_mobile_otp_request) (int fd, struct login_session_data *sd);
void (*char_server_connection_status) (int fd, struct login_session_data* sd, uint8 status);
void (*parse_request_connection) (int fd, struct login_session_data* sd, const char *ip, uint32 ipl);
void (*config_set_defaults) (void);
diff --git a/src/login/packets_ac_struct.h b/src/login/packets_ac_struct.h
new file mode 100644
index 000000000..c9fb04f26
--- /dev/null
+++ b/src/login/packets_ac_struct.h
@@ -0,0 +1,156 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2016-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef LOGIN_PACKETS_AC_STRUCT_H
+#define LOGIN_PACKETS_AC_STRUCT_H
+
+#include "common/hercules.h"
+#include "common/mmo.h"
+#include "common/packetsstatic_len.h"
+
+/* Enums */
+
+/// Packet IDs
+enum login_ac_packet_id {
+ HEADER_AC_ACCEPT_LOGIN = 0x0069,
+ HEADER_AC_ACCEPT_LOGIN2 = 0x0ac4,
+ HEADER_AC_REFUSE_LOGIN = 0x006a,
+ HEADER_SC_NOTIFY_BAN = 0x0081,
+ HEADER_AC_ACK_HASH = 0x01dc,
+ HEADER_AC_REFUSE_LOGIN_R2 = 0x083e,
+ HEADER_AC_REFUSE_LOGIN_R3 = 0x0b02,
+};
+
+/* Packets Structs */
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(push, 1)
+#endif // not NetBSD < 6 / Solaris
+
+/**
+ * Packet structure for SC_NOTIFY_BAN.
+ */
+struct PACKET_SC_NOTIFY_BAN {
+ int16 packet_id; ///< Packet ID (#HEADER_SC_NOTIFY_BAN)
+ uint8 error_code; ///< Error code
+} __attribute__((packed));
+
+/**
+ * Packet structure for AC_REFUSE_LOGIN.
+ */
+struct PACKET_AC_REFUSE_LOGIN {
+ int16 packet_id; ///< Packet ID (#HEADER_AC_REFUSE_LOGIN)
+ uint8 error_code; ///< Error code
+ char block_date[20]; ///< Ban expiration date
+} __attribute__((packed));
+
+/**
+ * Packet structure for AC_REFUSE_LOGIN_R2.
+ */
+struct PACKET_AC_REFUSE_LOGIN_R2 {
+ int16 packet_id; ///< Packet ID (#HEADER_AC_REFUSE_LOGIN_R2)
+ uint32 error_code; ///< Error code
+ char block_date[20]; ///< Ban expiration date
+} __attribute__((packed));
+
+/**
+ * Packet structure for AC_ACCEPT_LOGIN.
+ *
+ * Variable-length packet.
+ */
+struct PACKET_AC_ACCEPT_LOGIN {
+ int16 packet_id; ///< Packet ID (#HEADER_AC_ACCEPT_LOGIN)
+ int16 packet_len; ///< Packet length (variable length)
+ int32 auth_code; ///< Authentication code
+ uint32 aid; ///< Account ID
+ uint32 user_level; ///< User level
+ uint32 last_login_ip; ///< Last login IP
+ char last_login_time[26]; ///< Last login timestamp
+ uint8 sex; ///< Account sex
+#if PACKETVER >= 20170315
+ char twitter_auth_token[16];
+ uint8 twitter_flag;
+#endif
+ struct {
+ uint32 ip; ///< Server IP address
+ int16 port; ///< Server port
+ char name[20]; ///< Server name
+ uint16 usercount; ///< Online users
+ uint16 state; ///< Server state
+ uint16 property; ///< Server property
+#if PACKETVER >= 20170315
+ char unknown2[128];
+#endif
+ } server_list[]; ///< List of charservers
+} __attribute__((packed));
+
+/**
+ * Packet structure for AC_ACK_HASH.
+ *
+ * Variable-length packet
+ */
+struct PACKET_AC_ACK_HASH {
+ int16 packet_id; ///< Packet ID (#HEADER_AC_ACK_HASH)
+ int16 packet_len; ///< Packet length (variable length)
+ uint8 secret[]; ///< Challenge string
+} __attribute__((packed));
+
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114 || defined(PACKETVER_ZERO)
+struct PACKET_AC_REQ_MOBILE_OTP {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_SSO_LOGIN_REQ)
+ uint32 aid; ///< Account ID
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(AC_REQ_MOBILE_OTP, 0x09a2);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20171213 || PACKETVER_RE_NUM >= 20171213 || PACKETVER_ZERO_NUM >= 20171808
+// AC_LOGIN_OTP2
+struct PACKET_AC_LOGIN_OTP {
+ int16 packet_id;
+ int16 packet_len;
+ int32 loginFlag;
+ char loginFlag2[20];
+ char token[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(AC_LOGIN_OTP, 0x0ae3);
+#elif PACKETVER_ZERO_NUM >= 20171123
+// AC_LOGIN_OTP2
+struct PACKET_AC_LOGIN_OTP {
+ int16 packet_id;
+ int16 packet_len;
+ int32 loginFlag;
+ char loginFlag2[6];
+ char token[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(AC_LOGIN_OTP, 0x0ae3);
+#elif PACKETVER_MAIN_NUM >= 20170621 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+// AC_LOGIN_OTP1
+struct PACKET_AC_LOGIN_OTP {
+ int16 packet_id;
+ int16 packet_len;
+ int32 loginFlag;
+ char token[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(AC_LOGIN_OTP, 0x0ad1);
+#endif
+
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(pop)
+#endif // not NetBSD < 6 / Solaris
+
+#endif // LOGIN_PACKETS_AC_STRUCT_H
diff --git a/src/login/packets_ca_struct.h b/src/login/packets_ca_struct.h
new file mode 100644
index 000000000..0828c7293
--- /dev/null
+++ b/src/login/packets_ca_struct.h
@@ -0,0 +1,239 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2016-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef LOGIN_PACKETS_CA_STRUCT_H
+#define LOGIN_PACKETS_CA_STRUCT_H
+
+#include "common/hercules.h"
+#include "common/mmo.h"
+#include "common/packetsstatic_len.h"
+
+/* Enums */
+
+/// Packet IDs
+enum login_packet_ca_id {
+ HEADER_CA_LOGIN = 0x0064,
+ HEADER_CA_LOGIN2 = 0x01dd,
+ HEADER_CA_LOGIN3 = 0x01fa,
+ HEADER_CA_CONNECT_INFO_CHANGED = 0x0200,
+ HEADER_CA_EXE_HASHCHECK = 0x0204,
+ HEADER_CA_LOGIN_PCBANG = 0x0277,
+ HEADER_CA_LOGIN4 = 0x027c,
+ HEADER_CA_LOGIN_HAN = 0x02b0,
+ HEADER_CA_SSO_LOGIN_REQ = 0x0825,
+ HEADER_CA_LOGIN_OTP = 0x0acf,
+ HEADER_CA_REQ_HASH = 0x01db,
+ HEADER_CA_CHARSERVERCONNECT = 0x2710, // Custom Hercules Packet
+ //HEADER_CA_SSO_LOGIN_REQa = 0x825a, /* unused */
+};
+
+/* Packets Structs */
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(push, 1)
+#endif // not NetBSD < 6 / Solaris
+
+/**
+ * Packet structure for CA_LOGIN.
+ */
+struct PACKET_CA_LOGIN {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ char password[24]; ///< Password
+ uint8 clienttype; ///< Client Type
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN2.
+ */
+struct PACKET_CA_LOGIN2 {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN2)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ uint8 password_md5[16]; ///< Password hash
+ uint8 clienttype; ///< Client Type
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN3.
+ */
+struct PACKET_CA_LOGIN3 {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN3)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ uint8 password_md5[16]; ///< Password hash
+ uint8 clienttype; ///< Client Type
+ uint8 clientinfo; ///< Index of the connection in the clientinfo file (+10 if the command-line contains "pc")
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN4.
+ */
+struct PACKET_CA_LOGIN4 {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN4)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ uint8 password_md5[16]; ///< Password hash
+ uint8 clienttype; ///< Client Type
+ char mac_address[13]; ///< MAC Address
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN_PCBANG.
+ */
+struct PACKET_CA_LOGIN_PCBANG {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN_PCBANG)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ char password[24]; ///< Password
+ uint8 clienttype; ///< Client Type
+ char ip[16]; ///< IP Address
+ char mac_address[13]; ///< MAC Address
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN_HAN.
+ */
+struct PACKET_CA_LOGIN_HAN {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN_HAN)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ char password[24]; ///< Password
+ uint8 clienttype; ///< Client Type
+ char ip[16]; ///< IP Address
+ char mac_address[13]; ///< MAC Address
+ uint8 is_han_game_user; ///< 'isGravityID'
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_SSO_LOGIN_REQ.
+ *
+ * Variable-length packet.
+ */
+struct PACKET_CA_SSO_LOGIN_REQ {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_SSO_LOGIN_REQ)
+ int16 packet_len; ///< Length (variable length)
+ uint32 version; ///< Clientver
+ uint8 clienttype; ///< Clienttype
+ char id[24]; ///< Username
+ char password[27]; ///< Password
+ int8 mac_address[17]; ///< MAC Address
+ char ip[15]; ///< IP Address
+ char t1[]; ///< SSO Login Token (variable length)
+} __attribute__((packed));
+
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114
+/**
+ * Packet structure for CA_SSO_LOGIN_REQ.
+ *
+ * Variable-length packet.
+ */
+struct PACKET_CA_ACK_MOBILE_OTP {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_ACK_MOBILE_OTP)
+ int16 packet_len; ///< Length (variable length)
+ uint32 aid; ///< Account ID
+ char code[6]; ///< Code
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CA_ACK_MOBILE_OTP, 0x09a3);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114 || defined(PACKETVER_ZERO)
+struct PACKET_CA_OTP_CODE {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_OTP_CODE)
+ char code[9]; ///< Code
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CA_OTP_CODE, 0x0ad0);
+#endif
+
+/**
+ * Packet structure for CA_LOGIN_OTP.
+ */
+struct PACKET_CA_LOGIN_OTP {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN_OTP)
+#if PACKETVER >= 20171113
+ uint32 devFlags; ///< flags including dev flag
+#endif
+ char login[25]; ///< Username
+ char password[32]; ///< Password encrypted by rijndael
+ char flagsStr[5]; ///< Unknown flags. Normally string: G000
+} __attribute__((packed));
+
+#if 0 // Unused
+struct PACKET_CA_SSO_LOGIN_REQa {
+ int16 packet_id;
+ int16 packet_len;
+ uint32 version;
+ uint8 clienttype;
+ char id[24];
+ int8 mac_address[17];
+ char ip[15];
+ char t1[];
+} __attribute__((packed));
+#endif // unused
+
+/**
+ * Packet structure for CA_CONNECT_INFO_CHANGED.
+ *
+ * New alive packet. Used to verify if client is always alive.
+ */
+struct PACKET_CA_CONNECT_INFO_CHANGED {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_CONNECT_INFO_CHANGED)
+ char id[24]; ///< account.userid
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_EXE_HASHCHECK.
+ *
+ * (kRO 2004-05-31aSakexe langtype 0 and 6)
+ */
+struct PACKET_CA_EXE_HASHCHECK {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_EXE_HASHCHECK)
+ uint8 hash_value[16]; ///< Client MD5 hash
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_REQ_HASH.
+ */
+struct PACKET_CA_REQ_HASH {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_REQ_HASH)
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_CHARSERVERCONNECT.
+ *
+ * This packet is used internally, to signal a char-server connection.
+ */
+struct PACKET_CA_CHARSERVERCONNECT {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_CHARSERVERCONNECT)
+ char userid[24]; ///< Username
+ char password[24]; ///< Password
+ int32 unknown;
+ int32 ip; ///< Charserver IP
+ int16 port; ///< Charserver port
+ char name[20]; ///< Charserver name
+ int16 unknown2;
+ int16 type; ///< Charserver type
+ int16 new; ///< Whether charserver is to be marked as new
+} __attribute__((packed));
+
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(pop)
+#endif // not NetBSD < 6 / Solaris
+
+#endif // LOGIN_PACKETS_CA_STRUCT_H
diff --git a/src/map/HPMmap.c b/src/map/HPMmap.c
index 091a53311..e89f47c12 100644
--- a/src/map/HPMmap.c
+++ b/src/map/HPMmap.c
@@ -38,6 +38,7 @@
#include "common/mapindex.h"
#include "common/mmo.h"
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
@@ -73,7 +74,6 @@
#include "map/mercenary.h"
#include "map/mob.h"
#include "map/npc.h"
-#include "map/packets_struct.h"
#include "map/party.h"
#include "map/path.h"
#include "map/pc.h"
@@ -81,11 +81,14 @@
#include "map/pet.h"
#include "map/quest.h"
#include "map/rodex.h"
+#include "map/refine.h"
+#include "map/refine.p.h"
#include "map/script.h"
#include "map/searchstore.h"
#include "map/skill.h"
#include "map/status.h"
#include "map/storage.h"
+#include "map/stylist.h"
#include "map/trade.h"
#include "map/unit.h"
#include "map/vending.h"
diff --git a/src/map/Makefile.in b/src/map/Makefile.in
index 3705fda0e..f851de756 100644
--- a/src/map/Makefile.in
+++ b/src/map/Makefile.in
@@ -44,8 +44,8 @@ MAP_C = achievement.c atcommand.c battle.c battleground.c buyingstore.c channel.
chrif.c clan.c clif.c date.c duel.c elemental.c guild.c homunculus.c HPMmap.c \
instance.c intif.c irc-bot.c itemdb.c log.c mail.c map.c mapreg_sql.c \
mercenary.c mob.c npc.c npc_chat.c party.c path.c pc.c pc_groups.c \
- pet.c quest.c rodex.c script.c searchstore.c skill.c status.c storage.c \
- trade.c unit.c vending.c
+ pet.c quest.c refine.c rodex.c script.c searchstore.c skill.c status.c storage.c \
+ stylist.c trade.c unit.c vending.c
MAP_OBJ = $(addprefix obj_sql/, $(patsubst %c,%o,$(MAP_C)))
MAP_H = achievement.h atcommand.h battle.h battleground.h buyingstore.h channel.h chat.h \
chrif.h clan.h clif.h date.h duel.h elemental.h guild.h homunculus.h HPMmap.h \
@@ -54,9 +54,9 @@ MAP_H = achievement.h atcommand.h battle.h battleground.h buyingstore.h channel.
messages_sak.h messages_zero.h mob.h npc.h packets.h packets_keys_main.h \
packets_keys_zero.h packets_shuffle_main.h packets_shuffle_re.h \
packets_shuffle_zero.h packets_struct.h party.h path.h pc.h pc_groups.h \
- pet.h quest.h rodex.h script.h searchstore.h skill.h status.h storage.h \
- trade.h unit.h vending.h
-MAP_PH =
+ pet.h quest.h refine.h rodex.h script.h searchstore.h skill.h status.h storage.h \
+ stylist.h trade.h unit.h vending.h
+MAP_PH = refine.p.h
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
diff --git a/src/map/achievement.c b/src/map/achievement.c
index 1fb513ea0..7ab80e183 100644
--- a/src/map/achievement.c
+++ b/src/map/achievement.c
@@ -301,6 +301,9 @@ static int achievement_validate_type(struct map_session_data *sd, enum achieveme
Assert_ret(criteria->goal != 0);
+ if (battle_config.feature_enable_achievement == 0)
+ return 0;
+
if (type == ACH_QUEST) {
ShowError("achievement_validate_type: ACH_QUEST is not handled by this function. (use achievement_validate())\n");
return 0;
@@ -358,6 +361,9 @@ static bool achievement_validate(struct map_session_data *sd, int aid, unsigned
Assert_retr(false, progress > 0);
Assert_retr(false, obj_idx < MAX_ACHIEVEMENT_OBJECTIVES);
+ if (battle_config.feature_enable_achievement == 0)
+ return false;
+
if ((ad = achievement->get(aid)) == NULL) {
ShowError("achievement_validate: Invalid Achievement %d provided.", aid);
return false;
@@ -760,18 +766,21 @@ static void achievement_validate_refine(struct map_session_data *sd, unsigned in
struct item_data *id = NULL;
nullpo_retv(sd);
- Assert_retv(idx < MAX_INVENTORY);
+ Assert_retv(idx < sd->status.inventorySize);
id = itemdb->exists(sd->status.inventory[idx].nameid);
if (sd->achievements_received == false)
return;
- Assert_retv(idx < MAX_INVENTORY);
Assert_retv(id != NULL);
criteria.goal = sd->status.inventory[idx].refine;
+ // achievement should not trigger if refine is 0
+ if (criteria.goal == 0)
+ return;
+
/* Universal */
achievement->validate_type(sd,
success ? ACH_EQUIP_REFINE_SUCCESS : ACH_EQUIP_REFINE_FAILURE,
@@ -1016,44 +1025,56 @@ static bool achievement_check_title(struct map_session_data *sd, int title_id) {
return false;
}
-/**
- * Achievement rewards are given to player
- * @param sd session data
- * @param ad achievement data
- */
-static void achievement_get_rewards(struct map_session_data *sd, const struct achievement_data *ad) {
- int i = 0;
- struct achievement *ach = NULL;
-
+static void achievement_get_rewards_buffs(struct map_session_data *sd, const struct achievement_data *ad)
+{
nullpo_retv(sd);
nullpo_retv(ad);
- if ((ach = achievement->ensure(sd, ad)) == NULL)
- return;
-
- /* Buff */
if (ad->rewards.bonus != NULL)
script->run(ad->rewards.bonus, 0, sd->bl.id, 0);
+}
- /* Give Items */
- for (i = 0; i < VECTOR_LENGTH(ad->rewards.item); i++) {
- struct item it = { 0 };
- int total = 0;
+// TODO: kro send items by rodex
+static void achievement_get_rewards_items(struct map_session_data *sd, const struct achievement_data *ad)
+{
+ nullpo_retv(sd);
+ nullpo_retv(ad);
- it.nameid = VECTOR_INDEX(ad->rewards.item, i).id;
- total = VECTOR_INDEX(ad->rewards.item, i).amount;
+ struct item it = { 0 };
+ it.identify = 1;
- it.identify = 1;
+ for (int i = 0; i < VECTOR_LENGTH(ad->rewards.item); i++) {
+ it.nameid = VECTOR_INDEX(ad->rewards.item, i).id;
+ int total = VECTOR_INDEX(ad->rewards.item, i).amount;
//Check if it's stackable.
if (!itemdb->isstackable(it.nameid)) {
- int j = 0;
- for (j = 0; j < total; ++j)
- pc->additem(sd, &it, (it.amount = 1), LOG_TYPE_SCRIPT);
+ it.amount = 1;
+ for (int j = 0; j < total; ++j)
+ pc->additem(sd, &it, 1, LOG_TYPE_SCRIPT);
} else {
- pc->additem(sd, &it, (it.amount = total), LOG_TYPE_SCRIPT);
+ it.amount = total;
+ pc->additem(sd, &it, total, LOG_TYPE_SCRIPT);
}
}
+}
+
+/**
+ * Achievement rewards are given to player
+ * @param sd session data
+ * @param ad achievement data
+ */
+static bool achievement_get_rewards(struct map_session_data *sd, const struct achievement_data *ad)
+{
+ nullpo_retr(false, sd);
+ nullpo_retr(false, ad);
+
+ struct achievement *ach = achievement->ensure(sd, ad);
+ if (ach == NULL)
+ return false;
+
+ /* Buff */
+ achievement->get_rewards_buffs(sd, ad);
ach->rewarded_at = time(NULL);
@@ -1062,9 +1083,14 @@ static void achievement_get_rewards(struct map_session_data *sd, const struct ac
VECTOR_PUSH(sd->title_ids, ad->rewards.title_id);
clif->achievement_send_list(sd->fd, sd);
} else {
- clif->achievement_reward_ack(sd->fd, sd, ad);
clif->achievement_send_update(sd->fd, sd, ad); // send update.
+ clif->achievement_reward_ack(sd->fd, sd, ad);
}
+
+ /* Give Items */
+ achievement->get_rewards_items(sd, ad);
+
+ return true;
}
/**
@@ -1977,4 +2003,6 @@ void achievement_defaults(void)
achievement->init_titles = achievement_init_titles;
achievement->check_title = achievement_check_title;
achievement->get_rewards = achievement_get_rewards;
+ achievement->get_rewards_buffs = achievement_get_rewards_buffs;
+ achievement->get_rewards_items = achievement_get_rewards_items;
}
diff --git a/src/map/achievement.h b/src/map/achievement.h
index beba120a2..de5eaa060 100644
--- a/src/map/achievement.h
+++ b/src/map/achievement.h
@@ -277,7 +277,9 @@ struct achievement_interface {
/* */
void (*init_titles) (struct map_session_data *sd);
bool (*check_title) (struct map_session_data *sd, int title_id);
- void (*get_rewards) (struct map_session_data *sd, const struct achievement_data *ad);
+ bool (*get_rewards) (struct map_session_data *sd, const struct achievement_data *ad);
+ void (*get_rewards_buffs) (struct map_session_data *sd, const struct achievement_data *ad);
+ void (*get_rewards_items) (struct map_session_data *sd, const struct achievement_data *ad);
};
#ifdef HERCULES_CORE
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 6522f3013..09303912b 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -48,6 +48,7 @@
#include "map/pc_groups.h" // groupid2name
#include "map/pet.h"
#include "map/quest.h"
+#include "map/refine.h"
#include "map/script.h"
#include "map/searchstore.h"
#include "map/skill.h"
@@ -62,6 +63,7 @@
#include "common/memmgr.h"
#include "common/mmo.h" // MAX_CARTS
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
@@ -262,12 +264,15 @@ ACMD(send)
if (len) {
// show packet length
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,904), type, clif->packet(type)->len); // Packet 0x%x length: %d
+ Assert_retr(false, type <= MAX_PACKET_DB && type >= MIN_PACKET_DB);
+ len = packets->db[type];
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,904), type, len); // Packet 0x%x length: %d
clif->message(fd, atcmd_output);
return true;
}
- len = clif->packet(type)->len;
+ Assert_retr(false, type <= MAX_PACKET_DB && type >= MIN_PACKET_DB);
+ len = packets->db[type];
if (len == -1) {
// dynamic packet
@@ -415,7 +420,7 @@ ACMD(send)
SKIP_VALUE(message);
}
- if (clif->packet(type)->len == -1) { // send dynamic packet
+ if (packets->db[type] == -1) { // send dynamic packet
WFIFOW(sd->fd,2)=TOW(off);
WFIFOSET(sd->fd,off);
} else {// send static packet
@@ -864,7 +869,7 @@ ACMD(speed)
*------------------------------------------*/
ACMD(storage)
{
- if (sd->npc_id || sd->state.vending || sd->state.buyingstore || sd->state.trading || sd->state.storage_flag)
+ if (sd->npc_id || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->state.trading || sd->state.storage_flag)
return false;
if (storage->open(sd) == 1) { //Already open.
@@ -887,7 +892,7 @@ ACMD(guildstorage)
return false;
}
- if (sd->npc_id || sd->state.vending || sd->state.buyingstore || sd->state.trading)
+ if (sd->npc_id || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->state.trading)
return false;
if (sd->state.storage_flag == STORAGE_FLAG_NORMAL) {
@@ -1131,7 +1136,7 @@ ACMD(heal)
}
if ( hp > 0 && sp >= 0 ) {
- if(!status->heal(&sd->bl, hp, sp, 0))
+ if (status->heal(&sd->bl, hp, sp, STATUS_HEAL_DEFAULT) == 0)
clif->message(fd, msg_fd(fd,157)); // HP and SP are already with the good value.
else
clif->message(fd, msg_fd(fd,17)); // HP, SP recovered.
@@ -1148,7 +1153,7 @@ ACMD(heal)
//Opposing signs.
if ( hp ) {
if (hp > 0)
- status->heal(&sd->bl, hp, 0, 0);
+ status->heal(&sd->bl, hp, 0, STATUS_HEAL_DEFAULT);
else {
status->damage(NULL, &sd->bl, -hp, 0, 0, 0);
clif->damage(&sd->bl,&sd->bl, 0, 0, -hp, 0, BDT_ENDURE, 0);
@@ -1157,7 +1162,7 @@ ACMD(heal)
if ( sp ) {
if (sp > 0)
- status->heal(&sd->bl, 0, sp, 0);
+ status->heal(&sd->bl, 0, sp, STATUS_HEAL_DEFAULT);
else
status->damage(NULL, &sd->bl, 0, -sp, 0, 0);
}
@@ -1266,20 +1271,20 @@ ACMD(item2)
struct item_data *item_data;
char item_name[100];
int item_id, number = 0, bound = 0;
- int identify = 0, refine = 0, attr = 0;
+ int identify = 0, refine_level = 0, attr = 0;
int c1 = 0, c2 = 0, c3 = 0, c4 = 0;
memset(item_name, '\0', sizeof(item_name));
if (!strcmpi(info->command,"itembound2") && (!*message || (
- sscanf(message, "\"%99[^\"]\" %12d %12d %12d %12d %12d %12d %12d %12d %12d", item_name, &number, &identify, &refine, &attr, &c1, &c2, &c3, &c4, &bound) < 10 &&
- sscanf(message, "%99s %12d %12d %12d %12d %12d %12d %12d %12d %12d", item_name, &number, &identify, &refine, &attr, &c1, &c2, &c3, &c4, &bound) < 10 ))) {
+ sscanf(message, "\"%99[^\"]\" %12d %12d %12d %12d %12d %12d %12d %12d %12d", item_name, &number, &identify, &refine_level, &attr, &c1, &c2, &c3, &c4, &bound) < 10 &&
+ sscanf(message, "%99s %12d %12d %12d %12d %12d %12d %12d %12d %12d", item_name, &number, &identify, &refine_level, &attr, &c1, &c2, &c3, &c4, &bound) < 10 ))) {
clif->message(fd, msg_fd(fd,296)); // Please enter all parameters (usage: @itembound2 <item name/ID> <quantity>
clif->message(fd, msg_fd(fd,297)); // <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4> <bound_type>).
return false;
} else if (!*message
- || ( sscanf(message, "\"%99[^\"]\" %12d %12d %12d %12d %12d %12d %12d %12d", item_name, &number, &identify, &refine, &attr, &c1, &c2, &c3, &c4) < 9
- && sscanf(message, "%99s %12d %12d %12d %12d %12d %12d %12d %12d", item_name, &number, &identify, &refine, &attr, &c1, &c2, &c3, &c4) < 9
+ || ( sscanf(message, "\"%99[^\"]\" %12d %12d %12d %12d %12d %12d %12d %12d", item_name, &number, &identify, &refine_level, &attr, &c1, &c2, &c3, &c4) < 9
+ && sscanf(message, "%99s %12d %12d %12d %12d %12d %12d %12d %12d", item_name, &number, &identify, &refine_level, &attr, &c1, &c2, &c3, &c4) < 9
)) {
clif->message(fd, msg_fd(fd,984)); // Please enter all parameters (usage: @item2 <item name/ID> <quantity>
clif->message(fd, msg_fd(fd,985)); // <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4>).
@@ -1315,20 +1320,20 @@ ACMD(item2)
get_count = 1;
if (item_data->type == IT_PETEGG) {
identify = 1;
- refine = 0;
+ refine_level = 0;
}
if (item_data->type == IT_PETARMOR)
- refine = 0;
+ refine_level = 0;
} else {
identify = 1;
- refine = attr = 0;
+ refine_level = attr = 0;
}
- refine = cap_value(refine, 0, MAX_REFINE);
+ refine_level = cap_value(refine_level, 0, MAX_REFINE);
for (i = 0; i < loop; i++) {
memset(&item_tmp, 0, sizeof(item_tmp));
item_tmp.nameid = item_id;
item_tmp.identify = identify;
- item_tmp.refine = refine;
+ item_tmp.refine = refine_level;
item_tmp.attribute = attr;
item_tmp.bound = (unsigned char)bound;
item_tmp.card[0] = c1;
@@ -1355,9 +1360,7 @@ ACMD(item2)
*------------------------------------------*/
ACMD(itemreset)
{
- int i;
-
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].amount && sd->status.inventory[i].equip == 0) {
pc->delitem(sd, i, sd->status.inventory[i].amount, 0, DELITEM_NORMAL, LOG_TYPE_COMMAND);
}
@@ -1776,18 +1779,7 @@ ACMD(bodystyle)
memset(atcmd_output, '\0', sizeof(atcmd_output));
- if ((sd->job & MAPID_THIRDMASK) != MAPID_GUILLOTINE_CROSS
- && (sd->job & MAPID_THIRDMASK) != MAPID_GENETIC
- && (sd->job & MAPID_THIRDMASK) != MAPID_MECHANIC
- && (sd->job & MAPID_THIRDMASK) != MAPID_ROYAL_GUARD
- && (sd->job & MAPID_THIRDMASK) != MAPID_ARCH_BISHOP
- && (sd->job & MAPID_THIRDMASK) != MAPID_RANGER
- && (sd->job & MAPID_THIRDMASK) != MAPID_WARLOCK
- && (sd->job & MAPID_THIRDMASK) != MAPID_SHADOW_CHASER
- && (sd->job & MAPID_THIRDMASK) != MAPID_MINSTRELWANDERER
- && (sd->job & MAPID_THIRDMASK) != MAPID_SORCERER
- && (sd->job & MAPID_THIRDMASK) != MAPID_SURA
- ) {
+ if (!pc->has_second_costume(sd)) {
clif->message(fd, msg_fd(fd, 35)); // This job has no alternate body styles.
return false;
}
@@ -2224,12 +2216,12 @@ ACMD(killmonster)
*------------------------------------------*/
ACMD(refine)
{
- int j, position = 0, refine = 0, current_position, final_refine;
+ int j, position = 0, refine_level = 0, current_position, final_refine;
int count;
memset(atcmd_output, '\0', sizeof(atcmd_output));
- if (!*message || sscanf(message, "%12d %12d", &position, &refine) < 2) {
+ if (!*message || sscanf(message, "%12d %12d", &position, &refine_level) < 2) {
clif->message(fd, msg_fd(fd,996)); // Please enter a position and an amount (usage: @refine <equip position> <+/- amount>).
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,997), EQP_HEAD_LOW); // %d: Lower Headgear
clif->message(fd, atcmd_output);
@@ -2254,7 +2246,7 @@ ACMD(refine)
return false;
}
- refine = cap_value(refine, -MAX_REFINE, MAX_REFINE);
+ refine_level = cap_value(refine_level, -MAX_REFINE, MAX_REFINE);
count = 0;
for (j = 0; j < EQI_MAX; j++) {
@@ -2272,7 +2264,7 @@ ACMD(refine)
if(position && !(sd->status.inventory[idx].equip & position))
continue;
- final_refine = cap_value(sd->status.inventory[idx].refine + refine, 0, MAX_REFINE);
+ final_refine = cap_value(sd->status.inventory[idx].refine + refine_level, 0, MAX_REFINE);
if (sd->status.inventory[idx].refine != final_refine) {
sd->status.inventory[idx].refine = final_refine;
current_position = sd->status.inventory[idx].equip;
@@ -2727,7 +2719,7 @@ ACMD(makeegg)
sd->catch_target_class = pet->db[pet_id].class_;
intif->create_pet(
sd->status.account_id, sd->status.char_id,
- (short)pet->db[pet_id].class_, (short)mob->db(pet->db[pet_id].class_)->lv,
+ pet->db[pet_id].class_, mob->db(pet->db[pet_id].class_)->lv,
pet->db[pet_id].EggID, 0, (short)pet->db[pet_id].intimate,
100, 0, 1, pet->db[pet_id].jname);
} else {
@@ -4281,10 +4273,8 @@ ACMD(partyspy)
*------------------------------------------*/
ACMD(repairall)
{
- int count, i;
-
- count = 0;
- for (i = 0; i < MAX_INVENTORY; i++) {
+ int count = 0;
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
if (sd->status.inventory[i].nameid && (sd->status.inventory[i].attribute & ATTR_BROKEN) != 0) {
@@ -4297,7 +4287,7 @@ ACMD(repairall)
if (count > 0) {
clif->misceffect(&sd->bl, 3);
- clif->equiplist(sd);
+ clif->equipList(sd);
clif->message(fd, msg_fd(fd,107)); // All items have been repaired.
} else {
clif->message(fd, msg_fd(fd,108)); // No item need to be repaired.
@@ -5288,20 +5278,43 @@ ACMD(follow)
}
/*==========================================
- * @dropall by [MouseJstr]
- * Drop all your possession on the ground
+ * @dropall by [MouseJstr] and [Xantara]
+ * Drop all your possession on the ground based on item type
*------------------------------------------*/
ACMD(dropall)
{
- int i;
+ int type = -1;
+ int count = 0;
- for (i = 0; i < MAX_INVENTORY; i++) {
+ if (message[0] != '\0') {
+ type = atoi(message);
+ if (!((type >= IT_HEALING && type <= IT_DELAYCONSUME) || type == IT_CASH || type == -1)) {
+ clif->message(fd, msg_fd(fd, 1500));
+ clif->message(fd, msg_fd(fd, 1501));
+ return false;
+ }
+ }
+
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].amount) {
- if(sd->status.inventory[i].equip != 0)
- pc->unequipitem(sd, i, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
- pc->dropitem(sd, i, sd->status.inventory[i].amount);
+ struct item_data *item_data = itemdb->exists(sd->status.inventory[i].nameid);
+ if (item_data == NULL) {
+ ShowWarning("Non-existant item %d on dropall list (account_id: %d, char_id: %d)\n", sd->status.inventory[i].nameid, sd->status.account_id, sd->status.char_id);
+ continue;
+ }
+ if (!pc->candrop(sd, &sd->status.inventory[i]))
+ continue;
+ if (type == -1 || type == item_data->type) {
+ if (sd->status.inventory[i].equip != 0)
+ pc->unequipitem(sd, i, PCUNEQUIPITEM_RECALC | PCUNEQUIPITEM_FORCE);
+ count += sd->status.inventory[i].amount;
+ pc->dropitem(sd, i, sd->status.inventory[i].amount);
+ }
}
}
+
+ sprintf(atcmd_output, msg_fd(fd, 1502), count); // %d items are dropped!
+ clif->message(fd, atcmd_output);
return true;
}
@@ -5311,8 +5324,6 @@ ACMD(dropall)
*------------------------------------------*/
ACMD(storeall)
{
- int i;
-
if (sd->state.storage_flag != STORAGE_FLAG_NORMAL) {
//Open storage.
if (storage->open(sd) == 1) {
@@ -5326,7 +5337,7 @@ ACMD(storeall)
return false;
}
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].amount) {
if(sd->status.inventory[i].equip != 0)
pc->unequipitem(sd, i, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
@@ -5415,7 +5426,7 @@ ACMD(clearcart)
return false;
}
- if (sd->state.vending) {
+ if (sd->state.vending || sd->state.prevend) {
clif->message(fd, msg_fd(fd,548)); // You can't clean a cart while vending!
return false;
}
@@ -5614,9 +5625,9 @@ static void atcommand_getring(struct map_session_data *sd)
memset(&item_tmp, 0, sizeof(item_tmp));
item_tmp.nameid = item_id;
item_tmp.identify = 1;
- item_tmp.card[0] = 255;
- item_tmp.card[2] = sd->status.partner_id;
- item_tmp.card[3] = sd->status.partner_id >> 16;
+ item_tmp.card[0] = CARD0_FORGE;
+ item_tmp.card[2] = GetWord(sd->status.partner_id, 0);
+ item_tmp.card[3] = GetWord(sd->status.partner_id, 1);
if((flag = pc->additem(sd,&item_tmp,1,LOG_TYPE_COMMAND))) {
clif->additem(sd,0,0,flag);
@@ -6721,9 +6732,9 @@ ACMD(refreshall)
*------------------------------------------*/
ACMD(identify)
{
- int i,num;
+ int num = 0;
- for (i=num=0;i<MAX_INVENTORY;i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].identify!=1){
num++;
}
@@ -7684,9 +7695,9 @@ ACMD(fakename)
if (sd->fakename[0])
{
sd->fakename[0] = '\0';
- clif->charnameack(0, &sd->bl);
+ clif->blname_ack(0, &sd->bl);
if( sd->disguise )
- clif->charnameack(sd->fd, &sd->bl);
+ clif->blname_ack(sd->fd, &sd->bl);
clif->message(sd->fd, msg_fd(fd,1307)); // Returned to real name.
return true;
}
@@ -7702,9 +7713,9 @@ ACMD(fakename)
}
safestrncpy(sd->fakename, message, sizeof(sd->fakename));
- clif->charnameack(0, &sd->bl);
+ clif->blname_ack(0, &sd->bl);
if (sd->disguise) // Another packet should be sent so the client updates the name for sd
- clif->charnameack(sd->fd, &sd->bl);
+ clif->blname_ack(sd->fd, &sd->bl);
clif->message(sd->fd, msg_fd(fd,1310)); // Fake name enabled.
return true;
@@ -8263,7 +8274,7 @@ ACMD(itemlist)
} else if( strcmpi(info->command, "itemlist") == 0 ) {
location = "inventory";
items = sd->status.inventory;
- size = MAX_INVENTORY;
+ size = sd->status.inventorySize;
} else
return false;
@@ -9003,9 +9014,7 @@ static void atcommand_channel_help(int fd, const char *command, bool can_create)
clif->message(fd, msg_fd(fd,1428));// - binds global chat to <channel name>, making anything you type in global be sent to the channel
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1429),command);// -- %s unbind
clif->message(fd, atcmd_output);
- clif->message(fd, msg_fd(fd,1430));// - unbinds your global chat from its attached channel (if binded)
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1429),command);// -- %s unbind
- clif->message(fd, atcmd_output);
+ clif->message(fd, msg_fd(fd,1430));// - unbinds your global chat from its attached channel (if bound)
if( can_create ) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1456),command);// -- %s ban <channel name> <character name>
clif->message(fd, atcmd_output);
@@ -9030,7 +9039,6 @@ ACMD(channel)
{
struct channel_data *chan;
char subcmd[HCS_NAME_LENGTH], sub1[HCS_NAME_LENGTH], sub2[HCS_NAME_LENGTH], sub3[HCS_NAME_LENGTH];
- unsigned char k = 0;
sub1[0] = sub2[0] = sub3[0] = '\0';
if (!*message || sscanf(message, "%19s %19s %19s %19s", subcmd, sub1, sub2, sub3) < 1) {
@@ -9067,7 +9075,7 @@ ACMD(channel)
} else if (strcmpi(subcmd,"list") == 0) {
// sub1 = list type; sub2 = unused; sub3 = unused
if (sub1[0] != '\0' && strcmpi(sub1,"colors") == 0) {
- for (k = 0; k < channel->config->colors_count; k++) {
+ for (int k = 0; k < channel->config->colors_count; k++) {
safesnprintf(atcmd_output, sizeof(atcmd_output), "[ %s list colors ] : %s", command, channel->config->colors_name[k]);
clif->messagecolor_self(fd, channel->config->colors[k], atcmd_output);
@@ -9096,6 +9104,7 @@ ACMD(channel)
}
} else if (strcmpi(subcmd,"setcolor") == 0) {
// sub1 = channel name; sub2 = color; sub3 = unused
+ int k;
if (sub1[0] != '#') {
clif->message(fd, msg_fd(fd,1405));// Channel name must start with a '#'
return false;
@@ -9113,10 +9122,7 @@ ACMD(channel)
return false;
}
- for (k = 0; k < channel->config->colors_count; k++) {
- if (strcmpi(sub2, channel->config->colors_name[k]) == 0)
- break;
- }
+ ARR_FIND(0, channel->config->colors_count, k, strcmpi(sub2, channel->config->colors_name[k]) == 0);
if (k == channel->config->colors_count) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1411), sub2);// Unknown color '%s'
clif->message(fd, atcmd_output);
@@ -9127,51 +9133,45 @@ ACMD(channel)
clif->message(fd, atcmd_output);
} else if (strcmpi(subcmd,"leave") == 0) {
// sub1 = channel name; sub2 = unused; sub3 = unused
+ int k;
if (sub1[0] != '#') {
clif->message(fd, msg_fd(fd,1405));// Channel name must start with a '#'
return false;
}
- for (k = 0; k < sd->channel_count; k++) {
- if (strcmpi(sub1+1,sd->channels[k]->name) == 0)
- break;
- }
- if (k == sd->channel_count) {
+ ARR_FIND(0, VECTOR_LENGTH(sd->channels), k, strcmpi(sub1 + 1, VECTOR_INDEX(sd->channels, k)->name) == 0);
+ if (k == VECTOR_LENGTH(sd->channels)) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1425),sub1);// You're not part of the '%s' channel
clif->message(fd, atcmd_output);
return false;
}
- if (sd->channels[k]->type == HCS_TYPE_ALLY) {
- do {
- for (k = 0; k < sd->channel_count; k++) {
- if (sd->channels[k]->type == HCS_TYPE_ALLY) {
- channel->leave(sd->channels[k],sd);
- break;
- }
+ if (VECTOR_INDEX(sd->channels, k)->type == HCS_TYPE_ALLY) {
+ for (k = VECTOR_LENGTH(sd->channels) - 1; k >= 0; k--) {
+ // Loop downward to avoid issues when channel->leave() compacts the array
+ if (VECTOR_INDEX(sd->channels, k)->type == HCS_TYPE_ALLY) {
+ channel->leave(VECTOR_INDEX(sd->channels, k), sd);
}
- } while (k != sd->channel_count);
+ }
} else {
- channel->leave(sd->channels[k],sd);
+ channel->leave(VECTOR_INDEX(sd->channels, k), sd);
}
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1426),sub1); // You've left the '%s' channel
clif->message(fd, atcmd_output);
} else if (strcmpi(subcmd,"bindto") == 0) {
// sub1 = channel name; sub2 = unused; sub3 = unused
+ int k;
if (sub1[0] != '#') {
clif->message(fd, msg_fd(fd,1405));// Channel name must start with a '#'
return false;
}
- for (k = 0; k < sd->channel_count; k++) {
- if (strcmpi(sub1+1,sd->channels[k]->name) == 0)
- break;
- }
- if (k == sd->channel_count) {
+ ARR_FIND(0, VECTOR_LENGTH(sd->channels), k, strcmpi(sub1 + 1, VECTOR_INDEX(sd->channels, k)->name) == 0);
+ if (k == VECTOR_LENGTH(sd->channels)) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1425),sub1);// You're not part of the '%s' channel
clif->message(fd, atcmd_output);
return false;
}
- sd->gcbind = sd->channels[k];
+ sd->gcbind = VECTOR_INDEX(sd->channels, k);
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1431),sub1); // Your global chat is now bound to the '%s' channel
clif->message(fd, atcmd_output);
} else if (strcmpi(subcmd,"unbind") == 0) {
@@ -9343,6 +9343,7 @@ ACMD(channel)
dbi_destroy(iter);
} else if (strcmpi(subcmd,"setopt") == 0) {
// sub1 = channel name; sub2 = option name; sub3 = value
+ int k;
const char* opt_str[3] = {
"None",
"JoinAnnounce",
@@ -9398,8 +9399,8 @@ ACMD(channel)
} else {
int v = atoi(sub3);
if (k == HCS_OPT_MSG_DELAY) {
- if (v < 0 || v > 10) {
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1451), v, opt_str[k]);// value '%d' for option '%s' is out of range (limit is 0-10)
+ if (v < 0 || v > channel->config->channel_opt_msg_delay) {
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1451), v, opt_str[k], channel->config->channel_opt_msg_delay);// value '%d' for option '%s' is out of range (limit is 0-%d)
clif->message(fd, atcmd_output);
return false;
}
@@ -9810,6 +9811,40 @@ ACMD(reloadclans)
return true;
}
+// show camera window or change camera parameters
+ACMD(camerainfo)
+{
+ if (*message == '\0') {
+ clif->camera_showWindow(sd);
+ return true;
+ }
+ float range = 0;
+ float rotation = 0;
+ float latitude = 0;
+ if (sscanf(message, "%15f %15f %15f", &range, &rotation, &latitude) < 3) {
+ clif->message(fd, msg_fd(fd, 452)); // usage @camerainfo range rotation latitude
+ return false;
+ }
+ clif->camera_change(sd, range, rotation, latitude, SELF);
+ return true;
+}
+
+ACMD(refineryui)
+{
+#if PACKETVER_MAIN_NUM >= 20161005 || PACKETVER_RE_NUM >= 20161005 || defined(PACKETVER_ZERO)
+ if (battle_config.enable_refinery_ui == 0) {
+ clif->message(fd, msg_fd(fd, 453));
+ return false;
+ }
+
+ clif->OpenRefineryUI(sd);
+ return true;
+#else
+ clif->message(fd, msg_fd(fd, 453));
+ return false;
+#endif
+}
+
/**
* Fills the reference of available commands in atcommand DBMap
**/
@@ -10092,6 +10127,8 @@ static void atcommand_basecommands(void)
ACMD_DEF(leaveclan),
ACMD_DEF(reloadclans),
ACMD_DEF(setzone),
+ ACMD_DEF(camerainfo),
+ ACMD_DEF(refineryui),
};
int i;
@@ -10722,6 +10759,9 @@ void atcommand_defaults(void)
{
atcommand = &atcommand_s;
+ atcommand->atcmd_output = &atcmd_output;
+ atcommand->atcmd_player_name = &atcmd_player_name;
+
atcommand->db = NULL;
atcommand->alias_db = NULL;
diff --git a/src/map/atcommand.h b/src/map/atcommand.h
index 3bbbefa20..4fbf6b93a 100644
--- a/src/map/atcommand.h
+++ b/src/map/atcommand.h
@@ -21,9 +21,11 @@
#ifndef MAP_ATCOMMAND_H
#define MAP_ATCOMMAND_H
+#include "map/mapdefines.h"
#include "map/pc_groups.h"
#include "common/hercules.h"
#include "common/db.h"
+#include "common/mmo.h"
#include <stdarg.h>
@@ -39,7 +41,7 @@ struct config_setting_t;
* Defines
**/
#define ATCOMMAND_LENGTH 50
-#define MAX_MSG 1500
+#define MAX_MSG 1503
#define msg_txt(idx) atcommand->msg(idx)
#define msg_sd(sd,msg_number) atcommand->msgsd((sd),(msg_number))
#define msg_fd(fd,msg_number) atcommand->msgfd((fd),(msg_number))
@@ -90,6 +92,8 @@ struct atcmd_binding_data {
* Interface
**/
struct atcommand_interface {
+ char (*atcmd_output)[CHAT_SIZE_MAX];
+ char (*atcmd_player_name)[NAME_LENGTH];
unsigned char at_symbol;
unsigned char char_symbol;
/* atcommand binding */
diff --git a/src/map/battle.c b/src/map/battle.c
index fceb30be1..c40c3afac 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -1019,7 +1019,7 @@ static int64 battle_calc_cardfix(int attack_type, struct block_list *src, struct
{
struct map_session_data *sd, *tsd;
int cardfix = 1000;
- short t_class, s_class, s_race2, t_race2;
+ int t_class, s_class, s_race2, t_race2;
struct status_data *sstatus, *tstatus;
int i;
@@ -1365,24 +1365,28 @@ static int64 battle_calc_defense(int attack_type, struct block_list *src, struct
#endif
}
- if( battle_config.vit_penalty_type && battle_config.vit_penalty_target&target->type ) {
- unsigned char target_count; //256 max targets should be a sane max
- target_count = unit->counttargeted(target);
- if(target_count >= battle_config.vit_penalty_count) {
- if(battle_config.vit_penalty_type == 1) {
- if( !tsc || !tsc->data[SC_STEELBODY] )
- def1 = (def1 * (100 - (target_count - (battle_config.vit_penalty_count - 1))*battle_config.vit_penalty_num))/100;
- def2 = (def2 * (100 - (target_count - (battle_config.vit_penalty_count - 1))*battle_config.vit_penalty_num))/100;
- } else { //Assume type 2
- if( !tsc || !tsc->data[SC_STEELBODY] )
- def1 -= (target_count - (battle_config.vit_penalty_count - 1))*battle_config.vit_penalty_num;
- def2 -= (target_count - (battle_config.vit_penalty_count - 1))*battle_config.vit_penalty_num;
+ if (battle_config.vit_penalty_type != 0 && (battle_config.vit_penalty_target & target->type) != 0) {
+ int target_count = unit->counttargeted(target);
+ if (target_count >= battle_config.vit_penalty_count) {
+ int penalty = (target_count - (battle_config.vit_penalty_count - 1)) * battle_config.vit_penalty_num;
+ if (battle_config.vit_penalty_type == 1) {
+ if (tsc == NULL || tsc->data[SC_STEELBODY] == NULL)
+ def1 = def1 * (100 - penalty) / 100;
+ def2 = def2 * (100 - penalty) / 100;
+ } else { // Assume type 2
+ if (tsc == NULL || tsc->data[SC_STEELBODY] == NULL)
+ def1 -= penalty;
+ def2 -= penalty;
}
}
#ifndef RENEWAL
- if(skill_id == AM_ACIDTERROR) def1 = 0; //Acid Terror ignores only armor defense. [Skotlex]
+ if (skill_id == AM_ACIDTERROR)
+ def1 = 0; // Acid Terror ignores only armor defense. [Skotlex]
#endif
- if(def2 < 1) def2 = 1;
+ if (def1 < 0)
+ def1 = 0;
+ if (def2 < 1)
+ def2 = 1;
}
//Vitality reduction from rodatazone: http://rodatazone.simgaming.net/mechanics/substats.php#def
if (tsd) {
@@ -2872,7 +2876,7 @@ static int64 battle_calc_damage(struct block_list *src, struct block_list *bl, s
if( sc->data[SC__MAELSTROM] && (flag&BF_MAGIC) && skill_id && (skill->get_inf(skill_id)&INF_GROUND_SKILL) ) {
// {(Maelstrom Skill LevelxAbsorbed Skill Level)+(Caster's Job/5)}/2
int sp = (sc->data[SC__MAELSTROM]->val1 * skill_lv + (t_sd ? t_sd->status.job_level / 5 : 0)) / 2;
- status->heal(bl, 0, sp, 3);
+ status->heal(bl, 0, sp, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
d->dmg_lv = ATK_BLOCK;
return 0;
}
@@ -3243,7 +3247,7 @@ static int64 battle_calc_damage(struct block_list *src, struct block_list *bl, s
//(since battle_drain is strictly for players currently)
if ((sce=sc->data[SC_HAMI_BLOODLUST]) && flag&BF_WEAPON && damage > 0 &&
rnd()%100 < sce->val3)
- status->heal(src, damage*sce->val4/100, 0, 3);
+ status->heal(src, damage*sce->val4/100, 0, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
if( (sce = sc->data[SC_FORCEOFVANGUARD]) && flag&BF_WEAPON
&& rnd()%100 < sce->val2 && sc->fv_counter <= sce->val3 )
@@ -4224,16 +4228,16 @@ static struct Damage battle_calc_misc_attack(struct block_list *src, struct bloc
hitrate = 80; //Default hitrate
#endif
- if(battle_config.agi_penalty_type && battle_config.agi_penalty_target&target->type) {
- unsigned char attacker_count; //256 max targets should be a sane max
- attacker_count = unit->counttargeted(target);
- if(attacker_count >= battle_config.agi_penalty_count)
- {
+ if (battle_config.agi_penalty_type != 0 && (battle_config.agi_penalty_target & target->type) != 0) {
+ int attacker_count = unit->counttargeted(target);
+ if (attacker_count >= battle_config.agi_penalty_count) {
+ int penalty = (attacker_count - (battle_config.agi_penalty_count - 1)) * battle_config.agi_penalty_num;
if (battle_config.agi_penalty_type == 1)
- flee = (flee * (100 - (attacker_count - (battle_config.agi_penalty_count - 1))*battle_config.agi_penalty_num))/100;
+ flee = flee * (100 - penalty) / 100;
else // assume type 2: absolute reduction
- flee -= (attacker_count - (battle_config.agi_penalty_count - 1))*battle_config.agi_penalty_num;
- if(flee < 1) flee = 1;
+ flee -= penalty;
+ if (flee < 1)
+ flee = 1;
}
}
@@ -4339,6 +4343,8 @@ static struct Damage battle_calc_misc_attack(struct block_list *src, struct bloc
}
break;
}
+
+ battle->reflect_trap(target, src, &md, skill_id);
return md;
}
@@ -4749,15 +4755,16 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
short hitrate = 80; //Default hitrate
#endif
- if(battle_config.agi_penalty_type && battle_config.agi_penalty_target&target->type) {
- unsigned char attacker_count; //256 max targets should be a sane max
- attacker_count = unit->counttargeted(target);
- if(attacker_count >= battle_config.agi_penalty_count) {
+ if (battle_config.agi_penalty_type != 0 && (battle_config.agi_penalty_target & target->type) != 0) {
+ int attacker_count = unit->counttargeted(target);
+ if (attacker_count >= battle_config.agi_penalty_count) {
+ int penalty = (attacker_count - (battle_config.agi_penalty_count - 1)) * battle_config.agi_penalty_num;
if (battle_config.agi_penalty_type == 1)
- flee = (flee * (100 - (attacker_count - (battle_config.agi_penalty_count - 1))*battle_config.agi_penalty_num))/100;
- else //asume type 2: absolute reduction
- flee -= (attacker_count - (battle_config.agi_penalty_count - 1))*battle_config.agi_penalty_num;
- if(flee < 1) flee = 1;
+ flee = flee * (100 - penalty) / 100;
+ else // asume type 2: absolute reduction
+ flee -= penalty;
+ if (flee < 1)
+ flee = 1;
}
}
@@ -5545,7 +5552,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
#endif
if( flag.infdef ) { //Plants receive 1 damage when hit
- short class_ = status->get_class(target);
+ int class_ = status->get_class(target);
if( flag.hit || wd.damage > 0 )
wd.damage = wd.div_; // In some cases, right hand no need to have a weapon to increase damage
if( flag.lh && (flag.hit || wd.damage2 > 0) )
@@ -6008,6 +6015,37 @@ static void battle_reflect_damage(struct block_list *target, struct block_list *
#undef NORMALIZE_RDAMAGE
}
+/**
+ * Reflects damage from certain traps, if battle_config.trap_reflect is true.
+ * @param target : Player who triggered the trap
+ * @param src : Player who set the trap
+ * @param md : Trap damage structure
+ * @param skill_id : Trap skill ID
+ */
+static void battle_reflect_trap(struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id)
+{
+ if (battle_config.trap_reflect == true) {
+ if (src != target) { // Don't reflect your own damage
+ switch (skill_id) {
+ case HT_CLAYMORETRAP:
+ case HT_LANDMINE:
+ case HT_FREEZINGTRAP:
+ case HT_BLASTMINE:
+ // Needs official info
+ //case RA_CLUSTERBOMB:
+ //case RA_FIRINGTRAP:
+ //case RA_ICEBOUNDTRAP:
+ //case GN_THORNS_TRAP:
+ //case KO_MAKIBISHI:
+ case MA_LANDMINE:
+ case MA_FREEZINGTRAP:
+ battle->reflect_damage(target, src, md, skill_id);
+ break;
+ }
+ }
+ }
+}
+
static void battle_drain(struct map_session_data *sd, struct block_list *tbl, int64 rdamage, int64 ldamage, int race, int boss)
{
struct weapon_data *wd;
@@ -6061,7 +6099,7 @@ static void battle_drain(struct map_session_data *sd, struct block_list *tbl, in
if (!thp && !tsp) return;
- status->heal(&sd->bl, thp, tsp, battle_config.show_hp_sp_drain ? 3 : 1);
+ status->heal(&sd->bl, thp, tsp, STATUS_HEAL_FORCED | (battle_config.show_hp_sp_drain ? STATUS_HEAL_SHOWEFFECT : STATUS_HEAL_DEFAULT));
if (rhp || rsp)
status_zap(tbl, rhp, rsp);
@@ -6323,7 +6361,7 @@ static enum damage_lv battle_weapon_attack(struct block_list *src, struct block_
if (d_bl != NULL
&& ((d_bl->type == BL_MER && d_md->master != NULL && d_md->master->bl.id == target->id)
- || (d_bl->type == BL_PC && d_sd->devotion[sce->val2] == target->id)
+ || (d_sd != NULL && d_bl->type == BL_PC && d_sd->devotion[sce->val2] == target->id)
)
&& check_distance_bl(target, d_bl, sce->val3)
) {
@@ -6966,7 +7004,8 @@ static const struct battle_data {
{ "player_damage_delay_rate", &battle_config.pc_damage_delay_rate, 100, 0, INT_MAX, },
{ "defunit_not_enemy", &battle_config.defnotenemy, 0, 0, 1, },
{ "gvg_traps_target_all", &battle_config.vs_traps_bctall, BL_PC, BL_NUL, BL_ALL, },
- { "traps_setting", &battle_config.traps_setting, 0, 0, 1, },
+ { "trap_options/visibility", &battle_config.trap_visibility, 2, 0, 2, },
+ { "trap_options/display_on_trigger", &battle_config.trap_trigger, 1, 0, 1, },
{ "summon_flora_setting", &battle_config.summon_flora, 1|2, 0, 1|2, },
{ "clear_skills_on_death", &battle_config.clear_unit_ondeath, BL_NUL, BL_NUL, BL_ALL, },
{ "clear_skills_on_warp", &battle_config.clear_unit_onwarp, BL_ALL, BL_NUL, BL_ALL, },
@@ -7325,6 +7364,7 @@ static const struct battle_data {
* Hercules
**/
{ "skill_trap_type", &battle_config.skill_trap_type, 0, 0, 1, },
+ { "trap_reflect", &battle_config.trap_reflect, 1, 0, 1, },
{ "item_restricted_consumption_type", &battle_config.item_restricted_consumption_type,1, 0, 1, },
{ "unequip_restricted_equipment", &battle_config.unequip_restricted_equipment, 0, 0, 3, },
{ "max_walk_path", &battle_config.max_walk_path, 17, 1, MAX_WALKPATH, },
@@ -7371,6 +7411,31 @@ static const struct battle_data {
{ "storage_use_item", &battle_config.storage_use_item, 0, 0, 1, },
{ "features/enable_attendance_system", &battle_config.feature_enable_attendance_system,1, 0, 1, },
{ "features/feature_attendance_endtime",&battle_config.feature_attendance_endtime, 1, 0, 99999999, },
+ { "min_item_buy_price", &battle_config.min_item_buy_price, 1, 0, INT_MAX, },
+ { "min_item_sell_price", &battle_config.min_item_sell_price, 0, 0, INT_MAX, },
+ { "display_fake_hp_when_dead", &battle_config.display_fake_hp_when_dead, 1, 0, 1, },
+ { "magicrod_type", &battle_config.magicrod_type, 0, 0, 1, },
+ { "features/enable_achievement_system", &battle_config.feature_enable_achievement, 1, 0, 1, },
+ { "ping_timer_inverval", &battle_config.ping_timer_interval, 30, 0, 99999999, },
+ { "ping_time", &battle_config.ping_time, 20, 0, 99999999, },
+ { "option_drop_max_loop", &battle_config.option_drop_max_loop, 10, 1, 100000, },
+ { "drop_connection_on_quit", &battle_config.drop_connection_on_quit, 0, 0, 1, },
+ { "features/enable_refinery_ui", &battle_config.enable_refinery_ui, 1, 0, 1, },
+ { "features/replace_refine_npcs", &battle_config.replace_refine_npcs, 1, 0, 1, },
+ { "batk_min_limit", &battle_config.batk_min, 0, 0, INT_MAX, },
+ { "batk_max_limit", &battle_config.batk_max, USHRT_MAX, 1, INT_MAX, },
+ { "matk_min_limit", &battle_config.matk_min, 0, 0, INT_MAX, },
+ { "matk_max_limit", &battle_config.matk_max, USHRT_MAX, 1, INT_MAX, },
+ { "watk_min_limit", &battle_config.watk_min, 0, 0, INT_MAX, },
+ { "watk_max_limit", &battle_config.watk_max, USHRT_MAX, 1, INT_MAX, },
+ { "flee_min_limit", &battle_config.flee_min, 1, 1, INT_MAX, },
+ { "flee_max_limit", &battle_config.flee_max, SHRT_MAX, 1, INT_MAX, },
+ { "flee2_min_limit", &battle_config.flee2_min, 10, 1, INT_MAX, },
+ { "flee2_max_limit", &battle_config.flee2_max, SHRT_MAX, 1, INT_MAX, },
+ { "critical_min_limit", &battle_config.critical_min, 10, 1, INT_MAX, },
+ { "critical_max_limit", &battle_config.critical_max, SHRT_MAX, 1, INT_MAX, },
+ { "hit_min_limit", &battle_config.hit_min, 1, 1, INT_MAX, },
+ { "hit_max_limit", &battle_config.hit_max, SHRT_MAX, 1, INT_MAX, },
};
static bool battle_set_value_sub(int index, int value)
@@ -7496,6 +7561,18 @@ static void battle_adjust_conf(void)
}
#endif
+#if !(PACKETVER_MAIN_NUM >= 20161130 || PACKETVER_RE_NUM >= 20161109 || defined(PACKETVER_ZERO))
+ if (battle_config.enable_refinery_ui == 1) {
+ ShowWarning("conf/map/battle/feature.conf refinery ui is enabled but it requires PACKETVER 2016-11-09 RagexeRE/2016-11-30 Ragexe or newer, disabling...\n");
+ battle_config.enable_refinery_ui = 0;
+ }
+
+ if (battle_config.replace_refine_npcs == 1) {
+ ShowWarning("conf/map/battle/feature.conf replace refine npcs is enabled but it requires PACKETVER 2016-11-09 RagexeRE/2016-11-30 Ragexe or newer, disabling...\n");
+ battle_config.replace_refine_npcs = 0;
+ }
+#endif
+
#ifndef CELL_NOSTACK
if (battle_config.custom_cell_stack_limit != 1)
ShowWarning("Battle setting 'custom_cell_stack_limit' takes no effect as this server was compiled without Cell Stack Limit support.\n");
@@ -7525,6 +7602,10 @@ static bool battle_config_read(const char *filename, bool imported)
if (!imported)
battle->config_set_defaults();
+ if (libconfig->lookup(&config, "battle_configuration/traps_setting") != NULL) {
+ ShowError("The `traps_setting` battle conf option has been replaced by `trap_visibility`. Please see conf/map/battle/skill.conf.\n");
+ }
+
for (i = 0; i < ARRAYLENGTH(battle_data); i++) {
int type, val;
char config_name[256];
@@ -7614,6 +7695,7 @@ void battle_defaults(void)
battle->delay_damage = battle_delay_damage;
battle->drain = battle_drain;
battle->reflect_damage = battle_reflect_damage;
+ battle->reflect_trap = battle_reflect_trap;
battle->attr_ratio = battle_attr_ratio;
battle->attr_fix = battle_attr_fix;
battle->calc_cardfix = battle_calc_cardfix;
diff --git a/src/map/battle.h b/src/map/battle.h
index 9f5207e95..0ff5135d8 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -149,7 +149,8 @@ struct Battle_Config {
int pc_damage_delay_rate;
int defnotenemy;
int vs_traps_bctall;
- int traps_setting;
+ int trap_visibility;
+ int trap_trigger;
int summon_flora; //[Skotlex]
int clear_unit_ondeath; //[Skotlex]
int clear_unit_onwarp; //[Skotlex]
@@ -506,6 +507,7 @@ struct Battle_Config {
/** Hercules **/
int skill_trap_type;
+ int trap_reflect;
int item_restricted_consumption_type;
int unequip_restricted_equipment;
int max_walk_path;
@@ -570,6 +572,39 @@ struct Battle_Config {
int feature_enable_attendance_system;
int feature_attendance_endtime;
+
+ int min_item_buy_price;
+ int min_item_sell_price;
+
+ int display_fake_hp_when_dead;
+
+ int magicrod_type;
+
+ int feature_enable_achievement;
+
+ int ping_timer_interval;
+ int ping_time;
+
+ int option_drop_max_loop;
+
+ int drop_connection_on_quit;
+ int enable_refinery_ui;
+ int replace_refine_npcs;
+
+ int batk_min;
+ int batk_max;
+ int matk_min;
+ int matk_max;
+ int watk_min;
+ int watk_max;
+ int flee_min;
+ int flee_max;
+ int flee2_min;
+ int flee2_max;
+ int critical_min;
+ int critical_max;
+ int hit_min;
+ int hit_max;
};
/* criteria for battle_config.idletime_critera */
@@ -584,6 +619,7 @@ enum e_battle_config_idletime {
BCIDLE_EMOTION = 0x080,
BCIDLE_DROPITEM = 0x100,
BCIDLE_ATCOMMAND = 0x200,
+ BCIDLE_SCRIPT = 0x400,
};
// Damage delayed info
@@ -636,6 +672,8 @@ struct battle_interface {
void (*drain) (struct map_session_data *sd, struct block_list *tbl, int64 rdamage, int64 ldamage, int race, int boss);
/* damage reflect */
void (*reflect_damage) (struct block_list *target, struct block_list *src, struct Damage *wd,uint16 skill_id);
+ /* trap reflect */
+ void(*reflect_trap) (struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id);
/* attribute rate */
int (*attr_ratio) (int atk_elem, int def_type, int def_lv);
/* applies attribute modifiers */
diff --git a/src/map/buyingstore.c b/src/map/buyingstore.c
index df622e4ab..8cac65775 100644
--- a/src/map/buyingstore.c
+++ b/src/map/buyingstore.c
@@ -91,7 +91,7 @@ static void buyingstore_create(struct map_session_data *sd, int zenylimit, unsig
return;
}
- if( !battle_config.feature_buying_store || pc_istrading(sd) || sd->buyingstore.slots == 0 || count > sd->buyingstore.slots || zenylimit <= 0 || zenylimit > sd->status.zeny || !storename[0] )
+ if( !battle_config.feature_buying_store || pc_istrading(sd) || sd->state.prevend || sd->buyingstore.slots == 0 || count > sd->buyingstore.slots || zenylimit <= 0 || zenylimit > sd->status.zeny || !storename[0] )
{// disabled or invalid input
sd->buyingstore.slots = 0;
clif->buyingstore_open_failed(sd, BUYINGSTORE_CREATE, 0);
@@ -218,7 +218,7 @@ static void buyingstore_open(struct map_session_data *sd, int account_id)
struct map_session_data* pl_sd;
nullpo_retv(sd);
- if( !battle_config.feature_buying_store || pc_istrading(sd) )
+ if (!battle_config.feature_buying_store || pc_istrading(sd) || sd->state.prevend)
{// not allowed to sell
return;
}
@@ -255,7 +255,7 @@ static void buyingstore_trade(struct map_session_data* sd, int account_id, unsig
return;
}
- if( !battle_config.feature_buying_store || pc_istrading(sd) )
+ if (!battle_config.feature_buying_store || pc_istrading(sd) || sd->state.prevend)
{// not allowed to sell
clif->buyingstore_trade_failed_seller(sd, BUYINGSTORE_TRADE_SELLER_FAILED, 0);
return;
diff --git a/src/map/channel.c b/src/map/channel.c
index f1946385d..e27e9fb0b 100644
--- a/src/map/channel.c
+++ b/src/map/channel.c
@@ -276,7 +276,9 @@ static void channel_send(struct channel_data *chan, struct map_session_data *sd,
if (sd && chan->msg_delay != 0
&& DIFF_TICK(sd->hchsysch_tick + chan->msg_delay*1000, timer->gettick()) > 0
&& !pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN)) {
- clif->messagecolor_self(sd->fd, COLOR_RED, msg_sd(sd,1455));
+ char output[CHAT_SIZE_MAX];
+ sprintf(output, msg_sd(sd, 1455), DIFF_TICK(sd->hchsysch_tick + chan->msg_delay * 1000, timer->gettick()) / 1000); // "You cannot send a message to this channel for another %d seconds."
+ clif->messagecolor_self(sd->fd, COLOR_RED, output);
return;
} else if (sd) {
int i;
@@ -317,8 +319,8 @@ static void channel_join_sub(struct channel_data *chan, struct map_session_data
if (idb_put(chan->users, sd->status.char_id, sd))
return;
- RECREATE(sd->channels, struct channel_data *, ++sd->channel_count);
- sd->channels[sd->channel_count - 1] = chan;
+ VECTOR_ENSURE(sd->channels, 1, 1);
+ VECTOR_PUSH(sd->channels, chan);
if (!stealth && (chan->options&HCS_OPT_ANNOUNCE_JOIN)) {
char message[60];
@@ -327,7 +329,7 @@ static void channel_join_sub(struct channel_data *chan, struct map_session_data
}
/* someone is cheating, we kindly disconnect the bastard */
- if (sd->channel_count > 200) {
+ if (VECTOR_LENGTH(sd->channels) > 200) {
sockt->eof(sd->fd);
}
@@ -409,32 +411,16 @@ static enum channel_operation_status channel_join(struct channel_data *chan, str
*/
static void channel_leave_sub(struct channel_data *chan, struct map_session_data *sd)
{
- unsigned char i;
+ int i;
nullpo_retv(chan);
nullpo_retv(sd);
- for (i = 0; i < sd->channel_count; i++) {
- if (sd->channels[i] == chan) {
- sd->channels[i] = NULL;
- break;
- }
- }
- if (i < sd->channel_count) {
- unsigned char cursor = 0;
- for (i = 0; i < sd->channel_count; i++) {
- if (sd->channels[i] == NULL)
- continue;
- if (cursor != i) {
- sd->channels[cursor] = sd->channels[i];
- }
- cursor++;
- }
- if (!(sd->channel_count = cursor)) {
- aFree(sd->channels);
- sd->channels = NULL;
- }
+ ARR_FIND(0, VECTOR_LENGTH(sd->channels), i, VECTOR_INDEX(sd->channels, i) == chan);
+ if (i < VECTOR_LENGTH(sd->channels)) {
+ VECTOR_ERASE(sd->channels, i);
}
}
+
/**
* Leaves a channel.
*
@@ -473,14 +459,9 @@ static void channel_leave(struct channel_data *chan, struct map_session_data *sd
static void channel_quit(struct map_session_data *sd)
{
nullpo_retv(sd);
- while (sd->channel_count > 0) {
+ while (VECTOR_LENGTH(sd->channels) > 0) {
// Loop downward to avoid unnecessary array compactions by channel_leave
- struct channel_data *chan = sd->channels[sd->channel_count-1];
-
- if (chan == NULL) {
- sd->channel_count--;
- continue;
- }
+ struct channel_data *chan = VECTOR_LAST(sd->channels);
channel->leave(chan, sd);
}
@@ -583,13 +564,12 @@ static void channel_guild_leave_alliance(const struct guild *g_source, const str
*/
static void channel_quit_guild(struct map_session_data *sd)
{
- unsigned char i;
-
nullpo_retv(sd);
- for (i = 0; i < sd->channel_count; i++) {
- struct channel_data *chan = sd->channels[i];
+ for (int i = VECTOR_LENGTH(sd->channels) - 1; i >= 0; i--) {
+ // Loop downward to avoid issues when channel->leave() compacts the array
+ struct channel_data *chan = VECTOR_INDEX(sd->channels, i);
- if (chan == NULL || chan->type != HCS_TYPE_ALLY)
+ if (chan->type != HCS_TYPE_ALLY)
continue;
channel->leave(chan, sd);
@@ -622,7 +602,8 @@ static void read_channels_config(void)
irc_autojoin = 0,
irc_flood_protection_rate = 0,
irc_flood_protection_burst = 0,
- irc_flood_protection_enabled = 0;
+ irc_flood_protection_enabled = 0,
+ channel_opt_msg_delay = 10;
if( !libconfig->setting_lookup_string(settings, "map_local_channel_name", &local_name) )
local_name = "map";
@@ -818,6 +799,16 @@ static void read_channels_config(void)
}
}
+ libconfig->setting_lookup_int(settings, "channel_opt_msg_delay", &channel_opt_msg_delay);
+ if (channel_opt_msg_delay < 0) {
+ ShowWarning("channels.conf: channel_opt_msg_delay value '%d' must be from 0-255. Defaulting to 0...\n", channel_opt_msg_delay);
+ channel_opt_msg_delay = 0;
+ } else if (channel_opt_msg_delay > 255) {
+ ShowWarning("channels.conf: channel_opt_msg_delay value '%d' must be from 0-255. Defaulting to 255...\n", channel_opt_msg_delay);
+ channel_opt_msg_delay = 255;
+ }
+ channel->config->channel_opt_msg_delay = channel_opt_msg_delay;
+
ShowStatus("Done reading '"CL_WHITE"%u"CL_RESET"' channels in '"CL_WHITE"%s"CL_RESET"'.\n", db_size(channel->db), config_filename);
}
libconfig->destroy(&channels_conf);
@@ -842,7 +833,6 @@ static void do_final_channel(void)
{
struct DBIterator *iter = db_iterator(channel->db);
struct channel_data *chan;
- unsigned char i;
for( chan = dbi_first(iter); dbi_exists(iter); chan = dbi_next(iter) ) {
channel->delete(chan);
@@ -850,7 +840,7 @@ static void do_final_channel(void)
dbi_destroy(iter);
- for(i = 0; i < channel->config->colors_count; i++) {
+ for (int i = 0; i < channel->config->colors_count; i++) {
aFree(channel->config->colors_name[i]);
}
diff --git a/src/map/channel.h b/src/map/channel.h
index 4ac3c6037..c56227c66 100644
--- a/src/map/channel.h
+++ b/src/map/channel.h
@@ -75,6 +75,7 @@ struct Channel_Config {
char irc_server[40], irc_channel[50], irc_nick[40], irc_nick_pw[30];
unsigned short irc_server_port;
bool irc_use_ghost;
+ int channel_opt_msg_delay;
};
struct channel_ban_entry {
diff --git a/src/map/chat.c b/src/map/chat.c
index d9b642219..b650ff029 100644
--- a/src/map/chat.c
+++ b/src/map/chat.c
@@ -102,7 +102,7 @@ static bool chat_createpcchat(struct map_session_data *sd, const char *title, co
if (sd->chat_id != 0)
return false; //Prevent people abusing the chat system by creating multiple chats, as pointed out by End of Exam. [Skotlex]
- if( sd->state.vending || sd->state.buyingstore )
+ if (sd->state.vending || sd->state.prevend || sd->state.buyingstore)
{// not chat, when you already have a store open
return false;
}
@@ -147,7 +147,7 @@ static bool chat_joinchat(struct map_session_data *sd, int chatid, const char *p
cd = map->id2cd(chatid);
if (cd == NULL || cd->bl.type != BL_CHAT || cd->bl.m != sd->bl.m
- || sd->state.vending || sd->state.buyingstore || sd->chat_id != 0
+ || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->chat_id != 0
|| ((cd->owner->type == BL_NPC) ? cd->users+1 : cd->users) >= cd->limit
) {
clif->joinchatfail(sd,0); // room full
@@ -255,6 +255,14 @@ static int chat_leavechat(struct map_session_data *sd, bool kicked)
}
if( leavechar == 0 && cd->owner->type == BL_PC ) {
+
+ // check if new location are CELL_CHKNOCHAT
+ if (map->getcell(cd->usersd[0]->bl.m, NULL, cd->usersd[0]->bl.x, cd->usersd[0]->bl.y, CELL_CHKNOCHAT)) {
+ for (i = (cd->users - 1); i >= 0; i--)
+ chat->leave(cd->usersd[i], false);
+ return 2;
+ }
+
// Set and announce new owner
cd->owner = &cd->usersd[0]->bl;
clif->changechatowner(cd, cd->usersd[0]);
diff --git a/src/map/chrif.c b/src/map/chrif.c
index 43ea7ebe3..a3277d4c2 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -975,14 +975,14 @@ static bool chrif_divorceack(int char_id, int partner_id)
if( ( sd = map->charid2sd(char_id) ) != NULL && sd->status.partner_id == partner_id ) {
sd->status.partner_id = 0;
- for(i = 0; i < MAX_INVENTORY; i++)
+ for (i = 0; i < sd->status.inventorySize; i++)
if (sd->status.inventory[i].nameid == WEDDING_RING_M || sd->status.inventory[i].nameid == WEDDING_RING_F)
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_DIVORCE);
}
if( ( sd = map->charid2sd(partner_id) ) != NULL && sd->status.partner_id == char_id ) {
sd->status.partner_id = 0;
- for(i = 0; i < MAX_INVENTORY; i++)
+ for (i = 0; i < sd->status.inventorySize; i++)
if (sd->status.inventory[i].nameid == WEDDING_RING_M || sd->status.inventory[i].nameid == WEDDING_RING_F)
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_DIVORCE);
}
@@ -1592,6 +1592,7 @@ static int check_connect_char_server(int tid, int64 tick, int id, intptr_t data)
sockt->session[chrif->fd]->func_parse = chrif->parse;
sockt->session[chrif->fd]->flag.server = 1;
+ sockt->session[chrif->fd]->flag.validate = 0;
sockt->realloc_fifo(chrif->fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
chrif->connect(chrif->fd);
diff --git a/src/map/clif.c b/src/map/clif.c
index 4e48d7886..b93274d3d 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -49,9 +49,11 @@
#include "map/pet.h"
#include "map/quest.h"
#include "map/rodex.h"
+#include "map/refine.h"
#include "map/script.h"
#include "map/skill.h"
#include "map/status.h"
+#include "map/stylist.h"
#include "map/storage.h"
#include "map/trade.h"
#include "map/unit.h"
@@ -65,6 +67,7 @@
#include "common/memmgr.h"
#include "common/mmo.h" // NEW_CARTS, char_achievements
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
@@ -86,13 +89,14 @@ static struct s_packet_db packet_db[MAX_PACKET_DB + 1];
/* re-usable */
static struct packet_itemlist_normal itemlist_normal;
static struct packet_itemlist_equip itemlist_equip;
-static struct packet_storelist_normal storelist_normal;
-static struct packet_storelist_equip storelist_equip;
+static struct ZC_STORE_ITEMLIST_NORMAL storelist_normal;
+static struct ZC_STORE_ITEMLIST_EQUIP storelist_equip;
static struct packet_viewequip_ack viewequip_list;
#if PACKETVER >= 20131223
static struct packet_npc_market_result_ack npcmarket_result;
-static struct packet_npc_market_open npcmarket_open;
#endif
+// temporart buffer for send big packets
+char packet_buf[0xffff];
//#define DUMP_UNKNOWN_PACKET
//#define DUMP_INVALID_PACKET
@@ -428,8 +432,13 @@ static int clif_send_actual(int fd, void *buf, int len)
*------------------------------------------*/
static bool clif_send(const void *buf, int len, struct block_list *bl, enum send_target type)
{
+ if (type != ALL_CLIENT)
+ nullpo_retr(false, bl);
+ nullpo_retr(false, buf);
+ Assert_retr(false, len > 0);
+
int i;
- struct map_session_data *sd, *tsd;
+ struct map_session_data *sd = BL_CAST(BL_PC, bl), *tsd;
struct party_data *p = NULL;
struct guild *g = NULL;
struct battleground_data *bgd = NULL;
@@ -437,11 +446,6 @@ static bool clif_send(const void *buf, int len, struct block_list *bl, enum send
struct s_mapiterator* iter;
int area_size;
- if( type != ALL_CLIENT )
- nullpo_ret(bl);
-
- sd = BL_CAST(BL_PC, bl);
-
if (sd != NULL && pc_isinvisible(sd)) {
if (type == AREA || type == BG || type == BG_AREA)
type = SELF;
@@ -889,7 +893,7 @@ static void clif_clearflooritem(struct flooritem_data *fitem, int fd)
/// 2 = logged out
/// 3 = teleport
/// 4 = trickdead
-static void clif_clearunit_single(int id, clr_type type, int fd)
+static void clif_clearunit_single(int id, enum clr_type type, int fd)
{
WFIFOHEAD(fd, packet_len(0x80));
WFIFOW(fd,0) = 0x80;
@@ -906,7 +910,7 @@ static void clif_clearunit_single(int id, clr_type type, int fd)
/// 2 = logged out
/// 3 = teleport
/// 4 = trickdead
-static void clif_clearunit_area(struct block_list *bl, clr_type type)
+static void clif_clearunit_area(struct block_list *bl, enum clr_type type)
{
unsigned char buf[8];
@@ -935,12 +939,12 @@ static void clif_clearunit_area(struct block_list *bl, clr_type type)
static int clif_clearunit_delayed_sub(int tid, int64 tick, int id, intptr_t data)
{
struct block_list *bl = (struct block_list *)data;
- clif->clearunit_area(bl, (clr_type) id);
+ clif->clearunit_area(bl, (enum clr_type) id);
ers_free(clif->delay_clearunit_ers,bl);
return 0;
}
-static void clif_clearunit_delayed(struct block_list *bl, clr_type type, int64 tick)
+static void clif_clearunit_delayed(struct block_list *bl, enum clr_type type, int64 tick)
{
struct block_list *tbl;
@@ -1115,7 +1119,7 @@ static void clif_set_unit_idle(struct block_list *bl, struct map_session_data *t
p.head = vd->hair_style;
p.weapon = vd->weapon;
p.accessory = vd->head_bottom;
-#if PACKETVER < 7 || PACKETVER_RE_NUM >= 20180704
+#if PACKETVER < 7 || PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
p.shield = vd->shield;
#endif
p.accessory2 = vd->head_top;
@@ -1272,7 +1276,7 @@ static void clif_spawn_unit(struct block_list *bl, enum send_target target)
p.head = vd->hair_style;
p.weapon = vd->weapon;
p.accessory = vd->head_bottom;
-#if PACKETVER < 7 || PACKETVER_RE_NUM >= 20180704
+#if PACKETVER < 7 || PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
p.shield = vd->shield;
#endif
p.accessory2 = vd->head_top;
@@ -1381,7 +1385,7 @@ static void clif_set_unit_walking(struct block_list *bl, struct map_session_data
p.weapon = vd->weapon;
p.accessory = vd->head_bottom;
p.moveStartTime = (unsigned int)timer->gettick();
-#if PACKETVER < 7 || PACKETVER_RE_NUM >= 20180704
+#if PACKETVER < 7 || PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
p.shield = vd->shield;
#endif
p.accessory2 = vd->head_top;
@@ -1626,6 +1630,7 @@ static bool clif_spawn(struct block_list *bl)
/// 022e <name>.24B <modified>.B <level>.W <hunger>.W <intimacy>.W <equip id>.W <atk>.W <matk>.W <hit>.W <crit>.W <def>.W <mdef>.W <flee>.W <aspd>.W <hp>.W <max hp>.W <sp>.W <max sp>.W <exp>.L <max exp>.L <skill points>.W <atk range>.W
static void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int flag)
{
+#if PACKETVER_MAIN_NUM >= 20101005 || PACKETVER_RE_NUM >= 20080827 || defined(PACKETVER_ZERO)
struct status_data *hstatus;
enum homun_type htype;
struct PACKET_ZC_PROPERTY_HOMUN p;
@@ -1637,7 +1642,7 @@ static void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int
htype = homun->class2type(hd->homunculus.class_);
memset(&p, 0, sizeof(p));
- p.packetType = hominfoType;
+ p.packetType = HEADER_ZC_PROPERTY_HOMUN;
memcpy(p.name, hd->homunculus.name, NAME_LENGTH);
// Bit field, bit 0 : rename_flag (1 = already renamed), bit 1 : homunc vaporized (1 = true), bit 2 : homunc dead (1 = true)
p.flags = (!battle_config.hom_rename && hd->homunculus.rename_flag ? 0x1 : 0x0) | (hd->homunculus.vaporize == HOM_ST_REST ? 0x2 : 0) | (hd->homunculus.hp > 0 ? 0x4 : 0);
@@ -1703,6 +1708,7 @@ static void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int
p.skillPoints = hd->homunculus.skillpts;
p.range = status_get_range(&hd->bl);
clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
}
/// Notification about a change in homunuculus' state (ZC_CHANGESTATE_MER).
@@ -2159,14 +2165,14 @@ static void clif_buylist(struct map_session_data *sd, struct npc_data *nd)
/// 00c7 <packet len>.W { <index>.W <price>.L <overcharge price>.L }*
static void clif_selllist(struct map_session_data *sd)
{
- int fd,i,c=0,val;
+ int c = 0, val;
nullpo_retv(sd);
- fd=sd->fd;
- WFIFOHEAD(fd, MAX_INVENTORY * 10 + 4);
+ int fd = sd->fd;
+ WFIFOHEAD(fd, sd->status.inventorySize * 10 + 4);
WFIFOW(fd,0)=0xc7;
- for( i = 0; i < MAX_INVENTORY; i++ )
+ for (int i = 0; i < sd->status.inventorySize; i++)
{
if( sd->status.inventory[i].nameid > 0 && sd->inventory_data[i] )
{
@@ -2215,6 +2221,8 @@ static void clif_scriptmes(struct map_session_data *sd, int npcid, const char *m
slen = (int)strlen(mes) + 9;
Assert_retv(slen <= INT16_MAX);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
sd->state.dialog = 1;
WFIFOHEAD(fd, slen);
@@ -2251,6 +2259,8 @@ static void clif_scriptnext(struct map_session_data *sd, int npcid)
nullpo_retv(sd);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0xb5));
WFIFOW(fd,0)=0xb5;
@@ -2279,6 +2289,8 @@ static void clif_scriptclose(struct map_session_data *sd, int npcid)
nullpo_retv(sd);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0xb6));
WFIFOW(fd,0)=0xb6;
@@ -2350,6 +2362,8 @@ static void clif_scriptmenu(struct map_session_data *sd, int npcid, const char *
bl->y<sd->bl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1))))
clif->sendfakenpc(sd, npcid);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
WFIFOHEAD(fd, slen);
WFIFOW(fd,0) = 0xb7;
WFIFOW(fd,2) = slen;
@@ -2381,6 +2395,8 @@ static void clif_scriptinput(struct map_session_data *sd, int npcid)
bl->y<sd->bl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1))))
clif->sendfakenpc(sd, npcid);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0x142));
WFIFOW(fd,0)=0x142;
@@ -2411,6 +2427,8 @@ static void clif_scriptinputstr(struct map_session_data *sd, int npcid)
bl->y<sd->bl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1))))
clif->sendfakenpc(sd, npcid);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0x1d4));
WFIFOW(fd,0)=0x1d4;
@@ -2581,7 +2599,7 @@ static void clif_additem(struct map_session_data *sd, int n, int amount, int fai
p.count = amount;
if( !fail ) {
- if( n < 0 || n >= MAX_INVENTORY || sd->status.inventory[n].nameid <=0 || sd->inventory_data[n] == NULL )
+ if (n < 0 || n >= sd->status.inventorySize || sd->status.inventory[n].nameid <= 0 || sd->inventory_data[n] == NULL)
return;
if (sd->inventory_data[n]->view_id > 0)
@@ -2641,7 +2659,7 @@ static void clif_item_movefailed(struct map_session_data *sd, int n)
WFIFOHEAD(fd, len);
struct PACKET_ZC_INVENTORY_MOVE_FAILED *p = WFIFOP(fd, 0);
p->packetType = 0xaa7;
- p->index = n;
+ p->index = n + 2;
p->unknown = 1;
WFIFOSET(fd, len);
#else
@@ -2787,12 +2805,23 @@ static void clif_item_normal(short idx, struct NORMALITEM_INFO *p, struct item *
#endif
}
-static void clif_inventorylist(struct map_session_data *sd)
+static void clif_inventoryList(struct map_session_data *sd)
+{
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ clif->inventoryStart(sd, INVTYPE_INVENTORY, "");
+#endif
+ clif->inventoryItems(sd, INVTYPE_INVENTORY);
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ clif->inventoryEnd(sd, INVTYPE_INVENTORY);
+#endif
+}
+
+static void clif_inventoryItems(struct map_session_data *sd, enum inventory_type type)
{
int i, normal = 0, equip = 0;
nullpo_retv(sd);
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL )
continue;
@@ -2802,9 +2831,12 @@ static void clif_inventorylist(struct map_session_data *sd)
clif->item_normal(i+2,&itemlist_normal.list[normal++],&sd->status.inventory[i],sd->inventory_data[i]);
}
- if( normal ) {
- itemlist_normal.PacketType = inventorylistnormalType;
- itemlist_normal.PacketLength = 4 + (sizeof(struct NORMALITEM_INFO) * normal);
+ if (normal) {
+ itemlist_normal.PacketType = inventorylistnormalType;
+ itemlist_normal.PacketLength = (sizeof(itemlist_normal) - sizeof(itemlist_normal.list)) + (sizeof(struct NORMALITEM_INFO) * normal);
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ itemlist_normal.invType = type;
+#endif
clif->send(&itemlist_normal, itemlist_normal.PacketLength, &sd->bl, SELF);
}
@@ -2814,13 +2846,16 @@ static void clif_inventorylist(struct map_session_data *sd)
if( equip ) {
itemlist_equip.PacketType = inventorylistequipType;
- itemlist_equip.PacketLength = 4 + (sizeof(struct EQUIPITEM_INFO) * equip);
+ itemlist_equip.PacketLength = (sizeof(itemlist_equip) - sizeof(itemlist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip);
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ itemlist_equip.invType = type;
+#endif
clif->send(&itemlist_equip, itemlist_equip.PacketLength, &sd->bl, SELF);
}
/* on 20120925 onwards this is a field on clif_item_equip/normal */
#if PACKETVER >= 20111122 && PACKETVER < 20120925
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL )
continue;
@@ -2830,13 +2865,25 @@ static void clif_inventorylist(struct map_session_data *sd)
#endif
}
+static void clif_equipList(struct map_session_data *sd)
+{
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ clif->inventoryStart(sd, INVTYPE_INVENTORY, "");
+ clif->inventoryItems(sd, INVTYPE_INVENTORY);
+ clif->inventoryEnd(sd, INVTYPE_INVENTORY);
+#else
+ // [4144] for old packet version it send only equipment. this is bug?
+ clif->equipItems(sd, INVTYPE_INVENTORY);
+#endif
+}
+
//Required when items break/get-repaired. Only sends equippable item list.
-static void clif_equiplist(struct map_session_data *sd)
+static void clif_equipItems(struct map_session_data *sd, enum inventory_type type)
{
int i, equip = 0;
nullpo_retv(sd);
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL )
continue;
@@ -2844,16 +2891,19 @@ static void clif_equiplist(struct map_session_data *sd)
clif->item_equip(i+2,&itemlist_equip.list[equip++],&sd->status.inventory[i],sd->inventory_data[i],pc->equippoint(sd,i));
}
- if( equip ) {
- itemlist_equip.PacketType = inventorylistequipType;
- itemlist_equip.PacketLength = 4 + (sizeof(struct EQUIPITEM_INFO) * equip);
+ if (equip) {
+ itemlist_equip.PacketType = inventorylistequipType;
+ itemlist_equip.PacketLength = (sizeof(itemlist_equip) - sizeof(itemlist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip);
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ itemlist_equip.invType = type;
+#endif
clif->send(&itemlist_equip, itemlist_equip.PacketLength, &sd->bl, SELF);
}
/* on 20120925 onwards this is a field on clif_item_equip */
#if PACKETVER >= 20111122 && PACKETVER < 20120925
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL )
continue;
@@ -2863,56 +2913,157 @@ static void clif_equiplist(struct map_session_data *sd)
#endif
}
-static void clif_storagelist(struct map_session_data *sd, struct item *items, int items_length)
+static void clif_storageList(struct map_session_data *sd, struct item *items, int items_length)
{
- int i = 0;
- struct item_data *id;
+ nullpo_retv(sd);
+ clif->inventoryStart(sd, INVTYPE_STORAGE, "Storage");
+ if (sd->storage.aggregate > 0)
+ clif->storageItems(sd, INVTYPE_STORAGE, items, items_length);
+ clif->inventoryEnd(sd, INVTYPE_STORAGE);
+}
+
+static void clif_guildStorageList(struct map_session_data *sd, struct item *items, int items_length)
+{
+ clif->inventoryStart(sd, INVTYPE_GUILD_STORAGE, "Guild storage");
+ clif->storageItems(sd, INVTYPE_GUILD_STORAGE, items, items_length);
+ clif->inventoryEnd(sd, INVTYPE_GUILD_STORAGE);
+}
+
+static void clif_inventoryStart(struct map_session_data *sd, enum inventory_type type, const char *name)
+{
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
nullpo_retv(sd);
- nullpo_retv(items);
- do {
- int normal = 0, equip = 0, k = 0;
+ nullpo_retv(name);
- for( ; i < items_length && k < 500; i++, k++ ) {
+ char buf[sizeof(struct ZC_INVENTORY_START) + 24];
+ memset(buf, 0, sizeof(buf));
+ struct ZC_INVENTORY_START *p = (struct ZC_INVENTORY_START *)buf;
+ p->packetType = 0xb08;
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ p->invType = type;
+#endif
+#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ int strLen = (int)safestrnlen(name, 24) + 1;
+ if (strLen > 24)
+ strLen = 24;
+ const int len = sizeof(struct ZC_INVENTORY_START) + strLen;
+ p->packetLength = len;
+ safestrncpy(p->name, name, strLen);
+#else
+ const int len = sizeof(struct ZC_INVENTORY_START);
+ safestrncpy(p->name, name, NAME_LENGTH);
+#endif
+ clif->send(p, len, &sd->bl, SELF);
+#endif
+}
- if( items[i].nameid <= 0 )
- continue;
+static void clif_inventoryEnd(struct map_session_data *sd, enum inventory_type type)
+{
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ nullpo_retv(sd);
+
+ struct ZC_INVENTORY_END p;
+ p.packetType = 0xb0b;
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ p.invType = type;
+#endif
+ p.flag = 0;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
- id = itemdb->search(items[i].nameid);
+static void clif_storageItems(struct map_session_data *sd, enum inventory_type type, struct item *items, int items_length)
+{
+ nullpo_retv(sd);
+ nullpo_retv(items);
- if( !itemdb->isstackable2(id) ) //Non-stackable (Equippable)
- clif->item_equip(i+1,&storelist_equip.list[equip++],&items[i],id,id->equip);
- else //Stackable (Normal)
- clif->item_normal(i+1,&storelist_normal.list[normal++],&items[i],id);
- }
+ int normal_count = 0, equip_count = 0;
+ for (int i = 0; i < items_length; ++i) {
+ if (items[i].nameid == 0)
+ continue;
- if( normal ) {
- storelist_normal.PacketType = storagelistnormalType;
- storelist_normal.PacketLength = ( sizeof( storelist_normal ) - sizeof( storelist_normal.list ) ) + (sizeof(struct NORMALITEM_INFO) * normal);
+ struct item_data *itd = itemdb->search(items[i].nameid);
-#if PACKETVER >= 20120925
+ if (!itemdb->isstackable2(itd))
+ clif->item_equip(i + 1, &storelist_equip.list[equip_count++], &items[i], itd, itd->equip);
+ else
+ clif->item_normal(i + 1, &storelist_normal.list[normal_count++], &items[i], itd);
+
+ if (normal_count > 0 && (normal_count == MAX_STORAGE_ITEM_PACKET_NORMAL || i + 1 == items_length)) {
+ storelist_normal.PacketType = storageListNormalType;
+ storelist_normal.PacketLength = (sizeof(storelist_normal) - sizeof(storelist_normal.list)) + (sizeof(struct NORMALITEM_INFO) * normal_count);
+
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ storelist_normal.invType = type;
+#endif
+#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002
safestrncpy(storelist_normal.name, "Storage", NAME_LENGTH);
#endif
clif->send(&storelist_normal, storelist_normal.PacketLength, &sd->bl, SELF);
+ normal_count = 0;
}
- if( equip ) {
- storelist_equip.PacketType = storagelistequipType;
- storelist_equip.PacketLength = ( sizeof( storelist_equip ) - sizeof( storelist_equip.list ) ) + (sizeof(struct EQUIPITEM_INFO) * equip);
+ if (equip_count > 0 && (equip_count == MAX_STORAGE_ITEM_PACKET_EQUIP || i + 1 == items_length)) {
+ storelist_equip.PacketType = storageListEquipType;
+ storelist_equip.PacketLength = (sizeof(storelist_equip) - sizeof(storelist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip_count);
-#if PACKETVER >= 20120925
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ storelist_equip.invType = type;
+#endif
+#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002
safestrncpy(storelist_equip.name, "Storage", NAME_LENGTH);
#endif
clif->send(&storelist_equip, storelist_equip.PacketLength, &sd->bl, SELF);
+ equip_count = 0;
}
+ }
- } while ( i < items_length );
+ if (normal_count > 0) {
+ storelist_normal.PacketType = storageListNormalType;
+ storelist_normal.PacketLength = (sizeof(storelist_normal) - sizeof(storelist_normal.list)) + (sizeof(struct NORMALITEM_INFO) * normal_count);
+
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ storelist_normal.invType = type;
+#endif
+#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002
+ safestrncpy(storelist_normal.name, "Storage", NAME_LENGTH);
+#endif
+
+ clif->send(&storelist_normal, storelist_normal.PacketLength, &sd->bl, SELF);
+ normal_count = 0;
+ }
+ if (equip_count > 0) {
+ storelist_equip.PacketType = storageListEquipType;
+ storelist_equip.PacketLength = (sizeof(storelist_equip) - sizeof(storelist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip_count);
+
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ storelist_equip.invType = type;
+#endif
+#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002
+ safestrncpy(storelist_equip.name, "Storage", NAME_LENGTH);
+#endif
+
+ clif->send(&storelist_equip, storelist_equip.PacketLength, &sd->bl, SELF);
+ equip_count = 0;
+ }
}
-static void clif_cartlist(struct map_session_data *sd)
+static void clif_cartList(struct map_session_data *sd)
+{
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ clif->inventoryStart(sd, INVTYPE_CART, "");
+#endif
+ clif->cartItems(sd, INVTYPE_CART);
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ clif->inventoryEnd(sd, INVTYPE_CART);
+#endif
+}
+
+static void clif_cartItems(struct map_session_data *sd, enum inventory_type type)
{
int i, normal = 0, equip = 0;
struct item_data *id;
@@ -2930,21 +3081,142 @@ static void clif_cartlist(struct map_session_data *sd)
clif->item_normal(i+2,&itemlist_normal.list[normal++],&sd->status.cart[i],id);
}
- if( normal ) {
- itemlist_normal.PacketType = cartlistnormalType;
- itemlist_normal.PacketLength = 4 + (sizeof(struct NORMALITEM_INFO) * normal);
+ if (normal) {
+ itemlist_normal.PacketType = cartlistnormalType;
+ itemlist_normal.PacketLength = (sizeof(itemlist_normal) - sizeof(itemlist_normal.list)) + (sizeof(struct NORMALITEM_INFO) * normal);
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ itemlist_normal.invType = type;
+#endif
clif->send(&itemlist_normal, itemlist_normal.PacketLength, &sd->bl, SELF);
}
- if( equip ) {
- itemlist_equip.PacketType = cartlistequipType;
- itemlist_equip.PacketLength = 4 + (sizeof(struct EQUIPITEM_INFO) * equip);
+ if (equip) {
+ itemlist_equip.PacketType = cartlistequipType;
+ itemlist_equip.PacketLength = (sizeof(itemlist_equip) - sizeof(itemlist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip);
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ itemlist_equip.invType = type;
+#endif
clif->send(&itemlist_equip, itemlist_equip.PacketLength, &sd->bl, SELF);
}
}
+static void clif_inventoryExpansionInfo(struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+ nullpo_retv(sd);
+
+ const int fd = sd->fd;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_INVENTORY_EXPANSION_INFO));
+ struct PACKET_ZC_INVENTORY_EXPANSION_INFO *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_INVENTORY_EXPANSION_INFO;
+ p->expansionSize = sd->status.inventorySize - FIXED_INVENTORY_SIZE;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_INVENTORY_EXPANSION_INFO));
+#endif
+}
+
+static void clif_inventoryExpandAck(struct map_session_data *sd, enum expand_inventory result, int itemId)
+{
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+ nullpo_retv(sd);
+
+ const int fd = sd->fd;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_ACK_INVENTORY_EXPAND));
+ struct PACKET_ZC_ACK_INVENTORY_EXPAND *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_ACK_INVENTORY_EXPAND;
+ p->result = result;
+ p->itemId = itemId;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_ACK_INVENTORY_EXPAND));
+#endif
+}
+
+static void clif_inventoryExpandResult(struct map_session_data *sd, enum expand_inventory_result result)
+{
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+ nullpo_retv(sd);
+
+ const int fd = sd->fd;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_ACK_INVENTORY_EXPAND_RESULT));
+ struct PACKET_ZC_ACK_INVENTORY_EXPAND_RESULT *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_ACK_INVENTORY_EXPAND_RESULT;
+ p->result = result;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_ACK_INVENTORY_EXPAND_RESULT));
+#endif
+}
+
+static void clif_parse_inventoryExpansion(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_inventoryExpansion(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+ if (pc_isdead(sd) || pc_cant_act(sd)) {
+ clif->inventoryExpandAck(sd, EXPAND_INVENTORY_OTHER_WORK, 0);
+ return;
+ }
+ if (sd->status.inventorySize == MAX_INVENTORY) {
+ clif->inventoryExpandAck(sd, EXPAND_INVENTORY_MAX_SIZE, 0);
+ return;
+ }
+
+ char evname[EVENT_NAME_LENGTH];
+ struct event_data *ev = NULL;
+
+ safestrncpy(evname, "inventory_expansion::OnInvExpandRequest", EVENT_NAME_LENGTH);
+ if ((ev = strdb_get(npc->ev_db, evname))) {
+ script->run_npc(ev->nd->u.scr.script, ev->pos, sd->bl.id, ev->nd->bl.id);
+ } else {
+ ShowError("clif_parse_inventoryExpansion: event '%s' not found, operation failed.\n", evname);
+ }
+#endif
+}
+
+static void clif_parse_inventoryExpansionConfirmed(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_inventoryExpansionConfirmed(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+ if (pc_isdead(sd) || pc_cant_act(sd)) {
+ clif->inventoryExpandResult(sd, EXPAND_INVENTORY_RESULT_OTHER_WORK);
+ return;
+ }
+ if (sd->status.inventorySize == MAX_INVENTORY) {
+ clif->inventoryExpandResult(sd, EXPAND_INVENTORY_RESULT_MAX_SIZE);
+ return;
+ }
+
+ char evname[EVENT_NAME_LENGTH];
+ struct event_data *ev = NULL;
+
+ safestrncpy(evname, "inventory_expansion::OnInvExpandConfirmed", EVENT_NAME_LENGTH);
+ if ((ev = strdb_get(npc->ev_db, evname))) {
+ script->run_npc(ev->nd->u.scr.script, ev->pos, sd->bl.id, ev->nd->bl.id);
+ } else {
+ ShowError("clif_parse_inventoryExpansionConfirmed: event '%s' not found, operation failed.\n", evname);
+ }
+#endif
+}
+
+static void clif_parse_inventoryExpansionRejected(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_inventoryExpansionRejected(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+ char evname[EVENT_NAME_LENGTH];
+ struct event_data *ev = NULL;
+
+ safestrncpy(evname, "inventory_expansion::OnInvExpandRejected", EVENT_NAME_LENGTH);
+ if ((ev = strdb_get(npc->ev_db, evname))) {
+ script->run_npc(ev->nd->u.scr.script, ev->pos, sd->bl.id, ev->nd->bl.id);
+ } else {
+ ShowError("clif_parse_inventoryExpansionRejected: event '%s' not found, operation failed.\n", evname);
+ }
+#endif
+}
+
+// CZ_REQ_REMAINTIME
+static void clif_parse_reqRemainTime(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_reqRemainTime(int fd, struct map_session_data *sd)
+{
+}
+
/// Removes cart (ZC_CARTOFF).
/// 012b
/// Client behavior:
@@ -3128,7 +3400,12 @@ static void clif_updatestatus(struct map_session_data *sd, int type)
WFIFOL(fd,4)=sd->battle_status.max_sp;
break;
case SP_HP:
- WFIFOL(fd,4)=sd->battle_status.hp;
+ if (sd->battle_status.hp == 0 && battle_config.display_fake_hp_when_dead) {
+ // On official servers, the HP displayed when dead is the HP that the character will have at respawn.
+ WFIFOL(fd, 4) = status->get_restart_hp(sd, &sd->battle_status);
+ } else {
+ WFIFOL(fd, 4) = sd->battle_status.hp;
+ }
break;
case SP_SP:
WFIFOL(fd,4)=sd->battle_status.sp;
@@ -3702,6 +3979,7 @@ static void clif_equipitemack(struct map_session_data *sd, int n, int pos, enum
p.index = n+2;
p.wearLocation = pos;
#if PACKETVER >= 20100629
+ Assert_retv(n >= 0 && n < sd->status.inventorySize);
if (result == EIA_SUCCESS && sd->inventory_data[n]->equip&EQP_VISIBLE)
p.wItemSpriteNumber = sd->inventory_data[n]->view_sprite;
else
@@ -3843,7 +4121,7 @@ static void clif_useitemack(struct map_session_data *sd, int index, int amount,
nullpo_retv(sd);
- if (index < 0 || index >= MAX_INVENTORY)
+ if (index < 0 || index >= sd->status.inventorySize)
return;
fd = sd->fd;
@@ -4065,22 +4343,25 @@ static void clif_addchat(struct chat_data *cd, struct map_session_data *sd)
/// role:
/// 0 = owner (menu)
/// 1 = normal
-static void clif_changechatowner(struct chat_data *cd, struct map_session_data *sd)
+static void clif_chatRoleChange(struct chat_data *cd, struct map_session_data *sd, struct block_list* bl, int isNotOwner)
{
- unsigned char buf[64];
-
nullpo_retv(sd);
- nullpo_retv(cd);
+ nullpo_retv(bl);
+ struct PACKET_ZC_ROLE_CHANGE p;
- WBUFW(buf, 0) = 0xe1;
- WBUFL(buf, 2) = 1;
- memcpy(WBUFP(buf,6),cd->usersd[0]->status.name,NAME_LENGTH);
+ p.packetType = HEADER_ZC_ROLE_CHANGE;
+ p.flag = isNotOwner;
+ memcpy(&p.name, sd->status.name, NAME_LENGTH);
+ clif->send(&p, sizeof(struct PACKET_ZC_ROLE_CHANGE), bl, CHAT);
+}
- WBUFW(buf,30) = 0xe1;
- WBUFL(buf,32) = 0;
- memcpy(WBUFP(buf,36),sd->status.name,NAME_LENGTH);
+static void clif_changechatowner(struct chat_data *cd, struct map_session_data *sd)
+{
+ nullpo_retv(sd);
+ nullpo_retv(cd);
- clif->send(buf,packet_len(0xe1)*2,&sd->bl,CHAT);
+ clif->chatRoleChange(cd, cd->usersd[0], &sd->bl, 1);
+ clif->chatRoleChange(cd, sd, &sd->bl, 0);
}
/// Notify about user leaving the chatroom (ZC_MEMBER_EXIT).
@@ -4192,7 +4473,7 @@ static void clif_tradeadditem(struct map_session_data *sd, struct map_session_da
if (index != 0)
{
index -= 2; //index fix
- Assert_retv(index >= 0 && index < MAX_INVENTORY);
+ Assert_retv(index >= 0 && index < sd->status.inventorySize);
if(sd->inventory_data[index] && sd->inventory_data[index]->view_id > 0)
p.itemId = sd->inventory_data[index]->view_id;
else
@@ -4788,9 +5069,8 @@ static void clif_getareachar_skillunit(struct block_list *bl, struct skill_unit
p.xPos = su->bl.x;
p.yPos = su->bl.y;
- //Use invisible unit id for traps.
- if ((battle_config.traps_setting&1 && skill->get_inf2(su->group->skill_id)&INF2_TRAP) ||
- (skill->get_unit_flag(su->group->skill_id) & UF_RANGEDSINGLEUNIT && !(su->val2 & UF_RANGEDSINGLEUNIT)))
+ // Use invisible unit id for some ground skills.
+ if (skill->get_unit_flag(su->group->skill_id) & UF_RANGEDSINGLEUNIT && !(su->val2 & UF_RANGEDSINGLEUNIT))
p.job = UNT_DUMMYSKILL;
else
p.job = su->group->unit_id;
@@ -4799,7 +5079,7 @@ static void clif_getareachar_skillunit(struct block_list *bl, struct skill_unit
p.RadiusRange = (unsigned char)su->range;
#endif
- p.isVisible = 1;
+ p.isVisible = su->visible;
#if PACKETVER >= 20130731
p.level = (unsigned char)su->group->skill_lv;
@@ -5164,32 +5444,31 @@ static void clif_skillinfo(struct map_session_data *sd, int skill_id, int inf)
/// 1 = no text
static void clif_useskill(struct block_list *bl, int src_id, int dst_id, int dst_x, int dst_y, uint16 skill_id, uint16 skill_lv, int casttime)
{
-#if PACKETVER < 20091124
- const int cmd = 0x13e;
-#else
- const int cmd = 0x7fb;
-#endif
- unsigned char buf[32];
- int property = skill->get_ele(skill_id, skill_lv);
+ nullpo_retv(bl);
- WBUFW(buf,0) = cmd;
- WBUFL(buf,2) = src_id;
- WBUFL(buf,6) = dst_id;
- WBUFW(buf,10) = dst_x;
- WBUFW(buf,12) = dst_y;
- WBUFW(buf,14) = skill_id;
- WBUFL(buf,16) = property<0?0:property; //Avoid sending negatives as element [Skotlex]
- WBUFL(buf,20) = casttime;
-#if PACKETVER >= 20091124
- WBUFB(buf,24) = 0; // isDisposable
+ const int element = skill->get_ele(skill_id, skill_lv);
+ struct PACKET_ZC_USESKILL_ACK p;
+ p.packetType = HEADER_ZC_USESKILL_ACK;
+ p.srcId = src_id;
+ p.dstId = dst_id;
+ p.x = dst_x;
+ p.y = dst_y;
+ p.skillId = skill_id;
+ p.element = element < 0 ? 0 : element; //Avoid sending negatives as element [Skotlex]
+ p.delayTime = casttime;
+#if PACKETVER_MAIN_NUM >= 20091124 || PACKETVER_RE_NUM >= 20091124 || defined(PACKETVER_ZERO)
+ p.disposable = 0;
+#endif
+#if PACKETVER_MAIN_NUM >= 20181212 || PACKETVER_RE_NUM >= 20181212 || PACKETVER_ZERO_NUM >= 20190130
+ p.unknown = 0;
#endif
if (clif->isdisguised(bl)) {
- clif->send(buf,packet_len(cmd), bl, AREA_WOS);
- WBUFL(buf,2) = -src_id;
- clif->send(buf,packet_len(cmd), bl, SELF);
+ clif->send(&p, sizeof(p), bl, AREA_WOS);
+ p.srcId = -src_id;
+ clif->send(&p, sizeof(p), bl, SELF);
} else {
- clif->send(buf,packet_len(cmd), bl, AREA);
+ clif->send(&p, sizeof(p), bl, AREA);
}
#if PACKETVER >= 20151223
if ((skill->get_inf2(skill_id) & INF2_SHOW_SKILL_SCALE) != 0)
@@ -5530,7 +5809,7 @@ static void clif_skill_warppoint(struct map_session_data *sd, uint16 skill_id, u
nullpo_retv(sd);
fd = sd->fd;
#if PACKETVER_MAIN_NUM >= 20170502 || PACKETVER_RE_NUM >= 20170419 || defined(PACKETVER_ZERO)
- len = sizeof(struct PACKET_ZC_WARPLIST) + sizeof(struct PACKET_ZC_WARPLIST_sub) * mapsCount;
+ len = sizeof(struct PACKET_ZC_WARPLIST) + sizeof(struct PACKET_ZC_WARPLIST_sub) * 6;
#else
len = sizeof(struct PACKET_ZC_WARPLIST);
#endif
@@ -6255,10 +6534,10 @@ static void clif_use_card(struct map_session_data *sd, int idx)
if (!pc->can_insert_card(sd, idx))
return;
- WFIFOHEAD(fd, MAX_INVENTORY * 2 + 4);
+ WFIFOHEAD(fd, sd->status.inventorySize * 2 + 4);
WFIFOW(fd, 0) = 0x17b;
- for (i = c = 0; i < MAX_INVENTORY; i++) {
+ for (i = c = 0; i < sd->status.inventorySize; i++) {
if (!pc->can_insert_card_into(sd, idx, i))
continue;
WFIFOW(fd, 4 + c * 2) = i + 2;
@@ -6302,9 +6581,9 @@ static void clif_item_identify_list(struct map_session_data *sd)
fd=sd->fd;
- WFIFOHEAD(fd,MAX_INVENTORY * 2 + 4);
+ WFIFOHEAD(fd, sd->status.inventorySize * 2 + 4);
WFIFOW(fd,0)=0x177;
- for(i=c=0;i<MAX_INVENTORY;i++){
+ for (i = c = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid > 0 && !sd->status.inventory[i].identify){
WFIFOW(fd,c*2+4)=i+2;
c++;
@@ -6349,11 +6628,11 @@ static void clif_item_repair_list(struct map_session_data *sd, struct map_sessio
fd = sd->fd;
- len = MAX_INVENTORY * sizeof(struct PACKET_ZC_REPAIRITEMLIST_sub) + sizeof(struct PACKET_ZC_REPAIRITEMLIST);
+ len = dstsd->status.inventorySize * sizeof(struct PACKET_ZC_REPAIRITEMLIST_sub) + sizeof(struct PACKET_ZC_REPAIRITEMLIST);
WFIFOHEAD(fd, len);
p = WFIFOP(fd, 0);
p->packetType = 0x1fc;
- for (i = c = 0; i < MAX_INVENTORY; i++) {
+ for (i = c = 0; i < sd->status.inventorySize; i++) {
int nameid = dstsd->status.inventory[i].nameid;
if (nameid > 0 && (dstsd->status.inventory[i].attribute & ATTR_BROKEN) != 0) { // && skill_can_repair(sd,nameid)) {
p->items[c].index = i;
@@ -6429,11 +6708,11 @@ static void clif_item_refine_list(struct map_session_data *sd)
skill_lv = pc->checkskill(sd, WS_WEAPONREFINE);
fd = sd->fd;
- len = MAX_INVENTORY * sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST_sub) + sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST);
+ len = sd->status.inventorySize * sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST_sub) + sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST);
WFIFOHEAD(fd, len);
p = WFIFOP(fd, 0);
p->packetType = 0x221;
- for (i = c = 0; i < MAX_INVENTORY; i++) {
+ for (i = c = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].identify
&& itemdb_wlv(sd->status.inventory[i].nameid) >= 1
&& !sd->inventory_data[i]->flag.no_refine
@@ -6878,7 +7157,7 @@ static void clif_party_job_and_level(struct map_session_data *sd)
WBUFW(buf, 6) = sd->status.class;
WBUFW(buf, 8) = sd->status.base_level;
- clif_send(buf, packet_len(0xabd), &sd->bl, PARTY);
+ clif->send(buf, packet_len(0xabd), &sd->bl, PARTY);
#endif
}
@@ -6889,14 +7168,17 @@ static void clif_party_job_and_level(struct map_session_data *sd)
/// 1 = auto-deny party invites
static void clif_partyinvitationstate(struct map_session_data *sd)
{
+#if PACKETVER_MAIN_NUM >= 20070911 || defined(PACKETVER_RE) || PACKETVER_AD_NUM >= 20070911 || PACKETVER_SAK_NUM >= 20070904 || defined(PACKETVER_ZERO)
int fd;
nullpo_retv(sd);
fd = sd->fd;
- WFIFOHEAD(fd, packet_len(0x2c9));
- WFIFOW(fd, 0) = 0x2c9;
- WFIFOB(fd, 2) = sd->status.allow_party ? 1 : 0;
- WFIFOSET(fd, packet_len(0x2c9));
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_PARTY_CONFIG));
+ struct PACKET_ZC_PARTY_CONFIG *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_PARTY_CONFIG;
+ p->denyPartyInvites = sd->status.allow_party ? 1 : 0;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_PARTY_CONFIG));
+#endif
}
/// Party invitation request.
@@ -7263,9 +7545,9 @@ static void clif_sendegg(struct map_session_data *sd)
return;
}
- WFIFOHEAD(fd, MAX_INVENTORY * 2 + 4);
+ WFIFOHEAD(fd, sd->status.inventorySize * 2 + 4);
WFIFOW(fd,0) = 0x1a6;
- for (i = n = 0; i < MAX_INVENTORY; i++) {
+ for (i = n = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL || sd->inventory_data[i]->type!=IT_PETEGG || sd->status.inventory[i].amount <= 0)
continue;
WFIFOW(fd, n * 2 + 4) = i + 2;
@@ -7387,46 +7669,47 @@ static void clif_pet_food(struct map_session_data *sd, int foodid, int fail)
/// 01cd { <skill id>.L }*7
static void clif_autospell(struct map_session_data *sd, uint16 skill_lv)
{
- int fd;
-
+#if PACKETVER_MAIN_NUM >= 20090406 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) || PACKETVER_SAK_NUM >= 20080618
nullpo_retv(sd);
- fd=sd->fd;
- WFIFOHEAD(fd,packet_len(0x1cd));
- WFIFOW(fd, 0)=0x1cd;
+ int fd = sd->fd;
+#if PACKETVER_MAIN_NUM >= 20181128 || PACKETVER_RE_NUM >= 20181031
+ // reserve space for 7 skills
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_AUTOSPELLLIST) + 4 * 7);
+#else
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_AUTOSPELLLIST));
+#endif
+ struct PACKET_ZC_AUTOSPELLLIST *p = WFIFOP(fd, 0);
+ memset(p, 0, sizeof(struct PACKET_ZC_AUTOSPELLLIST));
+ p->packetType = HEADER_ZC_AUTOSPELLLIST;
+ int index = 0;
- if(skill_lv>0 && pc->checkskill(sd,MG_NAPALMBEAT)>0)
- WFIFOL(fd,2)= MG_NAPALMBEAT;
- else
- WFIFOL(fd,2)= 0x00000000;
- if(skill_lv>1 && pc->checkskill(sd,MG_COLDBOLT)>0)
- WFIFOL(fd,6)= MG_COLDBOLT;
- else
- WFIFOL(fd,6)= 0x00000000;
- if(skill_lv>1 && pc->checkskill(sd,MG_FIREBOLT)>0)
- WFIFOL(fd,10)= MG_FIREBOLT;
- else
- WFIFOL(fd,10)= 0x00000000;
- if(skill_lv>1 && pc->checkskill(sd,MG_LIGHTNINGBOLT)>0)
- WFIFOL(fd,14)= MG_LIGHTNINGBOLT;
- else
- WFIFOL(fd,14)= 0x00000000;
- if(skill_lv>4 && pc->checkskill(sd,MG_SOULSTRIKE)>0)
- WFIFOL(fd,18)= MG_SOULSTRIKE;
- else
- WFIFOL(fd,18)= 0x00000000;
- if(skill_lv>7 && pc->checkskill(sd,MG_FIREBALL)>0)
- WFIFOL(fd,22)= MG_FIREBALL;
- else
- WFIFOL(fd,22)= 0x00000000;
- if(skill_lv>9 && pc->checkskill(sd,MG_FROSTDIVER)>0)
- WFIFOL(fd,26)= MG_FROSTDIVER;
- else
- WFIFOL(fd,26)= 0x00000000;
+ if (skill_lv > 0 && pc->checkskill(sd, MG_NAPALMBEAT) > 0)
+ p->skills[index++] = MG_NAPALMBEAT;
+ if (skill_lv > 1 && pc->checkskill(sd, MG_COLDBOLT) > 0)
+ p->skills[index++] = MG_COLDBOLT;
+ if (skill_lv > 1 && pc->checkskill(sd, MG_FIREBOLT) > 0)
+ p->skills[index++] = MG_FIREBOLT;
+ if (skill_lv > 1 && pc->checkskill(sd, MG_LIGHTNINGBOLT) > 0)
+ p->skills[index++] = MG_LIGHTNINGBOLT;
+ if (skill_lv > 4 && pc->checkskill(sd, MG_SOULSTRIKE) > 0)
+ p->skills[index++] = MG_SOULSTRIKE;
+ if (skill_lv > 7 && pc->checkskill(sd, MG_FIREBALL) > 0)
+ p->skills[index++] = MG_FIREBALL;
+ if (skill_lv > 9 && pc->checkskill(sd, MG_FROSTDIVER) > 0)
+ p->skills[index++] = MG_FROSTDIVER;
+
+#if PACKETVER_MAIN_NUM >= 20181128 || PACKETVER_RE_NUM >= 20181031
+ const int len = sizeof(struct PACKET_ZC_AUTOSPELLLIST) + index * 4;
+ p->packetLength = len;
+#else
+ const int len = sizeof(struct PACKET_ZC_AUTOSPELLLIST);
+#endif
+ WFIFOSET(fd, len);
- WFIFOSET(fd,packet_len(0x1cd));
sd->menuskill_id = SA_AUTOSPELL;
sd->menuskill_val = skill_lv;
+#endif
}
/// Devotion's visual effect (ZC_DEVOTIONLIST).
@@ -7485,17 +7768,27 @@ static void clif_devotion(struct block_list *src, struct map_session_data *tsd)
static void clif_spiritball(struct block_list *bl)
{
unsigned char buf[16];
- struct map_session_data *sd = BL_CAST(BL_PC,bl);
- struct homun_data *hd = BL_CAST(BL_HOM,bl);
nullpo_retv(bl);
WBUFW(buf, 0) = 0x1d0;
WBUFL(buf, 2) = bl->id;
WBUFW(buf, 6) = 0; //init to 0
- switch(bl->type){
- case BL_PC: WBUFW(buf, 6) = sd->spiritball; break;
- case BL_HOM: WBUFW(buf, 6) = hd->homunculus.spiritball; break;
+ switch (bl->type) {
+ case BL_PC:
+ {
+ struct map_session_data *sd = BL_CAST(BL_PC, bl);
+ nullpo_retv(sd);
+ WBUFW(buf, 6) = sd->spiritball;
+ break;
+ }
+ case BL_HOM:
+ {
+ struct homun_data *hd = BL_CAST(BL_HOM, bl);
+ nullpo_retv(hd);
+ WBUFW(buf, 6) = hd->homunculus.spiritball;
+ break;
+ }
}
clif->send(buf, packet_len(0x1d0), bl, AREA);
}
@@ -7571,22 +7864,16 @@ static void clif_mvp_item(struct map_session_data *sd, int nameid)
/// 010b <exp>.L
static void clif_mvp_exp(struct map_session_data *sd, unsigned int exp)
{
-#if PACKETVER >= 20131223 // Kro removed this packet [Napster]
- if (battle_config.mvp_exp_reward_message) {
- char e_msg[CHAT_SIZE_MAX];
- sprintf(e_msg, msg_txt(855), exp);
- clif->messagecolor_self(sd->fd, COLOR_CYAN, e_msg); // Congratulations! You are the MVP! Your reward EXP Points are %u !!
- }
-#else
+#if PACKETVER_RE_NUM >= 20080827 || PACKETVER_MAIN_NUM >= 20090401 || defined(PACKETVER_ZERO)
int fd;
nullpo_retv(sd);
- fd=sd->fd;
- WFIFOHEAD(fd,packet_len(0x10b));
- WFIFOW(fd,0)=0x10b;
- WFIFOL(fd,2)=cap_value(exp,0,INT32_MAX);
- WFIFOSET(fd,packet_len(0x10b));
+ fd = sd->fd;
+ WFIFOHEAD(fd, packet_len(0x10b));
+ WFIFOW(fd, 0) = 0x10b;
+ WFIFOL(fd, 2) = cap_value(exp, 0, INT32_MAX);
+ WFIFOSET(fd, packet_len(0x10b));
#endif
}
@@ -7611,6 +7898,7 @@ static void clif_mvp_noitem(struct map_session_data *sd)
/// 1 = "You are already in a Guild."
/// 2 = "That Guild Name already exists."
/// 3 = "You need the necessary item to create a Guild."
+/// 4 = "Can't create a Guild in this area."
static void clif_guild_created(struct map_session_data *sd, int flag)
{
int fd;
@@ -8097,6 +8385,7 @@ static void clif_guild_invite(struct map_session_data *sd, struct guild *g)
/// 1 = Offer rejected.
/// 2 = Offer accepted.
/// 3 = Guild full.
+/// 4 = Offline or not exists
static void clif_guild_inviteack(struct map_session_data *sd, int flag)
{
int fd;
@@ -8147,6 +8436,7 @@ static void clif_guild_expulsion(struct map_session_data *sd, const char *name,
#endif
safestrncpy(&p.reason[0], mes, 40);
+// version unconfirmed
#if PACKETVER < 20100803
memset(&p.account_name, 0, NAME_LENGTH); // account name (not used for security reasons)
#endif
@@ -8158,42 +8448,44 @@ static void clif_guild_expulsion(struct map_session_data *sd, const char *name,
/// 0163 <packet len>.W { <char name>.24B <reason>.40B }* (PACKETVER >= 20100803)
static void clif_guild_expulsionlist(struct map_session_data *sd)
{
-#if PACKETVER < 20100803
- const int offset = NAME_LENGTH*2+40;
-#else
- const int offset = NAME_LENGTH+40;
-#endif
- int fd, i, c = 0;
- struct guild* g;
-
nullpo_retv(sd);
- if( (g = sd->guild) == NULL )
+ int c = 0;
+
+ struct guild* g;
+ if ((g = sd->guild) == NULL)
return;
- fd = sd->fd;
+ int fd = sd->fd;
- WFIFOHEAD(fd,4 + MAX_GUILDEXPULSION * offset);
- WFIFOW(fd,0) = 0x163;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_BAN_LIST) + MAX_GUILDEXPULSION * sizeof(struct PACKET_ZC_BAN_LIST_sub));
+ struct PACKET_ZC_BAN_LIST *packet = WFIFOP(fd, 0);
+ packet->packetType = HEADER_ZC_BAN_LIST;
- for( i = 0; i < MAX_GUILDEXPULSION; i++ )
+ for (int i = 0; i < MAX_GUILDEXPULSION; i++)
{
struct guild_expulsion* e = &g->expulsion[i];
- if( e->account_id > 0 )
+ if (e->account_id > 0)
{
- memcpy(WFIFOP(fd,4 + c*offset), e->name, NAME_LENGTH);
-#if PACKETVER < 20100803
- memset(WFIFOP(fd,4 + c*offset+24), 0, NAME_LENGTH); // account name (not used for security reasons)
- memcpy(WFIFOP(fd,4 + c*offset+48), e->mes, 40);
+#if PACKETVER_MAIN_NUM >= 20161019 || PACKETVER_RE_NUM >= 20160921 || defined(PACKETVER_ZERO)
+ packet->chars[c].char_id = e->char_id;
+// version unconfirmed
+#elif PACKETVER >= 20100803
+ memcpy(packet->chars[c].char_name, e->name, NAME_LENGTH);
+
#else
- memcpy(WFIFOP(fd,4 + c*offset+24), e->mes, 40);
+ memcpy(packet->chars[c].char_name, e->name, NAME_LENGTH);
+ memset(packet->chars[c].account_name, 0, NAME_LENGTH); // account name (not used for security reasons)
+
#endif
- c++;
+ memcpy(packet->chars[c].message, e->mes, 40);
+
+ c ++;
}
}
- WFIFOW(fd,2) = 4 + c*offset;
- WFIFOSET(fd,WFIFOW(fd,2));
+ packet->packetLen = sizeof(struct PACKET_ZC_BAN_LIST) + c * sizeof(struct PACKET_ZC_BAN_LIST_sub);
+ WFIFOSET(fd, packet->packetLen);
}
/// Guild chat message (ZC_GUILD_CHAT).
@@ -8753,6 +9045,45 @@ static void clif_specialeffect_value(struct block_list *bl, int effect_id, int n
clif->send(buf, packet_len(0x284), bl, SELF);
}
}
+
+/// Remove special effects (ZC_REMOVE_EFFECT).
+/// 0b0d <id>.L <effect id>.L
+/// effect id:
+/// @see doc/effect_list.txt
+static void clif_removeSpecialEffect(struct block_list *bl, int effectId, enum send_target target)
+{
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ nullpo_retv(bl);
+
+ struct PACKET_ZC_REMOVE_EFFECT p;
+ p.packetType = 0xb0d;
+ p.aid = bl->id;
+ p.effectId = effectId;
+
+ clif->send(&p, sizeof(p), bl, target);
+
+ if (clif->isdisguised(bl)) {
+ p.aid = -bl->id;
+ clif->send(&p, sizeof(p), bl, SELF);
+ }
+#endif
+}
+
+static void clif_removeSpecialEffect_single(struct block_list *bl, int effectId, struct block_list *targetBl)
+{
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ nullpo_retv(bl);
+ nullpo_retv(targetBl);
+
+ struct PACKET_ZC_REMOVE_EFFECT p;
+ p.packetType = 0xb0d;
+ p.aid = bl->id;
+ p.effectId = effectId;
+
+ clif->send(&p, sizeof(p), targetBl, SELF);
+#endif
+}
+
/**
* Modification of clif_messagecolor to send colored messages to players to chat log only (doesn't display overhead).
*
@@ -8812,6 +9143,34 @@ static void clif_messagecolor(struct block_list *bl, uint32 color, const char *m
clif->send(buf, WBUFW(buf,2), bl, AREA_CHAT_WOC);
}
+// Message without owner, not logged in chat
+static void clif_serviceMessageColor(struct map_session_data *sd, uint32 color, const char *msg)
+{
+#if PACKETVER_MAIN_NUM >= 20170830 || PACKETVER_RE_NUM >= 20170830 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+ nullpo_retv(msg);
+
+ int msg_len = (int)strlen(msg) + 1;
+
+ if (msg_len > 512) {
+ ShowWarning("clif_serviceMessageColor: Truncating too long message '%s' (len=%d).\n", msg, msg_len);
+ msg_len = 512;
+ }
+
+ const int len = sizeof(struct PACKET_ZC_SERVICE_MESSAGE_COLOR) + msg_len;
+ const int fd = sd->fd;
+ WFIFOHEAD(fd, len);
+ struct PACKET_ZC_SERVICE_MESSAGE_COLOR *p = WFIFOP(fd, 0);
+
+ p->packetType = HEADER_ZC_SERVICE_MESSAGE_COLOR;
+ p->packetLength = len;
+ p->color = RGB2BGR(color);
+ safestrncpy(p->message, msg, msg_len);
+
+ WFIFOSET(fd, len);
+#endif
+}
+
/**
* Notifies the client that the storage window is still open
*
@@ -8825,8 +9184,8 @@ static void clif_refresh_storagewindow(struct map_session_data *sd)
if (sd->state.storage_flag == STORAGE_FLAG_NORMAL) {
if (sd->storage.aggregate > 0) {
storage->sortitem(VECTOR_DATA(sd->storage.item), VECTOR_LENGTH(sd->storage.item));
- clif->storagelist(sd, VECTOR_DATA(sd->storage.item), VECTOR_LENGTH(sd->storage.item));
}
+ clif->storageList(sd, VECTOR_DATA(sd->storage.item), VECTOR_LENGTH(sd->storage.item));
clif->updatestorageamount(sd, sd->storage.aggregate, MAX_STORAGE);
}
// Notify the client that the gstorage is open otherwise it will
@@ -8838,7 +9197,7 @@ static void clif_refresh_storagewindow(struct map_session_data *sd)
intif->request_guild_storage(sd->status.account_id,sd->status.guild_id);
} else {
storage->sortitem(gstor->items, ARRAYLENGTH(gstor->items));
- clif->storagelist(sd, gstor->items, ARRAYLENGTH(gstor->items));
+ clif->guildStorageList(sd, gstor->items, ARRAYLENGTH(gstor->items));
clif->updatestorageamount(sd, gstor->storage_amount, MAX_GUILD_STORAGE);
}
}
@@ -8850,9 +9209,9 @@ static void clif_refresh(struct map_session_data *sd)
nullpo_retv(sd);
clif->changemap(sd,sd->bl.m,sd->bl.x,sd->bl.y);
- clif->inventorylist(sd);
+ clif->inventoryList(sd);
if(pc_iscarton(sd)) {
- clif->cartlist(sd);
+ clif->cartList(sd);
clif->updatestatus(sd,SP_CARTINFO);
}
clif->updatestatus(sd,SP_WEIGHT);
@@ -8907,149 +9266,377 @@ static void clif_refresh(struct map_session_data *sd)
clif->refresh_storagewindow(sd);
}
+static void clif_send_selforarea(int fd, struct block_list *bl, const void *buf, int len)
+{
+ // if no recipient specified just update nearby clients
+ // if no recipient specified just update nearby clients
+ if (fd == 0) {
+ clif->send(buf, len, bl, AREA);
+ } else {
+ struct map_session_data *sd = sockt->session_is_valid(fd) ? sockt->session[fd]->session_data : NULL;
+ if (sd != NULL) {
+ clif->send(buf, len, &sd->bl, SELF);
+ } else {
+ clif->send(buf, len, bl, SELF);
+ }
+ }
+}
+
/// Updates the object's (bl) name on client.
/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
-static void clif_charnameack(int fd, struct block_list *bl)
+static void clif_pcname_ack(int fd, struct block_list *bl)
{
- struct packet_reqnameall_ack packet = { 0 };
- int len = sizeof(struct packet_reqnameall_ack);
-
nullpo_retv(bl);
+ Assert_retv(bl->type == BL_PC);
- packet.packet_id = reqName;
+ struct PACKET_ZC_ACK_REQNAMEALL packet = { 0 };
+ int len = sizeof(struct PACKET_ZC_ACK_REQNAMEALL);
packet.gid = bl->id;
- switch(bl->type) {
- case BL_PC:
- {
- const struct map_session_data *ssd = BL_UCCAST(BL_PC, bl);
- const struct party_data *p = NULL;
- const struct guild *g = NULL;
- int ps = -1;
+ const struct map_session_data *ssd = BL_UCCAST(BL_PC, bl);
+ const struct party_data *p = NULL;
+ const struct guild *g = NULL;
+ int ps = -1;
- if (ssd->fakename[0] != '\0' || ssd->status.guild_id > 0 || ssd->status.party_id > 0 || ssd->status.title_id > 0) {
- packet.packet_id = reqNameAllType;
- }
+ if (ssd->fakename[0] != '\0' && ssd->disguise != -1) {
+ packet.packet_id = reqName;
+ len = sizeof(struct packet_reqname_ack);
+ } else {
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
+ len = sizeof(struct PACKET_ZC_ACK_REQNAMEALL);
+ }
- //Requesting your own "shadow" name. [Skotlex]
- if (ssd->fd == fd && ssd->disguise != -1) {
- packet.gid = -bl->id;
- }
+ //Requesting your own "shadow" name. [Skotlex]
+ if (ssd->fd == fd && ssd->disguise != -1) {
+ packet.gid = -bl->id;
+ }
- if (ssd->fakename[0] != '\0') {
- memcpy(packet.name, ssd->fakename, NAME_LENGTH);
- break;
- }
+ if (ssd->fakename[0] != '\0' && ssd->disguise != -1) {
+ memcpy(packet.name, ssd->fakename, NAME_LENGTH);
+ } else {
+#if PACKETVER_MAIN_NUM >= 20150225 || PACKETVER_RE_NUM >= 20141126 || defined(PACKETVER_ZERO)
+ // Title System [Dastgir/Hercules]
+ if (ssd->status.title_id > 0) {
+ packet.title_id = ssd->status.title_id;
+ }
+#endif
+ memcpy(packet.name, ssd->status.name, NAME_LENGTH);
-#if PACKETVER >= 20150503
- // Title System [Dastgir/Hercules]
- if (ssd->status.title_id > 0) {
- packet.title_id = ssd->status.title_id;
+ if (ssd->status.party_id != 0) {
+ p = party->search(ssd->status.party_id);
+ }
+ if (ssd->status.guild_id != 0) {
+ if ((g = ssd->guild) != NULL) {
+ int i;
+ ARR_FIND(0, g->max_member, i, g->member[i].account_id == ssd->status.account_id && g->member[i].char_id == ssd->status.char_id);
+ if (i < g->max_member)
+ ps = g->member[i].position;
}
+ }
+
+ if (!battle_config.display_party_name && g == NULL) {
+ // do not display party unless the player is also in a guild
+ p = NULL;
+ }
+
+ if (p != NULL) {
+ memcpy(packet.party_name, p->party.name, NAME_LENGTH);
+ }
+
+ if (g != NULL && ps >= 0 && ps < MAX_GUILDPOSITION) {
+ memcpy(packet.guild_name, g->name,NAME_LENGTH);
+ memcpy(packet.position_name, g->position[ps].name, NAME_LENGTH);
+ }
+ }
+
+ clif->send_selforarea(fd, bl, &packet, len);
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_homname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_HOM);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_HOM, bl)->homunculus.name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
#endif
- memcpy(packet.name, ssd->status.name, NAME_LENGTH);
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
- if (ssd->status.party_id != 0) {
- p = party->search(ssd->status.party_id);
- }
- if (ssd->status.guild_id != 0) {
- if ((g = ssd->guild) != NULL) {
- int i;
- ARR_FIND(0, g->max_member, i, g->member[i].account_id == ssd->status.account_id && g->member[i].char_id == ssd->status.char_id);
- if (i < g->max_member)
- ps = g->member[i].position;
- }
- }
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mername_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MER);
- if (!battle_config.display_party_name && g == NULL) {
- // do not display party unless the player is also in a guild
- p = NULL;
- }
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_MER, bl)->db->name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
- if (p == NULL && g == NULL)
- break;
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
- if (p != NULL) {
- memcpy(packet.party_name, p->party.name, NAME_LENGTH);
- }
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_petname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_PET);
- if (g != NULL && ps >= 0 && ps < MAX_GUILDPOSITION) {
- memcpy(packet.guild_name, g->name,NAME_LENGTH);
- memcpy(packet.position_name, g->position[ps].name, NAME_LENGTH);
- }
- }
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_PET, bl)->pet.name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_npcname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_NPC);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_NPC, bl)->name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mobname_guardian_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MOB);
+ const struct mob_data *md = BL_UCCAST(BL_MOB, bl);
+ Assert_retv(md->guardian_data && md->guardian_data->g);
+
+ struct PACKET_ZC_ACK_REQNAMEALL packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
+ packet.gid = bl->id;
+ memcpy(packet.name, md->name, NAME_LENGTH);
+ memcpy(packet.guild_name, md->guardian_data->g->name, NAME_LENGTH);
+ memcpy(packet.position_name, md->guardian_data->castle->castle_name, NAME_LENGTH);
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAMEALL));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mobname_normal_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MOB);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_MOB, bl)->db->name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mobname_additional_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MOB);
+
+ struct PACKET_ZC_ACK_REQNAMEALL packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
+ packet.gid = bl->id;
+
+ const struct mob_data *md = BL_UCCAST(BL_MOB, bl);
+
+ memcpy(packet.name, md->name, NAME_LENGTH);
+ char mobhp[100];
+ char *str_p = mobhp;
+ if (battle_config.show_mob_info&4)
+ str_p += sprintf(str_p, "Lv. %d | ", md->level);
+ if (battle_config.show_mob_info&1)
+ str_p += sprintf(str_p, "HP: %u/%u | ", md->status.hp, md->status.max_hp);
+ if (battle_config.show_mob_info&2)
+ str_p += sprintf(str_p, "HP: %u%% | ", get_percentage(md->status.hp, md->status.max_hp));
+ //Even thought mobhp ain't a name, we send it as one so the client
+ //can parse it. [Skotlex]
+ if (str_p != mobhp) {
+ *(str_p-3) = '\0'; //Remove trailing space + pipe.
+ memcpy(packet.party_name, mobhp, NAME_LENGTH);
+ }
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAMEALL));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mobname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MOB);
+
+ const struct mob_data *md = BL_UCCAST(BL_MOB, bl);
+
+ if (md->guardian_data && md->guardian_data->g) {
+ clif->mobname_guardian_ack(fd, bl);
+ } else if (battle_config.show_mob_info) {
+ clif->mobname_additional_ack(fd, bl);
+ } else {
+ clif->mobname_normal_ack(fd, bl);
+ }
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_chatname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_CHAT);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+
+#if 0 // Clients DO request this... what should be done about it? The chat's title may not fit... [Skotlex]
+ memcpy(packet.name, BL_UCCAST(BL_CHAT, bl)->title, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
+#endif
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_elemname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_ELEM);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_ELEM, bl)->db->name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+static void clif_unknownname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ ShowError("clif_blname_ack: bad type %u(%d)\n", bl->type, bl->id);
+}
+
+static void clif_blname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+
+ switch(bl->type) {
+ case BL_PC:
+ clif->pcname_ack(fd, bl);
break;
- //[blackhole89]
case BL_HOM:
- memcpy(packet.name, BL_UCCAST(BL_HOM, bl)->homunculus.name, NAME_LENGTH);
+ clif->homname_ack(fd, bl);
break;
case BL_MER:
- memcpy(packet.name, BL_UCCAST(BL_MER, bl)->db->name, NAME_LENGTH);
+ clif->mername_ack(fd, bl);
break;
case BL_PET:
- memcpy(packet.name, BL_UCCAST(BL_PET, bl)->pet.name, NAME_LENGTH);
+ clif->petname_ack(fd, bl);
break;
case BL_NPC:
- memcpy(packet.name, BL_UCCAST(BL_NPC, bl)->name, NAME_LENGTH);
+ clif->npcname_ack(fd, bl);
break;
case BL_MOB:
- {
- const struct mob_data *md = BL_UCCAST(BL_MOB, bl);
-
- memcpy(packet.name, md->name, NAME_LENGTH);
- if (md->guardian_data && md->guardian_data->g) {
- packet.packet_id = reqNameAllType;
- memcpy(packet.guild_name, md->guardian_data->g->name, NAME_LENGTH);
- memcpy(packet.position_name, md->guardian_data->castle->castle_name, NAME_LENGTH);
- } else if (battle_config.show_mob_info) {
- char mobhp[50], *str_p = mobhp;
- packet.packet_id = reqNameAllType;
- if (battle_config.show_mob_info&4)
- str_p += sprintf(str_p, "Lv. %d | ", md->level);
- if (battle_config.show_mob_info&1)
- str_p += sprintf(str_p, "HP: %u/%u | ", md->status.hp, md->status.max_hp);
- if (battle_config.show_mob_info&2)
- str_p += sprintf(str_p, "HP: %u%% | ", get_percentage(md->status.hp, md->status.max_hp));
- //Even thought mobhp ain't a name, we send it as one so the client
- //can parse it. [Skotlex]
- if (str_p != mobhp) {
- *(str_p-3) = '\0'; //Remove trailing space + pipe.
- memcpy(packet.party_name, mobhp, NAME_LENGTH);
- }
- }
- }
+ clif->mobname_ack(fd, bl);
break;
case BL_CHAT:
-#if 0 //FIXME: Clients DO request this... what should be done about it? The chat's title may not fit... [Skotlex]
- memcpy(packet.name, BL_UCCAST(BL_CHAT, bl)->title, NAME_LENGTH);
+ clif->chatname_ack(fd, bl);
break;
-#endif
- return;
case BL_ELEM:
- memcpy(packet.name, BL_UCCAST(BL_ELEM, bl)->db->name, NAME_LENGTH);
+ clif->elemname_ack(fd, bl);
break;
default:
- ShowError("clif_charnameack: bad type %u(%d)\n", bl->type, bl->id);
- return;
- }
-
- if (packet.packet_id == reqName) {
- len = sizeof(struct packet_reqname_ack);
- }
- // if no recipient specified just update nearby clients
- // if no recipient specified just update nearby clients
- if (fd == 0) {
- clif->send(&packet, len, bl, AREA);
- } else {
- struct map_session_data *sd = sockt->session_is_valid(fd) ? sockt->session[fd]->session_data : NULL;
- if (sd != NULL) {
- clif->send(&packet, len, &sd->bl, SELF);
- } else {
- clif->send(&packet, len, bl, SELF);
- }
+ clif->unknownname_ack(fd, bl);
+ break;
}
}
@@ -9060,14 +9647,14 @@ static void clif_charnameupdate(struct map_session_data *ssd)
int ps = -1;
struct party_data *p = NULL;
struct guild *g = NULL;
- struct packet_reqnameall_ack packet = { 0 };
+ struct PACKET_ZC_ACK_REQNAMEALL packet = { 0 };
nullpo_retv(ssd);
if (ssd->fakename[0])
return; //No need to update as the party/guild was not displayed anyway.
- packet.packet_id = reqNameAllType;
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
packet.gid = ssd->bl.id;
memcpy(packet.name, ssd->status.name, NAME_LENGTH);
@@ -9094,7 +9681,7 @@ static void clif_charnameupdate(struct map_session_data *ssd)
memcpy(packet.position_name, g->position[ps].name, NAME_LENGTH);
}
-#if PACKETVER >= 20150503
+#if PACKETVER_MAIN_NUM >= 20150225 || PACKETVER_RE_NUM >= 20141126 || defined(PACKETVER_ZERO)
// Achievement System [Dastgir/Hercules]
if (ssd->status.title_id > 0) {
packet.title_id = ssd->status.title_id;
@@ -9521,7 +10108,9 @@ static void clif_msgtable_str_color(struct map_session_data *sd, enum clif_messa
p->PacketType = 0xa6f;
p->PacketLength = len;
p->messageId = msg_id;
+#if PACKETVER >= 20160406
p->color = color;
+#endif
safestrncpy(p->messageString, value, message_len);
p->messageString[message_len] = 0;
@@ -9884,11 +10473,11 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
// Send character inventory to the client.
// call this before pc->checkitem() so that the client isn't called to delete a non-existent item.
- clif->inventorylist(sd);
+ clif->inventoryList(sd);
// Send the cart inventory, counts & weight to the client.
if(pc_iscarton(sd)) {
- clif->cartlist(sd);
+ clif->cartList(sd);
clif->updatestatus(sd, SP_CARTINFO);
}
@@ -10201,15 +10790,7 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
// NPC Quest / Event Icon Check [Kisuka]
#if PACKETVER >= 20090218
- {
- int i;
- for (i = 0; i < VECTOR_LENGTH(map->list[sd->bl.m].qi_data); i++) {
- struct questinfo *qi = &VECTOR_INDEX(map->list[sd->bl.m].qi_data, i);
-
- if (quest->questinfo_validate(sd, qi))
- clif->quest_show_event(sd, &qi->nd->bl, qi->icon, qi->color);
- }
- }
+ quest->questinfo_refresh(sd);
#endif
}
@@ -10421,8 +11002,10 @@ static void clif_parse_QuitGame(int fd, struct map_session_data *sd)
/* Rovert's prevent logout option fixed [Valaris] */
if (!sd->sc.data[SC_CLOAKING] && !sd->sc.data[SC_HIDING] && !sd->sc.data[SC_CHASEWALK] && !sd->sc.data[SC_CLOAKINGEXCEED] && !sd->sc.data[SC__INVISIBILITY] && !sd->sc.data[SC_SUHIDE] &&
(!battle_config.prevent_logout || DIFF_TICK(timer->gettick(), sd->canlog_tick) > battle_config.prevent_logout)) {
- sockt->eof(fd);
clif->disconnect_ack(sd, 0);
+ sockt->flush(fd);
+ if (battle_config.drop_connection_on_quit)
+ sockt->eof(fd);
} else {
clif->disconnect_ack(sd, 1);
}
@@ -10465,7 +11048,7 @@ static void clif_parse_GetCharNameRequest(int fd, struct map_session_data *sd)
}
#endif // 0
- clif->charnameack(fd, bl);
+ clif->blname_ack(fd, bl);
}
static int clif_undisguise_timer(int tid, int64 tick, int id, intptr_t data)
{
@@ -10931,8 +11514,8 @@ static void clif_parse_WisMessage(int fd, struct map_session_data *sd)
if (chan) {
int k;
- ARR_FIND(0, sd->channel_count, k, sd->channels[k] == chan);
- if (k < sd->channel_count || channel->join(chan, sd, "", true) == HCS_STATUS_OK) {
+ ARR_FIND(0, VECTOR_LENGTH(sd->channels), k, VECTOR_INDEX(sd->channels, k) == chan);
+ if (k < VECTOR_LENGTH(sd->channels) || channel->join(chan, sd, "", true) == HCS_STATUS_OK) {
channel->send(chan,sd,message);
} else {
clif->message(fd, msg_fd(fd,1402)); //You're not in that channel, type '@join <#channel_name>'
@@ -11088,7 +11671,7 @@ static void clif_parse_DropItem(int fd, struct map_session_data *sd)
}
//Because the client does not like being ignored.
- clif->item_movefailed(sd, item_index);
+ clif->dropitem(sd, item_index, 0);
}
static void clif_parse_UseItem(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -11112,7 +11695,7 @@ static void clif_parse_UseItem(int fd, struct map_session_data *sd)
pc->update_idle_time(sd, BCIDLE_USEITEM);
n = RFIFOW(fd,packet_db[RFIFOW(fd,0)].pos[0])-2;
- if (n < 0 || n >= MAX_INVENTORY)
+ if (n < 0 || n >= sd->status.inventorySize)
return;
if (!pc->useitem(sd,n))
clif->useitemack(sd,n,0,false); //Send an empty ack packet or the client gets stuck.
@@ -11133,7 +11716,7 @@ static void clif_parse_EquipItem(int fd, struct map_session_data *sd)
}
index = p->index - 2;
- if (index >= MAX_INVENTORY)
+ if (index >= sd->status.inventorySize)
return; //Out of bounds check.
if( sd->npc_id ) {
@@ -11214,7 +11797,7 @@ static void clif_parse_NpcClicked(int fd, struct map_session_data *sd)
#endif
return;
}
- if ( pc_cant_act2(sd) || !(bl = map->id2bl(RFIFOL(fd,2))) || sd->state.vending )
+ if (pc_cant_act2(sd) || !(bl = map->id2bl(RFIFOL(fd,2))) || sd->state.vending || sd->state.prevend)
return;
switch (bl->type) {
@@ -11257,11 +11840,18 @@ static void clif_parse_NpcBuySellSelected(int fd, struct map_session_data *sd)
/// 1 = "You do not have enough zeny."
/// 2 = "You are over your Weight Limit."
/// 3 = "Out of the maximum capacity, you have too many items."
+/// 9 = "Amounts are exceeded the possession of the item is not available for purchase."
+/// 10 = "Props open-air store sales will be traded in RODEX"
+/// 11 = "The exchange failed."
+/// 12 = "The exchange was well done."
+/// 13 = "The item is already sold and out of stock."
+/// 14 = "There is not enough goods to exchange."
static void clif_npc_buy_result(struct map_session_data *sd, unsigned char result)
{
int fd;
nullpo_retv(sd);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0xca));
WFIFOW(fd,0) = 0xca;
@@ -11315,6 +11905,7 @@ static void clif_npc_sell_result(struct map_session_data *sd, unsigned char resu
int fd;
nullpo_retv(sd);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0xcb));
WFIFOW(fd,0) = 0xcb;
@@ -11578,7 +12169,7 @@ static void clif_parse_PutItemToCart(int fd, struct map_session_data *sd) __attr
static void clif_parse_PutItemToCart(int fd, struct map_session_data *sd)
{
int flag = 0;
- if (pc_istrading(sd))
+ if (pc_istrading(sd) || sd->state.prevend)
return;
if (!pc_iscarton(sd))
return;
@@ -11593,6 +12184,8 @@ static void clif_parse_GetItemFromCart(int fd, struct map_session_data *sd) __at
/// 0127 <index>.W <amount>.L
static void clif_parse_GetItemFromCart(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || sd->state.prevend)
+ return;
if (!pc_iscarton(sd))
return;
pc->getitemfromcart(sd,RFIFOW(fd,2)-2,RFIFOL(fd,4));
@@ -11808,33 +12401,24 @@ static void clif_parse_UseSkillToPos_mercenary(struct mercenary_data *md, struct
unit->skilluse_pos(&md->bl, x, y, skill_id, skill_lv);
}
-static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-/// Request to use a targeted skill.
-/// 0113 <skill lv>.W <skill id>.W <target id>.L (CZ_USE_SKILL)
-/// 0438 <skill lv>.W <skill id>.W <target id>.L (CZ_USE_SKILL2)
-/// There are various variants of this packet, some of them have padding between fields.
-static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
+static void clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id) __attribute__((nonnull (2)));
+static void clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id)
{
- uint16 skill_id, skill_lv;
- int tmp, target_id;
int64 tick = timer->gettick();
- skill_lv = RFIFOW(fd,packet_db[RFIFOW(fd,0)].pos[0]);
- skill_id = RFIFOW(fd,packet_db[RFIFOW(fd,0)].pos[1]);
- target_id = RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[2]);
+ if (skill_lv < 1)
+ skill_lv = 1; //No clue, I have seen the client do this with guild skills :/ [Skotlex]
- if( skill_lv < 1 ) skill_lv = 1; //No clue, I have seen the client do this with guild skills :/ [Skotlex]
-
- tmp = skill->get_inf(skill_id);
- if (tmp&INF_GROUND_SKILL || !tmp)
+ int tmp = skill->get_inf(skill_id);
+ if (tmp & INF_GROUND_SKILL || !tmp)
return; //Using a ground/passive skill on a target? WRONG.
- if( skill_id >= HM_SKILLBASE && skill_id < HM_SKILLBASE + MAX_HOMUNSKILL ) {
+ if (skill_id >= HM_SKILLBASE && skill_id < HM_SKILLBASE + MAX_HOMUNSKILL) {
clif->pUseSkillToId_homun(sd->hd, sd, tick, skill_id, skill_lv, target_id);
return;
}
- if( skill_id >= MC_SKILLBASE && skill_id < MC_SKILLBASE + MAX_MERCSKILL ) {
+ if (skill_id >= MC_SKILLBASE && skill_id < MC_SKILLBASE + MAX_MERCSKILL) {
clif->pUseSkillToId_mercenary(sd->md, sd, tick, skill_id, skill_lv, target_id);
return;
}
@@ -11851,51 +12435,52 @@ static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
return;
}
- if( pc_cant_act(sd)
- && skill_id != RK_REFRESH
- && !(skill_id == SR_GENTLETOUCH_CURE && (sd->sc.opt1 == OPT1_STONE || sd->sc.opt1 == OPT1_FREEZE || sd->sc.opt1 == OPT1_STUN))
- && (sd->state.storage_flag != STORAGE_FLAG_CLOSED && !(tmp&INF_SELF_SKILL)) // SELF skills can be used with the storage open, issue: 8027
- )
+ if (pc_cant_act(sd)
+ && skill_id != RK_REFRESH
+ && !(skill_id == SR_GENTLETOUCH_CURE && (sd->sc.opt1 == OPT1_STONE || sd->sc.opt1 == OPT1_FREEZE || sd->sc.opt1 == OPT1_STUN))
+ && (sd->state.storage_flag != STORAGE_FLAG_CLOSED && !(tmp&INF_SELF_SKILL)) // SELF skills can be used with the storage open, issue: 8027
+ ) {
return;
+ }
- if( pc_issit(sd) )
+ if (pc_issit(sd))
return;
- if( skill->not_ok(skill_id, sd) )
+ if (skill->not_ok(skill_id, sd))
return;
- if( sd->bl.id != target_id && tmp&INF_SELF_SKILL )
+ if (sd->bl.id != target_id && tmp & INF_SELF_SKILL)
target_id = sd->bl.id; // never trust the client
- if( target_id < 0 && -target_id == sd->bl.id ) // for disguises [Valaris]
+ if (target_id < 0 && -target_id == sd->bl.id) // for disguises [Valaris]
target_id = sd->bl.id;
- if( sd->ud.skilltimer != INVALID_TIMER ) {
- if( skill_id != SA_CASTCANCEL && skill_id != SO_SPELLFIST )
+ if (sd->ud.skilltimer != INVALID_TIMER) {
+ if (skill_id != SA_CASTCANCEL && skill_id != SO_SPELLFIST)
return;
- } else if( DIFF_TICK(tick, sd->ud.canact_tick) < 0 ) {
- if( sd->skillitem != skill_id ) {
+ } else if (DIFF_TICK(tick, sd->ud.canact_tick) < 0) {
+ if (sd->skillitem != skill_id) {
clif->skill_fail(sd, skill_id, USESKILL_FAIL_SKILLINTERVAL, 0, 0);
return;
}
}
- if( sd->sc.option&OPTION_COSTUME )
+ if (sd->sc.option & OPTION_COSTUME)
return;
- if( sd->sc.data[SC_BASILICA] && (skill_id != HP_BASILICA || sd->sc.data[SC_BASILICA]->val4 != sd->bl.id) )
+ if (sd->sc.data[SC_BASILICA] && (skill_id != HP_BASILICA || sd->sc.data[SC_BASILICA]->val4 != sd->bl.id))
return; // On basilica only caster can use Basilica again to stop it.
- if( sd->menuskill_id ) {
- if( sd->menuskill_id == SA_TAMINGMONSTER ) {
+ if (sd->menuskill_id) {
+ if (sd->menuskill_id == SA_TAMINGMONSTER) {
clif_menuskill_clear(sd); //Cancel pet capture.
- } else if( sd->menuskill_id != SA_AUTOSPELL )
+ } else if (sd->menuskill_id != SA_AUTOSPELL)
return; //Can't use skills while a menu is open.
}
- if( sd->skillitem == skill_id ) {
- if( skill_lv != sd->skillitemlv )
+ if (sd->skillitem == skill_id) {
+ if (skill_lv != sd->skillitemlv)
skill_lv = sd->skillitemlv;
- if( !(tmp&INF_SELF_SKILL) )
+ if (!(tmp&INF_SELF_SKILL))
pc->delinvincibletimer(sd); // Target skills through items cancel invincibility. [Inkfish]
unit->skilluse_id(&sd->bl, target_id, skill_id, skill_lv);
return;
@@ -11904,22 +12489,56 @@ static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
sd->skillitem = sd->skillitemlv = 0;
if (skill_id >= GD_SKILLBASE && skill_id < GD_MAX) {
- if( sd->state.gmaster_flag )
+ if (sd->state.gmaster_flag)
skill_lv = guild->checkskill(sd->guild, skill_id);
else
skill_lv = 0;
} else {
tmp = pc->checkskill(sd, skill_id);
- if( skill_lv > tmp )
+ if (skill_lv > tmp)
skill_lv = tmp;
}
pc->delinvincibletimer(sd);
- if( skill_lv )
+ if (skill_lv)
unit->skilluse_id(&sd->bl, target_id, skill_id, skill_lv);
}
+static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+/// Request to use a targeted skill.
+/// 0113 <skill lv>.W <skill id>.W <target id>.L (CZ_USE_SKILL)
+/// 0438 <skill lv>.W <skill id>.W <target id>.L (CZ_USE_SKILL2)
+/// There are various variants of this packet, some of them have padding between fields.
+static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
+{
+ clif->useSkillToIdReal(fd,
+ sd,
+ RFIFOW(fd, packet_db[RFIFOW(fd, 0)].pos[1]),
+ RFIFOW(fd, packet_db[RFIFOW(fd, 0)].pos[0]),
+ RFIFOL(fd, packet_db[RFIFOW(fd, 0)].pos[2]));
+}
+
+static void clif_parse_startUseSkillToId(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_startUseSkillToId(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ const struct PACKET_CZ_START_USE_SKILL *p = RFIFOP(fd, 0);
+ clif->useSkillToIdReal(fd, sd, p->skillId, p->skillLv, p->targetId);
+#endif
+}
+
+static void clif_parse_stopUseSkillToId(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_stopUseSkillToId(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ const struct PACKET_CZ_STOP_USE_SKILL *p = RFIFOP(fd, 0);
+ if (p->skillId != GC_ROLLINGCUTTER) {
+ ShowWarning("Packet CZ_STOP_USE_SKILL usage for unknown skill: %d\n", p->skillId);
+ }
+#endif
+}
+
/*==========================================
* Client tells server he'd like to use AoE skill id 'skill_id' of level 'skill_lv' on 'x','y' location
*------------------------------------------*/
@@ -12191,7 +12810,7 @@ static void clif_parse_NpcSelectMenu(int fd, struct map_session_data *sd)
int npc_id = RFIFOL(fd,2);
uint8 select = RFIFOB(fd,6);
- if( (select > sd->npc_menu && select != 0xff) || select == 0 ) {
+ if( (select > sd->npc_menu && select != MAX_MENU_OPTIONS) || select == 0 ) {
#ifdef SECURE_NPCTIMEOUT
if( sd->npc_idle_timer != INVALID_TIMER ) {
#endif
@@ -12224,10 +12843,19 @@ static void clif_parse_NpcAmountInput(int fd, struct map_session_data *sd)
int npcid = RFIFOL(fd,2);
int amount = RFIFOL(fd,6);
- if (amount >= 0)
+ if (amount < sd->npc_amount_min) {
+ sd->npc_amount = sd->npc_amount_min;
+ sd->npc_input_capped_range = -1;
+ }
+ else if (amount > sd->npc_amount_max) {
+ sd->npc_amount = sd->npc_amount_max;
+ sd->npc_input_capped_range = 1;
+ }
+ else {
sd->npc_amount = amount;
- else
- sd->npc_amount = 0;
+ sd->npc_input_capped_range = 0;
+ }
+
npc->scriptcont(sd, npcid, false);
}
@@ -12296,7 +12924,7 @@ static void clif_parse_OneClick_ItemIdentify(int fd, struct map_session_data *sd
short idx = RFIFOW(fd, packet_db[cmd].pos[0]) - 2;
int n;
- if (idx < 0 || idx >= MAX_INVENTORY || sd->inventory_data[idx] == NULL || sd->status.inventory[idx].nameid <= 0)
+ if (idx < 0 || idx >= sd->status.inventorySize || sd->inventory_data[idx] == NULL || sd->status.inventory[idx].nameid <= 0)
return;
if ((n = pc->have_magnifier(sd) ) != INDEX_NOT_FOUND &&
@@ -12316,7 +12944,7 @@ static void clif_parse_SelectArrow(int fd, struct map_session_data *sd)
clif_menuskill_clear(sd);
return;
}
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
itemId = RFIFOL(fd, 2);
#else
itemId = RFIFOW(fd, 2);
@@ -12441,12 +13069,12 @@ static void clif_parse_MoveToKafra(int fd, struct map_session_data *sd)
{
int item_index, item_amount;
- if (pc_istrading(sd))
+ if (pc_istrading(sd) || sd->state.prevend)
return;
item_index = RFIFOW(fd,packet_db[RFIFOW(fd,0)].pos[0])-2;
item_amount = RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[1]);
- if (item_index < 0 || item_index >= MAX_INVENTORY || item_amount < 1)
+ if (item_index < 0 || item_index >= sd->status.inventorySize || item_amount < 1)
return;
if (sd->state.storage_flag == STORAGE_FLAG_NORMAL)
@@ -12462,6 +13090,9 @@ static void clif_parse_MoveFromKafra(int fd, struct map_session_data *sd) __attr
/// There are various variants of this packet, some of them have padding between fields.
static void clif_parse_MoveFromKafra(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || sd->state.prevend)
+ return;
+
int item_index, item_amount;
item_index = RFIFOW(fd,packet_db[RFIFOW(fd,0)].pos[0])-1;
@@ -12478,7 +13109,7 @@ static void clif_parse_MoveToKafraFromCart(int fd, struct map_session_data *sd)
/// 0129 <index>.W <amount>.L
static void clif_parse_MoveToKafraFromCart(int fd, struct map_session_data *sd)
{
- if( sd->state.vending )
+ if (pc_istrading(sd) || sd->state.prevend)
return;
if (!pc_iscarton(sd))
return;
@@ -12494,7 +13125,7 @@ static void clif_parse_MoveFromKafraToCart(int fd, struct map_session_data *sd)
/// 0128 <index>.W <amount>.L
static void clif_parse_MoveFromKafraToCart(int fd, struct map_session_data *sd)
{
- if( sd->state.vending )
+ if (pc_istrading(sd) || sd->state.prevend)
return;
if (!pc_iscarton(sd))
return;
@@ -14097,10 +14728,10 @@ static void clif_parse_pet_evolution(int fd, struct map_session_data *sd)
return;
}
- ARR_FIND(0, MAX_INVENTORY, idx, sd->status.inventory[idx].card[0] == CARD0_PET &&
+ ARR_FIND(0, sd->status.inventorySize, idx, sd->status.inventory[idx].card[0] == CARD0_PET &&
sd->status.pet_id == MakeDWord(sd->status.inventory[idx].card[1], sd->status.inventory[idx].card[2]));
- if (idx == MAX_INVENTORY) {
+ if (idx == sd->status.inventorySize) {
clif->petEvolutionResult(fd, PET_EVOL_NO_PETEGG);
return;
}
@@ -14164,7 +14795,7 @@ static void clif_parse_pet_evolution(int fd, struct map_session_data *sd)
intif->create_pet(
sd->status.account_id, sd->status.char_id,
- (short)pet->db[pet_id].class_, (short)mob->db(pet->db[pet_id].class_)->lv,
+ pet->db[pet_id].class_, mob->db(pet->db[pet_id].class_)->lv,
pet->db[pet_id].EggID, 0, (short)pet->db[pet_id].intimate,
100, 0, 1, pet->db[pet_id].jname);
clif->petEvolutionResult(fd, PET_EVOL_SUCCESS);
@@ -15309,6 +15940,7 @@ static void clif_parse_FeelSaveOk(int fd, struct map_session_data *sd)
/// 0 = sun
/// 1 = moon
/// 2 = star
+/// 10 = Do you agree to cast the magic spell that consumes 1 Black Gemstone and 1,000,000 Zeny?
static void clif_feel_req(int fd, struct map_session_data *sd, uint16 skill_lv)
{
nullpo_retv(sd);
@@ -15984,7 +16616,7 @@ static void clif_Auction_openwindow(struct map_session_data *sd)
nullpo_retv(sd);
fd = sd->fd;
- if (sd->state.storage_flag != STORAGE_FLAG_CLOSED || sd->state.vending || sd->state.buyingstore || sd->state.trading)
+ if (sd->state.storage_flag != STORAGE_FLAG_CLOSED || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->state.trading)
return;
if( !battle_config.feature_auction )
@@ -16085,7 +16717,7 @@ static void clif_parse_Auction_setitem(int fd, struct map_session_data *sd)
if( sd->auction.amount > 0 )
sd->auction.amount = 0;
- if( idx < 0 || idx >= MAX_INVENTORY ) {
+ if (idx < 0 || idx >= sd->status.inventorySize) {
ShowWarning("Character %s trying to set invalid item index in auctions.\n", sd->status.name);
return;
}
@@ -16160,7 +16792,7 @@ static void clif_parse_Auction_register(int fd, struct map_session_data *sd)
if (!battle_config.feature_auction)
return;
- Assert_retv(sd->auction.index >= 0 && sd->auction.index < MAX_INVENTORY);
+ Assert_retv(sd->auction.index >= 0 && sd->auction.index < sd->status.inventorySize);
memset(&auction, 0, sizeof(auction));
auction.price = RFIFOL(fd,2);
@@ -16657,6 +17289,9 @@ static void clif_parse_cz_config(int fd, struct map_session_data *sd)
hd->homunculus.autofeed = flag;
break;
}
+ case CZ_CONFIG_CALL:
+ sd->status.allow_call = flag;
+ break;
default:
ShowWarning("clif_parse_cz_config: Unsupported type has been received (%u).\n", type);
return;
@@ -16667,13 +17302,20 @@ static void clif_parse_cz_config(int fd, struct map_session_data *sd)
static void clif_parse_PartyTick(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
/// Request to change party invitation tick.
/// value:
-/// 0 = disabled
-/// 1 = enabled
+/// 0 = enabled
+/// 1 = disabled
static void clif_parse_PartyTick(int fd, struct map_session_data *sd)
{
- bool flag = RFIFOB(fd,6)?true:false;
- sd->status.allow_party = flag;
- clif->partytickack(sd, flag);
+ const struct PACKET_CZ_PARTY_CONFIG *const p = RFIFOP(fd, 0);
+ const bool newAllowParty = p->refuseInvite ? true : false;
+ if (newAllowParty != sd->status.allow_party) {
+ sd->status.allow_party = newAllowParty;
+ if ((map->save_settings & 512) != 0)
+ chrif->save(sd, 0); // send to char server
+ } else {
+ sd->status.allow_party = newAllowParty;
+ }
+ clif->partytickack(sd, sd->status.allow_party);
}
/// Questlog System [Kevin] [Inkfish]
@@ -16721,7 +17363,11 @@ static void clif_quest_send_list(struct map_session_data *sd)
real_len += sizeof(info->objectives[j]);
mob_data = mob->db(qi->objectives[j].mob);
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ info->objectives[j].huntIdent = sd->quest_log[i].quest_id;
+ info->objectives[j].huntIdent2 = j;
+ info->objectives[j].mobType = 0; // Info Needed
+#elif PACKETVER >= 20150513
info->objectives[j].huntIdent = (sd->quest_log[i].quest_id * 1000) + j;
info->objectives[j].mobType = 0; // Info Needed
#endif
@@ -16810,7 +17456,11 @@ static void clif_quest_add(struct map_session_data *sd, struct quest *qd)
monster = mob->db(qi->objectives[i].mob);
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ packet->objectives[i].huntIdent = qd->quest_id;
+ packet->objectives[i].huntIdent2 = i;
+ packet->objectives[i].mobType = 0; // Info Needed
+#elif PACKETVER >= 20150513
packet->objectives[i].huntIdent = (qd->quest_id * 1000) + i;
packet->objectives[i].mobType = 0; // Info Needed
#endif
@@ -16871,7 +17521,10 @@ static void clif_quest_update_objective(struct map_session_data *sd, struct ques
real_len += sizeof(packet->objectives[i]);
packet->objectives[i].questID = qd->quest_id;
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ packet->objectives[i].huntIdent = qd->quest_id;
+ packet->objectives[i].huntIdent2 = i;
+#elif PACKETVER >= 20150513
packet->objectives[i].huntIdent = (qd->quest_id * 1000) + i;
#else
packet->objectives[i].mob_id = qi->objectives[i].mob;
@@ -17446,6 +18099,7 @@ static int clif_instance(int instance_id, int type, int flag)
case 2:
// S 0x2cc <Standby Position>.W
// To announce Instancing queue creation if no maps available
+ // flag is priority, negative value mean cancel reservation
WBUFW(buf,0) = 0x02CC;
WBUFW(buf,2) = flag;
clif->send(buf,packet_len(0x02CC),&sd->bl,target);
@@ -17628,8 +18282,8 @@ static void clif_parse_ItemListWindowSelected(int fd, struct map_session_data *s
return; // Canceled by player.
}
- if (n > MAX_INVENTORY)
- n = MAX_INVENTORY; // It should be impossible to have more than that.
+ if (n > sd->status.inventorySize)
+ n = sd->status.inventorySize; // It should be impossible to have more than that.
if (sd->menuskill_id != SO_EL_ANALYSIS && sd->menuskill_id != GN_CHANGEMATERIAL) {
clif_menuskill_clear(sd);
@@ -18216,6 +18870,7 @@ static void clif_search_store_info_ack(struct map_session_data *sd)
/// 2 = "You cannot search anymore." (0x706)
/// 3 = "You cannot search yet." (0x708)
/// 4 = "No sale (purchase) information available." (0x705)
+/// 362 = silent error
static void clif_search_store_info_failed(struct map_session_data *sd, unsigned char reason)
{
#if PACKETVER >= 20100601
@@ -18303,7 +18958,7 @@ static void clif_parse_debug(int fd, struct map_session_data *sd)
cmd = RFIFOW(fd,0);
if( sd ) {
- packet_len = packet_db[cmd].len;
+ packet_len = packets->db[cmd];
if( packet_len == -1 ) {// variable length
packet_len = RFIFOW(fd,2); // clif_parse ensures, that this amount of data is already received
@@ -18382,7 +19037,7 @@ static int clif_spellbook_list(struct map_session_data *sd)
WFIFOHEAD(fd, 8 * 8 + 8);
WFIFOW(fd,0) = 0x1ad;
- for( i = 0, c = 0; i < MAX_INVENTORY; i ++ )
+ for (i = 0, c = 0; i < sd->status.inventorySize; i ++ )
{
if( itemdb_is_spellbook(sd->status.inventory[i].nameid) )
{
@@ -18422,7 +19077,7 @@ static int clif_magicdecoy_list(struct map_session_data *sd, uint16 skill_lv, sh
WFIFOHEAD(fd, 8 * 8 + 8);
WFIFOW(fd,0) = 0x1ad; // This is the official packet. [pakpil]
- for( i = 0, c = 0; i < MAX_INVENTORY; i ++ ) {
+ for (i = 0, c = 0; i < sd->status.inventorySize; i ++) {
if( itemdb_is_element(sd->status.inventory[i].nameid) ) {
WFIFOW(fd, c * 2 + 4) = sd->status.inventory[i].nameid;
c ++;
@@ -18459,7 +19114,7 @@ static int clif_poison_list(struct map_session_data *sd, uint16 skill_lv)
WFIFOHEAD(fd, 8 * 8 + 8);
WFIFOW(fd,0) = 0x1ad; // This is the official packet. [pakpil]
- for( i = 0, c = 0; i < MAX_INVENTORY; i ++ ) {
+ for (i = 0, c = 0; i < sd->status.inventorySize; i ++) {
if( itemdb_is_poison(sd->status.inventory[i].nameid) ) {
WFIFOW(fd, c * 2 + 4) = sd->status.inventory[i].nameid;
c ++;
@@ -18551,7 +19206,7 @@ static void clif_parse_SkillSelectMenu(int fd, struct map_session_data *sd)
if( sd->menuskill_id != SC_AUTOSHADOWSPELL )
return;
- if( pc_istrading(sd) ) {
+ if (pc_istrading(sd) || sd->state.prevend) {
clif->skill_fail(sd, sd->ud.skill_id, 0, 0, 0);
clif_menuskill_clear(sd);
return;
@@ -18600,7 +19255,7 @@ static void clif_parse_MoveItem(int fd, struct map_session_data *sd)
index = RFIFOW(fd,2)-2;
- if (index < 0 || index >= MAX_INVENTORY)
+ if (index < 0 || index >= sd->status.inventorySize)
return;
if ( sd->status.inventory[index].favorite && RFIFOB(fd, 4) == 1 )
@@ -18727,8 +19382,20 @@ static void clif_monster_hp_bar(struct mob_data *md, struct map_session_data *sd
}
/* [Ind/Hercules] placeholder for unsupported incoming packets (avoids server disconnecting client) */
-static void __attribute__ ((unused)) clif_parse_dull(int fd, struct map_session_data *sd)
+static void clif_parse_dull(int fd, struct map_session_data *sd)
{
+ const int cmd = clif->cmd;
+ Assert_retv(cmd <= MAX_PACKET_DB && cmd >= MIN_PACKET_DB);
+
+ int packet_len = packets->db[cmd];
+ if (packet_len == -1) { // variable-length packet
+ packet_len = RFIFOW(fd, 2);
+ }
+ if (sd) {
+ ShowWarning("Unhandled packet 0x%04X (length %d), %s session #%d, %d/%d (AID/CID)\n", (uint32)cmd, packet_len, sd->state.active ? "authed" : "unauthed", fd, sd->status.account_id, sd->status.char_id);
+ } else {
+ ShowWarning("Unhandled packet 0x%04X (length %d), session #%d\n", (uint32)cmd, packet_len, fd);
+ }
return;
}
@@ -18888,18 +19555,26 @@ static void clif_parse_CashShopBuy(int fd, struct map_session_data *sd)
} else {
result = CSBR_UNKONWN_ITEM;
}
-
- WFIFOHEAD(fd, 16);
- WFIFOW(fd, 0) = 0x849;
- WFIFOL(fd, 2) = id;
- WFIFOW(fd, 6) = result;/* result */
- WFIFOL(fd, 8) = sd->cashPoints;/* current cash point */
- WFIFOL(fd, 12) = sd->kafraPoints;// [Ryuuzaki]
- WFIFOSET(fd, 16);
+ clif->cashShopBuyAck(fd, sd, id, result);
}
}
+static void clif_cashShopBuyAck(int fd, struct map_session_data *sd, int itemId, enum CASH_SHOP_BUY_RESULT result)
+{
+#if PACKETVER_MAIN_NUM >= 20101123 || PACKETVER_RE_NUM >= 20120328 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_SE_PC_BUY_CASHITEM_RESULT));
+ struct PACKET_ZC_SE_PC_BUY_CASHITEM_RESULT *p = WFIFOP(fd, 0);
+ p->packetType = 0x849;
+ p->itemId = itemId;
+ p->result = result;
+ p->cashPoints = sd->cashPoints;
+ p->kafraPoints = sd->kafraPoints;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_SE_PC_BUY_CASHITEM_RESULT));
+#endif
+}
+
static void clif_parse_CashShopReqTab(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
/* [Ind/Hercules] */
static void clif_parse_CashShopReqTab(int fd, struct map_session_data *sd)
@@ -18982,7 +19657,7 @@ static void clif_partytickack(struct map_session_data *sd, bool flag)
WFIFOSET(sd->fd, packet_len(0x2c9));
}
-static void clif_ShowScript(struct block_list *bl, const char *message)
+static void clif_ShowScript(struct block_list *bl, const char *message, enum send_target target)
{
#if PACKETVER >= 20110111
char buf[256];
@@ -19003,7 +19678,7 @@ static void clif_ShowScript(struct block_list *bl, const char *message)
WBUFW(buf,2) = len+8;
WBUFL(buf,4) = bl->id;
safestrncpy(WBUFP(buf,8),message,len);
- clif->send(buf,WBUFW(buf,2),bl,AREA);
+ clif->send(buf, WBUFW(buf,2), bl, target);
#endif
}
@@ -19513,31 +20188,31 @@ static void clif_parse_NPCShopClosed(int fd, struct map_session_data *sd)
/* NPC Market (by Ind after an extensive debugging of the packet, only possible thanks to Yommy <3) */
static void clif_npc_market_open(struct map_session_data *sd, struct npc_data *nd)
{
-#if PACKETVER >= 20131223
- struct npc_item_list *shop;
- unsigned short shop_size, i, c;
-
+#if PACKETVER_MAIN_NUM >= 20131120 || PACKETVER_RE_NUM >= 20131106 || defined(PACKETVER_ZERO)
nullpo_retv(sd);
nullpo_retv(nd);
- shop = nd->u.scr.shop->item;
- shop_size = nd->u.scr.shop->items;
- npcmarket_open.PacketType = npcmarketopenType;
+ struct npc_item_list *shop = nd->u.scr.shop->item;
+ const int shop_size = nd->u.scr.shop->items;
+
+ int c = 0;
+ int maxCount = (sizeof(packet_buf) - sizeof(struct PACKET_ZC_NPC_MARKET_OPEN)) / sizeof(struct PACKET_ZC_NPC_MARKET_OPEN_sub);
+ struct PACKET_ZC_NPC_MARKET_OPEN *packet = (struct PACKET_ZC_NPC_MARKET_OPEN*)&packet_buf[0];
+ packet->packetType = HEADER_ZC_NPC_MARKET_OPEN;
- for(i = 0, c = 0; i < shop_size; i++) {
+ for (int i = 0; i < shop_size && c < maxCount; i++) {
struct item_data *id = NULL;
if (shop[i].nameid && (id = itemdb->exists(shop[i].nameid)) != NULL) {
- npcmarket_open.list[c].nameid = shop[i].nameid;
- npcmarket_open.list[c].price = shop[i].value;
- npcmarket_open.list[c].qty = shop[i].qty;
- npcmarket_open.list[c].type = itemtype(id->type);
- npcmarket_open.list[c].view = ( id->view_id > 0 ) ? id->view_id : id->nameid;
+ packet->list[c].nameid = shop[i].nameid;
+ packet->list[c].price = shop[i].value;
+ packet->list[c].qty = shop[i].qty;
+ packet->list[c].type = itemtype(id->type);
+ packet->list[c].weight = id->weight * 10;
c++;
}
}
- npcmarket_open.PacketLength = 4 + ( sizeof(npcmarket_open.list[0]) * c );
-
- clif->send(&npcmarket_open,npcmarket_open.PacketLength,&sd->bl,SELF);
+ packet->packetLength = sizeof(struct PACKET_ZC_NPC_MARKET_OPEN) + sizeof(struct PACKET_ZC_NPC_MARKET_OPEN_sub) * c;
+ clif->send(packet, packet->packetLength, &sd->bl, SELF);
#endif
}
@@ -19548,6 +20223,12 @@ static void clif_parse_NPCMarketClosed(int fd, struct map_session_data *sd)
sd->npc_shopid = 0;
}
+static void clif_parse_NPCBarterClosed(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_NPCBarterClosed(int fd, struct map_session_data *sd)
+{
+ sd->npc_shopid = 0;
+}
+
static void clif_npc_market_purchase_ack(struct map_session_data *sd, const struct itemlist *item_list, unsigned char response)
{
#if PACKETVER >= 20131223
@@ -19594,7 +20275,7 @@ static void clif_parse_NPCMarketPurchase(int fd, struct map_session_data *sd)
int count = (p->PacketLength - 4) / sizeof p->list[0];
struct itemlist item_list;
- Assert_retv(count >= 0 && count <= MAX_INVENTORY);
+ Assert_retv(count >= 0 && count <= sd->status.inventorySize);
VECTOR_INIT(item_list);
VECTOR_ENSURE(item_list, count, 1);
@@ -19641,7 +20322,7 @@ static void clif_parse_RouletteOpen(int fd, struct map_session_data *sd)
}
p.PacketType = 0xa1a;
- p.Result = 0;
+ p.Result = OPEN_ROULETTE_SUCCESS;
p.Serial = 0;
p.Step = sd->roulette.stage - 1;
p.Idx = (char)sd->roulette.prizeIdx;
@@ -19900,7 +20581,7 @@ static bool clif_parse_roulette_db(void)
/**
*
**/
-static void clif_roulette_generate_ack(struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, int bonusItemID)
+static void clif_roulette_generate_ack(struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID)
{
#if PACKETVER >= 20140612
struct packet_roulette_generate_ack p;
@@ -19919,20 +20600,34 @@ static void clif_roulette_generate_ack(struct map_session_data *sd, unsigned cha
#endif
}
+static void clif_roulette_close(struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20141008 || PACKETVER_RE_NUM >= 20140903 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+
+ struct PACKET_ZC_ACK_CLOSE_ROULETTE p;
+ p.packetType = HEADER_ZC_ACK_CLOSE_ROULETTE;
+ p.result = 0; // close window
+
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
+
/**
* Stackable items merger
*/
static void clif_openmergeitem(int fd, struct map_session_data *sd)
{
-#if PACKETVER > 20120228
- int i = 0, n = 0, j = 0;
+#if PACKETVER_MAIN_NUM >= 20120314 || PACKETVER_RE_NUM >= 20120221 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+
+ int n = 0, j = 0;
struct merge_item merge_items[MAX_INVENTORY];
struct merge_item *merge_items_[MAX_INVENTORY] = {0};
- nullpo_retv(sd);
- memset(&merge_items,'\0',sizeof(merge_items));
+ memset(&merge_items, '\0', sizeof(merge_items));
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
struct item *item_data = &sd->status.inventory[i];
if (item_data->nameid == 0 || !itemdb->isstackable(item_data->nameid) || item_data->bound != IBT_NONE)
@@ -19943,17 +20638,18 @@ static void clif_openmergeitem(int fd, struct map_session_data *sd)
n++;
}
- qsort(merge_items,n,sizeof(struct merge_item),clif->comparemergeitem);
+ qsort(merge_items, n, sizeof(struct merge_item), clif->comparemergeitem);
- for (i = 0, j = 0; i < n; i++) {
- if (i > 0 && merge_items[i].nameid == merge_items[i-1].nameid)
+ j = 0;
+ for (int i = 0; i < n; i++) {
+ if (i > 0 && merge_items[i].nameid == merge_items[i - 1].nameid)
{
merge_items_[j] = &merge_items[i];
j++;
continue;
}
- if (i < n - 1 && merge_items[i].nameid == merge_items[i+1].nameid)
+ if (i < n - 1 && merge_items[i].nameid == merge_items[i + 1].nameid)
{
merge_items_[j] = &merge_items[i];
j++;
@@ -19961,12 +20657,14 @@ static void clif_openmergeitem(int fd, struct map_session_data *sd)
}
}
- WFIFOHEAD(fd,2*j+4);
- WFIFOW(fd,0) = 0x96d;
- WFIFOW(fd,2) = 2*j+4;
- for ( i = 0; i < j; i++ )
- WFIFOW(fd,i*2+4) = merge_items_[i]->position;
- WFIFOSET(fd,2*j+4);
+ const int len = sizeof(struct PACKET_ZC_MERGE_ITEM_OPEN) + j * sizeof(struct PACKET_ZC_MERGE_ITEM_OPEN_sub);
+ WFIFOHEAD(fd, len);
+ struct PACKET_ZC_MERGE_ITEM_OPEN *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_MERGE_ITEM_OPEN;
+ p->packetLen = len;
+ for (int i = 0; i < j; i++)
+ p->items[i].index = merge_items_[i]->position;
+ WFIFOSET(fd, len);
#endif
}
@@ -19982,35 +20680,42 @@ static int clif_comparemergeitem(const void *a, const void *b)
return a_->nameid > b_->nameid ? -1 : 1;
}
+static void clif_mergeitems(int fd, struct map_session_data *sd, int index, int amount, enum mergeitem_reason reason)
+{
+#if PACKETVER_MAIN_NUM >= 20120314 || PACKETVER_RE_NUM >= 20120221 || defined(PACKETVER_ZERO)
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_ACK_MERGE_ITEM));
+ struct PACKET_ZC_ACK_MERGE_ITEM *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_ACK_MERGE_ITEM;
+ p->index = index + 2;
+ p->amount = amount;
+ p->reason = reason;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_ACK_MERGE_ITEM));
+#endif
+}
+
static void clif_ackmergeitems(int fd, struct map_session_data *sd)
{
-#if PACKETVER > 20120228
- int i = 0, n = 0, length = 0, count = 0;
+#if PACKETVER_MAIN_NUM >= 20120314 || PACKETVER_RE_NUM >= 20120221 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+
+ int i = 0, n = 0, count = 0;
int nameid = 0;
int16 indexes[MAX_INVENTORY] = {0}, amounts[MAX_INVENTORY] = {0};
- struct item item_data;
- nullpo_retv(sd);
- length = (RFIFOW(fd,2) - 4)/2;
+ int length = (RFIFOW(fd, 2) - 4) / 2;
- if (length >= MAX_INVENTORY || length < 2) {
- WFIFOHEAD(fd,7);
- WFIFOW(fd,0) = 0x96f;
- WFIFOW(fd,2) = 0;
- WFIFOW(fd,4) = 0;
- WFIFOB(fd,6) = MERGEITEM_FAILD;
- WFIFOSET(fd,7);
+ if (length >= sd->status.inventorySize || length < 2) {
+ clif->mergeitems(fd, sd, 0, 0, MERGEITEM_FAILD);
return;
}
for (i = 0, n = 0; i < length; i++) {
- int16 idx = RFIFOW(fd,i*2+4) - 2;
- struct item *it = NULL;
+ int16 idx = RFIFOW(fd, i * 2 + 4) - 2;
- if (idx < 0 || idx >= MAX_INVENTORY)
+ if (idx < 0 || idx >= sd->status.inventorySize)
continue;
- it = &sd->status.inventory[idx];
+ struct item *it = &sd->status.inventory[idx];
if (it->nameid == 0 || !itemdb->isstackable(it->nameid) || it->bound != IBT_NONE)
continue;
@@ -20028,43 +20733,29 @@ static void clif_ackmergeitems(int fd, struct map_session_data *sd)
}
if (n < 2 || count == 0) {
- WFIFOHEAD(fd,7);
- WFIFOW(fd,0) = 0x96f;
- WFIFOW(fd,2) = 0;
- WFIFOW(fd,4) = 0;
- WFIFOB(fd,6) = MERGEITEM_FAILD;
- WFIFOSET(fd,7);
+ clif->mergeitems(fd, sd, 0, 0, MERGEITEM_FAILD);
return;
}
if (count > MAX_AMOUNT) {
- WFIFOHEAD(fd,7);
- WFIFOW(fd,0) = 0x96f;
- WFIFOW(fd,2) = 0;
- WFIFOW(fd,4) = 0;
- WFIFOB(fd,6) = MERGEITEM_MAXCOUNTFAILD;
- WFIFOSET(fd,7);
+ clif->mergeitems(fd, sd, 0, 0, MERGEITEM_MAXCOUNTFAILD);
return;
}
for (i = 0; i < n; i++)
- pc->delitem(sd,indexes[i],amounts[i],0,DELITEM_NORMAL,LOG_TYPE_NPC);
+ pc->delitem(sd, indexes[i], amounts[i], 0, DELITEM_NORMAL, LOG_TYPE_NPC);
- memset(&item_data,'\0',sizeof(item_data));
+ struct item item_data;
+ memset(&item_data, '\0', sizeof(item_data));
item_data.nameid = nameid;
item_data.identify = 1;
item_data.unique_id = itemdb->unique_id(sd);
- pc->additem(sd,&item_data,count,LOG_TYPE_NPC);
+ pc->additem(sd, &item_data, count, LOG_TYPE_NPC);
- ARR_FIND(0,MAX_INVENTORY,i,item_data.unique_id == sd->status.inventory[i].unique_id);
+ ARR_FIND(0, sd->status.inventorySize, i, item_data.unique_id == sd->status.inventory[i].unique_id);
- WFIFOHEAD(fd,7);
- WFIFOW(fd,0) = 0x96f;
- WFIFOW(fd,2) = i+2;
- WFIFOW(fd,4) = count;
- WFIFOB(fd,6) = MERGEITEM_SUCCESS;
- WFIFOSET(fd,7);
+ clif->mergeitems(fd, sd, i, count, MERGEITEM_SUCCESS);
#endif
}
@@ -20176,21 +20867,21 @@ static const char *clif_get_bl_name(const struct block_list *bl)
*/
static void clif_clan_basicinfo(struct map_session_data *sd)
{
-#if PACKETVER >= 20120716
+#if PACKETVER_MAIN_NUM >= 20130626 || PACKETVER_RE_NUM >= 20130605 || defined(PACKETVER_ZERO)
int len, i, fd;
struct clan *c, *ally, *antagonist;
struct PACKET_ZC_CLANINFO *packet = NULL;
-
nullpo_retv(sd);
nullpo_retv(c = sd->clan);
len = sizeof(struct PACKET_ZC_CLANINFO);
fd = sd->fd;
- WFIFOHEAD(fd, len);
+ const int maxEntries = 100; // max entries with clan names
+ WFIFOHEAD(fd, len + maxEntries * 24);
packet = WFIFOP(fd, 0);
- packet->PacketType = clanBasicInfo;
+ packet->PacketType = HEADER_ZC_CLANINFO;
packet->ClanID = c->clan_id;
safestrncpy(packet->ClanName, c->name, NAME_LENGTH);
@@ -20201,24 +20892,27 @@ static void clif_clan_basicinfo(struct map_session_data *sd)
packet->AllyCount = VECTOR_LENGTH(c->allies);
packet->AntagonistCount = VECTOR_LENGTH(c->antagonists);
+ int cnt = 0;
// All allies and antagonists are assumed as valid entries
// since it only gets inside the vector after the validation
// on clan->config_read
- for (i = 0; i < VECTOR_LENGTH(c->allies); i++) {
+ for (i = 0; i < VECTOR_LENGTH(c->allies) && cnt < maxEntries; i++) {
struct clan_relationship *al = &VECTOR_INDEX(c->allies, i);
if ((ally = clan->search(al->clan_id)) != NULL) {
safestrncpy(WFIFOP(fd, len), ally->name, NAME_LENGTH);
len += NAME_LENGTH;
+ cnt ++;
}
}
- for (i = 0; i < VECTOR_LENGTH(c->antagonists); i++) {
+ for (i = 0; i < VECTOR_LENGTH(c->antagonists) && cnt < maxEntries; i++) {
struct clan_relationship *an = &VECTOR_INDEX(c->antagonists, i);
if ((antagonist = clan->search(an->clan_id)) != NULL) {
safestrncpy(WFIFOP(fd, len), antagonist->name, NAME_LENGTH);
len += NAME_LENGTH;
+ cnt ++;
}
}
@@ -20349,7 +21043,7 @@ static unsigned short clif_parse_cmd_optional(int fd, struct map_session_data *s
unsigned short cmd = RFIFOW(fd,0);
// filter out invalid / unsupported packets
- if( cmd > MAX_PACKET_DB || cmd < MIN_PACKET_DB || packet_db[cmd].len == 0 ) {
+ if( cmd > MAX_PACKET_DB || cmd < MIN_PACKET_DB || packets->db[cmd] == 0 ) {
if( sd )
sd->parse_cmd_func = clif_parse_cmd_decrypt;
return clif_parse_cmd_decrypt(fd, sd);
@@ -20514,7 +21208,7 @@ static void clif_achievement_reward_ack(int fd, struct map_session_data *sd, con
nullpo_retv(ad);
p.packet_id = achievementRewardAckType;
- p.received = 1;
+ p.failed = 0;
p.ach_id = ad->id;
clif->send(&p, packet_len(achievementRewardAckType), &sd->bl, SELF);
@@ -20562,8 +21256,8 @@ static void clif_change_title_ack(int fd, struct map_session_data *sd, int title
WFIFOSET(fd, packet_len(0xa2f));
// Update names
- clif->charnameack(fd, &sd->bl);
- clif->charnameack(0, &sd->bl);
+ clif->blname_ack(fd, &sd->bl);
+ clif->blname_ack(0, &sd->bl);
#endif
}
// End of Achievement System
@@ -20613,7 +21307,7 @@ static void clif_rodex_add_item_result(struct map_session_data *sd, int16 idx, i
int fd, j;
nullpo_retv(sd);
- if (idx < 0 || idx >= MAX_INVENTORY)
+ if (idx < 0 || idx >= sd->status.inventorySize)
return;
fd = sd->fd;
@@ -20666,7 +21360,7 @@ static void clif_rodex_remove_item_result(struct map_session_data *sd, int16 idx
int fd;
nullpo_retv(sd);
- Assert_retv(idx >= 0 && idx < MAX_INVENTORY);
+ Assert_retv(idx >= 0 && idx < sd->status.inventorySize);
fd = sd->fd;
@@ -20686,7 +21380,7 @@ static void clif_parse_rodex_checkname(int fd, struct map_session_data *sd)
{
const struct PACKET_CZ_CHECKNAME *rPacket = RFIFOP(fd, 0);
int char_id = 0, base_level = 0;
- short class = 0;
+ int class = 0;
char name[NAME_LENGTH];
safestrncpy(name, rPacket->Name, NAME_LENGTH);
@@ -20694,7 +21388,7 @@ static void clif_parse_rodex_checkname(int fd, struct map_session_data *sd)
rodex->check_player(sd, name, &base_level, &char_id, &class);
}
-static void clif_rodex_checkname_result(struct map_session_data *sd, int char_id, short class_, int base_level, const char *name)
+static void clif_rodex_checkname_result(struct map_session_data *sd, int char_id, int class_, int base_level, const char *name)
{
#if PACKETVER >= 20140521
struct PACKET_ZC_CHECKNAME *sPacket;
@@ -21235,7 +21929,7 @@ static void clif_hat_effect_single(struct block_list *bl, uint16 effectId, bool
WBUFB(buf,8) = enable;
WBUFL(buf,9) = effectId;
- clif_send(buf, 13, bl, AREA);
+ clif->send(buf, 13, bl, AREA);
#endif
}
@@ -21344,6 +22038,18 @@ static void clif_open_ui(struct map_session_data *sd, enum cz_ui_types uiType)
p.data = 0;
#endif
break;
+ case CZ_MACRO_REGISTER_UI:
+ p.UIType = ZC_CAPTCHA_UI;
+#if PACKETVER >= 20171122
+ p.data = 0;
+#endif
+ break;
+ case CZ_MACRO_DETECTOR_UI:
+ p.UIType = ZC_MACRO_UI;
+#if PACKETVER >= 20171122
+ p.data = 0;
+#endif
+ break;
case CZ_ATTENDANCE_UI:
{
if (clif->attendance_getendtime() < time(NULL)) {
@@ -21430,6 +22136,17 @@ static void clif_parse_attendance_reward_request(int fd, struct map_session_data
static void clif_parse_cz_blocking_play_cancel(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_cz_blocking_play_cancel(int fd, struct map_session_data *sd)
{
+ clif->loadConfirm(sd);
+}
+
+static void clif_loadConfirm(struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20190403 || PACKETVER_RE_NUM >= 20190320 || PACKETVER_ZERO_NUM >= 20190410
+ nullpo_retv(sd);
+ struct PACKET_ZC_LOAD_CONFIRM p;
+ p.packetType = HEADER_ZC_LOAD_CONFIRM;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
}
static void clif_ui_action(struct map_session_data *sd, int32 UIType, int32 data)
@@ -21449,7 +22166,7 @@ static void clif_ui_action(struct map_session_data *sd, int32 UIType, int32 data
static void clif_parse_private_airship_request(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_private_airship_request(int fd, struct map_session_data *sd)
{
-#if PACKETVER_RE_NUM >= 20180321 || PACKETVER_MAIN_NUM >= 20180620
+#if PACKETVER_RE_NUM >= 20180321 || PACKETVER_MAIN_NUM >= 20180620 || defined(PACKETVER_ZERO)
char evname[EVENT_NAME_LENGTH];
struct event_data *ev = NULL;
const struct PACKET_CZ_PRIVATE_AIRSHIP_REQUEST *p = RP2PTR(fd);
@@ -21469,7 +22186,7 @@ static void clif_parse_private_airship_request(int fd, struct map_session_data *
static void clif_private_airship_response(struct map_session_data *sd, uint32 flag)
{
-#if PACKETVER_RE_NUM >= 20180321 || PACKETVER_MAIN_NUM >= 20180620
+#if PACKETVER_RE_NUM >= 20180321 || PACKETVER_MAIN_NUM >= 20180620 || defined(PACKETVER_ZERO)
struct PACKET_ZC_PRIVATE_AIRSHIP_RESPONSE p;
nullpo_retv(sd);
@@ -21488,162 +22205,23 @@ static void clif_private_airship_response(struct map_session_data *sd, uint32 fl
#endif
}
-static void clif_stylist_vector_init(void)
-{
- int i;
- for (i = 0; i < MAX_STYLIST_TYPE; i++) {
- VECTOR_INIT(stylist_data[i]);
- }
-}
-
-static void clif_stylist_vector_clear(void)
-{
- int i;
- for (i = 0; i < MAX_STYLIST_TYPE; i++) {
- VECTOR_CLEAR(stylist_data[i]);
- }
-}
-
-static bool clif_stylist_read_db_libconfig(void)
-{
- struct config_t stylist_conf;
- struct config_setting_t *stylist = NULL, *it = NULL;
- const char *config_filename = "db/stylist_db.conf"; // FIXME hardcoded name
- int i = 0;
-
- if (!libconfig->load_file(&stylist_conf, config_filename))
- return false;
-
- if ((stylist = libconfig->setting_get_member(stylist_conf.root, "stylist_db")) == NULL) {
- ShowError("can't read %s\n", config_filename);
- return false;
- }
-
- clif->stylist_vector_clear();
-
- while ((it = libconfig->setting_get_elem(stylist, i++))) {
- clif->stylist_read_db_libconfig_sub(it, i - 1, config_filename);
- }
-
- libconfig->destroy(&stylist_conf);
- ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", i, config_filename);
- return true;
-}
-
-static bool clif_stylist_read_db_libconfig_sub(struct config_setting_t *it, int idx, const char *source)
-{
- struct stylist_data_entry entry = { 0 };
- int i32 = 0, type = 0;
- int64 i64 = 0;
-
- nullpo_ret(it);
- nullpo_ret(source);
-
- if (!itemdb->lookup_const(it, "Type", &type) || type >= MAX_STYLIST_TYPE || type < 0) {
- ShowWarning("clif_stylist_read_db_libconfig_sub: Invalid or missing Type (%d) in \"%s\", entry #%d, skipping.\n", type, source, idx);
- return false;
- }
- if (!itemdb->lookup_const(it, "Id", &i32) || i32 < 0) {
- ShowWarning("clif_stylist_read_db_libconfig_sub: Invalid or missing Id (%d) in \"%s\", entry #%d, skipping.\n", i32, source, idx);
- return false;
- }
- entry.id = i32;
-
- if (libconfig->setting_lookup_int64(it, "Zeny", &i64)) {
- if (i64 > MAX_ZENY) {
- ShowWarning("clif_stylist_read_db_libconfig_sub: zeny is too big in \"%s\", entry #%d, capping to MAX_ZENY.\n", source, idx);
- entry.zeny = MAX_ZENY;
- } else {
- entry.zeny = (int)i64;
- }
- }
-
- if (itemdb->lookup_const(it, "ItemID", &i32))
- entry.itemid = i32;
-
- if (itemdb->lookup_const(it, "BoxItemID", &i32))
- entry.boxid = i32;
-
- if (libconfig->setting_lookup_bool(it, "AllowDoram", &i32))
- entry.allow_doram = (i32 == 0) ? false : true;
-
- VECTOR_ENSURE(stylist_data[type], 1, 1);
- VECTOR_PUSH(stylist_data[type], entry);
- return true;
-}
-
-static bool clif_style_change_validate_requirements(struct map_session_data *sd, int type, int16 idx)
-{
- struct item it;
- struct stylist_data_entry *entry;
-
- nullpo_retr(false, sd);
- Assert_retr(false, type >= 0 && type < MAX_STYLIST_TYPE);
- Assert_retr(false, idx >= 0 && idx < VECTOR_LENGTH(stylist_data[type]));
-
- entry = &VECTOR_INDEX(stylist_data[type], idx);
-
- if (sd->status.class == JOB_SUMMONER && (entry->allow_doram == false))
- return false;
-
- if (entry->id >= 0) {
- if (entry->zeny != 0) {
- if (sd->status.zeny < entry->zeny)
- return false;
-
- sd->status.zeny -= entry->zeny;
- clif->updatestatus(sd, SP_ZENY);
- } else if (entry->itemid != 0) {
- it.nameid = entry->itemid;
- it.amount = 1;
- return script->buildin_delitem_search(sd, &it, false);
- } else if (entry->boxid != 0) {
- it.nameid = entry->boxid;
- it.amount = 1;
- return script->buildin_delitem_search(sd, &it, false);
- }
- return true;
- }
- return false;
-}
-static void clif_stylist_send_rodexitem(struct map_session_data *sd, int itemid)
-{
- struct rodex_message msg = { 0 };
-
- nullpo_retv(sd);
-
- msg.receiver_id = sd->status.char_id;
- msg.items[0].item.nameid = itemid;
- msg.items[0].item.amount = 1;
- msg.items[0].item.identify = 1;
- msg.type = MAIL_TYPE_NPC | MAIL_TYPE_ITEM;
-
- safestrncpy(msg.sender_name, msg_txt(366), NAME_LENGTH);
- safestrncpy(msg.title, msg_txt(367), RODEX_TITLE_LENGTH);
- safestrncpy(msg.body, msg_txt(368), MAIL_BODY_LENGTH);
- msg.send_date = (int)time(NULL);
- msg.expire_date = (int)time(NULL) + RODEX_EXPIRE;
-
- intif->rodex_sendmail(&msg);
-}
-
static void clif_parse_cz_req_style_change(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_cz_req_style_change(int fd, struct map_session_data *sd)
{
const struct PACKET_CZ_REQ_STYLE_CHANGE *p = RP2PTR(fd);
if (p->HeadStyle > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HAIR, p->HeadStyle, false);
+ stylist->request_style_change(sd, LOOK_HAIR, p->HeadStyle, false);
if (p->HeadPalette > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HAIR_COLOR, p->HeadPalette, false);
+ stylist->request_style_change(sd, LOOK_HAIR_COLOR, p->HeadPalette, false);
if (p->BodyPalette > 0)
- clif->cz_req_style_change_sub(sd, LOOK_CLOTHES_COLOR, p->BodyPalette, false);
+ stylist->request_style_change(sd, LOOK_CLOTHES_COLOR, p->BodyPalette, false);
if (p->TopAccessory > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HEAD_TOP, p->TopAccessory, true);
+ stylist->request_style_change(sd, LOOK_HEAD_TOP, p->TopAccessory, true);
if (p->MidAccessory > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HEAD_MID, p->MidAccessory, true);
+ stylist->request_style_change(sd, LOOK_HEAD_MID, p->MidAccessory, true);
if (p->BottomAccessory > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HEAD_BOTTOM, p->BottomAccessory, true);
+ stylist->request_style_change(sd, LOOK_HEAD_BOTTOM, p->BottomAccessory, true);
clif->style_change_response(sd, STYLIST_SHOP_SUCCESS);
return;
}
@@ -21654,43 +22232,30 @@ static void clif_parse_cz_req_style_change2(int fd, struct map_session_data *sd)
const struct PACKET_CZ_REQ_STYLE_CHANGE2 *p = RP2PTR(fd);
if (p->HeadStyle > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HAIR, p->HeadStyle, false);
+ stylist->request_style_change(sd, LOOK_HAIR, p->HeadStyle, false);
if (p->HeadPalette > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HAIR_COLOR, p->HeadPalette, false);
+ stylist->request_style_change(sd, LOOK_HAIR_COLOR, p->HeadPalette, false);
if (p->BodyPalette > 0)
- clif->cz_req_style_change_sub(sd, LOOK_CLOTHES_COLOR, p->BodyPalette, false);
+ stylist->request_style_change(sd, LOOK_CLOTHES_COLOR, p->BodyPalette, false);
if (p->TopAccessory > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HEAD_TOP, p->TopAccessory, true);
+ stylist->request_style_change(sd, LOOK_HEAD_TOP, p->TopAccessory, true);
if (p->MidAccessory > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HEAD_MID, p->MidAccessory, true);
+ stylist->request_style_change(sd, LOOK_HEAD_MID, p->MidAccessory, true);
if (p->BottomAccessory > 0)
- clif->cz_req_style_change_sub(sd, LOOK_HEAD_BOTTOM, p->BottomAccessory, true);
+ stylist->request_style_change(sd, LOOK_HEAD_BOTTOM, p->BottomAccessory, true);
if (p->BodyStyle > 0) {
if (pc->has_second_costume(sd)) {
- clif->cz_req_style_change_sub(sd, LOOK_BODY2, p->BodyStyle, false);
+ stylist->request_style_change(sd, LOOK_BODY2, p->BodyStyle, false);
}
}
clif->style_change_response(sd, STYLIST_SHOP_SUCCESS);
return;
}
-static void clif_cz_req_style_change_sub(struct map_session_data *sd, int type, int16 idx, bool isitem)
+static void clif_parse_cz_style_close(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
+static void clif_parse_cz_style_close(int fd, struct map_session_data *sd)
{
- struct stylist_data_entry *entry;
-
- nullpo_retv(sd);
- Assert_retv(idx > 0);
- Assert_retv(type >= 0 && type < MAX_STYLIST_TYPE);
-
- if ((idx - 1) < VECTOR_LENGTH(stylist_data[type])) {
- entry = &VECTOR_INDEX(stylist_data[type], idx - 1);
- if (clif->style_change_validate_requirements(sd, type, idx - 1)) {
- if (isitem == false)
- pc->changelook(sd, type, entry->id);
- else
- clif->stylist_send_rodexitem(sd, entry->id);
- }
- }
+ // do nothing
}
static void clif_style_change_response(struct map_session_data *sd, enum stylist_shop flag)
@@ -21747,6 +22312,318 @@ static void clif_party_dead_notification(struct map_session_data *sd)
#endif
}
+static void clif_parse_memorial_dungeon_command(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
+static void clif_parse_memorial_dungeon_command(int fd, struct map_session_data *sd)
+{
+ const struct PACKET_CZ_MEMORIALDUNGEON_COMMAND *p = RP2PTR(fd);
+
+ switch (p->command) {
+ case COMMAND_MEMORIALDUNGEON_DESTROY_FORCE:
+ instance->force_destroy(sd);
+ }
+}
+
+static void clif_camera_showWindow(struct map_session_data *sd)
+{
+#if PACKETVER >= 20160525
+ nullpo_retv(sd);
+ struct PACKET_ZC_CAMERA_INFO p;
+ p.packetType = HEADER_ZC_CAMERA_INFO;
+ p.action = 1;
+ p.range = 0;
+ p.rotation = 0;
+ p.latitude = 0;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
+
+static void clif_camera_change(struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target)
+{
+#if PACKETVER >= 20160525
+ nullpo_retv(sd);
+ struct PACKET_ZC_CAMERA_INFO p;
+ p.packetType = HEADER_ZC_CAMERA_INFO;
+ p.action = 0;
+ p.range = range;
+ p.rotation = rotation;
+ p.latitude = latitude;
+ clif->send(&p, sizeof(p), &sd->bl, target);
+#endif
+}
+
+static void clif_parse_cameraInfo(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_cameraInfo(int fd, struct map_session_data *sd)
+{
+#if PACKETVER >= 20160525
+ const struct PACKET_CZ_CAMERA_INFO *const p = RFIFOP(fd, 0);
+ char command[100];
+ if (p->action == 1) {
+ sprintf(command, "%ccamerainfo", atcommand->at_symbol);
+ } else {
+ sprintf(command, "%ccamerainfo %15f %15f %15f", atcommand->at_symbol, p->range, p->rotation, p->latitude);
+ }
+ atcommand->exec(fd, sd, command, true);
+#endif
+}
+
+// show item preview in already opened preview window
+static void clif_item_preview(struct map_session_data *sd, int n)
+{
+#if PACKETVER_MAIN_NUM >= 20170726 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+ Assert_retv(n >= 0 && n < sd->status.inventorySize);
+
+ struct PACKET_ZC_ITEM_PREVIEW p;
+ p.packetType = HEADER_ZC_ITEM_PREVIEW;
+ p.index = n + 2;
+#if PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024
+ p.isDamaged = (sd->status.inventory[n].attribute & ATTR_BROKEN) != 0 ? 1 : 0;
+#endif
+ p.refiningLevel = sd->status.inventory[n].refine;
+ clif->addcards(&p.slot, &sd->status.inventory[n]);
+ clif->add_item_options(&p.option_data[0], &sd->status.inventory[n]);
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
+
+// insert cardId into equipped item in pos equipment slot into slot cardSlot.
+static bool clif_enchant_equipment(struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId)
+{
+#if PACKETVER_MAIN_NUM >= 20160831 || PACKETVER_RE_NUM >= 20151118 || defined(PACKETVER_ZERO)
+ nullpo_ret(sd);
+ Assert_ret(cardSlot >= 0 && cardSlot < MAX_SLOTS);
+ struct PACKET_ZC_ENCHANT_EQUIPMENT p;
+ p.packetType = HEADER_ZC_ENCHANT_EQUIPMENT;
+ p.wearState = pos;
+ p.cardSlot = cardSlot;
+ p.itemId = cardId;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+ return true;
+#else
+ return false;
+#endif
+}
+
+static void clif_npc_barter_open(struct map_session_data *sd, struct npc_data *nd)
+{
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+ nullpo_retv(sd);
+ nullpo_retv(nd);
+ struct npc_item_list *shop = nd->u.scr.shop->item;
+ const int shop_size = nd->u.scr.shop->items;
+
+ int c = 0;
+ int maxCount = (sizeof(packet_buf) - sizeof(struct PACKET_ZC_NPC_BARTER_OPEN)) / sizeof(struct PACKET_ZC_NPC_BARTER_OPEN_sub);
+ struct PACKET_ZC_NPC_BARTER_OPEN *packet = (struct PACKET_ZC_NPC_BARTER_OPEN*)&packet_buf[0];
+ packet->packetType = HEADER_ZC_NPC_BARTER_OPEN;
+
+ for (int i = 0; i < shop_size && c < maxCount; i++) {
+ if (shop[i].nameid) {
+ struct item_data *id = itemdb->exists(shop[i].nameid);
+ if (id == NULL)
+ continue;
+
+ packet->list[c].nameid = shop[i].nameid;
+ packet->list[c].type = itemtype(id->type);
+ packet->list[c].amount = shop[i].qty;
+ packet->list[c].currencyNameid = shop[i].value;
+ packet->list[c].currencyAmount = shop[i].value2;
+ packet->list[c].weight = id->weight * 10;
+ packet->list[c].index = i;
+ c++;
+ }
+ }
+
+ packet->packetLength = sizeof(struct PACKET_ZC_NPC_BARTER_OPEN) + sizeof(struct PACKET_ZC_NPC_BARTER_OPEN_sub) * c;
+ clif->send(packet, packet->packetLength, &sd->bl, SELF);
+#endif
+}
+
+static void clif_parse_NPCBarterPurchase(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_NPCBarterPurchase(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+ const struct PACKET_CZ_NPC_BARTER_PURCHASE *p = RP2PTR(fd);
+ int count = (p->packetLength - sizeof(struct PACKET_CZ_NPC_BARTER_PURCHASE)) / sizeof p->list[0];
+ struct barteritemlist item_list;
+
+ Assert_retv(count >= 0 && count <= sd->status.inventorySize);
+
+ VECTOR_INIT(item_list);
+ VECTOR_ENSURE(item_list, count, 1);
+
+ for (int i = 0; i < count; i++) {
+ struct barter_itemlist_entry entry = { 0 };
+ entry.addId = p->list[i].itemId;
+ entry.addAmount = p->list[i].amount;
+ entry.removeIndex = p->list[i].invIndex - 2;
+ entry.shopIndex = p->list[i].shopIndex;
+
+ VECTOR_PUSH(item_list, entry);
+ }
+
+ int response = npc->barter_buylist(sd, &item_list);
+ clif->npc_buy_result(sd, response);
+
+ VECTOR_CLEAR(item_list);
+#endif
+}
+
+static void clif_parse_clientVersion(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_clientVersion(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20090406 || PACKETVER_RE_NUM >= 20090408 || PACKETVER_SAK_NUM >= 20090408 || defined(PACKETVER_ZERO)
+ // TODO: show or store client version
+#endif
+}
+
+static void clif_parse_ping(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_ping(int fd, struct map_session_data *sd)
+{
+ // do nothing, any packet update client tick
+}
+
+static void clif_ping(struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20190213 || PACKETVER_RE_NUM >= 20190213 || PACKETVER_ZERO_NUM >= 20190130
+ nullpo_retv(sd);
+ struct PACKET_ZC_PING p;
+ p.packetType = HEADER_ZC_PING;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
+
+static int clif_pingTimer(int tid, int64 tick, int id, intptr_t data)
+{
+ map->foreachpc(clif->pingTimerSub, time(NULL));
+ return 0;
+}
+
+static int clif_pingTimerSub(struct map_session_data *sd, va_list ap)
+{
+ nullpo_ret(sd);
+ const int fd = sd->fd;
+
+ if (!sockt->session_is_active(fd))
+ {
+ return 0;
+ }
+
+ time_t tick = va_arg(ap, time_t);
+
+ if (sockt->session[fd]->wdata_tick + battle_config.ping_time < tick)
+ {
+ clif->ping(sd);
+ }
+ return 0;
+}
+
+static void clif_parse_ResetCooldown(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_ResetCooldown(int fd, struct map_session_data *sd)
+{
+ char cmd[15];
+ sprintf(cmd,"%ccddebug reset", atcommand->at_symbol);
+ atcommand->exec(fd, sd, cmd, true);
+}
+
+static void clif_OpenRefineryUI(struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20161130 || PACKETVER_RE_NUM >= 20161109 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+
+ if (battle_config.enable_refinery_ui == 0)
+ return;
+
+ struct PACKET_ZC_REFINE_OPEN_WINDOW p;
+ p.packetType = HEADER_ZC_REFINE_OPEN_WINDOW;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+
+ sd->state.refine_ui = 1;
+#endif
+}
+
+static void clif_parse_AddItemRefineryUI(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
+static void clif_parse_AddItemRefineryUI(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20161005 || PACKETVER_RE_NUM >= 20161005 || defined(PACKETVER_ZERO)
+ if (battle_config.enable_refinery_ui == 0)
+ return;
+
+ const struct PACKET_CZ_REFINE_ADD_ITEM *p = RFIFO2PTR(fd);
+ refine->refinery_add_item(sd, p->index - 2);
+#endif
+}
+
+static void clif_AddItemRefineryUIAck(struct map_session_data *sd, int item_index, struct s_refine_requirement *req)
+{
+#if PACKETVER_MAIN_NUM >= 20161130 || PACKETVER_RE_NUM >= 20161109 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+ nullpo_retv(req);
+ Assert_retv(item_index >= 0 && item_index < sd->status.inventorySize);
+
+ if (battle_config.enable_refinery_ui == 0)
+ return;
+
+ char buf[sizeof(struct PACKET_ZC_REFINE_ADD_ITEM) + sizeof(struct PACKET_ZC_REFINE_ADD_ITEM_SUB) * MAX_REFINE_REQUIREMENTS];
+ struct PACKET_ZC_REFINE_ADD_ITEM *p = (struct PACKET_ZC_REFINE_ADD_ITEM *)buf;
+
+ p->packetType = HEADER_ZC_REFINE_ADD_ITEM;
+ p->packtLength = sizeof(*p) + sizeof(p->req[0]) * req->req_count;
+ p->itemIndex = item_index + 2;
+ p->blacksmithBlessing = req->blacksmith_blessing;
+
+ int weapon_level = itemdb_wlv(sd->status.inventory[item_index].nameid);
+ for (int i = 0; i < req->req_count; ++i) {
+ p->req[i].chance = refine->get_refine_chance(weapon_level, sd->status.inventory[item_index].refine, req->req[i].type);
+ p->req[i].itemId = req->req[i].nameid;
+ p->req[i].zeny = req->req[i].cost;
+ }
+
+ clif->send(p, p->packtLength, &sd->bl, SELF);
+#endif
+}
+
+static void clif_parse_RefineryUIRefine(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
+static void clif_parse_RefineryUIRefine(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20161005 || PACKETVER_RE_NUM >= 20161005 || defined(PACKETVER_ZERO)
+ if (battle_config.enable_refinery_ui == 0)
+ return;
+
+ const struct PACKET_CZ_REFINE_ITEM_REQUEST *p = RFIFO2PTR(fd);
+ refine->refinery_refine_request(sd, p->index - 2, p->itemId, (p->blacksmithBlessing == 1) ? true : false);
+#endif
+}
+
+static void clif_parse_RefineryUIClose(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
+static void clif_parse_RefineryUIClose(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20161130 || PACKETVER_RE_NUM >= 20161109 || defined(PACKETVER_ZERO)
+ if (battle_config.enable_refinery_ui == 0)
+ return;
+
+ sd->state.refine_ui = 0;
+ return;
+#endif
+}
+
+static void clif_announce_refine_status(struct map_session_data *sd, int item_id, int refine_level, bool success, enum send_target target)
+{
+#if PACKETVER_MAIN_NUM >= 20170906 || PACKETVER_RE_NUM >= 20170830 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+
+ Assert_retv(refine_level > 0 && refine_level <= INT8_MAX);
+
+ struct PACKET_ZC_REFINE_STATUS p;
+ p.packetType = HEADER_ZC_REFINE_STATUS;
+ safestrncpy(p.name, sd->status.name, NAME_LENGTH);
+ p.itemId = item_id;
+ p.refine_level = refine_level;
+ p.status = (success) ? true : false;
+ clif->send(&p, sizeof(p), &sd->bl, target);
+#endif
+}
+
/*==========================================
* Main client packet processing function
*------------------------------------------*/
@@ -21798,6 +22675,7 @@ static int clif_parse(int fd)
parse_cmd_func = clif->parse_cmd;
cmd = parse_cmd_func(fd,sd);
+ clif->cmd = cmd;
if (VECTOR_LENGTH(HPM->packets[hpClif_Parse]) > 0) {
int result = HPM->parse_packets(fd,cmd,hpClif_Parse);
@@ -21808,7 +22686,7 @@ static int clif_parse(int fd)
}
// filter out invalid / unsupported packets
- if (cmd > MAX_PACKET_DB || cmd < MIN_PACKET_DB || packet_db[cmd].len == 0) {
+ if (cmd > MAX_PACKET_DB || cmd < MIN_PACKET_DB || packets->db[cmd] == 0) {
ShowWarning("clif_parse: Received unsupported packet (packet 0x%04x (0x%04x), %"PRIuS" bytes received), disconnecting session #%d.\n",
(unsigned int)cmd, RFIFOW(fd,0), RFIFOREST(fd), fd);
#ifdef DUMP_INVALID_PACKET
@@ -21819,7 +22697,7 @@ static int clif_parse(int fd)
}
// determine real packet length
- if ( ( packet_len = packet_db[cmd].len ) == -1) { // variable-length packet
+ if ((packet_len = packets->db[cmd]) == -1) { // variable-length packet
if (RFIFOREST(fd) < 4)
return 0;
@@ -21861,8 +22739,8 @@ static int clif_parse(int fd)
else
packet_db[cmd].func(fd, sd);
}
-#ifdef DUMP_UNKNOWN_PACKET
else {
+#ifdef DUMP_UNKNOWN_PACKET
const char* packet_txt = "save/packet.txt";
FILE* fp;
@@ -21888,8 +22766,10 @@ static int clif_parse(int fd)
ShowDump(RFIFOP(fd,0), packet_len);
}
- }
+#else
+ clif->pDull(fd, sd);
#endif
+ }
RFIFOSKIP(fd, packet_len);
@@ -21906,12 +22786,12 @@ static int clif_parse(int fd)
*/
static const struct s_packet_db *clif_packet(int packet_id)
{
- if (packet_id < MIN_PACKET_DB || packet_id > MAX_PACKET_DB || packet_db[packet_id].len == 0)
+ if (packet_id < MIN_PACKET_DB || packet_id > MAX_PACKET_DB || packets->db[packet_id] == 0)
return NULL;
return &packet_db[packet_id];
}
-static void __attribute__ ((unused)) packetdb_addpacket(short cmd, int len, ...)
+static void __attribute__ ((unused)) packetdb_addpacket(int cmd, ...)
{
va_list va;
int i;
@@ -21928,21 +22808,19 @@ static void __attribute__ ((unused)) packetdb_addpacket(short cmd, int len, ...)
return;
}
- packet_db[cmd].len = len;
-
- va_start(va,len);
+ va_start(va, cmd);
pos = va_arg(va, int);
va_end(va);
- if( pos == 0xFFFF ) { /* nothing more to do */
+ if (pos == 0xFFFF) { /* nothing more to do */
return;
}
- va_start(va,len);
+ va_start(va, cmd);
- func = va_arg(va,pFunc);
+ func = va_arg(va, pFunc);
packet_db[cmd].func = func;
@@ -21961,14 +22839,14 @@ static void packetdb_loaddb(void)
{
memset(packet_db,0,sizeof(packet_db));
-#define packet(id, size, ...) packetdb_addpacket((id), (size), ##__VA_ARGS__, 0xFFFF)
-#include "packets.h" /* load structure data */
+#define packet(id, ...) packetdb_addpacket((id), ##__VA_ARGS__, 0xFFFF)
+#include "map/packets.h" /* load structure data */
#ifdef PACKETVER_ZERO
-#include "packets_shuffle_zero.h"
+#include "map/packets_shuffle_zero.h"
#elif defined(PACKETVER_RE)
-#include "packets_shuffle_re.h"
+#include "map/packets_shuffle_re.h"
#else // PACKETVER_ZERO
-#include "packets_shuffle_main.h"
+#include "map/packets_shuffle_main.h"
#endif // PACKETVER_ZERO
#undef packet
#define packetKeys(a,b,c) do { clif->cryptKey[0] = (a); clif->cryptKey[1] = (b); clif->cryptKey[2] = (c); } while(0)
@@ -21976,9 +22854,9 @@ static void packetdb_loaddb(void)
packetKeys(OBFUSCATIONKEY1,OBFUSCATIONKEY2,OBFUSCATIONKEY3);
#else // defined(OBFUSCATIONKEY1) && defined(OBFUSCATIONKEY2) && defined(OBFUSCATIONKEY3)
#ifdef PACKETVER_ZERO
-#include "packets_keys_zero.h"
+#include "map/packets_keys_zero.h"
#else // PACKETVER_ZERO
-#include "packets_keys_main.h"
+#include "map/packets_keys_main.h"
#endif // PACKETVER_ZERO
#endif // defined(OBFUSCATIONKEY1) && defined(OBFUSCATIONKEY2) && defined(OBFUSCATIONKEY3)
#undef packetKeys
@@ -22015,6 +22893,7 @@ static int do_init_clif(bool minimal)
packetdb_loaddb();
sockt->set_defaultparse(clif->parse);
+ sockt->validate = true;
if (sockt->make_listen_bind(clif->bind_ip,clif->map_port) == -1) {
ShowFatalError("Failed to bind to port '"CL_WHITE"%d"CL_RESET"'\n",clif->map_port);
exit(EXIT_FAILURE);
@@ -22026,6 +22905,12 @@ static int do_init_clif(bool minimal)
clif->delay_clearunit_ers = ers_new(sizeof(struct block_list),"clif.c::delay_clearunit_ers",ERS_OPT_CLEAR);
clif->delayed_damage_ers = ers_new(sizeof(struct cdelayed_damage),"clif.c::delayed_damage_ers",ERS_OPT_CLEAR);
+#if PACKETVER_MAIN_NUM >= 20190403 || PACKETVER_RE_NUM >= 20190320
+ timer->add_func_list(clif->pingTimer, "clif_pingTimer");
+ if (battle_config.ping_timer_interval != 0)
+ timer->add_interval(timer->gettick() + battle_config.ping_timer_interval * 1000, clif->pingTimer, 0, 0, battle_config.ping_timer_interval * 1000);
+#endif
+
return 0;
}
@@ -22061,6 +22946,7 @@ void clif_defaults(void)
clif->map_port = 5121;
clif->ally_only = false;
clif->delayed_damage_ers = NULL;
+ clif->cmd = -1;
/* core */
clif->init = do_init_clif;
clif->final = do_final_clif;
@@ -22197,9 +23083,18 @@ void clif_defaults(void)
clif->combo_delay = clif_combo_delay;
clif->status_change = clif_status_change;
clif->insert_card = clif_insert_card;
- clif->inventorylist = clif_inventorylist;
- clif->equiplist = clif_equiplist;
- clif->cartlist = clif_cartlist;
+ clif->inventoryList = clif_inventoryList;
+ clif->inventoryItems = clif_inventoryItems;
+ clif->equipList = clif_equipList;
+ clif->equipItems = clif_equipItems;
+ clif->cartList = clif_cartList;
+ clif->cartItems = clif_cartItems;
+ clif->inventoryExpansionInfo = clif_inventoryExpansionInfo;
+ clif->inventoryExpandAck = clif_inventoryExpandAck;
+ clif->inventoryExpandResult = clif_inventoryExpandResult;
+ clif->pInventoryExpansion = clif_parse_inventoryExpansion;
+ clif->pInventoryExpansionConfirmed = clif_parse_inventoryExpansionConfirmed;
+ clif->pInventoryExpansionRejected = clif_parse_inventoryExpansionRejected;
clif->favorite_item = clif_favorite_item;
clif->clearcart = clif_clearcart;
clif->item_identify_list = clif_item_identify_list;
@@ -22213,7 +23108,19 @@ void clif_defaults(void)
clif->mvp_exp = clif_mvp_exp;
clif->mvp_noitem = clif_mvp_noitem;
clif->changed_dir = clif_changed_dir;
- clif->charnameack = clif_charnameack;
+ clif->blname_ack = clif_blname_ack;
+ clif->pcname_ack = clif_pcname_ack;
+ clif->homname_ack = clif_homname_ack;
+ clif->mername_ack = clif_mername_ack;
+ clif->petname_ack = clif_petname_ack;
+ clif->npcname_ack = clif_npcname_ack;
+ clif->mobname_ack = clif_mobname_ack;
+ clif->mobname_guardian_ack = clif_mobname_guardian_ack;
+ clif->mobname_additional_ack = clif_mobname_additional_ack;
+ clif->mobname_normal_ack = clif_mobname_normal_ack;
+ clif->chatname_ack = clif_chatname_ack;
+ clif->elemname_ack = clif_elemname_ack;
+ clif->unknownname_ack = clif_unknownname_ack;
clif->monster_hp_bar = clif_monster_hp_bar;
clif->hpmeter = clif_hpmeter;
clif->hpmeter_single = clif_hpmeter_single;
@@ -22292,6 +23199,8 @@ void clif_defaults(void)
clif->specialeffect = clif_specialeffect;
clif->specialeffect_single = clif_specialeffect_single;
clif->specialeffect_value = clif_specialeffect_value;
+ clif->removeSpecialEffect = clif_removeSpecialEffect;
+ clif->removeSpecialEffect_single = clif_removeSpecialEffect_single;
clif->millenniumshield = clif_millenniumshield;
clif->spiritcharm = clif_charm;
clif->charm_single = clif_charm_single;
@@ -22309,6 +23218,7 @@ void clif_defaults(void)
clif->joinchatok = clif_joinchatok;
clif->addchat = clif_addchat;
clif->changechatowner = clif_changechatowner;
+ clif->chatRoleChange = clif_chatRoleChange;
clif->clearchat = clif_clearchat;
clif->leavechat = clif_leavechat;
clif->changechatstatus = clif_changechatstatus;
@@ -22319,6 +23229,7 @@ void clif_defaults(void)
clif->broadcast2 = clif_broadcast2;
clif->messagecolor_self = clif_messagecolor_self;
clif->messagecolor = clif_messagecolor;
+ clif->serviceMessageColor = clif_serviceMessageColor;
clif->disp_overhead = clif_disp_overhead;
clif->notify_playerchat = clif_notify_playerchat;
clif->msgtable_skill = clif_msgtable_skill;
@@ -22355,7 +23266,11 @@ void clif_defaults(void)
clif->openvendingAck = clif_openvendingAck;
clif->vendingreport = clif_vendingreport;
/* storage handling */
- clif->storagelist = clif_storagelist;
+ clif->storageList = clif_storageList;
+ clif->guildStorageList = clif_guildStorageList;
+ clif->storageItems = clif_storageItems;
+ clif->inventoryStart = clif_inventoryStart;
+ clif->inventoryEnd = clif_inventoryEnd;
clif->updatestorageamount = clif_updatestorageamount;
clif->storageitemadded = clif_storageitemadded;
clif->storageitemremoved = clif_storageitemremoved;
@@ -22566,11 +23481,13 @@ void clif_defaults(void)
/* */
clif->parse_roulette_db = clif_parse_roulette_db;
clif->roulette_generate_ack = clif_roulette_generate_ack;
+ clif->roulette_close = clif_roulette_close;
/* Merge Items */
clif->openmergeitem = clif_openmergeitem;
clif->cancelmergeitem = clif_cancelmergeitem;
clif->comparemergeitem = clif_comparemergeitem;
clif->ackmergeitems = clif_ackmergeitems;
+ clif->mergeitems = clif_mergeitems;
/* Cart Deco */
clif->selectcart = clif_selectcart;
/* */
@@ -22639,6 +23556,9 @@ void clif_defaults(void)
clif->pUseSkillToId = clif_parse_UseSkillToId;
clif->pUseSkillToId_homun = clif_parse_UseSkillToId_homun;
clif->pUseSkillToId_mercenary = clif_parse_UseSkillToId_mercenary;
+ clif->pStartUseSkillToId = clif_parse_startUseSkillToId;
+ clif->pStopUseSkillToId = clif_parse_stopUseSkillToId;
+ clif->useSkillToIdReal = clif_useSkillToIdReal;
clif->pUseSkillToPos = clif_parse_UseSkillToPos;
clif->pUseSkillToPosSub = clif_parse_UseSkillToPosSub;
clif->pUseSkillToPos_homun = clif_parse_UseSkillToPos_homun;
@@ -22803,6 +23723,7 @@ void clif_defaults(void)
clif->pCashShopReqTab = clif_parse_CashShopReqTab;
clif->pCashShopSchedule = clif_parse_CashShopSchedule;
clif->pCashShopBuy = clif_parse_CashShopBuy;
+ clif->cashShopBuyAck = clif_cashShopBuyAck;
/* */
clif->pPartyTick = clif_parse_PartyTick;
clif->pGuildInvite2 = clif_parse_GuildInvite2;
@@ -22887,19 +23808,39 @@ void clif_defaults(void)
clif->pPrivateAirshipRequest = clif_parse_private_airship_request;
clif->PrivateAirshipResponse = clif_private_airship_response;
- clif->stylist_vector_init = clif_stylist_vector_init;
- clif->stylist_vector_clear = clif_stylist_vector_clear;
- clif->stylist_read_db_libconfig = clif_stylist_read_db_libconfig;
- clif->stylist_read_db_libconfig_sub = clif_stylist_read_db_libconfig_sub;
- clif->style_change_validate_requirements = clif_style_change_validate_requirements;
- clif->stylist_send_rodexitem = clif_stylist_send_rodexitem;
clif->pReqStyleChange = clif_parse_cz_req_style_change;
clif->pReqStyleChange2 = clif_parse_cz_req_style_change2;
- clif->cz_req_style_change_sub = clif_cz_req_style_change_sub;
+ clif->pStyleClose = clif_parse_cz_style_close;
clif->style_change_response = clif_style_change_response;
+ clif->camera_showWindow = clif_camera_showWindow;
+ clif->camera_change = clif_camera_change;
+ clif->pCameraInfo = clif_parse_cameraInfo;
+ clif->item_preview = clif_item_preview;
+ clif->enchant_equipment = clif_enchant_equipment;
+
// -- Pet Evolution
clif->pPetEvolution = clif_parse_pet_evolution;
clif->petEvolutionResult = clif_pet_evolution_result;
+ clif->pMemorialDungeonCommand = clif_parse_memorial_dungeon_command;
+ clif->pReqRemainTime = clif_parse_reqRemainTime;
+
+ clif->npc_barter_open = clif_npc_barter_open;
+ clif->pNPCBarterClosed = clif_parse_NPCBarterClosed;
+ clif->pNPCBarterPurchase = clif_parse_NPCBarterPurchase;
+ clif->pClientVersion = clif_parse_clientVersion;
+ clif->pPing = clif_parse_ping;
+ clif->ping = clif_ping;
+ clif->pingTimer = clif_pingTimer;
+ clif->pingTimerSub = clif_pingTimerSub;
+ clif->pResetCooldown = clif_parse_ResetCooldown;
+ clif->loadConfirm = clif_loadConfirm;
+ clif->send_selforarea = clif_send_selforarea;
+ clif->OpenRefineryUI = clif_OpenRefineryUI;
+ clif->pAddItemRefineryUI = clif_parse_AddItemRefineryUI;
+ clif->AddItemRefineryUIAck = clif_AddItemRefineryUIAck;
+ clif->pRefineryUIClose = clif_parse_RefineryUIClose;
+ clif->pRefineryUIRefine = clif_parse_RefineryUIRefine;
+ clif->announce_refine_status = clif_announce_refine_status;
}
diff --git a/src/map/clif.h b/src/map/clif.h
index e3b2a90d3..19c321ed3 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -55,6 +55,7 @@ struct skill_unit;
struct unit_data;
struct view_data;
struct achievement_data; // map/achievement.h
+struct s_refine_requirement;
enum clif_messages;
enum rodex_add_item;
@@ -64,17 +65,13 @@ enum rodex_get_items;
/**
* Defines
**/
-#define packet_len(cmd) packet_db[cmd].len
+#define packet_len(cmd) packets->db[cmd]
#define clif_menuskill_clear(sd) ((sd)->menuskill_id = (sd)->menuskill_val = (sd)->menuskill_val2 = 0)
#define clif_disp_onlyself(sd, mes) clif->disp_message(&(sd)->bl, (mes), SELF)
#define MAX_ROULETTE_LEVEL 7 /** client-defined value **/
#define MAX_ROULETTE_COLUMNS 9 /** client-defined value **/
#define RGB2BGR(c) (((c) & 0x0000FF) << 16 | ((c) & 0x00FF00) | ((c) & 0xFF0000) >> 16)
-#ifndef MAX_STYLIST_TYPE
-#define MAX_STYLIST_TYPE LOOK_MAX
-#endif
-
#define COLOR_CYAN 0x00ffffU
#define COLOR_RED 0xff0000U
#define COLOR_GREEN 0x00ff00U
@@ -82,6 +79,11 @@ enum rodex_get_items;
#define COLOR_YELLOW 0xffff00U
#define COLOR_DEFAULT COLOR_GREEN
+#define MAX_STORAGE_ITEM_PACKET_NORMAL ((INT16_MAX - (sizeof(struct ZC_STORE_ITEMLIST_NORMAL) - (sizeof(struct NORMALITEM_INFO) * MAX_ITEMLIST))) / sizeof(struct NORMALITEM_INFO))
+#define MAX_STORAGE_ITEM_PACKET_EQUIP ((INT16_MAX - (sizeof(struct ZC_STORE_ITEMLIST_EQUIP) - (sizeof(struct EQUIPITEM_INFO) * MAX_ITEMLIST))) / sizeof(struct EQUIPITEM_INFO))
+STATIC_ASSERT(MAX_STORAGE_ITEM_PACKET_NORMAL > 0, "Max items per storage item packet for normal items is less than 1, it's most likely to be a bug and shall not be ignored.");
+STATIC_ASSERT(MAX_STORAGE_ITEM_PACKET_EQUIP > 0, "Max items per storage item packet for equip items is less than 1, it's most likely to be a bug and shall not be ignored.");
+
/**
* Enumerations
**/
@@ -237,13 +239,13 @@ typedef enum emotion_type {
E_MAX
} emotion_type;
-typedef enum clr_type {
+enum clr_type {
CLR_OUTSIGHT = 0,
CLR_DEAD,
CLR_RESPAWN,
CLR_TELEPORT,
CLR_TRICKDEAD,
-} clr_type;
+};
enum map_property { // clif_map_property
MAPPROPERTY_NOTHING = 0,
@@ -409,23 +411,26 @@ enum CASH_SHOP_BUY_RESULT {
CSBR_RUNE_OVERCOUNT = 0x9,
CSBR_EACHITEM_OVERCOUNT = 0xa,
CSBR_UNKNOWN = 0xb,
+ CSBR_BUSY = 0xc,
};
enum BATTLEGROUNDS_QUEUE_ACK {
- BGQA_SUCCESS = 1,
- BGQA_FAIL_QUEUING_FINISHED,
- BGQA_FAIL_BGNAME_INVALID,
- BGQA_FAIL_TYPE_INVALID,
- BGQA_FAIL_PPL_OVERAMOUNT,
- BGQA_FAIL_LEVEL_INCORRECT,
- BGQA_DUPLICATE_REQUEST,
- BGQA_PLEASE_RELOGIN,
- BGQA_NOT_PARTY_GUILD_LEADER,
- BGQA_FAIL_CLASS_INVALID,
+ BGQA_SUCCESS = 1,
+ BGQA_FAIL_QUEUING_FINISHED = 2,
+ BGQA_FAIL_BGNAME_INVALID = 3,
+ BGQA_FAIL_TYPE_INVALID = 4,
+ BGQA_FAIL_PPL_OVERAMOUNT = 5,
+ BGQA_FAIL_LEVEL_INCORRECT = 6,
+ BGQA_DUPLICATE_REQUEST = 7,
+ BGQA_PLEASE_RELOGIN = 8,
+ BGQA_NOT_PARTY_GUILD_LEADER = 9,
+ BGQA_FAIL_CLASS_INVALID = 10,
/* not official way to respond (gotta find packet?) */
- BGQA_FAIL_DESERTER,
- BGQA_FAIL_COOLDOWN,
- BGQA_FAIL_TEAM_COUNT,
+ BGQA_FAIL_DESERTER = 11,
+ BGQA_FAIL_COOLDOWN = 12,
+ BGQA_FAIL_TEAM_COUNT = 13,
+ // official continue
+ BGQA_FAIL_TEAM_IN_BG_ALREADY = 15
};
enum BATTLEGROUNDS_QUEUE_NOTICE_DELETED {
@@ -493,13 +498,17 @@ enum RECV_ROULETTE_ITEM_ACK {
};
enum GENERATE_ROULETTE_ACK {
- GENERATE_ROULETTE_SUCCESS = 0x0,
- GENERATE_ROULETTE_FAILED = 0x1,
- GENERATE_ROULETTE_NO_ENOUGH_POINT = 0x2,
- GENERATE_ROULETTE_LOSING = 0x3,
+ GENERATE_ROULETTE_SUCCESS = 0x0,
+ GENERATE_ROULETTE_FAILED = 0x1,
+ GENERATE_ROULETTE_NO_ENOUGH_POINT = 0x2,
+ GENERATE_ROULETTE_LOSING = 0x3,
+ GENERATE_ROULETTE_NO_ENOUGH_INVENTORY_SPACE = 0x4,
+#if PACKETVER >= 20141001
+ GENERATE_ROULETTE_CANT_PLAY = 0x5,
+#endif
};
-enum OPEN_ROULETTE_ACK{
+enum OPEN_ROULETTE_ACK {
OPEN_ROULETTE_SUCCESS = 0x0,
OPEN_ROULETTE_FAILED = 0x1,
};
@@ -554,7 +563,7 @@ enum clif_unittype {
**/
enum CZ_CONFIG {
CZ_CONFIG_OPEN_EQUIPMENT_WINDOW = 0,
- // Unknown = 1,
+ CZ_CONFIG_CALL = 1,
CZ_CONFIG_PET_AUTOFEEDING = 2,
CZ_CONFIG_HOMUNCULUS_AUTOFEEDING = 3,
};
@@ -583,8 +592,8 @@ enum zc_ui_types {
**/
enum cz_ui_types {
CZ_STYLIST_UI = 1,
- //unknown = 2,
- //unknown = 3,
+ CZ_MACRO_REGISTER_UI = 2,
+ CZ_MACRO_DETECTOR_UI = 3,
CZ_ATTENDANCE_UI = 5
};
@@ -612,11 +621,20 @@ enum pet_evolution_result {
};
/**
+ * Inventory type for clients 2018-09-12 RE +
+ **/
+enum inventory_type {
+ INVTYPE_INVENTORY = 0,
+ INVTYPE_CART = 1,
+ INVTYPE_STORAGE = 2,
+ INVTYPE_GUILD_STORAGE = 3,
+};
+
+/**
* Structures
**/
typedef void (*pFunc)(int, struct map_session_data *); //cant help but put it first
struct s_packet_db {
- short len;
pFunc func;
short pos[MAX_PACKET_POS];
};
@@ -642,15 +660,14 @@ struct attendance_entry {
int qty;
};
-/* Stylist data [Asheraf/Hercules]*/
-struct stylist_data_entry {
- int16 id;
- int32 zeny;
- int itemid;
- int boxid;
- bool allow_doram;
+struct barter_itemlist_entry {
+ int addId;
+ int addAmount;
+ int removeIndex;
+ int shopIndex;
};
-VECTOR_DECL(struct stylist_data_entry) stylist_data[MAX_STYLIST_TYPE];
+
+VECTOR_STRUCT_DECL(barteritemlist, struct barter_itemlist_entry);
/**
* Stylist Shop Responds
@@ -660,6 +677,26 @@ enum stylist_shop {
STYLIST_SHOP_FAILURE
};
+enum memorial_dungeon_command {
+ COMMAND_MEMORIALDUNGEON_DESTROY_FORCE = 0x3,
+};
+
+enum expand_inventory {
+ EXPAND_INVENTORY_ASK_CONFIRMATION = 0,
+ EXPAND_INVENTORY_FAILED = 1,
+ EXPAND_INVENTORY_OTHER_WORK = 2,
+ EXPAND_INVENTORY_MISSING_ITEM = 3,
+ EXPAND_INVENTORY_MAX_SIZE = 4
+};
+
+enum expand_inventory_result {
+ EXPAND_INVENTORY_RESULT_SUCCESS = 0,
+ EXPAND_INVENTORY_RESULT_FAILED = 1,
+ EXPAND_INVENTORY_RESULT_OTHER_WORK = 2,
+ EXPAND_INVENTORY_RESULT_MISSING_ITEM = 3,
+ EXPAND_INVENTORY_RESULT_MAX_SIZE = 4
+};
+
/**
* Clif.c Interface
**/
@@ -670,6 +707,7 @@ struct clif_interface {
uint16 map_port;
char map_ip_str[128];
int map_fd;
+ int cmd;
/* for clif_clearunit_delayed */
struct eri *delay_clearunit_ers;
/* Cash Shop [Ind/Hercules] */
@@ -738,9 +776,9 @@ struct clif_interface {
void (*package_announce) (struct map_session_data *sd, int nameid, int containerid);
void (*item_drop_announce) (struct map_session_data *sd, int nameid, char *monsterName);
/* unit-related */
- void (*clearunit_single) (int id, clr_type type, int fd);
- void (*clearunit_area) (struct block_list* bl, clr_type type);
- void (*clearunit_delayed) (struct block_list* bl, clr_type type, int64 tick);
+ void (*clearunit_single) (int id, enum clr_type type, int fd);
+ void (*clearunit_area) (struct block_list* bl, enum clr_type type);
+ void (*clearunit_delayed) (struct block_list* bl, enum clr_type type, int64 tick);
void (*walkok) (struct map_session_data *sd);
void (*move) (struct unit_data *ud);
void (*move2) (struct block_list *bl, struct view_data *vd, struct unit_data *ud);
@@ -827,9 +865,18 @@ struct clif_interface {
void (*combo_delay) (struct block_list *bl,int wait);
void (*status_change) (struct block_list *bl,int type,int flag,int tick,int val1, int val2, int val3);
void (*insert_card) (struct map_session_data *sd,int idx_equip,int idx_card,int flag);
- void (*inventorylist) (struct map_session_data *sd);
- void (*equiplist) (struct map_session_data *sd);
- void (*cartlist) (struct map_session_data *sd);
+ void (*inventoryList) (struct map_session_data *sd);
+ void (*inventoryItems) (struct map_session_data *sd, enum inventory_type type);
+ void (*equipList) (struct map_session_data *sd);
+ void (*equipItems) (struct map_session_data *sd, enum inventory_type type);
+ void (*cartList) (struct map_session_data *sd);
+ void (*cartItems) (struct map_session_data *sd, enum inventory_type type);
+ void (*inventoryExpansionInfo) (struct map_session_data *sd);
+ void (*inventoryExpandAck) (struct map_session_data *sd, enum expand_inventory result, int itemId);
+ void (*inventoryExpandResult) (struct map_session_data *sd, enum expand_inventory_result result);
+ void (*pInventoryExpansion) (int fd, struct map_session_data *sd);
+ void (*pInventoryExpansionConfirmed) (int fd, struct map_session_data *sd);
+ void (*pInventoryExpansionRejected) (int fd, struct map_session_data *sd);
void (*favorite_item) (struct map_session_data* sd, unsigned short index);
void (*clearcart) (int fd);
void (*item_identify_list) (struct map_session_data *sd);
@@ -843,7 +890,19 @@ struct clif_interface {
void (*mvp_exp) (struct map_session_data *sd, unsigned int exp);
void (*mvp_noitem) (struct map_session_data* sd);
void (*changed_dir) (struct block_list *bl, enum send_target target);
- void (*charnameack) (int fd, struct block_list *bl);
+ void (*blname_ack) (int fd, struct block_list *bl);
+ void (*pcname_ack) (int fd, struct block_list *bl);
+ void (*homname_ack) (int fd, struct block_list *bl);
+ void (*mername_ack) (int fd, struct block_list *bl);
+ void (*petname_ack) (int fd, struct block_list *bl);
+ void (*npcname_ack) (int fd, struct block_list *bl);
+ void (*mobname_ack) (int fd, struct block_list *bl);
+ void (*mobname_guardian_ack) (int fd, struct block_list *bl);
+ void (*mobname_additional_ack) (int fd, struct block_list *bl);
+ void (*mobname_normal_ack) (int fd, struct block_list *bl);
+ void (*chatname_ack) (int fd, struct block_list *bl);
+ void (*elemname_ack) (int fd, struct block_list *bl);
+ void (*unknownname_ack) (int fd, struct block_list *bl);
void (*monster_hp_bar) ( struct mob_data* md, struct map_session_data *sd );
int (*hpmeter) (struct map_session_data *sd);
void (*hpmeter_single) (int fd, int id, unsigned int hp, unsigned int maxhp);
@@ -922,6 +981,8 @@ struct clif_interface {
void (*specialeffect) (struct block_list* bl, int type, enum send_target target);
void (*specialeffect_single) (struct block_list* bl, int type, int fd);
void (*specialeffect_value) (struct block_list* bl, int effect_id, int num, send_target target);
+ void (*removeSpecialEffect) (struct block_list *bl, int effectId, enum send_target target);
+ void (*removeSpecialEffect_single) (struct block_list *bl, int effectId, struct block_list *targetBl);
void (*millenniumshield) (struct block_list *bl, short shields );
void (*spiritcharm) (struct map_session_data *sd);
void (*charm_single) (int fd, struct map_session_data *sd);
@@ -939,6 +1000,7 @@ struct clif_interface {
void (*joinchatok) (struct map_session_data *sd,struct chat_data* cd);
void (*addchat) (struct chat_data* cd,struct map_session_data *sd);
void (*changechatowner) (struct chat_data* cd, struct map_session_data* sd);
+ void (*chatRoleChange) (struct chat_data *cd, struct map_session_data *sd, struct block_list* bl, int isNotOwner);
void (*clearchat) (struct chat_data *cd,int fd);
void (*leavechat) (struct chat_data* cd, struct map_session_data* sd, bool flag);
void (*changechatstatus) (struct chat_data* cd);
@@ -949,6 +1011,7 @@ struct clif_interface {
void (*broadcast2) (struct block_list *bl, const char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target);
void (*messagecolor_self) (int fd, uint32 color, const char *msg);
void (*messagecolor) (struct block_list* bl, uint32 color, const char* msg);
+ void (*serviceMessageColor) (struct map_session_data *sd, uint32 color, const char *msg);
void (*disp_overhead) (struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl);
void (*notify_playerchat) (struct block_list *bl, const char *mes);
void (*msgtable) (struct map_session_data* sd, enum clif_messages msg_id);
@@ -966,7 +1029,7 @@ struct clif_interface {
void (*wisexin) (struct map_session_data *sd,int type,int flag);
void (*wisall) (struct map_session_data *sd,int type,int flag);
void (*PMIgnoreList) (struct map_session_data* sd);
- void (*ShowScript) (struct block_list* bl, const char* message);
+ void (*ShowScript) (struct block_list* bl, const char* message, enum send_target target);
/* trade handling */
void (*traderequest) (struct map_session_data* sd, const char* name);
void (*tradestart) (struct map_session_data* sd, uint8 type);
@@ -986,7 +1049,11 @@ struct clif_interface {
void (*openvendingAck) (int fd, int result);
void (*vendingreport) (struct map_session_data* sd, int index, int amount, uint32 char_id, int zeny);
/* storage handling */
- void (*storagelist) (struct map_session_data* sd, struct item* items, int items_length);
+ void (*storageList) (struct map_session_data* sd, struct item* items, int items_length);
+ void (*guildStorageList) (struct map_session_data* sd, struct item* items, int items_length);
+ void (*storageItems) (struct map_session_data* sd, enum inventory_type type, struct item* items, int items_length);
+ void (*inventoryStart) (struct map_session_data* sd, enum inventory_type type, const char* name);
+ void (*inventoryEnd) (struct map_session_data* sd, enum inventory_type type);
void (*updatestorageamount) (struct map_session_data* sd, int amount, int max_amount);
void (*storageitemadded) (struct map_session_data* sd, struct item* i, int index, int amount);
void (*storageitemremoved) (struct map_session_data* sd, int index, int amount);
@@ -1196,12 +1263,14 @@ struct clif_interface {
void (*npc_market_purchase_ack) (struct map_session_data *sd, const struct itemlist *item_list, unsigned char response);
/* */
bool (*parse_roulette_db) (void);
- void (*roulette_generate_ack) (struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, int bonusItemID);
+ void (*roulette_generate_ack) (struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID);
+ void (*roulette_close) (struct map_session_data *sd);
/* Merge Items */
void (*openmergeitem) (int fd, struct map_session_data *sd);
void (*cancelmergeitem) (int fd, struct map_session_data *sd);
int (*comparemergeitem) (const void *a, const void *b);
void (*ackmergeitems) (int fd, struct map_session_data *sd);
+ void (*mergeitems) (int fd, struct map_session_data *sd, int index, int amount, enum mergeitem_reason reason);
/* */
bool (*isdisguised) (struct block_list* bl);
void (*navigate_to) (struct map_session_data *sd, const char* mapname, uint16 x, uint16 y, uint8 flag, bool hideWindow, uint16 mob_id);
@@ -1262,7 +1331,10 @@ struct clif_interface {
void (*pChangeCart) (int fd,struct map_session_data *sd);
void (*pStatusUp) (int fd,struct map_session_data *sd);
void (*pSkillUp) (int fd,struct map_session_data *sd);
+ void (*useSkillToIdReal) (int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id);
void (*pUseSkillToId) (int fd, struct map_session_data *sd);
+ void (*pStartUseSkillToId) (int fd, struct map_session_data *sd);
+ void (*pStopUseSkillToId) (int fd, struct map_session_data *sd);
void (*pUseSkillToId_homun) (struct homun_data *hd, struct map_session_data *sd, int64 tick, uint16 skill_id, uint16 skill_lv, int target_id);
void (*pUseSkillToId_mercenary) (struct mercenary_data *md, struct map_session_data *sd, int64 tick, uint16 skill_id, uint16 skill_lv, int target_id);
void (*pUseSkillToPos) (int fd, struct map_session_data *sd);
@@ -1428,6 +1500,7 @@ struct clif_interface {
void (*pCashShopBuy) (int fd, struct map_session_data *sd);
void (*pPartyTick) (int fd, struct map_session_data *sd);
void (*pGuildInvite2) (int fd, struct map_session_data *sd);
+ void (*cashShopBuyAck) (int fd, struct map_session_data *sd, int itemId, enum CASH_SHOP_BUY_RESULT result);
/* Group Search System Update */
void (*pPartyBookingAddFilter) (int fd, struct map_session_data *sd);
void (*pPartyBookingSubFilter) (int fd, struct map_session_data *sd);
@@ -1481,7 +1554,7 @@ struct clif_interface {
void (*pRodexCancelWriteMail) (int fd, struct map_session_data *sd);
void (*pRodexOpenMailbox) (int fd, struct map_session_data *sd);
void (*pRodexCheckName) (int fd, struct map_session_data *sd);
- void (*rodex_checkname_result) (struct map_session_data *sd, int char_id, short class_, int base_level, const char *name);
+ void (*rodex_checkname_result) (struct map_session_data *sd, int char_id, int class_, int base_level, const char *name);
void (*pRodexDeleteMail) (int fd, struct map_session_data *sd);
void (*rodex_delete_mail) (struct map_session_data *sd, int8 opentype, int64 mail_id);
void (*pRodexRefreshMaillist) (int fd, struct map_session_data *sd);
@@ -1514,19 +1587,37 @@ struct clif_interface {
void (*pPrivateAirshipRequest) (int fd, struct map_session_data *sd);
void (*PrivateAirshipResponse) (struct map_session_data *sd, uint32 flag);
- void (*stylist_vector_init) (void);
- void (*stylist_vector_clear) (void);
- bool (*stylist_read_db_libconfig) (void);
- bool (*stylist_read_db_libconfig_sub) (struct config_setting_t *it, int idx, const char *source);
- bool (*style_change_validate_requirements) (struct map_session_data *sd, int type, int16 idx);
- void (*stylist_send_rodexitem) (struct map_session_data *sd, int itemid);
void (*pReqStyleChange) (int fd, struct map_session_data *sd);
void (*pReqStyleChange2) (int fd, struct map_session_data *sd);
- void (*cz_req_style_change_sub) (struct map_session_data *sd, int type, int16 idx, bool isitem);
+ void (*pStyleClose) (int fd, struct map_session_data *sd);
void (*style_change_response) (struct map_session_data *sd, enum stylist_shop flag);
void (*pPetEvolution) (int fd, struct map_session_data *sd);
void (*petEvolutionResult) (int fd, enum pet_evolution_result result);
void (*party_dead_notification) (struct map_session_data *sd);
+ void (*pMemorialDungeonCommand) (int fd, struct map_session_data *sd);
+ void (*camera_showWindow) (struct map_session_data *sd);
+ void (*camera_change) (struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target);
+ void (*pCameraInfo) (int fd, struct map_session_data *sd);
+ void (*item_preview) (struct map_session_data *sd, int n);
+ bool (*enchant_equipment) (struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId);
+ void (*pReqRemainTime) (int fd, struct map_session_data *sd);
+ void (*npc_barter_open) (struct map_session_data *sd, struct npc_data *nd);
+ void (*pNPCBarterClosed) (int fd, struct map_session_data *sd);
+ void (*pNPCBarterPurchase) (int fd, struct map_session_data *sd);
+ void (*pClientVersion) (int fd, struct map_session_data *sd);
+ void (*pPing) (int fd, struct map_session_data *sd);
+ void (*ping) (struct map_session_data *sd);
+ int (*pingTimer) (int tid, int64 tick, int id, intptr_t data);
+ int (*pingTimerSub) (struct map_session_data *sd, va_list ap);
+ void (*pResetCooldown) (int fd, struct map_session_data *sd);
+ void (*loadConfirm) (struct map_session_data *sd);
+ void (*send_selforarea) (int fd, struct block_list *bl, const void *buf, int len);
+ void (*OpenRefineryUI) (struct map_session_data *sd);
+ void (*pAddItemRefineryUI) (int fd, struct map_session_data *sd);
+ void (*AddItemRefineryUIAck) (struct map_session_data *sd, int item_index, struct s_refine_requirement *req);
+ void (*pRefineryUIClose) (int fd, struct map_session_data *sd);
+ void (*pRefineryUIRefine) (int fd, struct map_session_data *sd);
+ void (*announce_refine_status) (struct map_session_data *sd, int item_id, int refine_level, bool success, enum send_target target);
};
#ifdef HERCULES_CORE
diff --git a/src/map/guild.c b/src/map/guild.c
index 780d21326..ae76b22a3 100644
--- a/src/map/guild.c
+++ b/src/map/guild.c
@@ -721,7 +721,6 @@ static int guild_reply_invite(struct map_session_data *sd, int guild_id, int fla
}
else
{// accepted
- struct guild_member m;
struct guild* g;
int i;
@@ -741,8 +740,8 @@ static int guild_reply_invite(struct map_session_data *sd, int guild_id, int fla
return 0;
}
- guild->makemember(&m,sd);
- intif->guild_addmember(guild_id, &m);
+ guild->makemember(&g->member[i], sd);
+ intif->guild_addmember(guild_id, &g->member[i]);
//TODO: send a minimap update to this player
}
@@ -829,6 +828,11 @@ static int guild_member_added(int guild_id, int account_id, int char_id, int fla
//Next line commented because it do nothing, look at guild_recv_info [LuzZza]
//clif->charnameupdate(sd); //Update display name [Skotlex]
+ // Makes the character join their respective guild's channel for #ally chat
+ if (channel->config->ally && channel->config->ally_autojoin) {
+ channel->join(g->channel, sd, "", true);
+ }
+
return 0;
}
@@ -1014,7 +1018,7 @@ static int guild_send_memberinfoshort(struct map_session_data *sd, int online)
}
// cleaned up [LuzZza]
-static int guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login)
+static int guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login)
{
int i, alv, c, idx = INDEX_NOT_FOUND, om = 0, oldonline = -1;
struct guild *g = guild->search(guild_id);
@@ -1895,7 +1899,7 @@ static int guild_gm_changed(int guild_id, int account_id, int char_id)
if (g->member[pos].sd && g->member[pos].sd->fd) {
clif->message(g->member[pos].sd->fd, msg_sd(g->member[pos].sd,878)); //"You no longer are the Guild Master."
g->member[pos].sd->state.gmaster_flag = 0;
- clif->charnameack(0, &g->member[pos].sd->bl);
+ clif->blname_ack(0, &g->member[pos].sd->bl);
}
if (g->member[0].sd && g->member[0].sd->fd) {
@@ -1903,7 +1907,7 @@ static int guild_gm_changed(int guild_id, int account_id, int char_id)
g->member[0].sd->state.gmaster_flag = 1;
//Block his skills for 5 minutes to prevent abuse.
guild->block_skill(g->member[0].sd, 300000);
- clif->charnameack(0, &g->member[pos].sd->bl);
+ clif->blname_ack(0, &g->member[pos].sd->bl);
}
// announce the change to all guild members
diff --git a/src/map/guild.h b/src/map/guild.h
index 3df86a3ca..396cbda86 100644
--- a/src/map/guild.h
+++ b/src/map/guild.h
@@ -126,7 +126,7 @@ struct guild_interface {
int (*check_alliance) (int guild_id1, int guild_id2, int flag);
/* */
int (*send_memberinfoshort) (struct map_session_data *sd,int online);
- int (*recv_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login);
+ int (*recv_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login);
int (*change_memberposition) (int guild_id,int account_id,int char_id,short idx);
int (*memberposition_changed) (struct guild *g,int idx,int pos);
int (*change_position) (int guild_id,int idx,int mode,int exp_mode,const char *name);
diff --git a/src/map/homunculus.c b/src/map/homunculus.c
index 6df272243..f3a4c559a 100644
--- a/src/map/homunculus.c
+++ b/src/map/homunculus.c
@@ -411,7 +411,7 @@ static bool homunculus_levelup(struct homun_data *hd)
return true;
}
-static int homunculus_change_class(struct homun_data *hd, short class_)
+static int homunculus_change_class(struct homun_data *hd, int class_)
{
int i = homun->db_search(class_,HOMUNCULUS_CLASS);
nullpo_retr(0, hd);
@@ -779,7 +779,7 @@ static bool homunculus_change_name_ack(struct map_session_data *sd, const char *
}
safestrncpy(hd->homunculus.name, newname, NAME_LENGTH);
aFree(newname);
- clif->charnameack (0,&hd->bl);
+ clif->blname_ack(0,&hd->bl);
hd->homunculus.rename_flag = 1;
clif->hominfo(sd,hd,0);
return true;
diff --git a/src/map/homunculus.h b/src/map/homunculus.h
index f0a156fd7..745c7cd84 100644
--- a/src/map/homunculus.h
+++ b/src/map/homunculus.h
@@ -174,7 +174,7 @@ struct homunculus_interface {
int (*skill_tree_get_max) (int id, int b_class);
void (*skillup) (struct homun_data *hd, uint16 skill_id);
bool (*levelup) (struct homun_data *hd);
- int (*change_class) (struct homun_data *hd, short class_);
+ int (*change_class) (struct homun_data *hd, int class_);
bool (*evolve) (struct homun_data *hd);
bool (*mutate) (struct homun_data *hd, int homun_id);
int (*gainexp) (struct homun_data *hd, unsigned int exp);
diff --git a/src/map/instance.c b/src/map/instance.c
index 8bd45ba50..e87cc03bb 100644
--- a/src/map/instance.c
+++ b/src/map/instance.c
@@ -295,13 +295,6 @@ static int instance_add_map(const char *name, int instance_id, bool usebasename,
}
}
- //Mimic questinfo
- VECTOR_INIT(map->list[im].qi_data);
- VECTOR_ENSURE(map->list[im].qi_data, VECTOR_LENGTH(map->list[m].qi_data), 1);
- for (i = 0; i < VECTOR_LENGTH(map->list[m].qi_data); i++) {
- VECTOR_PUSH(map->list[im].qi_data, VECTOR_INDEX(map->list[m].qi_data, i));
- }
-
map->list[im].m = im;
map->list[im].instance_id = instance_id;
map->list[im].instance_src_map = m;
@@ -518,7 +511,7 @@ static void instance_del_map(int16 m)
aFree(map->list[m].zone_mf);
}
- quest->questinfo_vector_clear(m);
+ VECTOR_CLEAR(map->list[m].qi_list);
// Remove from instance
for( i = 0; i < instance->list[map->list[m].instance_id].num_map; i++ ) {
@@ -727,6 +720,66 @@ static void instance_check_kick(struct map_session_data *sd)
}
}
+/**
+ * Look up existing memorial dungeon of the player and destroy it
+ *
+ * @param sd session data.
+ *
+ */
+static void instance_force_destroy(struct map_session_data *sd)
+{
+ nullpo_retv(sd);
+
+ for (int i = 0; i < instance->instances; ++i) {
+ switch (instance->list[i].owner_type) {
+ case IOT_CHAR:
+ {
+ if (instance->list[i].owner_id != sd->status.char_id)
+ continue;
+ break;
+ }
+ case IOT_PARTY:
+ {
+ int party_id = sd->status.party_id;
+ if (instance->list[i].owner_id != party_id)
+ continue;
+ int j = 0;
+ struct party_data *pt = party->search(party_id);
+ nullpo_retv(pt);
+
+ ARR_FIND(0, MAX_PARTY, j, pt->party.member[j].leader);
+ if (j == MAX_PARTY) {
+ ShowWarning("clif_parse_memorial_dungeon_command: trying to destroy a party instance, while the party has no leader.");
+ return;
+ }
+ if (pt->party.member[j].char_id != sd->status.char_id) {
+ ShowWarning("clif_parse_memorial_dungeon_command: trying to destroy a party instance, from a non party-leader player.");
+ return;
+ }
+ break;
+ }
+ case IOT_GUILD:
+ {
+ int guild_id = sd->status.guild_id;
+ if (instance->list[i].owner_id != guild_id)
+ continue;
+ struct guild *g = guild->search(guild_id);
+ nullpo_retv(g);
+
+ if (g->member[0].char_id != sd->status.char_id) {
+ ShowWarning("clif_parse_memorial_dungeon_command: trying to destroy a guild instance, from a non guild-master player.");
+ return;
+ }
+ break;
+ }
+ default:
+ continue;
+ }
+ instance->destroy(instance->list[i].id);
+ return;
+ }
+}
+
static void do_reload_instance(void)
{
struct s_mapiterator *iter;
@@ -810,4 +863,5 @@ void instance_defaults(void)
instance->set_timeout = instance_set_timeout;
instance->valid = instance_is_valid;
instance->destroy_timer = instance_destroy_timer;
+ instance->force_destroy = instance_force_destroy;
}
diff --git a/src/map/instance.h b/src/map/instance.h
index ff7e49a7f..91928bf40 100644
--- a/src/map/instance.h
+++ b/src/map/instance.h
@@ -96,6 +96,7 @@ struct instance_interface {
void (*set_timeout) (int instance_id, unsigned int progress_timeout, unsigned int idle_timeout);
bool (*valid) (int instance_id);
int (*destroy_timer) (int tid, int64 tick, int id, intptr_t data);
+ void (*force_destroy) (struct map_session_data *sd);
};
#ifdef HERCULES_CORE
diff --git a/src/map/intif.c b/src/map/intif.c
index ed4c0e2d2..e25f56b63 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -71,26 +71,26 @@ static int CheckForCharServer(void)
}
// pet
-static int intif_create_pet(int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id,
+static int intif_create_pet(int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id,
int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name)
{
if (intif->CheckForCharServer())
return 0;
nullpo_ret(pet_name);
- WFIFOHEAD(inter_fd, 28 + NAME_LENGTH);
+ WFIFOHEAD(inter_fd, 32 + NAME_LENGTH);
WFIFOW(inter_fd, 0) = 0x3080;
WFIFOL(inter_fd, 2) = account_id;
WFIFOL(inter_fd, 6) = char_id;
- WFIFOW(inter_fd, 10) = pet_class;
- WFIFOW(inter_fd, 12) = pet_lv;
- WFIFOL(inter_fd, 14) = pet_egg_id;
- WFIFOL(inter_fd, 18) = pet_equip;
- WFIFOW(inter_fd, 22) = intimate;
- WFIFOW(inter_fd, 24) = hungry;
- WFIFOB(inter_fd, 26) = rename_flag;
- WFIFOB(inter_fd, 27) = incubate;
- memcpy(WFIFOP(inter_fd, 28), pet_name, NAME_LENGTH);
- WFIFOSET(inter_fd, 28 + NAME_LENGTH);
+ WFIFOL(inter_fd, 10) = pet_class;
+ WFIFOL(inter_fd, 14) = pet_lv;
+ WFIFOL(inter_fd, 18) = pet_egg_id;
+ WFIFOL(inter_fd, 22) = pet_equip;
+ WFIFOW(inter_fd, 26) = intimate;
+ WFIFOW(inter_fd, 28) = hungry;
+ WFIFOB(inter_fd, 30) = rename_flag;
+ WFIFOB(inter_fd, 31) = incubate;
+ memcpy(WFIFOP(inter_fd, 32), pet_name, NAME_LENGTH);
+ WFIFOSET(inter_fd, 32 + NAME_LENGTH);
return 0;
}
@@ -903,19 +903,19 @@ static int intif_guild_leave(int guild_id, int account_id, int char_id, int flag
}
//Update request / Lv online status of the guild members
-static int intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int16 class)
+static int intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int class)
{
if (intif->CheckForCharServer())
return 0;
- WFIFOHEAD(inter_fd, 19);
+ WFIFOHEAD(inter_fd, 23);
WFIFOW(inter_fd, 0) = 0x3035;
WFIFOL(inter_fd, 2) = guild_id;
WFIFOL(inter_fd, 6) = account_id;
WFIFOL(inter_fd,10) = char_id;
WFIFOB(inter_fd,14) = online;
- WFIFOW(inter_fd,15) = lv;
- WFIFOW(inter_fd,17) = class;
- WFIFOSET(inter_fd,19);
+ WFIFOL(inter_fd,15) = lv;
+ WFIFOL(inter_fd,19) = class;
+ WFIFOSET(inter_fd,23);
return 0;
}
@@ -1507,7 +1507,7 @@ static void intif_parse_GuildMemberWithdraw(int fd)
// ACK guild member basic info
static void intif_parse_GuildMemberInfoShort(int fd)
{
- guild->recv_memberinfoshort(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOW(fd,15),RFIFOW(fd,17),RFIFOL(fd,19));
+ guild->recv_memberinfoshort(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOW(fd,15),RFIFOL(fd,17),RFIFOL(fd,21));
}
// ACK guild break
@@ -1640,7 +1640,7 @@ static void intif_parse_GuildMasterChanged(int fd)
// Request pet creation
static void intif_parse_CreatePet(int fd)
{
- pet->get_egg(RFIFOL(fd,2), RFIFOW(fd,6), RFIFOL(fd,8));
+ pet->get_egg(RFIFOL(fd, 2), RFIFOL(fd, 6), RFIFOL(fd, 10));
}
// ACK pet data
@@ -2754,16 +2754,21 @@ static void intif_parse_RodexNotifications(int fd)
/// 2 - user got Items
/// 3 - delete
/// 4 - sender Read (returned mail)
-static int intif_rodex_updatemail(int64 mail_id, int8 flag)
+static int intif_rodex_updatemail(struct map_session_data *sd, int64 mail_id, uint8 opentype, int8 flag)
{
+ nullpo_ret(sd);
+
if (intif->CheckForCharServer())
return 0;
- WFIFOHEAD(inter_fd, 11);
+ WFIFOHEAD(inter_fd, 20);
WFIFOW(inter_fd, 0) = 0x3097;
- WFIFOQ(inter_fd, 2) = mail_id;
- WFIFOB(inter_fd, 10) = flag;
- WFIFOSET(inter_fd, 11);
+ WFIFOL(inter_fd, 2) = sd->status.account_id;
+ WFIFOL(inter_fd, 6) = sd->status.char_id;
+ WFIFOQ(inter_fd, 10) = mail_id;
+ WFIFOB(inter_fd, 18) = opentype;
+ WFIFOB(inter_fd, 19) = flag;
+ WFIFOSET(inter_fd, 20);
return 0;
}
@@ -2830,11 +2835,11 @@ static void intif_parse_RodexCheckName(int fd)
struct map_session_data *sd = NULL;
int reqchar_id = RFIFOL(fd, 2);
int target_char_id = RFIFOL(fd, 6);
- short target_class = RFIFOW(fd, 10);
- int target_level = RFIFOL(fd, 12);
+ int target_class = RFIFOL(fd, 10);
+ int target_level = RFIFOL(fd, 14);
char name[NAME_LENGTH];
- safestrncpy(name, RFIFOP(inter_fd, 16), NAME_LENGTH);
+ safestrncpy(name, RFIFOP(inter_fd, 18), NAME_LENGTH);
if (reqchar_id <= 0)
return;
@@ -2855,6 +2860,35 @@ static void intif_parse_RodexCheckName(int fd)
clif->rodex_checkname_result(sd, target_char_id, target_class, target_level, name);
}
+static void intif_parse_GetZenyAck(int fd)
+{
+ int char_id = RFIFOL(fd, 2);
+ int64 zeny = RFIFOL(fd, 6);
+ int64 mail_id = RFIFOQ(fd, 14);
+ uint8 opentype = RFIFOB(fd, 22);
+ struct map_session_data *sd = map->charid2sd(char_id);
+
+ if (sd == NULL) // User is not online anymore
+ return;
+ rodex->getZenyAck(sd, mail_id, opentype, zeny);
+}
+
+static void intif_parse_GetItemsAck(int fd)
+{
+ int char_id = RFIFOL(fd, 2);
+
+ struct map_session_data *sd = map->charid2sd(char_id);
+ if (sd == NULL) // User is not online anymore
+ return;
+
+ int64 mail_id = RFIFOQ(fd, 6);
+ uint8 opentype = RFIFOB(fd, 14);
+ int count = RFIFOB(fd, 15);
+ struct rodex_item items[RODEX_MAX_ITEM];
+ memcpy(&items[0], RFIFOP(fd, 16), sizeof(struct rodex_item) * RODEX_MAX_ITEM);
+ rodex->getItemsAck(sd, mail_id, opentype, count, &items[0]);
+}
+
//-----------------------------------------------------------------
// Communication from the inter server
// Return a 0 (false) if there were any errors.
@@ -2972,6 +3006,8 @@ static int intif_parse(int fd)
case 0x3896: intif->pRodexHasNew(fd); break;
case 0x3897: intif->pRodexSendMail(fd); break;
case 0x3898: intif->pRodexCheckName(fd); break;
+ case 0x3899: intif->pGetZenyAck(fd); break;
+ case 0x389a: intif->pGetItemsAck(fd); break;
// Clan System
case 0x3858: intif->pRecvClanMemberAction(fd); break;
@@ -2995,13 +3031,13 @@ void intif_defaults(void)
-1,-1,27,-1, -1,-1,37,-1, 7, 0, 0, 0, 0, 0, 0, 0, //0x3800-0x380f
-1, 0, 0, 0, 0, 0, 0, 0, -1,11, 0, 0, 0, 0, 0, 0, //0x3810 Achievements [Smokexyz/Hercules]
39,-1,15,15, 14,19, 7,-1, 0, 0, 0, 0, 0, 0, 0, 0, //0x3820
- 10,-1,15, 0, 79,23, 7,-1, 0,-1,-1,-1, 14,67,186,-1, //0x3830
+ 10,-1,15, 0, 79,25, 7,-1, 0,-1,-1,-1, 14,67,186,-1, //0x3830
-1, 0, 0,14, 0, 0, 0, 0, -1,74,-1,11, 11,-1, 0, 0, //0x3840
-1,-1, 7, 7, 7,11, 8, 0, 10, 0, 0, 0, 0, 0, 0, 0, //0x3850 Auctions [Zephyrus] itembound[Akinari] Clan System[Murilo BiO]
-1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0x3860 Quests [Kevin] [Inkfish]
-1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 3, 3, 0, //0x3870 Mercenaries [Zephyrus] / Elemental [pakpil]
- 12,-1, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0x3880
- -1,-1, 7, 3, 0,-1, 7, 15,16 + NAME_LENGTH, 0, 0, 0, 0, 0, 0, 0, //0x3890 Homunculus [albator] / RoDEX [KirieZ]
+ 14,-1, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0x3880
+ -1,-1, 7, 3, 0,-1, 7, 15,18 + NAME_LENGTH, 23, 16 + sizeof(struct rodex_item) * RODEX_MAX_ITEM, 0, 0, 0, 0, 0, //0x3890 Homunculus [albator] / RoDEX [KirieZ]
};
intif = &intif_s;
@@ -3171,6 +3207,8 @@ void intif_defaults(void)
intif->pRodexHasNew = intif_parse_RodexNotifications;
intif->pRodexSendMail = intif_parse_RodexSendMail;
intif->pRodexCheckName = intif_parse_RodexCheckName;
+ intif->pGetZenyAck = intif_parse_GetZenyAck;
+ intif->pGetItemsAck = intif_parse_GetItemsAck;
/* Clan System */
intif->pRecvClanMemberAction = intif_parse_RecvClanMemberAction;
/* Achievement System */
diff --git a/src/map/intif.h b/src/map/intif.h
index 21f7a494c..8df669217 100644
--- a/src/map/intif.h
+++ b/src/map/intif.h
@@ -58,7 +58,7 @@ struct intif_interface {
int packet_len_table[INTIF_PACKET_LEN_TABLE_SIZE];
/* funcs */
int (*parse) (int fd);
- int (*create_pet)(int account_id, int char_id, short pet_type, short pet_lv, int pet_egg_id,
+ int (*create_pet)(int account_id, int char_id, int pet_type, int pet_lv, int pet_egg_id,
int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name);
int (*broadcast) (const char *mes, int len, int type);
int (*broadcast2) (const char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY);
@@ -84,7 +84,7 @@ struct intif_interface {
int (*guild_request_info) (int guild_id);
int (*guild_addmember) (int guild_id, struct guild_member *m);
int (*guild_leave) (int guild_id, int account_id, int char_id, int flag, const char *mes);
- int (*guild_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ int (*guild_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int class);
int (*guild_break) (int guild_id);
int (*guild_message) (int guild_id, int account_id, const char *mes, int len);
int (*guild_change_gm) (int guild_id, const char *name, int len);
@@ -135,9 +135,11 @@ struct intif_interface {
// RoDEX
int(*rodex_requestinbox) (int char_id, int account_id, int8 flag, int8 opentype, int64 mail_id);
int(*rodex_checkhasnew) (struct map_session_data *sd);
- int(*rodex_updatemail) (int64 mail_id, int8 flag);
+ int(*rodex_updatemail) (struct map_session_data *sd, int64 mail_id, uint8 opentype, int8 flag);
int(*rodex_sendmail) (struct rodex_message *msg);
int(*rodex_checkname) (struct map_session_data *sd, const char *name);
+ void (*pGetZenyAck) (int fd);
+ void (*pGetItemsAck) (int fd);
/* Clan System */
int (*clan_kickoffline) (int clan_id, int kick_interval);
int (*clan_membercount) (int clan_id, int kick_interval);
diff --git a/src/map/irc-bot.c b/src/map/irc-bot.c
index 6f37fa4a6..996107fea 100644
--- a/src/map/irc-bot.c
+++ b/src/map/irc-bot.c
@@ -63,6 +63,7 @@ static int irc_connect_timer(int tid, int64 tick, int id, intptr_t data)
if ((ircbot->fd = sockt->make_connection(ircbot->ip, channel->config->irc_server_port, &opt)) > 0) {
sockt->session[ircbot->fd]->func_parse = ircbot->parse;
sockt->session[ircbot->fd]->flag.server = 1;
+ sockt->session[ircbot->fd]->flag.validate = 0;
timer->add(timer->gettick() + 3000, ircbot->identify_timer, 0, 0);
ircbot->isOn = true;
}
diff --git a/src/map/itemdb.c b/src/map/itemdb.c
index 5e447d4c0..11d778f8a 100644
--- a/src/map/itemdb.c
+++ b/src/map/itemdb.c
@@ -27,6 +27,7 @@
#include "map/map.h"
#include "map/mob.h" // MAX_MOB_DB
#include "map/pc.h" // W_MUSICAL, W_WHIP
+#include "map/refine.h"
#include "map/script.h" // item script processing
#include "common/HPM.h"
#include "common/conf.h"
@@ -1700,7 +1701,12 @@ static int itemdb_validate_entry(struct item_data *entry, int n, const char *sou
nullpo_ret(entry);
nullpo_ret(source);
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
if (entry->nameid <= 0 || entry->nameid > MAX_ITEM_ID) {
+#else
+ if (entry->nameid <= 0) {
+#endif
+ // item id wrong for any packet versions
ShowWarning("itemdb_validate_entry: Invalid item ID %d in entry %d of '%s', allowed values 0 < ID < %d (MAX_ITEM_ID), skipping.\n",
entry->nameid, n, source, MAX_ITEM_ID);
if (entry->script) {
@@ -1716,7 +1722,14 @@ static int itemdb_validate_entry(struct item_data *entry, int n, const char *sou
entry->unequip_script = NULL;
}
return 0;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
}
+#else
+ } else if (entry->nameid > MAX_ITEM_ID) {
+ // item id too big for packet version before item id in 4 bytes
+ entry->view_id = UNKNOWN_ITEM_ID;
+ }
+#endif
{
const char *c = entry->name;
@@ -2434,6 +2447,8 @@ static void itemdb_read(bool minimal)
}
}
+ itemdb->other->foreach(itemdb->other, itemdb->addname_sub);
+
if (minimal)
return;
@@ -2444,7 +2459,23 @@ static void itemdb_read(bool minimal)
itemdb->read_chains();
itemdb->read_packages();
itemdb->read_options();
- clif->stylist_read_db_libconfig();
+}
+
+/**
+ * Add item name with high id into map
+ * @see DBApply
+ */
+static int itemdb_addname_sub(union DBKey key, struct DBData *data, va_list ap)
+{
+ struct item_data *item = DB->data2ptr(data);
+ struct DBData prev;
+
+ if (itemdb->names->put(itemdb->names, DB->str2key(item->name), DB->ptr2data(item), &prev)) {
+ struct item_data *oldItem = DB->data2ptr(&prev);
+ ShowError("itemdb_read: duplicate AegisName '%s' in item ID %d and %d\n", item->name, item->nameid, oldItem->nameid);
+ }
+
+ return 0;
}
/**
@@ -2676,7 +2707,6 @@ static void do_final_itemdb(void)
itemdb->destroy_item_data(&itemdb->dummy, 0);
db_destroy(itemdb->names);
VECTOR_CLEAR(clif->attendance_data);
- clif->stylist_vector_clear();
}
static void do_init_itemdb(bool minimal)
@@ -2686,7 +2716,6 @@ static void do_init_itemdb(bool minimal)
itemdb->options = idb_alloc(DB_OPT_RELEASE_DATA);
itemdb->names = strdb_alloc(DB_OPT_BASE,ITEM_NAME_LENGTH);
itemdb->create_dummy_data(); //Dummy data item.
- clif->stylist_vector_init();
itemdb->read(minimal);
if (minimal)
@@ -2789,4 +2818,5 @@ void itemdb_defaults(void)
itemdb->is_item_usable = itemdb_is_item_usable;
itemdb->lookup_const = itemdb_lookup_const;
itemdb->lookup_const_mask = itemdb_lookup_const_mask;
+ itemdb->addname_sub = itemdb_addname_sub;
}
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index d92940445..e032def0c 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -38,7 +38,7 @@ struct hplugin_data_store;
#endif
#ifndef MAX_ITEM_ID
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
#define MAX_ITEM_ID 0x20000
#else
#define MAX_ITEM_ID 0xFFFF
@@ -72,8 +72,8 @@ struct hplugin_data_store;
#if MAX_ITEM_ID < MAX_ITEMDB
#error "MAX_ITEM_ID must be bigger or same with MAX_ITEMDB"
#endif
-#if MAX_ITEM_ID > 0xFFFF && PACKETVER_RE_NUM < 20180704
-#error "For clients before 20180704 RE, MAX_ITEM_ID must be smaller than 0x10000"
+#if MAX_ITEM_ID > 0xFFFF && PACKETVER_MAIN_NUM < 20181121 && PACKETVER_RE_NUM < 20180704 && PACKETVER_ZERO_NUM < 20181114
+#error "For clients before 20181121 Main and 20180704 RE and 20181114 zero, MAX_ITEM_ID must be smaller than 0x10000"
#endif
enum item_itemid {
@@ -130,6 +130,7 @@ enum item_itemid {
ITEMID_INDIGO_PTS = 6361,
ITEMID_YELLOW_WISH_PTS = 6362,
ITEMID_LIME_GREEN_PTS = 6363,
+ ITEMID_BLACKSMITH_BLESSING = 6635,
ITEMID_STONE = 7049,
ITEMID_FIRE_BOTTLE = 7135,
ITEMID_ACID_BOTTLE = 7136,
@@ -683,6 +684,7 @@ struct itemdb_interface {
bool (*is_item_usable) (struct item_data *item);
bool (*lookup_const) (const struct config_setting_t *it, const char *name, int *value);
bool (*lookup_const_mask) (const struct config_setting_t *it, const char *name, int *value);
+ int (*addname_sub) (union DBKey key, struct DBData *data, va_list ap);
};
#ifdef HERCULES_CORE
diff --git a/src/map/log.c b/src/map/log.c
index efb7fefbc..5bbca02a9 100644
--- a/src/map/log.c
+++ b/src/map/log.c
@@ -106,7 +106,7 @@ static char log_chattype2char(e_log_chat_type type)
}
/// check if this item should be logged according the settings
-static bool should_log_item(int nameid, int amount, int refine, struct item_data *id)
+static bool should_log_item(int nameid, int amount, int refine_level, struct item_data *id)
{
int filter = logs->config.filter;
@@ -123,7 +123,7 @@ static bool should_log_item(int nameid, int amount, int refine, struct item_data
( filter&LOG_FILTER_PETITEM && ( id->type == IT_PETEGG || id->type == IT_PETARMOR ) ) ||
( filter&LOG_FILTER_PRICE && id->value_buy >= logs->config.price_items_log ) ||
( filter&LOG_FILTER_AMOUNT && abs(amount) >= logs->config.amount_items_log ) ||
- ( filter&LOG_FILTER_REFINE && refine >= logs->config.refine_items_log ) ||
+ ( filter&LOG_FILTER_REFINE && refine_level >= logs->config.refine_items_log ) ||
( filter&LOG_FILTER_CHANCE && ( ( id->maxchance != -1 && id->maxchance <= logs->config.rare_items_log ) || id->nameid == ITEMID_EMPERIUM ) )
)
return true;
diff --git a/src/map/log.h b/src/map/log.h
index db802575d..116d99bfd 100644
--- a/src/map/log.h
+++ b/src/map/log.h
@@ -155,7 +155,7 @@ struct log_interface {
char (*picktype2char) (e_log_pick_type type);
char (*chattype2char) (e_log_chat_type type);
- bool (*should_log_item) (int nameid, int amount, int refine, struct item_data *id);
+ bool (*should_log_item) (int nameid, int amount, int refine_level, struct item_data *id);
};
#ifdef HERCULES_CORE
diff --git a/src/map/mail.c b/src/map/mail.c
index d67e658fd..0a6603a45 100644
--- a/src/map/mail.c
+++ b/src/map/mail.c
@@ -100,7 +100,7 @@ static unsigned char mail_setitem(struct map_session_data *sd, int idx, int amou
idx -= 2;
mail->removeitem(sd, 0);
- if( idx < 0 || idx >= MAX_INVENTORY )
+ if (idx < 0 || idx >= sd->status.inventorySize)
return 1;
if( amount <= 0 || amount > sd->status.inventory[idx].amount )
return 1;
@@ -128,7 +128,7 @@ static bool mail_setattachment(struct map_session_data *sd, struct mail_message
return false;
n = sd->mail.index;
- Assert_retr(false, n >= 0 && n < MAX_INVENTORY);
+ Assert_retr(false, n >= 0 && n < sd->status.inventorySize);
if( sd->mail.amount )
{
if( sd->status.inventory[n].nameid != sd->mail.nameid )
@@ -177,7 +177,7 @@ static int mail_openmail(struct map_session_data *sd)
{
nullpo_ret(sd);
- if (sd->state.storage_flag != STORAGE_FLAG_CLOSED || sd->state.vending || sd->state.buyingstore || sd->state.trading)
+ if (sd->state.storage_flag != STORAGE_FLAG_CLOSED || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->state.trading)
return 0;
clif->mail_window(sd->fd, 0);
diff --git a/src/map/map.c b/src/map/map.c
index 343f219b8..71eab9286 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -56,7 +56,9 @@
#include "map/skill.h"
#include "map/status.h"
#include "map/storage.h"
+#include "map/stylist.h"
#include "map/rodex.h"
+#include "map/refine.h"
#include "map/trade.h"
#include "map/unit.h"
#include "map/achievement.h"
@@ -635,6 +637,18 @@ static int map_foreachinmap(int (*func)(struct block_list*, va_list), int16 m, i
return returnCount;
}
+static int map_forcountinmap(int (*func)(struct block_list*, va_list), int16 m, int count, int type, ...)
+{
+ int returnCount;
+ va_list ap;
+
+ va_start(ap, type);
+ returnCount = map->vforcountinarea(func, m, 0, 0, map->list[m].xs, map->list[m].ys, count, type, ap);
+ va_end(ap);
+
+ return returnCount;
+}
+
/**
* Applies func to every block_list object of bl_type type on all maps
* of instance instance_id.
@@ -3572,23 +3586,27 @@ static void map_zone_db_clear(void)
}
static void map_clean(int i)
{
- int v;
Assert_retv(i >= 0 && i < map->count);
- if(map->list[i].cell && map->list[i].cell != (struct mapcell *)0xdeadbeaf) aFree(map->list[i].cell);
- if(map->list[i].block) aFree(map->list[i].block);
- if(map->list[i].block_mob) aFree(map->list[i].block_mob);
- if(battle_config.dynamic_mobs) { //Dynamic mobs flag by [random]
- int j;
- if(map->list[i].mob_delete_timer != INVALID_TIMER)
+ if (map->list[i].cell && map->list[i].cell != (struct mapcell *)0xdeadbeaf)
+ aFree(map->list[i].cell);
+ if (map->list[i].block)
+ aFree(map->list[i].block);
+ if (map->list[i].block_mob)
+ aFree(map->list[i].block_mob);
+
+ if (battle_config.dynamic_mobs != 0) { //Dynamic mobs flag by [random]
+ if (map->list[i].mob_delete_timer != INVALID_TIMER)
timer->delete(map->list[i].mob_delete_timer, map->removemobs_timer);
- for (j=0; j<MAX_MOB_LIST_PER_MAP; j++)
- if (map->list[i].moblist[j]) aFree(map->list[i].moblist[j]);
+ for (int j = 0; j < MAX_MOB_LIST_PER_MAP; j++) {
+ if (map->list[i].moblist[j] != NULL)
+ aFree(map->list[i].moblist[j]);
+ }
}
- if( map->list[i].unit_count ) {
- if( map->list[i].units ) {
- for(v = 0; v < map->list[i].unit_count; v++) {
+ if (map->list[i].unit_count != 0) {
+ if (map->list[i].units != NULL) {
+ for (int v = 0; v < map->list[i].unit_count; v++) {
aFree(map->list[i].units[v]);
}
aFree(map->list[i].units);
@@ -3597,105 +3615,51 @@ static void map_clean(int i)
map->list[i].unit_count = 0;
}
- if( map->list[i].skill_count ) {
- if( map->list[i].skills ) {
- for(v = 0; v < map->list[i].skill_count; v++) {
- aFree(map->list[i].skills[v]);
- }
+ if (map->list[i].skill_count != 0) {
+ if (map->list[i].skills != NULL) {
+ for (int v = 0; v < map->list[i].skill_count; v++) {
+ aFree(map->list[i].skills[v]);
+ }
aFree(map->list[i].skills);
map->list[i].skills = NULL;
}
map->list[i].skill_count = 0;
}
- if( map->list[i].zone_mf_count ) {
- if( map->list[i].zone_mf ) {
- for(v = 0; v < map->list[i].zone_mf_count; v++) {
- aFree(map->list[i].zone_mf[v]);
- }
+ if (map->list[i].zone_mf_count != 0) {
+ if (map->list[i].zone_mf != NULL) {
+ for (int v = 0; v < map->list[i].zone_mf_count; v++) {
+ aFree(map->list[i].zone_mf[v]);
+ }
aFree(map->list[i].zone_mf);
map->list[i].zone_mf = NULL;
}
map->list[i].zone_mf_count = 0;
}
- if( map->list[i].channel )
+ if (map->list[i].drop_list_count != 0)
+ map->list[i].drop_list_count = 0;
+ if (map->list[i].drop_list != NULL)
+ aFree(map->list[i].drop_list);
+
+ if (map->list[i].channel != NULL)
channel->delete(map->list[i].channel);
+
+ VECTOR_CLEAR(map->list[i].qi_list);
+ HPM->data_store_destroy(&map->list[i].hdata);
}
static void do_final_maps(void)
{
- int i, v = 0;
-
- for( i = 0; i < map->count; i++ ) {
-
- if(map->list[i].cell && map->list[i].cell != (struct mapcell *)0xdeadbeaf ) aFree(map->list[i].cell);
- if(map->list[i].block) aFree(map->list[i].block);
- if(map->list[i].block_mob) aFree(map->list[i].block_mob);
-
- if(battle_config.dynamic_mobs) { //Dynamic mobs flag by [random]
- int j;
- if(map->list[i].mob_delete_timer != INVALID_TIMER)
- timer->delete(map->list[i].mob_delete_timer, map->removemobs_timer);
- for (j=0; j<MAX_MOB_LIST_PER_MAP; j++)
- if (map->list[i].moblist[j]) aFree(map->list[i].moblist[j]);
- }
-
- if( map->list[i].unit_count ) {
- if( map->list[i].units ) {
- for(v = 0; v < map->list[i].unit_count; v++) {
- aFree(map->list[i].units[v]);
- }
- aFree(map->list[i].units);
- map->list[i].units = NULL;
- }
- map->list[i].unit_count = 0;
- }
-
- if( map->list[i].skill_count ) {
- if( map->list[i].skills ) {
- for(v = 0; v < map->list[i].skill_count; v++) {
- aFree(map->list[i].skills[v]);
- }
- aFree(map->list[i].skills);
- map->list[i].skills = NULL;
- }
- map->list[i].skill_count = 0;
- }
-
- if( map->list[i].zone_mf_count ) {
- if( map->list[i].zone_mf ) {
- for(v = 0; v < map->list[i].zone_mf_count; v++) {
- aFree(map->list[i].zone_mf[v]);
- }
- aFree(map->list[i].zone_mf);
- map->list[i].zone_mf = NULL;
- }
- map->list[i].zone_mf_count = 0;
- }
-
- if( map->list[i].drop_list_count ) {
- map->list[i].drop_list_count = 0;
- }
- if( map->list[i].drop_list != NULL )
- aFree(map->list[i].drop_list);
-
- if( map->list[i].channel )
- channel->delete(map->list[i].channel);
-
- quest->questinfo_vector_clear(i);
-
- HPM->data_store_destroy(&map->list[i].hdata);
- }
-
+ for (int i = 0; i < map->count; i++)
+ map->clean(i);
map->zone_db_clear();
-
}
static void map_zonedb_reload(void)
{
// first, reset maps to their initial zones:
for (int i = 0; i < map->count; i++) {
- map->zone_remove(i);
+ map->zone_remove_all(i);
if (battle_config.pk_mode) {
map->list[i].flag.pvp = 1;
@@ -3779,7 +3743,8 @@ static void map_flags_init(void)
map->list[i].short_damage_rate = 100;
map->list[i].long_damage_rate = 100;
- VECTOR_INIT(map->list[i].qi_data);
+ VECTOR_CLEAR(map->list[i].qi_list);
+ VECTOR_INIT(map->list[i].qi_list);
}
}
@@ -4467,6 +4432,7 @@ static bool inter_config_read_database_names(const char *filename, const struct
libconfig->setting_lookup_mutable_string(setting, "autotrade_merchants_db", map->autotrade_merchants_db, sizeof(map->autotrade_merchants_db));
libconfig->setting_lookup_mutable_string(setting, "autotrade_data_db", map->autotrade_data_db, sizeof(map->autotrade_data_db));
libconfig->setting_lookup_mutable_string(setting, "npc_market_data_db", map->npc_market_data_db, sizeof(map->npc_market_data_db));
+ libconfig->setting_lookup_mutable_string(setting, "npc_barter_data_db", map->npc_barter_data_db, sizeof(map->npc_barter_data_db));
if (!mapreg->config_read(filename, setting, imported))
retval = false;
@@ -4676,6 +4642,27 @@ static void map_zone_remove(int m)
map->list[m].zone_mf = NULL;
map->list[m].zone_mf_count = 0;
}
+// this one removes every flag, even if they were previously turned on before
+// the current zone was applied
+static void map_zone_remove_all(int m)
+{
+ Assert_retv(m >= 0 && m < map->count);
+
+ for (unsigned short k = 0; k < map->list[m].zone_mf_count; k++) {
+ char flag[MAP_ZONE_MAPFLAG_LENGTH];
+
+ memcpy(flag, map->list[m].zone_mf[k], MAP_ZONE_MAPFLAG_LENGTH);
+ strtok(flag, "\t");
+
+ npc->parse_mapflag(map->list[m].name, "", flag, "off", "", "", "", NULL);
+ aFree(map->list[m].zone_mf[k]);
+ map->list[m].zone_mf[k] = NULL;
+ }
+
+ aFree(map->list[m].zone_mf);
+ map->list[m].zone_mf = NULL;
+ map->list[m].zone_mf_count = 0;
+}
static inline void map_zone_mf_cache_add(int m, char *rflag)
{
Assert_retv(m >= 0 && m < map->count);
@@ -5993,28 +5980,30 @@ static int map_get_new_bonus_id(void)
return map->bonus_id++;
}
-static void map_add_questinfo(int m, struct questinfo *qi)
+static bool map_add_questinfo(int m, struct npc_data *nd)
{
- nullpo_retv(qi);
- Assert_retv(m >= 0 && m < map->count);
+ nullpo_retr(false, nd);
+ Assert_retr(false, m >= 0 && m < map->count);
- VECTOR_ENSURE(map->list[m].qi_data, 1, 1);
- VECTOR_PUSH(map->list[m].qi_data, *qi);
+ if (&VECTOR_LAST(map->list[m].qi_list) == nd)
+ return false;
+
+ VECTOR_ENSURE(map->list[m].qi_list, 1, 1);
+ VECTOR_PUSH(map->list[m].qi_list, *nd);
+ return true;
}
static bool map_remove_questinfo(int m, struct npc_data *nd)
{
- unsigned short i;
nullpo_retr(false, nd);
Assert_retr(false, m >= 0 && m < map->count);
- for (i = 0; i < VECTOR_LENGTH(map->list[m].qi_data); i++) {
- struct questinfo *qi_data = &VECTOR_INDEX(map->list[m].qi_data, i);
- if (qi_data->nd == nd) {
- VECTOR_ERASE(map->list[m].qi_data, i);
- return true;
- }
+ int i;
+ ARR_FIND(0, VECTOR_LENGTH(map->list[m].qi_list), i, &VECTOR_INDEX(map->list[m].qi_list, i) == nd);
+ if (i != VECTOR_LENGTH(map->list[m].qi_list)) {
+ VECTOR_ERASE(map->list[m].qi_list, i);
+ return true;
}
return false;
}
@@ -6155,6 +6144,7 @@ int do_final(void)
atcommand->final_msg();
skill->final();
status->final();
+ refine->final();
unit->final();
bg->final();
duel->final();
@@ -6163,6 +6153,7 @@ int do_final(void)
vending->final();
rodex->final();
achievement->final();
+ stylist->final();
HPM_map_do_final();
@@ -6370,6 +6361,8 @@ static void map_load_defaults(void)
achievement_defaults();
npc_chat_defaults();
rodex_defaults();
+ stylist_defaults();
+ refine_defaults();
}
/**
* --run-once handler
@@ -6674,6 +6667,7 @@ int do_init(int argc, char *argv[])
map->read_zone_db();/* read after item and skill initialization */
mob->init(minimal);
pc->init(minimal);
+ refine->init(minimal);
status->init(minimal);
party->init(minimal);
guild->init(minimal);
@@ -6690,6 +6684,7 @@ int do_init(int argc, char *argv[])
duel->init(minimal);
vending->init(minimal);
rodex->init(minimal);
+ stylist->init(minimal);
if (map->scriptcheck) {
bool failed = map->extra_scripts_count > 0 ? false : true;
@@ -6709,6 +6704,7 @@ int do_init(int argc, char *argv[])
npc->event_do_oninit( false ); // Init npcs (OnInit)
npc->market_fromsql(); /* after OnInit */
+ npc->barter_fromsql(); /* after OnInit */
if (battle_config.pk_mode)
ShowNotice("Server is running on '"CL_WHITE"PK Mode"CL_RESET"'.\n");
@@ -6828,6 +6824,7 @@ void map_defaults(void)
/* funcs */
map->zone_init = map_zone_init;
map->zone_remove = map_zone_remove;
+ map->zone_remove_all = map_zone_remove_all;
map->zone_apply = map_zone_apply;
map->zone_change = map_zone_change;
map->zone_change2 = map_zone_change2;
@@ -6901,6 +6898,7 @@ void map_defaults(void)
map->foreachinpath = map_foreachinpath;
map->vforeachinmap = map_vforeachinmap;
map->foreachinmap = map_foreachinmap;
+ map->forcountinmap = map_forcountinmap;
map->vforeachininstance = map_vforeachininstance;
map->foreachininstance = map_foreachininstance;
diff --git a/src/map/map.h b/src/map/map.h
index cf3a4e57c..0330eccc4 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -45,42 +45,6 @@ enum E_MAPSERVER_ST {
MAPSERVER_ST_LAST
};
-#define MAX_NPC_PER_MAP 512
-#define AREA_SIZE (battle->bc->area_size)
-#define CHAT_AREA_SIZE (battle->bc->chat_area_size)
-#define DEAD_AREA_SIZE (battle->bc->dead_area_size)
-#define DAMAGELOG_SIZE 30
-#define LOOTITEM_SIZE 10
-#define MAX_MOBSKILL 50
-#define MAX_MOB_LIST_PER_MAP 100
-#define MAX_EVENTQUEUE 2
-#define MAX_EVENTTIMER 32
-#define NATURAL_HEAL_INTERVAL 500
-#define MIN_FLOORITEM 2
-#define MAX_FLOORITEM START_ACCOUNT_NUM
-#define MAX_IGNORE_LIST 20 // official is 14
-#define MAX_VENDING 12
-#define MAX_MAP_SIZE (512*512) // Wasn't there something like this already? Can't find it.. [Shinryo]
-
-#define BLOCK_SIZE 8
-#define block_free_max 1048576
-#define BL_LIST_MAX 1048576
-
-// The following system marks a different job ID system used by the map server,
-// which makes a lot more sense than the normal one. [Skotlex]
-// These marks the "level" of the job.
-#define JOBL_2_1 0x0100
-#define JOBL_2_2 0x0200
-#define JOBL_2 0x0300 // JOBL_2_1 | JOBL_2_2
-#define JOBL_UPPER 0x1000
-#define JOBL_BABY 0x2000
-#define JOBL_THIRD 0x4000
-
-// For filtering and quick checking.
-#define MAPID_BASEMASK 0x00ff
-#define MAPID_UPPERMASK 0x0fff
-#define MAPID_THIRDMASK (JOBL_THIRD|MAPID_UPPERMASK)
-
//First Jobs
//Note the oddity of the novice:
//Super Novices are considered the 2-1 version of the novice! Novices are considered a first class type.
@@ -344,36 +308,6 @@ enum {
STATIC_ASSERT(((MAPID_1_1_MAX - 1) | MAPID_BASEMASK) == MAPID_BASEMASK, "First class map IDs do not fit into MAPID_BASEMASK");
-// Max size for inputs to Graffiti, Talkie Box and Vending text prompts
-#define MESSAGE_SIZE (79 + 1)
-// String length you can write in the 'talking box'
-#define CHATBOX_SIZE (70 + 1)
-// Chatroom-related string sizes
-#define CHATROOM_TITLE_SIZE (36 + 1)
-#define CHATROOM_PASS_SIZE (8 + 1)
-// Max allowed chat text length
-#define CHAT_SIZE_MAX (255 + 1)
-// 24 for npc name + 24 for label + 2 for a "::" and 1 for EOS
-#define EVENT_NAME_LENGTH ( NAME_LENGTH * 2 + 3 )
-#define DEFAULT_AUTOSAVE_INTERVAL (5*60*1000)
-// Specifies maps where players may hit each other
-#define map_flag_vs(m) ( \
- map->list[m].flag.pvp \
- || map->list[m].flag.gvg_dungeon \
- || map->list[m].flag.gvg \
- || ((map->agit_flag || map->agit2_flag) && map->list[m].flag.gvg_castle) \
- || map->list[m].flag.battleground \
- || map->list[m].flag.cvc \
- )
-// Specifies maps that have special GvG/WoE restrictions
-#define map_flag_gvg(m) (map->list[m].flag.gvg || ((map->agit_flag || map->agit2_flag) && map->list[m].flag.gvg_castle))
-// Specifies if the map is tagged as GvG/WoE (regardless of map->agit_flag status)
-#define map_flag_gvg2(m) (map->list[m].flag.gvg || map->list[m].flag.gvg_castle)
-// No Kill Steal Protection
-#define map_flag_ks(m) (map->list[m].flag.town || map->list[m].flag.pvp || map->list[m].flag.gvg || map->list[m].flag.battleground)
-// No ViewID
-#define map_no_view(m, view) (map->list[m].flag.noviewid & (view))
-
//This stackable implementation does not means a BL can be more than one type at a time, but it's
// meant to make it easier to check for multiple types at a time on invocations such as map_foreach* calls [Skotlex]
enum bl_type {
@@ -392,9 +326,6 @@ enum bl_type {
BL_ALL = 0xFFF,
};
-// For common mapforeach calls. Since pets cannot be affected, they aren't included here yet.
-#define BL_CHAR (BL_PC|BL_MOB|BL_HOM|BL_MER|BL_ELEM)
-
enum npc_subtype { WARP, SHOP, SCRIPT, CASHSHOP, TOMB };
/**
@@ -518,7 +449,7 @@ struct block_list {
// Mob List Held in memory for Dynamic Mobs [Wizputer]
// Expanded to specify all mob-related spawn data by [Skotlex]
struct spawn_data {
- short class_; ///< Class, used because a mob can change it's class
+ int class_; ///< Class, used because a mob can change it's class
unsigned short m, x, y; ///< Spawn information (map, point, spawn-area around point)
signed short xs, ys;
unsigned short num; ///< Number of mobs using this structure
@@ -748,16 +679,6 @@ enum map_zone_merge_type {
MZMT_NEVERMERGE, ///< Cannot merge with any zones.
};
-#define MAP_ZONE_NAME_LENGTH 60
-#define MAP_ZONE_ALL_NAME "All"
-#define MAP_ZONE_NORMAL_NAME "Normal"
-#define MAP_ZONE_PVP_NAME "PvP"
-#define MAP_ZONE_GVG_NAME "GvG"
-#define MAP_ZONE_BG_NAME "Battlegrounds"
-#define MAP_ZONE_CVC_NAME "CvC"
-#define MAP_ZONE_PK_NAME "PK Mode"
-#define MAP_ZONE_MAPFLAG_LENGTH 65
-
struct map_zone_data {
char name[MAP_ZONE_NAME_LENGTH];/* 20'd */
enum map_zone_merge_type merge_type;
@@ -784,34 +705,6 @@ struct map_drop_list {
int drop_per;
};
-struct questinfo_qreq {
- int id;
- int state;
-};
-
-struct questinfo {
- struct npc_data *nd;
- unsigned short icon;
- unsigned char color;
- bool hasJob;
- unsigned short job;/* perhaps a mapid mask would be most flexible? */
- bool sex_enabled;
- int sex;
- struct {
- int min;
- int max;
- } base_level;
- struct {
- int min;
- int max;
- } job_level;
- VECTOR_DECL(struct item) items;
- struct s_homunculus homunculus;
- int homunculus_type;
- VECTOR_DECL(struct questinfo_qreq) quest_requirement;
-};
-
-
struct map_data {
char name[MAP_NAME_LENGTH];
uint16 index; // The map index used by the mapindex* functions.
@@ -949,8 +842,8 @@ struct map_data {
int len;
} cell_buf;
- /* ShowEvent Data Cache */
- VECTOR_DECL(struct questinfo) qi_data;
+ /* questinfo entries list */
+ VECTOR_DECL(struct npc_data) qi_list;
/* speeds up clif_updatestatus processing by causing hpmeter to run only when someone with the permission can view it */
unsigned short hpmeter_visible;
@@ -1160,6 +1053,7 @@ struct map_interface {
char autotrade_merchants_db[32];
char autotrade_data_db[32];
char npc_market_data_db[32];
+ char npc_barter_data_db[32];
char default_codepage[32];
char default_lang_str[64];
@@ -1213,6 +1107,7 @@ END_ZEROED_BLOCK;
/* funcs */
void (*zone_init) (void);
void (*zone_remove) (int m);
+ void (*zone_remove_all) (int m);
void (*zone_apply) (int m, struct map_zone_data *zone, const char* start, const char* buffer, const char* filepath);
void (*zone_change) (int m, struct map_zone_data *zone, const char* start, const char* buffer, const char* filepath);
void (*zone_change2) (int m, struct map_zone_data *zone);
@@ -1286,6 +1181,7 @@ END_ZEROED_BLOCK;
int (*foreachinpath) (int (*func)(struct block_list*,va_list), int16 m, int16 x0, int16 y0, int16 x1, int16 y1, int16 range, int length, int type, ...);
int (*vforeachinmap) (int (*func)(struct block_list*,va_list), int16 m, int type, va_list args);
int (*foreachinmap) (int (*func)(struct block_list*,va_list), int16 m, int type, ...);
+ int (*forcountinmap) (int (*func)(struct block_list*,va_list), int16 m, int count, int type, ...);
int (*vforeachininstance)(int (*func)(struct block_list*,va_list), int16 instance_id, int type, va_list ap);
int (*foreachininstance)(int (*func)(struct block_list*,va_list), int16 instance_id, int type,...);
@@ -1381,7 +1277,7 @@ END_ZEROED_BLOCK;
int (*abort_sub) (struct map_session_data *sd, va_list ap);
void (*update_cell_bl) (struct block_list *bl, bool increase);
int (*get_new_bonus_id) (void);
- void (*add_questinfo) (int m, struct questinfo *qi);
+ bool (*add_questinfo) (int m, struct npc_data *nd);
bool (*remove_questinfo) (int m, struct npc_data *nd);
struct map_zone_data *(*merge_zone) (struct map_zone_data *main, struct map_zone_data *other);
void (*zone_clear_single) (struct map_zone_data *zone);
diff --git a/src/map/mapdefines.h b/src/map/mapdefines.h
new file mode 100644
index 000000000..df9e9bccb
--- /dev/null
+++ b/src/map/mapdefines.h
@@ -0,0 +1,103 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2012-2018 Hercules Dev Team
+ * Copyright (C) Athena Dev Teams
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef MAP_MAPDEFINES_H
+#define MAP_MAPDEFINES_H
+
+#define MAX_NPC_PER_MAP 512
+#define AREA_SIZE (battle->bc->area_size)
+#define CHAT_AREA_SIZE (battle->bc->chat_area_size)
+#define DEAD_AREA_SIZE (battle->bc->dead_area_size)
+#define DAMAGELOG_SIZE 30
+#define LOOTITEM_SIZE 10
+#define MAX_MOBSKILL 50
+#define MAX_MOB_LIST_PER_MAP 100
+#define MAX_EVENTQUEUE 2
+#define MAX_EVENTTIMER 32
+#define NATURAL_HEAL_INTERVAL 500
+#define MIN_FLOORITEM 2
+#define MAX_FLOORITEM START_ACCOUNT_NUM
+#define MAX_IGNORE_LIST 20 // official is 14
+#define MAX_VENDING 12
+#define MAX_MAP_SIZE (512*512) // Wasn't there something like this already? Can't find it.. [Shinryo]
+
+#define BLOCK_SIZE 8
+#define block_free_max 1048576
+#define BL_LIST_MAX 1048576
+
+// The following system marks a different job ID system used by the map server,
+// which makes a lot more sense than the normal one. [Skotlex]
+// These marks the "level" of the job.
+#define JOBL_2_1 0x0100
+#define JOBL_2_2 0x0200
+#define JOBL_2 0x0300 // JOBL_2_1 | JOBL_2_2
+#define JOBL_UPPER 0x1000
+#define JOBL_BABY 0x2000
+#define JOBL_THIRD 0x4000
+
+// For filtering and quick checking.
+#define MAPID_BASEMASK 0x00ff
+#define MAPID_UPPERMASK 0x0fff
+#define MAPID_THIRDMASK (JOBL_THIRD|MAPID_UPPERMASK)
+
+// Max size for inputs to Graffiti, Talkie Box and Vending text prompts
+#define MESSAGE_SIZE (79 + 1)
+// String length you can write in the 'talking box'
+#define CHATBOX_SIZE (70 + 1)
+// Chatroom-related string sizes
+#define CHATROOM_TITLE_SIZE (36 + 1)
+#define CHATROOM_PASS_SIZE (8 + 1)
+// Max allowed chat text length
+#define CHAT_SIZE_MAX (255 + 1)
+// 24 for npc name + 24 for label + 2 for a "::" and 1 for EOS
+#define EVENT_NAME_LENGTH ( NAME_LENGTH * 2 + 3 )
+#define DEFAULT_AUTOSAVE_INTERVAL (5*60*1000)
+// Specifies maps where players may hit each other
+#define map_flag_vs(m) ( \
+ map->list[m].flag.pvp \
+ || map->list[m].flag.gvg_dungeon \
+ || map->list[m].flag.gvg \
+ || ((map->agit_flag || map->agit2_flag) && map->list[m].flag.gvg_castle) \
+ || map->list[m].flag.battleground \
+ || map->list[m].flag.cvc \
+ )
+// Specifies maps that have special GvG/WoE restrictions
+#define map_flag_gvg(m) (map->list[m].flag.gvg || ((map->agit_flag || map->agit2_flag) && map->list[m].flag.gvg_castle))
+// Specifies if the map is tagged as GvG/WoE (regardless of map->agit_flag status)
+#define map_flag_gvg2(m) (map->list[m].flag.gvg || map->list[m].flag.gvg_castle)
+// No Kill Steal Protection
+#define map_flag_ks(m) (map->list[m].flag.town || map->list[m].flag.pvp || map->list[m].flag.gvg || map->list[m].flag.battleground)
+// No ViewID
+#define map_no_view(m, view) (map->list[m].flag.noviewid & (view))
+
+// For common mapforeach calls. Since pets cannot be affected, they aren't included here yet.
+#define BL_CHAR (BL_PC|BL_MOB|BL_HOM|BL_MER|BL_ELEM)
+
+#define MAP_ZONE_NAME_LENGTH 60
+#define MAP_ZONE_ALL_NAME "All"
+#define MAP_ZONE_NORMAL_NAME "Normal"
+#define MAP_ZONE_PVP_NAME "PvP"
+#define MAP_ZONE_GVG_NAME "GvG"
+#define MAP_ZONE_BG_NAME "Battlegrounds"
+#define MAP_ZONE_CVC_NAME "CvC"
+#define MAP_ZONE_PK_NAME "PK Mode"
+#define MAP_ZONE_MAPFLAG_LENGTH 65
+
+#endif /* MAP_MAPDEFINES_H */
diff --git a/src/map/messages_ad.h b/src/map/messages_ad.h
index 4345e078a..e0a4e5c98 100644
--- a/src/map/messages_ad.h
+++ b/src/map/messages_ad.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/map/messages_main.h b/src/map/messages_main.h
index dd000d2f1..802621eb2 100644
--- a/src/map/messages_main.h
+++ b/src/map/messages_main.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20180808
+Latest version: 20190418
*/
enum clif_messages {
@@ -4629,9 +4630,11 @@ Thief
Knight
*/
MSG_KNIGHT = 0x364,
-/*20040913 to latest
+/*20040913 to 20181128
Prieset
Priest
+20181205 to latest
+Priest
*/
MSG_PRIEST = 0x365,
/*20040913 to latest
@@ -5268,9 +5271,11 @@ WhiteSmith
Sniper
*/
MSG_HUNTER_H = 0x3dc,
-/*20050613 to latest
+/*20050613 to 20181128
Saaassin Cross
Assassin Cross
+20181205 to latest
+Assassin Cross
*/
MSG_ASSASSIN_H = 0x3dd,
/*20050613 to latest
@@ -5298,9 +5303,11 @@ Sniper_W
Sniper
*/
MSG_HUNTER_H_W = 0x3e2,
-/*20050613 to latest
+/*20050613 to 20181128
Saaassin Cross_W
Assassin Cross
+20181205 to latest
+Assassin Cross_W
*/
MSG_ASSASSIN_H_W = 0x3e3,
/*20050613 to latest
@@ -17569,9 +17576,11 @@ DEATH: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
MSG_ID_AFB = 0xafb,
#endif
#if PACKETVER >= 20150826
-/*20150826 to latest
+/*20150826 to 20180919
해당 태그는 이름으로 사용하실 수 없습니다.
Name with this tag cannot be used.
+20181002 to latest
+ 해당 내용은 이름으로 사용하실 수 없습니다.
*/
MSG_ID_AFC = 0xafc,
#endif
@@ -20251,9 +20260,11 @@ http://member.gnjoy.com/user/pay/chargelist.asp
한 번에 구입 가능한 아이템의 가짓수는 8개입니다.
*/
MSG_ID_CF0 = 0xcf0,
-/*20170920 to latest
+/*20170920 to 20190228
http://gift.zhaouc.com/#/index
http://gift.zhaouc.com/
+20190306 to latest
+http://gift.zhaouc.com/
*/
MSG_ID_CF1 = 0xcf1,
#endif
@@ -21267,6 +21278,343 @@ DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
*/
MSG_ID_DD1 = 0xdd1,
#endif
+#if PACKETVER >= 20180829
+/*20180829 to latest
+영문이나 러시아어 단독으로만 사용이 가능합니다.
+*/
+ MSG_ID_DD2 = 0xdd2,
+/*20180829 to latest
+you must have an AccessTicket to login
+*/
+ MSG_ID_DD3 = 0xdd3,
+/*20180829 to latest
+창고를 불러오는 중입니다.
+*/
+ MSG_ID_DD4 = 0xdd4,
+/*20180829 to latest
+NOW LOADING..
+*/
+ MSG_ID_DD5 = 0xdd5,
+#endif
+#if PACKETVER >= 20181002
+/*20181002 to latest
+삭제
+*/
+ MSG_ID_DD6 = 0xdd6,
+/*20181002 to latest
+답장
+*/
+ MSG_ID_DD7 = 0xdd7,
+/*20181002 to latest
+전송
+*/
+ MSG_ID_DD8 = 0xdd8,
+/*20181002 to latest
+이름확인
+*/
+ MSG_ID_DD9 = 0xdd9,
+/*20181002 to latest
+공지
+Notice
+*/
+ MSG_ID_DDA = 0xdda,
+/*20181002 to latest
+일반
+General
+*/
+ MSG_ID_DDB = 0xddb,
+/*20181002 to latest
+반송
+Clear
+*/
+ MSG_ID_DDC = 0xddc,
+/*20181002 to latest
+검색
+Search
+*/
+ MSG_ID_DDD = 0xddd,
+#endif
+#if PACKETVER >= 20181031
+/*20181031 to latest
+펫 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDE = 0xdde,
+/*20181031 to latest
+호문 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDF = 0xddf,
+/*20181031 to latest
+화폐
+*/
+ MSG_ID_DE0 = 0xde0,
+/*20181031 to latest
+%s %d개
+*/
+ MSG_ID_DE1 = 0xde1,
+/*20181031 to latest
+교환에 실패하였습니다.
+*/
+ MSG_ID_DE2 = 0xde2,
+/*20181031 to latest
+교환이 잘 이루어졌습니다.
+*/
+ MSG_ID_DE3 = 0xde3,
+/*20181031 to latest
+교환에 필요한 재화가 부족합니다.
+*/
+ MSG_ID_DE4 = 0xde4,
+/*20181031 to latest
+해당 아이템은 이미 판매되어 재고가 부족합니다.
+*/
+ MSG_ID_DE5 = 0xde5,
+/*20181031 to latest
+사망
+*/
+ MSG_ID_DE6 = 0xde6,
+/*20181031 to latest
+PvP
+*/
+ MSG_ID_DE7 = 0xde7,
+/*20181031 to latest
+아이템 소지 확장
+*/
+ MSG_ID_DE8 = 0xde8,
+/*20181031 to 20181031
+(^0000ff%s^000000)을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+20181107 to latest
+^0000ff%s^000000을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+*/
+ MSG_ID_DE9 = 0xde9,
+/*20181031 to 20181031
+아이템 소지 종류 수 확장에 실패하였습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 실패하였습니다.
+*/
+ MSG_ID_DEA = 0xdea,
+/*20181031 to 20181031
+아이템 소지 종류 수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+*/
+ MSG_ID_DEB = 0xdeb,
+/*20181031 to 20181031
+아이템 소지 확장에 필요한 아이템을 소지하고 있지 않습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 필요한 아이템을 소지하고 있지 않습니다.
+*/
+ MSG_ID_DEC = 0xdec,
+/*20181031 to 20181031
+이미 아이템 소지 종류 수 확장이 최대로 적용 중입니다.
+20181107 to latest
+더 이상 아이템 최대 소지 종류수를 확장 할 수 없습니다.
+*/
+ MSG_ID_DED = 0xded,
+/*20181031 to 20181031
+아이템 소지 확장에 성공하였습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 성공하였습니다.
+*/
+ MSG_ID_DEE = 0xdee,
+#endif
+#if PACKETVER >= 20181121
+/*20181121 to latest
+같은 아이템을 %d개 이상 가질 수 없습니다.
+*/
+ MSG_ID_DEF = 0xdef,
+/*20181121 to latest
+소지 한계량 초과로 구입이 불가능합니다.
+*/
+ MSG_ID_DF0 = 0xdf0,
+/*20181121 to latest
+해당 아이템은 한 번에 한 개만 살 수 있습니다.
+*/
+ MSG_ID_DF1 = 0xdf1,
+#endif
+#if PACKETVER >= 20181205
+/*20181205 to latest
+성제
+*/
+ MSG_ID_DF2 = 0xdf2,
+/*20181205 to latest
+소울리퍼
+*/
+ MSG_ID_DF3 = 0xdf3,
+#endif
+#if PACKETVER >= 20181212
+/*20181212 to latest
+설정한 내용은 정상 종료 시 서버에 저장됩니다.
+*/
+ MSG_ID_DF4 = 0xdf4,
+#endif
+#if PACKETVER >= 20190109
+/*20190109 to latest
+Capture Monster
+*/
+ MSG_ID_DF5 = 0xdf5,
+/*20190109 to latest
+message
+*/
+ MSG_ID_DF6 = 0xdf6,
+/*20190109 to latest
+TITLE
+*/
+ MSG_ID_DF7 = 0xdf7,
+/*20190109 to latest
+데미지 표기 확장
+*/
+ MSG_ID_DF8 = 0xdf8,
+#endif
+#if PACKETVER >= 20190213
+/*20190213 to latest
+맵 이름 표기
+*/
+ MSG_ID_DF9 = 0xdf9,
+/*20190213 to latest
+시스템 메세지 : 현재 노점보기 기능이 %s 상태입니다. (/노점보기)
+*/
+ MSG_ID_DFA = 0xdfa,
+/*20190213 to latest
+수직 동기
+*/
+ MSG_ID_DFB = 0xdfb,
+/*20190213 to latest
+자료
+*/
+ MSG_ID_DFC = 0xdfc,
+/*20190213 to 20190228
+http://rodata.zhaouc.com/renwu.html#container
+20190306 to latest
+http://rodata.zhaouc.com/renwu.html
+*/
+ MSG_ID_DFD = 0xdfd,
+/*20190213 to latest
+작위
+*/
+ MSG_ID_DFE = 0xdfe,
+/*20190213 to latest
+프레임 제한
+*/
+ MSG_ID_DFF = 0xdff,
+#endif
+#if PACKETVER >= 20190227
+/*20190227 to latest
+%d개를 초과할 경우 더 이상 설치 할 수 없습니다.
+*/
+ MSG_ID_E00 = 0xe00,
+/*20190227 to latest
+목적지
+*/
+ MSG_ID_E01 = 0xe01,
+#endif
+#if PACKETVER >= 20190306
+/*20190306 to latest
+잠시 후 다시 시도해주세요.
+Please try again in a moment.
+*/
+ MSG_ID_E02 = 0xe02,
+/*20190306 to latest
+등록할 수 없는 파일입니다.
+*/
+ MSG_ID_E03 = 0xe03,
+#endif
+#if PACKETVER >= 20190320
+/*20190320 to latest
+선택 삭제
+*/
+ MSG_ID_E04 = 0xe04,
+/*20190320 to latest
+모두 삭제
+*/
+ MSG_ID_E05 = 0xe05,
+/*20190320 to latest
+[%s]편지함의 모든 메일을 삭제하시겠습니까?
+*/
+ MSG_ID_E06 = 0xe06,
+/*20190320 to latest
+선택 받기
+*/
+ MSG_ID_E07 = 0xe07,
+/*20190320 to latest
+모두 받기
+*/
+ MSG_ID_E08 = 0xe08,
+/*20190320 to latest
+선택한 메일의 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E09 = 0xe09,
+/*20190320 to latest
+[%s]편지함의 모든 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E0A = 0xe0a,
+#endif
+#if PACKETVER >= 20190403
+/*20190403 to latest
+스킬바2
+*/
+ MSG_ID_E0B = 0xe0b,
+/*20190403 to latest
+스킬바 교체
+*/
+ MSG_ID_E0C = 0xe0c,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E0D = 0xe0d,
+/*20190403 to latest
+↑
+*/
+ MSG_ID_E0E = 0xe0e,
+/*20190403 to latest
+→
+*/
+ MSG_ID_E0F = 0xe0f,
+/*20190403 to latest
+↓
+*/
+ MSG_ID_E10 = 0xe10,
+/*20190403 to latest
+▤
+*/
+ MSG_ID_E11 = 0xe11,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E12 = 0xe12,
+/*20190403 to latest
+로딩중에는 창을 닫을 수 없습니다.
+*/
+ MSG_ID_E13 = 0xe13,
+#endif
+#if PACKETVER >= 20190417
+/*20190417 to latest
+리딩 스펠북으로 저장된 마법이 없습니다.
+*/
+ MSG_ID_E14 = 0xe14,
+/*20190417 to latest
+이동 시 사용한 아이템은 재교환이 불가능합니다.
+*/
+ MSG_ID_E15 = 0xe15,
+/*20190417 to latest
+자유이동권을 구매 하였습니다
+*/
+ MSG_ID_E16 = 0xe16,
+/*20190417 to latest
+자유이동권 사용 중, 관련 아이템을 소모하지 않습니다.
+*/
+ MSG_ID_E17 = 0xe17,
+/*20190417 to latest
+적용
+*/
+ MSG_ID_E18 = 0xe18,
+/*20190417 to latest
+중지
+*/
+ MSG_ID_E19 = 0xe19,
+#endif
};
#endif /* MAP_MESSAGES_MAIN_H */
diff --git a/src/map/messages_re.h b/src/map/messages_re.h
index bf2927d6b..b81476f9c 100644
--- a/src/map/messages_re.h
+++ b/src/map/messages_re.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20180808
+Latest version: 20190418
*/
enum clif_messages {
@@ -4394,9 +4395,11 @@ Thief
Knight
*/
MSG_KNIGHT = 0x364,
-/*20080827 to latest
+/*20080827 to 20181128
Prieset
Priest
+20181205 to latest
+Priest
*/
MSG_PRIEST = 0x365,
/*20080827 to latest
@@ -4971,9 +4974,11 @@ WhiteSmith
Sniper
*/
MSG_HUNTER_H = 0x3dc,
-/*20080827 to latest
+/*20080827 to 20181128
Saaassin Cross
Assassin Cross
+20181205 to latest
+Assassin Cross
*/
MSG_ASSASSIN_H = 0x3dd,
/*20080827 to latest
@@ -5001,9 +5006,11 @@ Sniper_W
Sniper
*/
MSG_HUNTER_H_W = 0x3e2,
-/*20080827 to latest
+/*20080827 to 20181128
Saaassin Cross_W
Assassin Cross
+20181205 to latest
+Assassin Cross_W
*/
MSG_ASSASSIN_H_W = 0x3e3,
/*20080827 to latest
@@ -17045,9 +17052,11 @@ DEATH: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
MSG_ID_AFB = 0xafb,
#endif
#if PACKETVER >= 20150826
-/*20150826 to latest
+/*20150826 to 20180919
해당 태그는 이름으로 사용하실 수 없습니다.
Name with this tag cannot be used.
+20181002 to latest
+ 해당 내용은 이름으로 사용하실 수 없습니다.
*/
MSG_ID_AFC = 0xafc,
#endif
@@ -19730,9 +19739,11 @@ http://member.gnjoy.com/user/pay/chargelist.asp
한 번에 구입 가능한 아이템의 가짓수는 8개입니다.
*/
MSG_ID_CF0 = 0xcf0,
-/*20170920 to latest
+/*20170920 to 20190228
http://gift.zhaouc.com/#/index
http://gift.zhaouc.com/
+20190306 to latest
+http://gift.zhaouc.com/
*/
MSG_ID_CF1 = 0xcf1,
#endif
@@ -20746,6 +20757,343 @@ DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
*/
MSG_ID_DD1 = 0xdd1,
#endif
+#if PACKETVER >= 20180829
+/*20180829 to latest
+영문이나 러시아어 단독으로만 사용이 가능합니다.
+*/
+ MSG_ID_DD2 = 0xdd2,
+/*20180829 to latest
+you must have an AccessTicket to login
+*/
+ MSG_ID_DD3 = 0xdd3,
+/*20180829 to latest
+창고를 불러오는 중입니다.
+*/
+ MSG_ID_DD4 = 0xdd4,
+/*20180829 to latest
+NOW LOADING..
+*/
+ MSG_ID_DD5 = 0xdd5,
+#endif
+#if PACKETVER >= 20180919
+/*20180919 to latest
+삭제
+*/
+ MSG_ID_DD6 = 0xdd6,
+/*20180919 to latest
+답장
+*/
+ MSG_ID_DD7 = 0xdd7,
+/*20180919 to latest
+전송
+*/
+ MSG_ID_DD8 = 0xdd8,
+/*20180919 to latest
+이름확인
+*/
+ MSG_ID_DD9 = 0xdd9,
+/*20180919 to latest
+공지
+Notice
+*/
+ MSG_ID_DDA = 0xdda,
+/*20180919 to latest
+일반
+General
+*/
+ MSG_ID_DDB = 0xddb,
+/*20180919 to latest
+반송
+Clear
+*/
+ MSG_ID_DDC = 0xddc,
+/*20180919 to latest
+검색
+Search
+*/
+ MSG_ID_DDD = 0xddd,
+#endif
+#if PACKETVER >= 20181031
+/*20181031 to latest
+펫 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDE = 0xdde,
+/*20181031 to latest
+호문 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDF = 0xddf,
+/*20181031 to latest
+화폐
+*/
+ MSG_ID_DE0 = 0xde0,
+/*20181031 to latest
+%s %d개
+*/
+ MSG_ID_DE1 = 0xde1,
+/*20181031 to latest
+교환에 실패하였습니다.
+*/
+ MSG_ID_DE2 = 0xde2,
+/*20181031 to latest
+교환이 잘 이루어졌습니다.
+*/
+ MSG_ID_DE3 = 0xde3,
+/*20181031 to latest
+교환에 필요한 재화가 부족합니다.
+*/
+ MSG_ID_DE4 = 0xde4,
+/*20181031 to latest
+해당 아이템은 이미 판매되어 재고가 부족합니다.
+*/
+ MSG_ID_DE5 = 0xde5,
+/*20181031 to latest
+사망
+*/
+ MSG_ID_DE6 = 0xde6,
+/*20181031 to latest
+PvP
+*/
+ MSG_ID_DE7 = 0xde7,
+/*20181031 to latest
+아이템 소지 확장
+*/
+ MSG_ID_DE8 = 0xde8,
+/*20181031 to 20181031
+(^0000ff%s^000000)을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+20181107 to latest
+^0000ff%s^000000을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+*/
+ MSG_ID_DE9 = 0xde9,
+/*20181031 to 20181031
+아이템 소지 종류 수 확장에 실패하였습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 실패하였습니다.
+*/
+ MSG_ID_DEA = 0xdea,
+/*20181031 to 20181031
+아이템 소지 종류 수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+*/
+ MSG_ID_DEB = 0xdeb,
+/*20181031 to 20181031
+아이템 소지 확장에 필요한 아이템을 소지하고 있지 않습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 필요한 아이템을 소지하고 있지 않습니다.
+*/
+ MSG_ID_DEC = 0xdec,
+/*20181031 to 20181031
+이미 아이템 소지 종류 수 확장이 최대로 적용 중입니다.
+20181107 to latest
+더 이상 아이템 최대 소지 종류수를 확장 할 수 없습니다.
+*/
+ MSG_ID_DED = 0xded,
+/*20181031 to 20181031
+아이템 소지 확장에 성공하였습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 성공하였습니다.
+*/
+ MSG_ID_DEE = 0xdee,
+#endif
+#if PACKETVER >= 20181121
+/*20181121 to latest
+같은 아이템을 %d개 이상 가질 수 없습니다.
+*/
+ MSG_ID_DEF = 0xdef,
+/*20181121 to latest
+소지 한계량 초과로 구입이 불가능합니다.
+*/
+ MSG_ID_DF0 = 0xdf0,
+/*20181121 to latest
+해당 아이템은 한 번에 한 개만 살 수 있습니다.
+*/
+ MSG_ID_DF1 = 0xdf1,
+#endif
+#if PACKETVER >= 20181205
+/*20181205 to latest
+성제
+*/
+ MSG_ID_DF2 = 0xdf2,
+/*20181205 to latest
+소울리퍼
+*/
+ MSG_ID_DF3 = 0xdf3,
+#endif
+#if PACKETVER >= 20181212
+/*20181212 to latest
+설정한 내용은 정상 종료 시 서버에 저장됩니다.
+*/
+ MSG_ID_DF4 = 0xdf4,
+#endif
+#if PACKETVER >= 20190109
+/*20190109 to latest
+Capture Monster
+*/
+ MSG_ID_DF5 = 0xdf5,
+/*20190109 to latest
+message
+*/
+ MSG_ID_DF6 = 0xdf6,
+/*20190109 to latest
+TITLE
+*/
+ MSG_ID_DF7 = 0xdf7,
+/*20190109 to latest
+데미지 표기 확장
+*/
+ MSG_ID_DF8 = 0xdf8,
+#endif
+#if PACKETVER >= 20190213
+/*20190213 to latest
+맵 이름 표기
+*/
+ MSG_ID_DF9 = 0xdf9,
+/*20190213 to latest
+시스템 메세지 : 현재 노점보기 기능이 %s 상태입니다. (/노점보기)
+*/
+ MSG_ID_DFA = 0xdfa,
+/*20190213 to latest
+수직 동기
+*/
+ MSG_ID_DFB = 0xdfb,
+/*20190213 to latest
+자료
+*/
+ MSG_ID_DFC = 0xdfc,
+/*20190213 to 20190228
+http://rodata.zhaouc.com/renwu.html#container
+20190306 to latest
+http://rodata.zhaouc.com/renwu.html
+*/
+ MSG_ID_DFD = 0xdfd,
+/*20190213 to latest
+작위
+*/
+ MSG_ID_DFE = 0xdfe,
+/*20190213 to latest
+프레임 제한
+*/
+ MSG_ID_DFF = 0xdff,
+#endif
+#if PACKETVER >= 20190220
+/*20190220 to latest
+%d개를 초과할 경우 더 이상 설치 할 수 없습니다.
+*/
+ MSG_ID_E00 = 0xe00,
+/*20190220 to latest
+목적지
+*/
+ MSG_ID_E01 = 0xe01,
+#endif
+#if PACKETVER >= 20190306
+/*20190306 to latest
+잠시 후 다시 시도해주세요.
+Please try again in a moment.
+*/
+ MSG_ID_E02 = 0xe02,
+/*20190306 to latest
+등록할 수 없는 파일입니다.
+*/
+ MSG_ID_E03 = 0xe03,
+#endif
+#if PACKETVER >= 20190320
+/*20190320 to latest
+선택 삭제
+*/
+ MSG_ID_E04 = 0xe04,
+/*20190320 to latest
+모두 삭제
+*/
+ MSG_ID_E05 = 0xe05,
+/*20190320 to latest
+[%s]편지함의 모든 메일을 삭제하시겠습니까?
+*/
+ MSG_ID_E06 = 0xe06,
+/*20190320 to latest
+선택 받기
+*/
+ MSG_ID_E07 = 0xe07,
+/*20190320 to latest
+모두 받기
+*/
+ MSG_ID_E08 = 0xe08,
+/*20190320 to latest
+선택한 메일의 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E09 = 0xe09,
+/*20190320 to latest
+[%s]편지함의 모든 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E0A = 0xe0a,
+#endif
+#if PACKETVER >= 20190403
+/*20190403 to latest
+스킬바2
+*/
+ MSG_ID_E0B = 0xe0b,
+/*20190403 to latest
+스킬바 교체
+*/
+ MSG_ID_E0C = 0xe0c,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E0D = 0xe0d,
+/*20190403 to latest
+↑
+*/
+ MSG_ID_E0E = 0xe0e,
+/*20190403 to latest
+→
+*/
+ MSG_ID_E0F = 0xe0f,
+/*20190403 to latest
+↓
+*/
+ MSG_ID_E10 = 0xe10,
+/*20190403 to latest
+▤
+*/
+ MSG_ID_E11 = 0xe11,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E12 = 0xe12,
+/*20190403 to latest
+로딩중에는 창을 닫을 수 없습니다.
+*/
+ MSG_ID_E13 = 0xe13,
+#endif
+#if PACKETVER >= 20190417
+/*20190417 to latest
+리딩 스펠북으로 저장된 마법이 없습니다.
+*/
+ MSG_ID_E14 = 0xe14,
+/*20190417 to latest
+이동 시 사용한 아이템은 재교환이 불가능합니다.
+*/
+ MSG_ID_E15 = 0xe15,
+/*20190417 to latest
+자유이동권을 구매 하였습니다
+*/
+ MSG_ID_E16 = 0xe16,
+/*20190417 to latest
+자유이동권 사용 중, 관련 아이템을 소모하지 않습니다.
+*/
+ MSG_ID_E17 = 0xe17,
+/*20190417 to latest
+적용
+*/
+ MSG_ID_E18 = 0xe18,
+/*20190417 to latest
+중지
+*/
+ MSG_ID_E19 = 0xe19,
+#endif
};
#endif /* MAP_MESSAGES_RE_H */
diff --git a/src/map/messages_sak.h b/src/map/messages_sak.h
index 2cfe085c8..2c7bfd661 100644
--- a/src/map/messages_sak.h
+++ b/src/map/messages_sak.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/map/messages_zero.h b/src/map/messages_zero.h
index 05e3f1479..ab48ae4ab 100644
--- a/src/map/messages_zero.h
+++ b/src/map/messages_zero.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20180822
+Latest version: 20190502
*/
enum clif_messages {
@@ -4382,9 +4383,11 @@ Thief
Knight
*/
MSG_KNIGHT = 0x364,
-/*20171018 to latest
+/*20171018 to 20181128
Prieset
Priest
+20181212 to latest
+Priest
*/
MSG_PRIEST = 0x365,
/*20171018 to latest
@@ -4959,9 +4962,11 @@ WhiteSmith
Sniper
*/
MSG_HUNTER_H = 0x3dc,
-/*20171018 to latest
+/*20171018 to 20181128
Saaassin Cross
Assassin Cross
+20181212 to latest
+Assassin Cross
*/
MSG_ASSASSIN_H = 0x3dd,
/*20171018 to latest
@@ -4989,9 +4994,11 @@ Sniper_W
Sniper
*/
MSG_HUNTER_H_W = 0x3e2,
-/*20171018 to latest
+/*20171018 to 20181128
Saaassin Cross_W
Assassin Cross
+20181212 to latest
+Assassin Cross_W
*/
MSG_ASSASSIN_H_W = 0x3e3,
/*20171018 to latest
@@ -13926,9 +13933,11 @@ DEATH : %.1f%% ( basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
DEATH: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
*/
MSG_ID_AFB = 0xafb,
-/*20171018 to latest
+/*20171018 to 20180928
해당 태그는 이름으로 사용하실 수 없습니다.
Name with this tag cannot be used.
+20181010 to latest
+ 해당 내용은 이름으로 사용하실 수 없습니다.
*/
MSG_ID_AFC = 0xafc,
/*20171018 to latest
@@ -16347,9 +16356,11 @@ http://member.gnjoy.com/user/pay/chargelist.asp
한 번에 구입 가능한 아이템의 가짓수는 8개입니다.
*/
MSG_ID_CF0 = 0xcf0,
-/*20171018 to latest
+/*20171018 to 20190227
http://gift.zhaouc.com/#/index
http://gift.zhaouc.com/
+20190313 to latest
+http://gift.zhaouc.com/
*/
MSG_ID_CF1 = 0xcf1,
/*20171018 to latest
@@ -17371,9 +17382,408 @@ you must have an AccessTicket to login
MSG_ID_DD3 = 0xdd3,
/*20180725 to 20180801
--
+20180905 to latest
+창고를 불러오는 중입니다.
*/
MSG_ID_DD4 = 0xdd4,
#endif
+#if PACKETVER >= 20180905
+/*20180905 to latest
+NOW LOADING..
+*/
+ MSG_ID_DD5 = 0xdd5,
+#endif
+#if PACKETVER >= 20180919
+/*20180919 to latest
+삭제
+*/
+ MSG_ID_DD6 = 0xdd6,
+/*20180919 to latest
+답장
+*/
+ MSG_ID_DD7 = 0xdd7,
+/*20180919 to latest
+전송
+*/
+ MSG_ID_DD8 = 0xdd8,
+/*20180919 to latest
+이름확인
+*/
+ MSG_ID_DD9 = 0xdd9,
+/*20180919 to latest
+공지
+Notice
+*/
+ MSG_ID_DDA = 0xdda,
+/*20180919 to latest
+일반
+General
+*/
+ MSG_ID_DDB = 0xddb,
+/*20180919 to latest
+반송
+Clear
+*/
+ MSG_ID_DDC = 0xddc,
+/*20180919 to latest
+검색
+Search
+*/
+ MSG_ID_DDD = 0xddd,
+#endif
+#if PACKETVER >= 20181024
+/*20181024 to latest
+펫 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDE = 0xdde,
+/*20181024 to latest
+호문 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDF = 0xddf,
+/*20181024 to latest
+화폐
+*/
+ MSG_ID_DE0 = 0xde0,
+/*20181024 to latest
+%s %d개
+*/
+ MSG_ID_DE1 = 0xde1,
+/*20181024 to latest
+교환에 실패하였습니다.
+*/
+ MSG_ID_DE2 = 0xde2,
+/*20181024 to latest
+교환이 잘 이루어졌습니다.
+*/
+ MSG_ID_DE3 = 0xde3,
+/*20181024 to latest
+교환에 필요한 재화가 부족합니다.
+*/
+ MSG_ID_DE4 = 0xde4,
+/*20181024 to latest
+해당 아이템은 이미 판매되어 재고가 부족합니다.
+*/
+ MSG_ID_DE5 = 0xde5,
+/*20181024 to latest
+사망
+*/
+ MSG_ID_DE6 = 0xde6,
+/*20181024 to latest
+PvP
+*/
+ MSG_ID_DE7 = 0xde7,
+#endif
+#if PACKETVER >= 20181114
+/*20181114 to latest
+아이템 소지 확장
+*/
+ MSG_ID_DE8 = 0xde8,
+/*20181114 to latest
+^0000ff%s^000000을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+*/
+ MSG_ID_DE9 = 0xde9,
+/*20181114 to latest
+아이템 최대 소지 종류수 확장에 실패하였습니다.
+*/
+ MSG_ID_DEA = 0xdea,
+/*20181114 to latest
+아이템 최대 소지 종류수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+*/
+ MSG_ID_DEB = 0xdeb,
+/*20181114 to latest
+아이템 최대 소지 종류수 확장에 필요한 아이템을 소지하고 있지 않습니다.
+*/
+ MSG_ID_DEC = 0xdec,
+/*20181114 to latest
+더 이상 아이템 최대 소지 종류수를 확장 할 수 없습니다.
+*/
+ MSG_ID_DED = 0xded,
+/*20181114 to latest
+아이템 최대 소지 종류수 확장에 성공하였습니다.
+*/
+ MSG_ID_DEE = 0xdee,
+/*20181114 to latest
+같은 아이템을 %d개 이상 가질 수 없습니다.
+*/
+ MSG_ID_DEF = 0xdef,
+/*20181114 to latest
+소지 한계량 초과로 구입이 불가능합니다.
+*/
+ MSG_ID_DF0 = 0xdf0,
+/*20181114 to latest
+해당 아이템은 한 번에 한 개만 살 수 있습니다.
+*/
+ MSG_ID_DF1 = 0xdf1,
+#endif
+#if PACKETVER >= 20181212
+/*20181212 to latest
+성제
+*/
+ MSG_ID_DF2 = 0xdf2,
+/*20181212 to latest
+소울리퍼
+*/
+ MSG_ID_DF3 = 0xdf3,
+/*20181212 to latest
+설정한 내용은 정상 종료 시 서버에 저장됩니다.
+*/
+ MSG_ID_DF4 = 0xdf4,
+#endif
+#if PACKETVER >= 20181226
+/*20181226 to latest
+Capture Monster
+*/
+ MSG_ID_DF5 = 0xdf5,
+/*20181226 to latest
+message
+*/
+ MSG_ID_DF6 = 0xdf6,
+#endif
+#if PACKETVER >= 20190116
+/*20190116 to latest
+TITLE
+*/
+ MSG_ID_DF7 = 0xdf7,
+/*20190116 to latest
+데미지 표기 확장
+*/
+ MSG_ID_DF8 = 0xdf8,
+#endif
+#if PACKETVER >= 20190130
+/*20190130 to latest
+맵 이름 표기
+*/
+ MSG_ID_DF9 = 0xdf9,
+#endif
+#if PACKETVER >= 20190213
+/*20190213 to latest
+시스템 메세지 : 현재 노점보기 기능이 %s 상태입니다. (/노점보기)
+*/
+ MSG_ID_DFA = 0xdfa,
+/*20190213 to latest
+수직 동기
+*/
+ MSG_ID_DFB = 0xdfb,
+/*20190213 to latest
+자료
+*/
+ MSG_ID_DFC = 0xdfc,
+/*20190213 to 20190227
+http://rodata.zhaouc.com/renwu.html#container
+20190313 to latest
+http://rodata.zhaouc.com/renwu.html
+*/
+ MSG_ID_DFD = 0xdfd,
+/*20190213 to latest
+작위
+*/
+ MSG_ID_DFE = 0xdfe,
+/*20190213 to latest
+프레임 제한
+*/
+ MSG_ID_DFF = 0xdff,
+#endif
+#if PACKETVER >= 20190220
+/*20190220 to latest
+%d개를 초과할 경우 더 이상 설치 할 수 없습니다.
+*/
+ MSG_ID_E00 = 0xe00,
+/*20190220 to latest
+목적지
+*/
+ MSG_ID_E01 = 0xe01,
+#endif
+#if PACKETVER >= 20190313
+/*20190313 to latest
+잠시 후 다시 시도해주세요.
+Please try again in a moment.
+*/
+ MSG_ID_E02 = 0xe02,
+/*20190313 to latest
+등록할 수 없는 파일입니다.
+*/
+ MSG_ID_E03 = 0xe03,
+#endif
+#if PACKETVER >= 20190327
+/*20190327 to latest
+선택 삭제
+*/
+ MSG_ID_E04 = 0xe04,
+/*20190327 to latest
+모두 삭제
+*/
+ MSG_ID_E05 = 0xe05,
+/*20190327 to latest
+[%s]편지함의 모든 메일을 삭제하시겠습니까?
+*/
+ MSG_ID_E06 = 0xe06,
+/*20190327 to latest
+선택 받기
+*/
+ MSG_ID_E07 = 0xe07,
+/*20190327 to latest
+모두 받기
+*/
+ MSG_ID_E08 = 0xe08,
+/*20190327 to latest
+선택한 메일의 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E09 = 0xe09,
+/*20190327 to latest
+[%s]편지함의 모든 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E0A = 0xe0a,
+/*20190327 to latest
+스킬바2
+*/
+ MSG_ID_E0B = 0xe0b,
+/*20190327 to latest
+스킬바 교체
+*/
+ MSG_ID_E0C = 0xe0c,
+#endif
+#if PACKETVER >= 20190403
+/*20190403 to latest
+←
+*/
+ MSG_ID_E0D = 0xe0d,
+/*20190403 to latest
+↑
+*/
+ MSG_ID_E0E = 0xe0e,
+/*20190403 to latest
+→
+*/
+ MSG_ID_E0F = 0xe0f,
+/*20190403 to latest
+↓
+*/
+ MSG_ID_E10 = 0xe10,
+/*20190403 to latest
+▤
+*/
+ MSG_ID_E11 = 0xe11,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E12 = 0xe12,
+/*20190403 to latest
+로딩중에는 창을 닫을 수 없습니다.
+*/
+ MSG_ID_E13 = 0xe13,
+#endif
+#if PACKETVER >= 20190424
+/*20190424 to latest
+리딩 스펠북으로 저장된 마법이 없습니다.
+*/
+ MSG_ID_E14 = 0xe14,
+/*20190424 to latest
+이동 시 사용한 아이템은 재교환이 불가능합니다.
+*/
+ MSG_ID_E15 = 0xe15,
+/*20190424 to latest
+자유이동권을 구매 하였습니다
+*/
+ MSG_ID_E16 = 0xe16,
+/*20190424 to latest
+자유이동권 사용 중, 관련 아이템을 소모하지 않습니다.
+*/
+ MSG_ID_E17 = 0xe17,
+/*20190424 to latest
+적용
+*/
+ MSG_ID_E18 = 0xe18,
+/*20190424 to latest
+중지
+*/
+ MSG_ID_E19 = 0xe19,
+/*20190424 to latest
+자유이동권
+*/
+ MSG_ID_E1A = 0xe1a,
+/*20190424 to latest
+%d시간 이용, %s %d개
+*/
+ MSG_ID_E1B = 0xe1b,
+/*20190424 to latest
+자유이용권 사용중
+*/
+ MSG_ID_E1C = 0xe1c,
+/*20190424 to latest
+특성 스테이터스
+*/
+ MSG_ID_E1D = 0xe1d,
+/*20190424 to latest
+파워 파라메터
+^cc0000물리 공격력, 특성 공격력^ffffff 증가
+*/
+ MSG_ID_E1E = 0xe1e,
+/*20190424 to latest
+스테미나 파라메터
+^cc0000물리 저항력^ffffff 증가
+*/
+ MSG_ID_E1F = 0xe1f,
+/*20190424 to latest
+위즈덤 파라메터
+^cc0000마법 저항력^ffffff 증가
+*/
+ MSG_ID_E20 = 0xe20,
+/*20190424 to latest
+스펠 파라메터
+^cc0000마법 공격력, 마법 공격력^ffffff 증가
+*/
+ MSG_ID_E21 = 0xe21,
+/*20190424 to latest
+컨센트레이션 파라메터
+^cc0000명중률, 회피율, 특성 물리/마법 공격력^ffffff 증가
+*/
+ MSG_ID_E22 = 0xe22,
+/*20190424 to latest
+크리에이티브 파라메터
+^cc0000특성 힐 회복량, 크리티컬 데미지 비율^ffffff 증가
+*/
+ MSG_ID_E23 = 0xe23,
+/*20190424 to latest
+특성 물리 공격력
+*/
+ MSG_ID_E24 = 0xe24,
+/*20190424 to latest
+특성 마법 공격력
+*/
+ MSG_ID_E25 = 0xe25,
+/*20190424 to latest
+물리 저항력
+*/
+ MSG_ID_E26 = 0xe26,
+/*20190424 to latest
+마법 저항력
+*/
+ MSG_ID_E27 = 0xe27,
+/*20190424 to latest
+특성 힐 회복량
+*/
+ MSG_ID_E28 = 0xe28,
+/*20190424 to latest
+크리티컬 데미지 비율
+*/
+ MSG_ID_E29 = 0xe29,
+/*20190424 to latest
+특성 파라메터 레벨업에 사용되는 포인트
+*/
+ MSG_ID_E2A = 0xe2a,
+#endif
+#if PACKETVER >= 20190502
+/*20190502 to latest
+J.Lv
+*/
+ MSG_ID_E2B = 0xe2b,
+/*20190502 to latest
+AP
+*/
+ MSG_ID_E2C = 0xe2c,
+#endif
};
#endif /* MAP_MESSAGES_ZERO_H */
diff --git a/src/map/mob.c b/src/map/mob.c
index d398d938c..aa938a1e7 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -1900,15 +1900,53 @@ static int mob_ai_hard(int tid, int64 tick, int id, intptr_t data)
return 0;
}
+/**
+ * Adds random options of a given options drop group into item.
+ *
+ * @param item : item receiving random options
+ * @param options : Random Option Drop Group to be used
+ */
+static void mob_setdropitem_options(struct item *item, struct optdrop_group *options)
+{
+ nullpo_retv(item);
+ nullpo_retv(options);
+
+ for (int i = 0; i < options->optslot_count; i++) {
+ if (rnd() % 10000 >= options->optslot_rate[i])
+ continue;
+
+ // count avoids a too long loop that would cause lag.
+ // if after option_drop_max_loop full iterations (running through all possibilities)
+ // it still fails to pick one, it'll stop at one random index in the next iteration
+ int count = battle_config.option_drop_max_loop * options->optslot[i].option_count + (rnd() % options->optslot[i].option_count);
+ int idx = 0;
+ while (count > 0 && rnd() % 10000 >= options->optslot[i].options[idx].rate) {
+ idx = (idx + 1) % options->optslot[i].option_count;
+ --count;
+ }
+
+ item->option[i].index = options->optslot[i].options[idx].id;
+
+ int min = options->optslot[i].options[idx].min;
+ int max = options->optslot[i].options[idx].max;
+ item->option[i].value = min + (rnd() % (max - min + 1));
+ }
+}
+
/*==========================================
* Initializes the delay drop structure for mob-dropped items.
*------------------------------------------*/
-static struct item_drop *mob_setdropitem(int nameid, int qty, struct item_data *data)
+static struct item_drop *mob_setdropitem(int nameid, struct optdrop_group *options, int qty, struct item_data *data)
{
struct item_drop *drop = ers_alloc(item_drop_ers, struct item_drop);
drop->item_data.nameid = nameid;
drop->item_data.amount = qty;
drop->item_data.identify = data ? itemdb->isidentified2(data) : itemdb->isidentified(nameid);
+
+ // Set item options [KirieZ]
+ if (options != NULL)
+ mob->setdropitem_options(&drop->item_data, options);
+
drop->showdropeffect = true;
drop->next = NULL;
return drop;
@@ -2196,7 +2234,7 @@ static void mob_damage(struct mob_data *md, struct block_list *src, int damage)
}
if (battle_config.show_mob_info&3)
- clif->charnameack (0, &md->bl);
+ clif->blname_ack(0, &md->bl);
#if PACKETVER >= 20131223
// Resend ZC_NOTIFY_MOVEENTRY to Update the HP
@@ -2426,7 +2464,8 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
if(zeny) // zeny from mobs [Valaris]
pc->getzeny(tmpsd[i], zeny, LOG_TYPE_PICKDROP_MONSTER, NULL);
- achievement->validate_mob_kill(tmpsd[i], md->db->mob_id); // Achievements [Smokexyz/Hercules]
+ if (!md->special_state.clone && !mob->is_clone(md->class_))
+ achievement->validate_mob_kill(tmpsd[i], md->db->mob_id); // Achievements [Smokexyz/Hercules]
}
}
@@ -2520,7 +2559,7 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
continue;
}
- ditem = mob->setdropitem(md->db->dropitem[i].nameid, 1, it);
+ ditem = mob->setdropitem(md->db->dropitem[i].nameid, md->db->dropitem[i].options, 1, it);
// Official Drop Announce [Jedzkie]
if (mvp_sd != NULL) {
@@ -2537,7 +2576,7 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
// Ore Discovery [Celest]
if (sd == mvp_sd && pc->checkskill(sd,BS_FINDINGORE) > 0) {
if( (temp = itemdb->chain_item(itemdb->chain_cache[ECC_ORE],&i)) ) {
- ditem = mob->setdropitem(temp, 1, NULL);
+ ditem = mob->setdropitem(temp, NULL, 1, NULL);
mob->item_drop(md, dlist, ditem, 0, i, homkillonly);
}
}
@@ -2545,7 +2584,7 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
if(sd) {
// process script-granted extra drop bonuses
int itemid = 0;
- for (i = 0; i < ARRAYLENGTH(sd->add_drop) && (sd->add_drop[i].id || sd->add_drop[i].group); i++)
+ for (i = 0; i < ARRAYLENGTH(sd->add_drop) && (sd->add_drop[i].id != 0 || sd->add_drop[i].is_group); i++)
{
if ( sd->add_drop[i].race == -md->class_ ||
( sd->add_drop[i].race > 0 && (
@@ -2567,9 +2606,9 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
if (rnd()%10000 >= drop_rate)
continue;
- itemid = (sd->add_drop[i].id > 0) ? sd->add_drop[i].id : itemdb->chain_item(sd->add_drop[i].group,&drop_rate);
+ itemid = (!sd->add_drop[i].is_group) ? sd->add_drop[i].id : itemdb->chain_item(sd->add_drop[i].id, &drop_rate);
if( itemid )
- mob->item_drop(md, dlist, mob->setdropitem(itemid,1,NULL), 0, drop_rate, homkillonly);
+ mob->item_drop(md, dlist, mob->setdropitem(itemid, NULL, 1, NULL), 0, drop_rate, homkillonly);
}
}
@@ -2628,10 +2667,7 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
if (!(map->list[m].flag.nomvploot || type&1)) {
/* pose them randomly in the list -- so on 100% drop servers it wont always drop the same item */
- struct {
- int nameid;
- int p;
- } mdrop[MAX_MVP_DROP] = { { 0 } };
+ struct mob_drop mdrop[MAX_MVP_DROP] = { { 0 } };
for (i = 0; i < MAX_MVP_DROP; i++) {
int rpos;
@@ -2643,6 +2679,7 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
mdrop[rpos].nameid = md->db->mvpitem[i].nameid;
mdrop[rpos].p = md->db->mvpitem[i].p;
+ mdrop[rpos].options = md->db->mvpitem[i].options;
}
for (i = 0; i < MAX_MVP_DROP; i++) {
@@ -2662,6 +2699,8 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
item.nameid = mdrop[i].nameid;
item.identify = itemdb->isidentified2(data);
+ if (mdrop[i].options != NULL)
+ mob->setdropitem_options(&item, mdrop[i].options);
clif->mvp_item(mvp_sd, item.nameid);
log_mvp[0] = item.nameid;
@@ -2795,7 +2834,7 @@ static void mob_revive(struct mob_data *md, unsigned int hp)
skill->unit_move(&md->bl,tick,1);
mob->skill_use(md, tick, MSC_SPAWN);
if (battle_config.show_mob_info&3)
- clif->charnameack (0, &md->bl);
+ clif->blname_ack(0, &md->bl);
}
static int mob_guardian_guildchange(struct mob_data *md)
@@ -2920,7 +2959,7 @@ static int mob_class_change(struct mob_data *md, int class_)
md->target_id = md->attacked_id = 0;
//Need to update name display.
- clif->charnameack(0, &md->bl);
+ clif->blname_ack(0, &md->bl);
status_change_end(&md->bl,SC_KEEPING,INVALID_TIMER);
return 0;
}
@@ -2932,7 +2971,7 @@ static void mob_heal(struct mob_data *md, unsigned int heal)
{
nullpo_retv(md);
if (battle_config.show_mob_info&3)
- clif->charnameack (0, &md->bl);
+ clif->blname_ack(0, &md->bl);
#if PACKETVER >= 20131223
// Resend ZC_NOTIFY_MOVEENTRY to Update the HP
if (battle_config.show_monster_hp_bar)
@@ -3860,6 +3899,212 @@ static inline int mob_parse_dbrow_cap_value(int class_, int min, int max, int va
}
/**
+ * Reads one possible option for a option slot in a option drop group
+ * @param option : Libconfig entry
+ * @param entry : memory db entry for current slot
+ * @param idx : index of entry where this option should be inserted at
+ * @param calc_rate : if rates should be recalculated after reading all entries
+ * @param slot : option group slot being read (for messages)
+ * @param group : option group being read (for messages)
+ * @return true if it successfully read the entry, false otherwise
+ */
+static bool mob_read_optdrops_option(struct config_setting_t *option, struct optdrop_group_optslot *entry, int *idx, bool *calc_rate, int slot, const char *group)
+{
+ nullpo_retr(false, option);
+ nullpo_retr(false, entry);
+ nullpo_retr(false, idx);
+ nullpo_retr(false, calc_rate);
+ nullpo_retr(false, group);
+
+ const char *name = config_setting_name(option);
+ int opt_id;
+
+ if (strncmp(name, "Rate", 4) == 0)
+ return true;
+
+ if (script->get_constant(name, &opt_id) == false) {
+ ShowWarning("mob_read_optdrops_option: Invalid option \"%s\" for option slot %d of %s group, skipping.\n", name, slot, group);
+ return false;
+ }
+
+ int min = 0, max = 0, opt_rate = 0;
+ if (config_setting_is_number(option)) {
+ // OptionName: value
+ min = libconfig->setting_get_int(option);
+ } else if (config_setting_is_array(option)) {
+ // OptionName: [min, max]
+ // OptionName: [min, max, rate]
+ int slen = libconfig->setting_length(option);
+
+ if (slen >= 2) {
+ // [min, max,...]
+ min = libconfig->setting_get_int_elem(option, 0);
+ max = libconfig->setting_get_int_elem(option, 1);
+ }
+
+ if (slen == 3) {
+ // [min, max, rate]
+ opt_rate = libconfig->setting_get_int_elem(option, 2);
+ }
+ } else {
+ ShowWarning("mob_read_optdrops_option: Invalid value \"%s\" for option slot %d of %s group, skipping.\n", name, slot, group);
+ return false;
+ }
+
+ if (max < min)
+ max = min;
+
+ entry->options[*idx].id = opt_id;
+ entry->options[*idx].min = min;
+ entry->options[*idx].max = max;
+ entry->options[*idx].rate = opt_rate;
+
+ if (entry->options[*idx].rate == 0)
+ *calc_rate = true;
+
+ (*idx)++;
+
+ return true;
+}
+
+/**
+ * Reads the settings for one random option slot of a random option drop group.
+ * @param optslot : The slot entry from config file
+ * @param n : slot index
+ * @param group_id : Group index
+ * @param group : group name (used in messages)
+ * @return true if it succesfully read, false otherwise
+ */
+static bool mob_read_optdrops_optslot(struct config_setting_t *optslot, int n, int group_id, const char *group)
+{
+ nullpo_retr(false, optslot);
+ nullpo_retr(false, group);
+ Assert_retr(false, group_id >= 0 && group_id < mob->opt_drop_groups_count);
+ Assert_retr(false, n >= 0 && n < MAX_ITEM_OPTIONS);
+
+ // Structure:
+ // {
+ // Rate: chance of option 1 (int)
+ // OptionName1: value
+ // OptionName2: [min, max]
+ // OptionName3: [min, max, rate]
+ // ....
+ // }
+
+ int drop_rate; // The rate for this option to be dropped (Rate field)
+ if (libconfig->setting_lookup_int(optslot, "Rate", &drop_rate) == CONFIG_FALSE) {
+ ShowWarning("mob_read_optdrops_optslot: Missing option %d rate in group %s, skipping.\n", n, group);
+ return false;
+ }
+
+ int count = libconfig->setting_length(optslot);
+ if (count <= 1) { // 1 = Rate
+ ShowWarning("mob_read_optdrops_optslot: Option %d of %s group doesn't contain any possible options, skipping.\n", n, group);
+ return false;
+ }
+
+ struct optdrop_group_optslot *entry = &(mob->opt_drop_groups[group_id].optslot[n]);
+ entry->options = aCalloc(sizeof(struct optdrop_group_option), count);
+
+ int idx = 0;
+ int i = 0;
+ struct config_setting_t *opt = NULL;
+ bool calc_rate = false;
+ while (i < count && (opt = libconfig->setting_get_elem(optslot, i)) != NULL) {
+ ++i;
+ mob->read_optdrops_option(opt, entry, &idx, &calc_rate, n, group);
+ }
+ entry->option_count = idx;
+ mob->opt_drop_groups[group_id].optslot_count++;
+ mob->opt_drop_groups[group_id].optslot_rate[n] = drop_rate;
+
+ // If there're empty rates, calculate them
+ if (calc_rate == true) {
+ for (int j = 0; j < idx; ++j) {
+ if (entry->options[j].rate == 0)
+ entry->options[j].rate = 10000 / idx;
+ }
+ }
+
+ return true;
+}
+
+/**
+ * Reads one random option drop group.
+ * @param group : Drop Group entry from config file
+ * @param n : group index
+ * @return true if it successfuly read, false otherwise
+ */
+static bool mob_read_optdrops_group(struct config_setting_t *group, int n)
+{
+ /* Structure:
+ <Group Name>: (
+ { <Option 1 drop data> },
+ { <Option 2 drop data> },
+ ... // Up to MAX_ITEM_OPTIONS
+ )
+ */
+ nullpo_retr(false, group);
+
+ const char *group_name = config_setting_name(group);
+
+ if (group_name == NULL || *group_name == '\0') {
+ ShowWarning("mob_read_optdrops_group: Invalid name for random option drop group, skipping group %d...\n", n);
+ return false;
+ }
+
+ script->set_constant2(group_name, n, false, false);
+
+ int i = 0;
+ struct config_setting_t *drop_data = NULL;
+ while (i < MAX_ITEM_OPTIONS && (drop_data = libconfig->setting_get_elem(group, i)) != NULL) {
+ mob->read_optdrops_optslot(drop_data, i, n, group_name);
+ i++;
+ }
+
+ return true;
+}
+
+/**
+ * Reads random option drop groups database.
+ */
+static bool mob_read_optdrops_db(void)
+{
+ const char *filename = "option_drop_groups.conf"; // FIXME hardcoded name
+
+ char filepath[256];
+ safesnprintf(filepath, sizeof(filepath), "%s/%s", map->db_path, filename);
+
+ struct config_t option_groups;
+ if (libconfig->load_file(&option_groups, filepath) == CONFIG_FALSE) {
+ ShowError("Failed to load option drop groups\n");
+ return false;
+ }
+
+ struct config_setting_t *its = libconfig->lookup(&option_groups, "option_drop_group_db");
+ struct config_setting_t *groups = NULL;
+
+ int i = 0;
+ if (its != NULL && (groups = libconfig->setting_get_elem(its, 0)) != NULL) {
+ int count = libconfig->setting_length(groups);
+ mob->opt_drop_groups = aCalloc(sizeof(struct optdrop_group), count);
+ mob->opt_drop_groups_count = count; // maximum size (used by assertions)
+
+ struct config_setting_t *group = NULL;
+ while ((group = libconfig->setting_get_elem(groups, i)) != NULL) {
+ mob->read_optdrops_group(group, i);
+ i++;
+ }
+ mob->opt_drop_groups_count = i; // number of entries used (should be the same amount)
+ }
+
+ libconfig->destroy(&option_groups);
+
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", i, filepath);
+ return true;
+}
+
+/**
* Processes the stats for a mob database entry.
*
* @param[in,out] entry The destination mob_db entry, already initialized
@@ -3940,6 +4185,51 @@ static uint32 mob_read_db_mode_sub(struct mob_db *entry, struct config_setting_t
}
/**
+ * Process an entry of mob/mvp drops that contains a random option drop group.
+ *
+ * @param entry : mob db entry being read (used in error messages)
+ * @param item_name : AegisName of the item in this entry (used in error messages)
+ * @param drop : drop data entry
+ * @param drop_rate : used to return the entry drop_rate
+ * @returns a reference to the opt_drop_group to be used when creating this item drop
+ */
+static struct optdrop_group *mob_read_db_drops_option(struct mob_db *entry, const char *item_name, struct config_setting_t *drop, int *drop_rate)
+{
+ nullpo_retr(NULL, entry);
+ nullpo_retr(NULL, item_name);
+ nullpo_retr(NULL, drop);
+ nullpo_retr(NULL, drop_rate);
+
+ // (Drop Rate, "Option Group")
+ if (!config_setting_is_list(drop) || config_setting_length(drop) != 2) {
+ ShowError("mob_read_db_optdrops: Invalid format for option drop group on item \"%s\" in monster %d, skipping.\n", item_name, entry->mob_id);
+ return NULL;
+ }
+
+ int i32;
+ if (mob->get_const(libconfig->setting_get_elem(drop, 0), &i32) && i32 >= 0)
+ *drop_rate = i32;
+
+ const char *group_name = libconfig->setting_get_string_elem(drop, 1);
+ if (group_name == NULL || *group_name == '\0') {
+ ShowError("mob_read_db_optdrops: Missing option drop group name on item \"%s\" in monster %d, skipping.\n", item_name, entry->mob_id);
+ return NULL;
+ }
+
+ int opt_id;
+ if (script->get_constant(group_name, &opt_id) == false) {
+ ShowError("mob_read_db_optdrops: Invalid option drop group \"%s\" on item \"%s\" in monster %d, does this group really exists? Skipping...\n", group_name, item_name, entry->mob_id);
+ return NULL;
+ }
+ if (opt_id < 0 || opt_id >= mob->opt_drop_groups_count) {
+ ShowError("mob_read_db_optdrops: Invalid option drop group \"%s\" index \"%d\" on item \"%s\" in monster %d, does this group really exists? Skipping...\n", group_name, opt_id, item_name, entry->mob_id);
+ return NULL;
+ }
+
+ return &mob->opt_drop_groups[opt_id];
+}
+
+/**
* Processes the MVP drops for a mob_db entry.
*
* @param[in,out] entry The destination mob_db entry, already initialized
@@ -3964,9 +4254,18 @@ static void mob_read_db_mvpdrops_sub(struct mob_db *entry, struct config_setting
i++;
continue;
}
- if (mob->get_const(drop, &i32) && i32 >= 0) {
- value = i32;
+
+ struct optdrop_group *drop_option = NULL;
+ if (config_setting_is_number(drop)) {
+ // Setting is a number, item doesn't contain options
+ if (mob->get_const(drop, &i32) && i32 >= 0) {
+ value = i32;
+ }
+ } else {
+ // (Drop Rate, "Opt Drop Group")
+ drop_option = mob->read_db_drops_option(entry, name, drop, &value);
}
+
if (value <= 0) {
ShowWarning("mob_read_db: wrong drop chance %d for mvp drop item %s in monster %d\n", value, name, entry->mob_id);
i++;
@@ -3980,6 +4279,7 @@ static void mob_read_db_mvpdrops_sub(struct mob_db *entry, struct config_setting
}
mob->item_dropratio_adjust(entry->mvpitem[idx].nameid, entry->mob_id, &rate_adjust);
entry->mvpitem[idx].p = mob->drop_adjust(value, rate_adjust, battle_config.item_drop_mvp_min, battle_config.item_drop_mvp_max);
+ entry->mvpitem[idx].options = drop_option;
//calculate and store Max available drop chance of the MVP item
if (entry->mvpitem[idx].p) {
@@ -4023,9 +4323,18 @@ static void mob_read_db_drops_sub(struct mob_db *entry, struct config_setting_t
i++;
continue;
}
- if (mob->get_const(drop, &i32) && i32 >= 0) {
- value = i32;
+
+ struct optdrop_group *drop_option = NULL;
+ if (config_setting_is_number(drop)) {
+ // Setting is a number, item doesn't contain options
+ if (mob->get_const(drop, &i32) && i32 >= 0) {
+ value = i32;
+ }
+ } else {
+ // (Drop Rate, "Opt Drop Group")
+ drop_option = mob->read_db_drops_option(entry, name, drop, &value);
}
+
if (value <= 0) {
ShowWarning("mob_read_db: wrong drop chance %d for drop item %s in monster %d\n", value, name, entry->mob_id);
i++;
@@ -4033,6 +4342,7 @@ static void mob_read_db_drops_sub(struct mob_db *entry, struct config_setting_t
}
entry->dropitem[idx].nameid = id->nameid;
+ entry->dropitem[idx].options = drop_option;
if (!entry->dropitem[idx].nameid) {
entry->dropitem[idx].p = 0; //No drop.
i++;
@@ -4300,6 +4610,8 @@ static int mob_read_db_sub(struct config_setting_t *mobt, int n, const char *sou
* }
* Drops: {
* AegisName: chance
+ * // or
+ * AegisName: (chance, "Option Drop Group")
* ...
* }
*/
@@ -5212,6 +5524,7 @@ static void mob_load(bool minimal)
return;
}
sv->readdb(map->db_path, "mob_item_ratio.txt", ',', 2, 2+MAX_ITEMRATIO_MOBS, -1, mob->readdb_itemratio); // must be read before mobdb
+ mob->read_optdrops_db();
mob->readchatdb();
mob->readdb();
mob->readskilldb();
@@ -5253,6 +5566,8 @@ static void mob_reload(void)
}
mob->item_drop_ratio_other_db->clear(mob->item_drop_ratio_other_db, mob->final_ratio_sub);
+ mob->destroy_drop_groups();
+
mob->load(false);
}
@@ -5308,6 +5623,22 @@ static void mob_destroy_mob_db(int index)
mob->db_data[index] = NULL;
}
+/**
+ * Unloads option drop group database
+ */
+static void mob_destroy_drop_groups(void)
+{
+ for (int i = 0; i < mob->opt_drop_groups_count; i++) {
+ struct optdrop_group *group = &mob->opt_drop_groups[i];
+
+ for (int j = 0; j < group->optslot_count; j++) {
+ aFree(group->optslot[j].options);
+ }
+ }
+
+ aFree(mob->opt_drop_groups);
+}
+
/*==========================================
* Clean memory usage.
*------------------------------------------*/
@@ -5326,6 +5657,7 @@ static int do_final_mob(void)
mob->destroy_mob_db(i);
}
}
+ mob->destroy_drop_groups();
for (i = 0; i <= MAX_MOB_CHAT; i++)
{
if (mob->chat_db[i] != NULL)
@@ -5442,6 +5774,7 @@ void mob_defaults(void)
mob->ai_sub_lazy = mob_ai_sub_lazy;
mob->ai_lazy = mob_ai_lazy;
mob->ai_hard = mob_ai_hard;
+ mob->setdropitem_options = mob_setdropitem_options;
mob->setdropitem = mob_setdropitem;
mob->setlootitem = mob_setlootitem;
mob->delay_item_drop = mob_delay_item_drop;
@@ -5475,6 +5808,10 @@ void mob_defaults(void)
mob->clone_delete = mob_clone_delete;
mob->drop_adjust = mob_drop_adjust;
mob->item_dropratio_adjust = item_dropratio_adjust;
+ mob->read_optdrops_option = mob_read_optdrops_option;
+ mob->read_optdrops_optslot = mob_read_optdrops_optslot;
+ mob->read_optdrops_group = mob_read_optdrops_group;
+ mob->read_optdrops_db = mob_read_optdrops_db;
mob->lookup_const = mob_lookup_const;
mob->get_const = mob_get_const;
mob->db_validate_entry = mob_db_validate_entry;
@@ -5485,6 +5822,7 @@ void mob_defaults(void)
mob->read_db_drops_sub = mob_read_db_drops_sub;
mob->read_db_mvpdrops_sub = mob_read_db_mvpdrops_sub;
mob->read_db_mode_sub = mob_read_db_mode_sub;
+ mob->read_db_drops_option = mob_read_db_drops_option;
mob->read_db_stats_sub = mob_read_db_stats_sub;
mob->name_constants = mob_name_constants;
mob->readdb_mobavail = mob_readdb_mobavail;
@@ -5500,6 +5838,7 @@ void mob_defaults(void)
mob->final_ratio_sub = mob_final_ratio_sub;
mob->clear_spawninfo = mob_clear_spawninfo;
mob->destroy_mob_db = mob_destroy_mob_db;
+ mob->destroy_drop_groups = mob_destroy_drop_groups;
mob->skill_db_libconfig = mob_skill_db_libconfig;
mob->skill_db_libconfig_sub = mob_skill_db_libconfig_sub;
mob->skill_db_libconfig_sub_skill = mob_skill_db_libconfig_sub_skill;
diff --git a/src/map/mob.h b/src/map/mob.h
index 4cb3877ed..b63efd272 100644
--- a/src/map/mob.h
+++ b/src/map/mob.h
@@ -152,6 +152,45 @@ struct spawn_info {
unsigned short qty;
};
+/**
+ * Information of one possible option that will fill
+ * an option slot (see optdrop_group_optslot)
+ */
+struct optdrop_group_option {
+ int id; //< Option ID
+ int min; //< Minimun value when this option drops
+ int max; //< Maximun value when this option drops
+ int rate; //< Chance of dropping this option
+};
+
+/**
+ * Information of possible options that will fill
+ * one option slot
+ */
+struct optdrop_group_optslot {
+ int option_count; //< Number of options in *options
+ struct optdrop_group_option *options; //< Array of possible options
+};
+
+/**
+ * A group of options to be random picked when
+ * dropping an item
+ */
+struct optdrop_group {
+ int optslot_count; //< How many option slots are configured by this group
+ int optslot_rate[MAX_ITEM_OPTIONS]; //< The rate to fill each of the configured slots
+ struct optdrop_group_optslot optslot[MAX_ITEM_OPTIONS]; //< Details of the options that will go in each slot
+};
+
+/**
+ * Stores data related to a monster drop (normal or mvp drop)
+ */
+struct mob_drop {
+ int nameid; //< Item ID
+ int p; //< Drop chance
+ struct optdrop_group *options; //< Option Drop Group associated with this drop (NULL if none)
+};
+
struct mob_db {
int mob_id;
char sprite[NAME_LENGTH],name[NAME_LENGTH],jname[NAME_LENGTH];
@@ -160,8 +199,8 @@ struct mob_db {
short range2,range3;
short race2; // celest
unsigned short lv;
- struct { int nameid,p; } dropitem[MAX_MOB_DROP];
- struct { int nameid,p; } mvpitem[MAX_MVP_DROP];
+ struct mob_drop dropitem[MAX_MOB_DROP];
+ struct mob_drop mvpitem[MAX_MVP_DROP];
struct status_data status;
struct view_data vd;
unsigned int option;
@@ -208,7 +247,7 @@ struct mob_data {
struct spawn_data *spawn; //Spawn data.
int spawn_timer; //Required for Convex Mirror
struct item *lootitem;
- short class_;
+ int class_;
unsigned int tdmg; //Stores total damage given to the mob, for exp calculations. [Skotlex]
int level;
int target_id,attacked_id;
@@ -436,6 +475,9 @@ struct mob_interface {
struct mob_db *dummy; //Dummy mob to be returned when a non-existant one is requested.
// Dynamic mob chat database
struct mob_chat *chat_db[MAX_MOB_CHAT + 1];
+ // Random Option Drop groups
+ struct optdrop_group *opt_drop_groups;
+ int opt_drop_groups_count;
// Defines the Manuk/Splendide/Mora mob groups for the status reductions [Epoque & Frost]
int manuk[8];
int splendide[5];
@@ -494,7 +536,8 @@ struct mob_interface {
int (*ai_sub_lazy) (struct mob_data *md, va_list args);
int (*ai_lazy) (int tid, int64 tick, int id, intptr_t data);
int (*ai_hard) (int tid, int64 tick, int id, intptr_t data);
- struct item_drop* (*setdropitem) (int nameid, int qty, struct item_data *data);
+ void (*setdropitem_options) (struct item *item, struct optdrop_group *options);
+ struct item_drop* (*setdropitem) (int nameid, struct optdrop_group *options, int qty, struct item_data *data);
struct item_drop* (*setlootitem) (struct item *item);
int (*delay_item_drop) (int tid, int64 tick, int id, intptr_t data);
void (*item_drop) (struct mob_data *md, struct item_drop_list *dlist, struct item_drop *ditem, int loot, int drop_rate, unsigned short flag);
@@ -527,6 +570,10 @@ struct mob_interface {
int (*clone_delete) (struct mob_data *md);
unsigned int (*drop_adjust) (int baserate, int rate_adjust, unsigned short rate_min, unsigned short rate_max);
void (*item_dropratio_adjust) (int nameid, int mob_id, int *rate_adjust);
+ bool (*read_optdrops_option) (struct config_setting_t *option, struct optdrop_group_optslot *entry, int *idx, bool *calc_rate, int slot, const char *group);
+ bool (*read_optdrops_optslot) (struct config_setting_t *optslot, int n, int group_id, const char *group);
+ bool (*read_optdrops_group) (struct config_setting_t *group, int n);
+ bool (*read_optdrops_db) (void);
void (*readdb) (void);
bool (*lookup_const) (const struct config_setting_t *it, const char *name, int *value);
bool (*get_const) (const struct config_setting_t *it, int *value);
@@ -537,6 +584,7 @@ struct mob_interface {
void (*read_db_drops_sub) (struct mob_db *entry, struct config_setting_t *t);
void (*read_db_mvpdrops_sub) (struct mob_db *entry, struct config_setting_t *t);
uint32 (*read_db_mode_sub) (struct mob_db *entry, struct config_setting_t *t);
+ struct optdrop_group *(*read_db_drops_option) (struct mob_db *entry, const char *item_name, struct config_setting_t *drop, int *drop_rate);
void (*read_db_stats_sub) (struct mob_db *entry, struct config_setting_t *t);
void (*name_constants) (void);
bool (*readdb_mobavail) (char *str[], int columns, int current);
@@ -552,6 +600,7 @@ struct mob_interface {
void (*set_item_drop_ratio) (int nameid, struct item_drop_ratio *ratio);
int (*final_ratio_sub) (union DBKey key, struct DBData *data, va_list ap);
void (*destroy_mob_db) (int index);
+ void (*destroy_drop_groups) (void);
bool (*skill_db_libconfig) (const char *filename, bool ignore_missing);
bool (*skill_db_libconfig_sub) (struct config_setting_t *it, int n);
bool (*skill_db_libconfig_sub_skill) (struct config_setting_t *it, int n, int mob_id);
diff --git a/src/map/npc.c b/src/map/npc.c
index a8bf7d371..77087d6cb 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -36,6 +36,7 @@
#include "map/mob.h"
#include "map/pc.h"
#include "map/pet.h"
+#include "map/quest.h"
#include "map/script.h"
#include "map/skill.h"
#include "map/status.h"
@@ -1449,11 +1450,12 @@ static int npc_cashshop_buylist(struct map_session_data *sd, int points, struct
return ERROR_TYPE_NPC;
if( nd->subtype != CASHSHOP ) {
- if( nd->subtype == SCRIPT && nd->u.scr.shop && nd->u.scr.shop->type != NST_ZENY && nd->u.scr.shop->type != NST_MARKET ) {
+ if (nd->subtype == SCRIPT && nd->u.scr.shop && nd->u.scr.shop->type != NST_ZENY && nd->u.scr.shop->type != NST_MARKET && nd->u.scr.shop->type != NST_BARTER) {
shop = nd->u.scr.shop->item;
shop_size = nd->u.scr.shop->items;
- } else
+ } else {
return ERROR_TYPE_NPC;
+ }
} else {
shop = nd->u.shop.shop_item;
shop_size = nd->u.shop.count;
@@ -1584,11 +1586,11 @@ static void npc_market_fromsql(void)
if( !(nd = npc->name2id(name)) ) {
ShowError("npc_market_fromsql: NPC '%s' not found! skipping...\n",name);
- npc->market_delfromsql_sub(name, USHRT_MAX);
+ npc->market_delfromsql_sub(name, INT_MAX);
continue;
- } else if ( nd->subtype != SCRIPT || !nd->u.scr.shop || !nd->u.scr.shop->items || nd->u.scr.shop->type != NST_MARKET ) {
+ } else if (nd->subtype != SCRIPT || !nd->u.scr.shop || !nd->u.scr.shop->items || nd->u.scr.shop->type != NST_MARKET) {
ShowError("npc_market_fromsql: NPC '%s' is not proper for market, skipping...\n",name);
- npc->market_delfromsql_sub(name, USHRT_MAX);
+ npc->market_delfromsql_sub(name, INT_MAX);
continue;
}
@@ -1610,10 +1612,10 @@ static void npc_market_fromsql(void)
/**
* Saves persistent NPC Market Data into SQL
**/
-static void npc_market_tosql(struct npc_data *nd, unsigned short index)
+static void npc_market_tosql(struct npc_data *nd, int index)
{
nullpo_retv(nd);
- Assert_retv(index < nd->u.scr.shop->items);
+ Assert_retv(index >= 0 && index < nd->u.scr.shop->items);
if (SQL_ERROR == SQL->Query(map->mysql_handle, "REPLACE INTO `%s` VALUES ('%s','%d','%u')",
map->npc_market_data_db, nd->exname, nd->u.scr.shop->item[index].nameid, nd->u.scr.shop->item[index].qty))
Sql_ShowDebug(map->mysql_handle);
@@ -1621,9 +1623,9 @@ static void npc_market_tosql(struct npc_data *nd, unsigned short index)
/**
* Removes persistent NPC Market Data from SQL
*/
-static void npc_market_delfromsql_sub(const char *npcname, unsigned short index)
+static void npc_market_delfromsql_sub(const char *npcname, int index)
{
- if( index == USHRT_MAX ) {
+ if (index == INT_MAX ) {
if( SQL_ERROR == SQL->Query(map->mysql_handle, "DELETE FROM `%s` WHERE `name`='%s'", map->npc_market_data_db, npcname) )
Sql_ShowDebug(map->mysql_handle);
} else {
@@ -1635,12 +1637,115 @@ static void npc_market_delfromsql_sub(const char *npcname, unsigned short index)
/**
* Removes persistent NPC Market Data from SQL
**/
-static void npc_market_delfromsql(struct npc_data *nd, unsigned short index)
+static void npc_market_delfromsql(struct npc_data *nd, int index)
{
nullpo_retv(nd);
- Assert_retv(index == USHRT_MAX || index < nd->u.scr.shop->items);
- npc->market_delfromsql_sub(nd->exname, index == USHRT_MAX ? index : nd->u.scr.shop->item[index].nameid);
+ Assert_retv(index == INT_MAX || (index >= 0 && index < nd->u.scr.shop->items));
+ npc->market_delfromsql_sub(nd->exname, index == INT_MAX ? index : nd->u.scr.shop->item[index].nameid);
+}
+
+/**
+ * Loads persistent NPC Barter Data from SQL
+ **/
+static void npc_barter_fromsql(void)
+{
+ struct SqlStmt *stmt = SQL->StmtMalloc(map->mysql_handle);
+ char name[NAME_LENGTH + 1];
+ int itemid;
+ int amount;
+ int removeId;
+ int removeAmount;
+
+ if (SQL_ERROR == SQL->StmtPrepare(stmt, "SELECT `name`, `itemId`, `amount`, `priceId`, `priceAmount` FROM `%s`", map->npc_barter_data_db)
+ || SQL_ERROR == SQL->StmtExecute(stmt)
+ ) {
+ SqlStmt_ShowDebug(stmt);
+ SQL->StmtFree(stmt);
+ return;
+ }
+
+ SQL->StmtBindColumn(stmt, 0, SQLDT_STRING, &name, sizeof name, NULL, NULL);
+ SQL->StmtBindColumn(stmt, 1, SQLDT_INT, &itemid, sizeof itemid, NULL, NULL);
+ SQL->StmtBindColumn(stmt, 2, SQLDT_UINT32, &amount, sizeof amount, NULL, NULL);
+ SQL->StmtBindColumn(stmt, 3, SQLDT_INT, &removeId, sizeof removeId, NULL, NULL);
+ SQL->StmtBindColumn(stmt, 4, SQLDT_INT, &removeAmount, sizeof removeAmount, NULL, NULL);
+
+ while (SQL_SUCCESS == SQL->StmtNextRow(stmt)) {
+ struct npc_data *nd = NULL;
+ unsigned short i;
+
+ if (!(nd = npc->name2id(name))) {
+ ShowError("npc_barter_fromsql: NPC '%s' not found! skipping...\n",name);
+ npc->barter_delfromsql_sub(name, INT_MAX, 0, 0);
+ continue;
+ } else if (nd->subtype != SCRIPT || !nd->u.scr.shop || !nd->u.scr.shop->items || nd->u.scr.shop->type != NST_BARTER) {
+ ShowError("npc_barter_fromsql: NPC '%s' is not proper for barter, skipping...\n",name);
+ npc->barter_delfromsql_sub(name, INT_MAX, 0, 0);
+ continue;
+ }
+
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ struct npc_item_list *const item = &nd->u.scr.shop->item[i];
+ if (item->nameid == itemid && item->value == removeId && item->value2 == removeAmount) {
+ item->qty = amount;
+ break;
+ }
+ }
+
+ if (i == nd->u.scr.shop->items) {
+ ShowError("npc_barter_fromsql: NPC '%s' does not sell item %d (qty %d), deleting...\n", name, itemid, amount);
+ npc->barter_delfromsql_sub(name, itemid, removeId, removeAmount);
+ continue;
+ }
+ }
+ SQL->StmtFree(stmt);
}
+
+/**
+ * Saves persistent NPC Barter Data into SQL
+ **/
+static void npc_barter_tosql(struct npc_data *nd, int index)
+{
+ nullpo_retv(nd);
+ Assert_retv(index >= 0 && index < nd->u.scr.shop->items);
+ const struct npc_item_list *const item = &nd->u.scr.shop->item[index];
+ if (SQL_ERROR == SQL->Query(map->mysql_handle, "REPLACE INTO `%s` VALUES ('%s', '%d', '%u', '%u', '%d')",
+ map->npc_barter_data_db, nd->exname, item->nameid, item->qty, item->value, item->value2)) {
+ Sql_ShowDebug(map->mysql_handle);
+ }
+}
+
+/**
+ * Removes persistent NPC Barter Data from SQL
+ */
+static void npc_barter_delfromsql_sub(const char *npcname, int itemId, int itemId2, int amount2)
+{
+ if (itemId == INT_MAX) {
+ if (SQL_ERROR == SQL->Query(map->mysql_handle, "DELETE FROM `%s` WHERE `name`='%s'", map->npc_barter_data_db, npcname))
+ Sql_ShowDebug(map->mysql_handle);
+ } else {
+ if (SQL_ERROR == SQL->Query(map->mysql_handle, "DELETE FROM `%s` WHERE `name`='%s' AND `itemId`='%d' AND `priceId`='%d' AND `priceAmount`='%d' LIMIT 1",
+ map->npc_barter_data_db, npcname, itemId, itemId2, amount2)) {
+ Sql_ShowDebug(map->mysql_handle);
+ }
+ }
+}
+
+/**
+ * Removes persistent NPC Barter Data from SQL
+ **/
+static void npc_barter_delfromsql(struct npc_data *nd, int index)
+{
+ nullpo_retv(nd);
+ if (index == INT_MAX) {
+ npc->barter_delfromsql_sub(nd->exname, INT_MAX, 0, 0);
+ } else {
+ Assert_retv(index >= 0 && index < nd->u.scr.shop->items);
+ const struct npc_item_list *const item = &nd->u.scr.shop->item[index];
+ npc->barter_delfromsql_sub(nd->exname, item->nameid, item->value, item->value2);
+ }
+}
+
/**
* Judges whether to allow and spawn a trader's window.
**/
@@ -1673,6 +1778,9 @@ static bool npc_trader_open(struct map_session_data *sd, struct npc_data *nd)
clif->npc_market_open(sd,nd);
}
break;
+ case NST_BARTER:
+ clif->npc_barter_open(sd, nd);
+ break;
default:
clif->cashshop_show(sd,nd);
break;
@@ -1799,11 +1907,12 @@ static int npc_cashshop_buy(struct map_session_data *sd, int nameid, int amount,
return ERROR_TYPE_ITEM_ID; // Invalid Item
if( nd->subtype != CASHSHOP ) {
- if( nd->subtype == SCRIPT && nd->u.scr.shop && nd->u.scr.shop->type != NST_ZENY && nd->u.scr.shop->type != NST_MARKET ) {
+ if (nd->subtype == SCRIPT && nd->u.scr.shop && nd->u.scr.shop->type != NST_ZENY && nd->u.scr.shop->type != NST_MARKET && nd->u.scr.shop->type != NST_BARTER) {
shop = nd->u.scr.shop->item;
shop_size = nd->u.scr.shop->items;
- } else
+ } else {
return ERROR_TYPE_NPC;
+ }
} else {
shop = nd->u.shop.shop_item;
shop_size = nd->u.shop.count;
@@ -1948,7 +2057,11 @@ static int npc_buylist(struct map_session_data *sd, struct itemlist *item_list)
break;
case ADDITEM_OVERAMOUNT:
+#if PACKETVER >= 20110705
+ return 9;
+#else
return 2;
+#endif
}
value = pc->modifybuyvalue(sd,value);
@@ -2108,6 +2221,133 @@ static int npc_market_buylist(struct map_session_data *sd, struct itemlist *item
return 0;
}
+/**
+ * Processes incoming npc barter purchase list
+ **/
+static int npc_barter_buylist(struct map_session_data *sd, struct barteritemlist *item_list)
+{
+ struct npc_data* nd;
+ struct npc_item_list *shop = NULL;
+ int w, new_;
+ unsigned short shop_size = 0;
+
+ nullpo_retr(1, sd);
+ nullpo_retr(1, item_list);
+
+ nd = npc->checknear(sd, map->id2bl(sd->npc_shopid));
+
+ if (nd == NULL || nd->subtype != SCRIPT || VECTOR_LENGTH(*item_list) == 0 || !nd->u.scr.shop || nd->u.scr.shop->type != NST_BARTER)
+ return 11;
+
+ shop = nd->u.scr.shop->item;
+ shop_size = nd->u.scr.shop->items;
+
+ w = 0;
+ new_ = 0;
+
+ int items[MAX_INVENTORY] = { 0 };
+
+ // process entries in buy list, one by one
+ for (int i = 0; i < VECTOR_LENGTH(*item_list); ++i) {
+ struct barter_itemlist_entry *entry = &VECTOR_INDEX(*item_list, i);
+
+ const int n = entry->removeIndex;
+ if (n < 0 || n >= sd->status.inventorySize)
+ return 11; // wrong inventory index
+
+ int removeId = sd->status.inventory[n].nameid;
+ const int j = entry->shopIndex;
+ if (j < 0 || j >= shop_size)
+ return 13; // no such item in shop
+ if (entry->addId != shop[j].nameid && entry->addId != itemdb_viewid(shop[j].nameid))
+ return 13; // no such item in shop
+ if (removeId != shop[j].value && removeId != itemdb_viewid(shop[j].value))
+ return 13; // no such item in shop
+ entry->addId = shop[j].nameid; // item_avail replacement
+ removeId = shop[j].value; // item_avail replacement
+
+ if (!itemdb->exists(entry->addId))
+ return 13; // item no longer in itemdb
+
+ const int removeAmount = shop[j].value2;
+
+ if ((int)shop[j].qty != -1 && entry->addAmount > (int)shop[j].qty)
+ return 14; // not enough item amount in shop
+
+ if (removeAmount * entry->addAmount > sd->status.inventory[n].amount)
+ return 14; // not enough item amount in inventory
+
+ items[n] += removeAmount * entry->addAmount;
+
+ if (items[n] > sd->status.inventory[n].amount)
+ return 14; // not enough item amount in inventory
+
+ entry->addId = shop[j].nameid; //item_avail replacement
+
+ npc_market_qty[i] = j;
+
+ if (!itemdb->isstackable(entry->addId) && entry->addAmount > 1) {
+ //Exploit? You can't buy more than 1 of equipment types o.O
+ ShowWarning("Player %s (%d:%d) sent a hexed packet trying to buy %d of non-stackable item %d!\n",
+ sd->status.name, sd->status.account_id, sd->status.char_id, entry->addAmount, entry->addId);
+ entry->addAmount = 1;
+ }
+
+ switch (pc->checkadditem(sd, entry->addId, entry->addAmount)) {
+ case ADDITEM_EXIST:
+ break;
+ case ADDITEM_NEW:
+ new_++;
+ break;
+ case ADDITEM_OVERAMOUNT: /* TODO find official response for this */
+ return 1;
+ }
+
+ w += itemdb_weight(entry->addId) * entry->addAmount;
+ w -= itemdb_weight(removeId) * removeAmount;
+ }
+
+ if (w + sd->weight > sd->max_weight)
+ return 2; // Too heavy
+
+ if (pc->inventoryblank(sd) < new_)
+ return 3; // Not enough space to store items
+
+ for (int i = 0; i < sd->status.inventorySize; ++i) {
+ const int removeAmountTotal = items[i];
+ if (removeAmountTotal == 0)
+ continue;
+ if (pc->delitem(sd, i, removeAmountTotal, 0, DELITEM_SOLD, LOG_TYPE_NPC) != 0) {
+ return 11; // unknown exploit
+ }
+ }
+
+ for (int i = 0; i < VECTOR_LENGTH(*item_list); ++i) {
+ struct barter_itemlist_entry *entry = &VECTOR_INDEX(*item_list, i);
+ const int shopIdx = npc_market_qty[i];
+
+ if ((int)shop[shopIdx].qty != -1) {
+ if (entry->addAmount > (int)shop[shopIdx].qty) /* wohoo someone tampered with the packet. */
+ return 14;
+ shop[shopIdx].qty -= entry->addAmount;
+ }
+
+ npc->barter_tosql(nd, shopIdx);
+
+ if (itemdb_type(entry->addId) == IT_PETEGG) {
+ pet->create_egg(sd, entry->addId);
+ } else {
+ struct item item_tmp;
+ memset(&item_tmp, 0, sizeof(item_tmp));
+ item_tmp.nameid = entry->addId;
+ item_tmp.identify = 1;
+ pc->additem(sd, &item_tmp, entry->addAmount, LOG_TYPE_NPC);
+ }
+ }
+
+ return 12;
+}
+
/// npc_selllist for script-controlled shops
static int npc_selllist_sub(struct map_session_data *sd, struct itemlist *item_list, struct npc_data *nd)
{
@@ -2231,7 +2471,7 @@ static int npc_selllist(struct map_session_data *sd, struct itemlist *item_list)
struct itemlist_entry *entry = &VECTOR_INDEX(*item_list, i);
int nameid, value, idx = entry->id;
- if (idx >= MAX_INVENTORY || idx < 0 || entry->amount < 0) {
+ if (idx >= sd->status.inventorySize || idx < 0 || entry->amount < 0) {
return 1;
}
@@ -2399,8 +2639,9 @@ static int npc_unload(struct npc_data *nd, bool single)
nd->path = NULL;
}
- if( single && nd->bl.m != -1 )
- map->remove_questinfo(nd->bl.m,nd);
+ if (single && nd->bl.m != -1)
+ map->remove_questinfo(nd->bl.m, nd);
+ npc->questinfo_clear(nd);
if (nd->src_id == 0 && ( nd->subtype == SHOP || nd->subtype == CASHSHOP)) {
//src check for duplicate shops [Orcao]
@@ -2722,7 +2963,7 @@ static bool npc_viewisid(const char *viewid)
* @param class_ The NPC view class.
* @return A pointer to the created NPC data (ownership passed to the caller).
*/
-static struct npc_data *npc_create_npc(enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_)
+static struct npc_data *npc_create_npc(enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_)
{
struct npc_data *nd;
@@ -2739,6 +2980,7 @@ static struct npc_data *npc_create_npc(enum npc_subtype subtype, int m, int x, i
nd->class_ = class_;
nd->speed = 200;
nd->vd = npc_viewdb[0]; // Copy INVISIBLE_CLASS view data. Actual view data is set by npc->add_to_location() later.
+ VECTOR_INIT(nd->qi_data);
return nd;
}
@@ -3672,14 +3914,14 @@ static void npc_setdisplayname(struct npc_data *nd, const char *newname)
safestrncpy(nd->name, newname, sizeof(nd->name));
if( map->list[nd->bl.m].users )
- clif->charnameack(0, &nd->bl);
+ clif->blname_ack(0, &nd->bl);
}
/// Changes the display class of the npc.
///
/// @param nd Target npc
/// @param class_ New display class
-static void npc_setclass(struct npc_data *nd, short class_)
+static void npc_setclass(struct npc_data *nd, int class_)
{
nullpo_retv(nd);
@@ -3960,7 +4202,7 @@ static const char *npc_parse_mob(const char *w1, const char *w2, const char *w3,
mobspawn.num = (unsigned short)num;
mobspawn.active = 0;
- mobspawn.class_ = (short) class_;
+ mobspawn.class_ = class_;
mobspawn.x = (unsigned short)x;
mobspawn.y = (unsigned short)y;
mobspawn.xs = (signed short)xs;
@@ -4971,6 +5213,7 @@ static int npc_reload(void)
npc->npc_mob = npc->npc_cache_mob = npc->npc_delay_mob = 0;
// reset mapflags
+ map->zone_reload();
map->flags_init();
// Reprocess npc files and reload constants
@@ -4980,7 +5223,6 @@ static int npc_reload(void)
instance->reload();
- map->zone_reload();
map->zone_init();
npc->motd = npc->name2id("HerculesMOTD"); /* [Ind/Hercules] */
@@ -4993,6 +5235,7 @@ static int npc_reload(void)
// OnInit -> OnInterIfInit -> OnInterIfInitOnce -> OnAgitInit -> OnAgitInit2
npc->event_do_oninit( true );
npc->market_fromsql();
+ npc->barter_fromsql();
// Execute rest of the startup events if connected to char-server. [Lance]
// Executed when connection is established with char-server in chrif_connectack
if( !intif->CheckForCharServer() ) {
@@ -5091,6 +5334,18 @@ static void npc_debug_warps(void)
npc->debug_warps_sub(map->list[m].npc[i]);
}
+static void npc_questinfo_clear(struct npc_data *nd)
+{
+ nullpo_retv(nd);
+
+ for (int i = 0; i < VECTOR_LENGTH(nd->qi_data); i++) {
+ struct questinfo *qi = &VECTOR_INDEX(nd->qi_data, i);
+ VECTOR_CLEAR(qi->items);
+ VECTOR_CLEAR(qi->quest_requirement);
+ }
+ VECTOR_CLEAR(nd->qi_data);
+}
+
/*==========================================
* npc initialization
*------------------------------------------*/
@@ -5299,11 +5554,17 @@ void npc_defaults(void)
npc->trader_pay = npc_trader_pay;
npc->trader_update = npc_trader_update;
npc->market_buylist = npc_market_buylist;
+ npc->barter_buylist = npc_barter_buylist;
npc->trader_open = npc_trader_open;
npc->market_fromsql = npc_market_fromsql;
npc->market_tosql = npc_market_tosql;
npc->market_delfromsql = npc_market_delfromsql;
npc->market_delfromsql_sub = npc_market_delfromsql_sub;
+ npc->barter_fromsql = npc_barter_fromsql;
+ npc->barter_tosql = npc_barter_tosql;
+ npc->barter_delfromsql = npc_barter_delfromsql;
+ npc->barter_delfromsql_sub = npc_barter_delfromsql_sub;
npc->db_checkid = npc_db_checkid;
npc->refresh = npc_refresh;
+ npc->questinfo_clear = npc_questinfo_clear;
}
diff --git a/src/map/npc.h b/src/map/npc.h
index eff4ed4ec..2819cbd87 100644
--- a/src/map/npc.h
+++ b/src/map/npc.h
@@ -41,10 +41,11 @@ enum npc_parse_options {
};
enum npc_shop_types {
- NST_ZENY,/* default */
- NST_CASH,/* official npc cash shop */
- NST_MARKET,/* official npc market type */
+ NST_ZENY, /* default */
+ NST_CASH, /* official npc cash shop */
+ NST_MARKET, /* official npc market type */
NST_CUSTOM,
+ NST_BARTER, /* official npc barter type */
/* */
NST_MAX,
};
@@ -56,11 +57,14 @@ struct npc_label_list {
char name[NAME_LENGTH];
int pos;
};
+
struct npc_item_list {
int nameid;
- unsigned int value;
+ unsigned int value; // price or barter currency item id
+ int value2; // barter currency item amount
unsigned int qty;
};
+
struct npc_shop_data {
unsigned char type;/* what am i */
struct npc_item_list *item;/* list */
@@ -73,7 +77,7 @@ struct npc_data {
struct view_data vd;
unsigned int option;
struct npc_data *master_nd;
- short class_;
+ int class_;
short speed;
char name[NAME_LENGTH+1];// display name
char exname[NAME_LENGTH+1];// unique npc name
@@ -125,6 +129,7 @@ struct npc_data {
int spawn_timer;
} tomb;
} u;
+ VECTOR_DECL(struct questinfo) qi_data;
struct hplugin_data_store *hdata; ///< HPM Plugin Data Store
};
@@ -144,7 +149,7 @@ enum actor_classes {
#define MAX_NPC_CLASS 1000
// New NPC range
#define MAX_NPC_CLASS2_START 10001
-#define MAX_NPC_CLASS2_END 10248
+#define MAX_NPC_CLASS2_END 10310
//Script NPC events.
enum npce_event {
@@ -264,7 +269,7 @@ struct npc_interface {
void (*parsename) (struct npc_data *nd, const char *name, const char *start, const char *buffer, const char *filepath);
int (*parseview) (const char *w4, const char *start, const char *buffer, const char *filepath);
bool (*viewisid) (const char *viewid);
- struct npc_data *(*create_npc) (enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_);
+ struct npc_data *(*create_npc) (enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_);
struct npc_data* (*add_warp) (char *name, short from_mapid, short from_x, short from_y, short xs, short ys, unsigned short to_mapindex, short to_x, short to_y);
const char *(*parse_warp) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
const char *(*parse_shop) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
@@ -284,7 +289,7 @@ struct npc_interface {
void (*unsetcells) (struct npc_data *nd);
void (*movenpc) (struct npc_data *nd, int16 x, int16 y);
void (*setdisplayname) (struct npc_data *nd, const char *newname);
- void (*setclass) (struct npc_data *nd, short class_);
+ void (*setclass) (struct npc_data *nd, int class_);
int (*do_atcmd_event) (struct map_session_data *sd, const char *command, const char *message, const char *eventname);
const char *(*parse_function) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
void (*parse_mob2) (struct spawn_data *mobspawn);
@@ -306,13 +311,19 @@ struct npc_interface {
bool (*trader_pay) (struct npc_data *nd, struct map_session_data *sd, int price, int points);
void (*trader_update) (int master);
int (*market_buylist) (struct map_session_data *sd, struct itemlist *item_list);
+ int (*barter_buylist) (struct map_session_data *sd, struct barteritemlist *item_list);
bool (*trader_open) (struct map_session_data *sd, struct npc_data *nd);
void (*market_fromsql) (void);
- void (*market_tosql) (struct npc_data *nd, unsigned short index);
- void (*market_delfromsql) (struct npc_data *nd, unsigned short index);
- void (*market_delfromsql_sub) (const char *npcname, unsigned short index);
+ void (*market_tosql) (struct npc_data *nd, int index);
+ void (*market_delfromsql) (struct npc_data *nd, int index);
+ void (*market_delfromsql_sub) (const char *npcname, int index);
+ void (*barter_fromsql) (void);
+ void (*barter_tosql) (struct npc_data *nd, int index);
+ void (*barter_delfromsql) (struct npc_data *nd, int index);
+ void (*barter_delfromsql_sub) (const char *npcname, int itemId, int itemId2, int amount2);
bool (*db_checkid) (const int id);
void (*refresh) (struct npc_data* nd);
+ void (*questinfo_clear) (struct npc_data *nd);
/**
* For the Secure NPC Timeout option (check config/Secure.h) [RR]
**/
diff --git a/src/map/packets.h b/src/map/packets.h
index 1d1046e8a..bffec4f43 100644
--- a/src/map/packets.h
+++ b/src/map/packets.h
@@ -24,2990 +24,1627 @@
#define MAP_PACKETS_H
#ifndef packet
- #define packet(a,b,...)
+ #define packet(a,...)
#endif
/*
* packet syntax
- * - packet(packet_id,length)
+ * - packet(packet_id)
* OR
- * - packet(packet_id,length,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
- * - Example: packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18);
+ * - packet(packet_id,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet),...)
+ * - Example: packet(0x0072,clif->pWantToConnection,2,6,10,14,18);
*/
-packet(0x0064,55);
-packet(0x0065,17);
-packet(0x0066,6);
-packet(0x0067,37);
-packet(0x0068,46);
-packet(0x0069,-1);
-packet(0x006a,23);
-packet(0x006b,-1);
-packet(0x006c,3);
-packet(0x006d,108);
-packet(0x006e,3);
-packet(0x006f,2);
-packet(0x0070,6);
-packet(0x0071,28);
-packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
-packet(0x0073,11);
-packet(0x0074,3);
-packet(0x0075,-1);
-packet(0x0076,9);
-packet(0x0077,5);
-packet(0x0078,54);
-packet(0x0079,53);
-packet(0x007a,58);
-packet(0x007b,60);
-packet(0x007c,41);
-packet(0x007d,2,clif->pLoadEndAck,0);
-packet(0x007e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
-packet(0x007f,6);
-packet(0x0080,7);
-packet(0x0081,3);
-packet(0x0082,2);
-packet(0x0083,2);
-packet(0x0084,2);
-packet(0x0085,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
-packet(0x0086,16);
-packet(0x0087,12);
-packet(0x0088,10);
-packet(0x0089,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
-packet(0x008a,29);
-packet(0x008b,2);
-packet(0x008c,-1,clif->pGlobalMessage,2,4);
-packet(0x008d,-1);
-packet(0x008e,-1);
-//packet(0x008f,-1);
-packet(0x0090,7,clif->pNpcClicked,2);
-packet(0x0091,22); // ZC_NPCACK_MAPMOVE
-packet(0x0092,28); // ZC_NPCACK_SERVERMOVE
-packet(0x0093,2);
-packet(0x0094,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
-packet(0x0095,30);
-packet(0x0096,-1,clif->pWisMessage,2,4,28);
-packet(0x0097,-1);
-packet(0x0098,3);
-packet(0x0099,-1,clif->pBroadcast,2,4);
-packet(0x009a,-1);
-packet(0x009b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
-packet(0x009c,9);
-packet(0x009d,17);
-packet(0x009e,17);
-packet(0x009f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
-packet(0x00a0,23);
-packet(0x00a1,6);
-packet(0x00a2,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
-packet(0x00a3,-1);
-packet(0x00a4,-1);
-packet(0x00a5,-1);
-packet(0x00a6,-1);
-packet(0x00a7,8,clif->pUseItem,2,4);
-packet(0x00a8,7);
-packet(0x00a9,6,clif->pEquipItem,2,4);
-packet(0x00aa,7);
-packet(0x00ab,4,clif->pUnequipItem,2);
-packet(0x00ac,7);
-//packet(0x00ad,-1);
-packet(0x00ae,-1);
-packet(0x00af,6);
-packet(0x00b0,8);
-packet(0x00b1,8);
-packet(0x00b2,3,clif->pRestart,2);
-packet(0x00b3,3);
-packet(0x00b4,-1);
-packet(0x00b5,6);
-packet(0x00b6,6);
-packet(0x00b7,-1);
-packet(0x00b8,7,clif->pNpcSelectMenu,2,6);
-packet(0x00b9,6,clif->pNpcNextClicked,2);
-packet(0x00ba,2);
-packet(0x00bb,5,clif->pStatusUp,2,4);
-packet(0x00bc,6);
-packet(0x00bd,44);
-packet(0x00be,5);
-packet(0x00bf,3,clif->pEmotion,2);
-packet(0x00c0,7);
-packet(0x00c1,2,clif->pHowManyConnections,0);
-packet(0x00c2,6);
-packet(0x00c3,8);
-packet(0x00c4,6);
-packet(0x00c5,7,clif->pNpcBuySellSelected,2,6);
-packet(0x00c6,-1);
-packet(0x00c7,-1);
-packet(0x00c8,-1,clif->pNpcBuyListSend,2,4);
-packet(0x00c9,-1,clif->pNpcSellListSend,2,4);
-packet(0x00ca,3);
-packet(0x00cb,3);
-packet(0x00cc,6,clif->pGMKick,2);
-packet(0x00cd,3);
-packet(0x00ce,2,clif->pGMKickAll,0);
-packet(0x00cf,27,clif->pPMIgnore,2,26);
-packet(0x00d0,3,clif->pPMIgnoreAll,2);
-packet(0x00d1,4);
-packet(0x00d2,4);
-packet(0x00d3,2,clif->pPMIgnoreList,0);
-packet(0x00d4,-1);
-packet(0x00d5,-1,clif->pCreateChatRoom,2,4,6,7,15);
-packet(0x00d6,3);
-packet(0x00d7,-1);
-packet(0x00d8,6);
-packet(0x00d9,14,clif->pChatAddMember,2,6);
-packet(0x00da,3);
-packet(0x00db,-1);
-packet(0x00dc,28);
-packet(0x00dd,29);
-packet(0x00de,-1,clif->pChatRoomStatusChange,2,4,6,7,15);
-packet(0x00df,-1);
-packet(0x00e0,30,clif->pChangeChatOwner,2,6);
-packet(0x00e1,30);
-packet(0x00e2,26,clif->pKickFromChat,2);
-packet(0x00e3,2,clif->pChatLeave,0);
-packet(0x00e4,6,clif->pTradeRequest,2);
-packet(0x00e5,26);
-packet(0x00e6,3,clif->pTradeAck,2);
-packet(0x00e7,3);
-packet(0x00e8,8,clif->pTradeAddItem,2,4);
-packet(0x00e9,19);
-packet(0x00ea,5);
-packet(0x00eb,2,clif->pTradeOk,0);
-packet(0x00ec,3);
-packet(0x00ed,2,clif->pTradeCancel,0);
-packet(0x00ee,2);
-packet(0x00ef,2,clif->pTradeCommit,0);
-packet(0x00f0,3);
-packet(0x00f1,2);
-packet(0x00f2,6);
-packet(0x00f3,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
-packet(0x00f4,21);
-packet(0x00f5,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
-packet(0x00f6,8);
-packet(0x00f7,2,clif->pCloseKafra,0);
-packet(0x00f8,2);
-packet(0x00f9,26,clif->pCreateParty,2);
-packet(0x00fa,3);
-packet(0x00fb,-1);
-packet(0x00fc,6,clif->pPartyInvite,2);
-packet(0x00fd,27);
-packet(0x00fe,30);
-packet(0x00ff,10,clif->pReplyPartyInvite,2,6);
-packet(0x0100,2,clif->pLeaveParty,0);
-packet(0x0101,6);
-packet(0x0102,6,clif->pPartyChangeOption,2);
-packet(0x0103,30,clif->pRemovePartyMember,2,6);
-packet(0x0104,79);
-packet(0x0105,31);
-packet(0x0106,10);
-packet(0x0107,10);
-packet(0x0108,-1,clif->pPartyMessage,2,4);
-packet(0x0109,-1);
-packet(0x010a,4);
-packet(0x010b,6);
-packet(0x010c,6);
-packet(0x010d,2);
-packet(0x010e,11);
-packet(0x010f,-1);
-packet(0x0110,10);
-packet(0x0111,39);
-packet(0x0112,4,clif->pSkillUp,2);
-packet(0x0113,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
-packet(0x0114,31);
-packet(0x0115,35);
-packet(0x0116,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
-packet(0x0117,18);
-packet(0x0118,2,clif->pStopAttack,0);
-packet(0x0119,13);
-packet(0x011a,15);
-packet(0x011b,20,clif->pUseSkillMap,2,4);
-packet(0x011c,68); // ZC_WARPLIST
-packet(0x011d,2,clif->pRequestMemo,0);
-packet(0x011e,3);
-packet(0x011f,16);
-packet(0x0120,6);
-packet(0x0121,14);
-packet(0x0122,-1);
-packet(0x0123,-1);
-packet(0x0124,21);
-packet(0x0125,8);
-packet(0x0126,8,clif->pPutItemToCart,2,4);
-packet(0x0127,8,clif->pGetItemFromCart,2,4);
-packet(0x0128,8,clif->pMoveFromKafraToCart,2,4);
-packet(0x0129,8,clif->pMoveToKafraFromCart,2,4);
-packet(0x012a,2,clif->pRemoveOption,0);
-packet(0x012b,2);
-packet(0x012c,3);
-packet(0x012d,4);
-packet(0x012e,2,clif->pCloseVending,0);
-packet(0x012f,-1);
-packet(0x0130,6,clif->pVendingListReq,2);
-packet(0x0131,86);
-packet(0x0132,6);
-packet(0x0133,-1);
-packet(0x0134,-1,clif->pPurchaseReq,2,4,8);
-packet(0x0135,7);
-packet(0x0136,-1);
-packet(0x0137,6);
-packet(0x0138,3);
-packet(0x0139,16);
-packet(0x013a,4);
-packet(0x013b,4);
-packet(0x013c,4);
-packet(0x013d,6);
-packet(0x013e,24);
-packet(0x013f,26,clif->pGM_Monster_Item,2);
-packet(0x0140,22,clif->pMapMove,2,18,20);
-packet(0x0141,14);
-packet(0x0142,6);
-packet(0x0143,10,clif->pNpcAmountInput,2,6);
-packet(0x0144,23);
-packet(0x0145,19);
-packet(0x0146,6,clif->pNpcCloseClicked,2);
-packet(0x0147,39);
-packet(0x0148,8);
-packet(0x0149,9,clif->pGMReqNoChat,2,6,7);
-packet(0x014a,6);
-packet(0x014b,27);
-packet(0x014c,-1);
-packet(0x014d,2,clif->pGuildCheckMaster,0);
-packet(0x014e,6);
-packet(0x014f,6,clif->pGuildRequestInfo,2);
-packet(0x0150,110);
-packet(0x0151,6,clif->pGuildRequestEmblem,2);
-packet(0x0152,-1);
-packet(0x0153,-1,clif->pGuildChangeEmblem,2,4);
-packet(0x0154,-1);
-packet(0x0155,-1,clif->pGuildChangeMemberPosition,2);
-packet(0x0156,-1);
-packet(0x0157,6);
-packet(0x0158,-1);
-packet(0x0159,54,clif->pGuildLeave,2,6,10,14);
-packet(0x015a,66);
-packet(0x015b,54,clif->pGuildExpulsion,2,6,10,14);
-packet(0x015c,90);
-packet(0x015d,42,clif->pGuildBreak,2);
-packet(0x015e,6);
-packet(0x015f,42);
-packet(0x0160,-1);
-packet(0x0161,-1,clif->pGuildChangePositionInfo,2);
-packet(0x0162,-1);
-packet(0x0163,-1);
-packet(0x0164,-1);
-packet(0x0165,30,clif->pCreateGuild,6);
-packet(0x0166,-1);
-packet(0x0167,3);
-packet(0x0168,14,clif->pGuildInvite,2);
-packet(0x0169,3);
-packet(0x016a,30);
-packet(0x016b,10,clif->pGuildReplyInvite,2,6);
-packet(0x016c,43);
-packet(0x016d,14);
-packet(0x016e,186,clif->pGuildChangeNotice,2,6,66);
-packet(0x016f,182);
-packet(0x0170,14,clif->pGuildRequestAlliance,2);
-packet(0x0171,30);
-packet(0x0172,10,clif->pGuildReplyAlliance,2,6);
-packet(0x0173,3);
-packet(0x0174,-1);
-packet(0x0175,6);
-packet(0x0176,106);
-packet(0x0177,-1);
-packet(0x0178,4,clif->pItemIdentify,2);
-packet(0x0179,5);
-packet(0x017a,4,clif->pUseCard,2);
-packet(0x017b,-1);
-packet(0x017c,6,clif->pInsertCard,2,4);
-packet(0x017d,7);
-packet(0x017e,-1,clif->pGuildMessage,2,4);
-packet(0x017f,-1);
-packet(0x0180,6,clif->pGuildOpposition,2);
-packet(0x0181,3);
-packet(0x0182,106);
-packet(0x0183,10,clif->pGuildDelAlliance,2,6);
-packet(0x0184,10);
-packet(0x0185,34);
-//packet(0x0186,-1);
-packet(0x0187,6);
-packet(0x0188,8);
-packet(0x0189,4);
-packet(0x018a,4,clif->pQuitGame,0);
-packet(0x018b,4);
-packet(0x018c,29);
-packet(0x018d,-1);
-packet(0x018e,10,clif->pProduceMix,2,4,6,8);
-packet(0x018f,6);
-packet(0x0190,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
-packet(0x0191,86);
-packet(0x0192,24);
-packet(0x0193,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
-packet(0x0194,30);
-packet(0x0195,102);
-packet(0x0196,9);
-packet(0x0197,4,clif->pResetChar,2);
-packet(0x0198,8,clif->pGMChangeMapType,2,4,6);
-packet(0x0199,4);
-packet(0x019a,14);
-packet(0x019b,10);
-packet(0x019c,-1,clif->pLocalBroadcast,2,4);
-packet(0x019d,6,clif->pGMHide,0);
-packet(0x019e,2);
-packet(0x019f,6,clif->pCatchPet,2);
-packet(0x01a0,3);
-packet(0x01a1,3,clif->pPetMenu,2);
-packet(0x01a2,35);
-packet(0x01a3,5);
-packet(0x01a4,11);
-packet(0x01a5,26,clif->pChangePetName,2);
-packet(0x01a6,-1);
-packet(0x01a7,4,clif->pSelectEgg,2);
-packet(0x01a8,4);
-packet(0x01a9,6,clif->pSendEmotion,2);
-packet(0x01aa,10);
-packet(0x01ab,12);
-packet(0x01ac,6);
-packet(0x01ad,-1);
-packet(0x01ae,4,clif->pSelectArrow,2);
-packet(0x01af,4,clif->pChangeCart,2);
-packet(0x01b0,11);
-packet(0x01b1,7);
-packet(0x01b2,-1,clif->pOpenVending,2,4,84,85);
-packet(0x01b3,67);
-packet(0x01b4,12);
-packet(0x01b5,18);
-packet(0x01b6,114);
-packet(0x01b7,6);
-packet(0x01b8,3);
-packet(0x01b9,6);
-packet(0x01ba,26,clif->pGMShift,2);
-packet(0x01bb,26,clif->pGMShift,2);
-packet(0x01bc,26,clif->pGMRecall,2);
-packet(0x01bd,26,clif->pGMRecall,2);
-packet(0x01be,2);
-packet(0x01bf,3);
-packet(0x01c0,2);
-packet(0x01c1,14);
-packet(0x01c2,10);
-packet(0x01c3,-1);
-packet(0x01c4,22);
-packet(0x01c5,22);
-packet(0x01c6,4);
-packet(0x01c7,2);
-packet(0x01c8,13);
-packet(0x01c9,97);
-//packet(0x01ca,-1);
-packet(0x01cb,9);
-packet(0x01cc,9);
-packet(0x01cd,30);
-packet(0x01ce,6,clif->pAutoSpell,2);
-packet(0x01cf,28);
-packet(0x01d0,8);
-packet(0x01d1,14);
-packet(0x01d2,10);
-packet(0x01d3,35);
-packet(0x01d4,6);
-packet(0x01d5,-1,clif->pNpcStringInput,2,4,8);
-packet(0x01d6,4);
-packet(0x01d7,11);
-packet(0x01d8,54);
-packet(0x01d9,53);
-packet(0x01da,60);
-packet(0x01db,2);
-packet(0x01dc,-1);
-packet(0x01dd,47);
-packet(0x01de,33);
-packet(0x01df,6,clif->pGMReqAccountName,2);
-packet(0x01e0,30);
-packet(0x01e1,8);
-packet(0x01e2,34);
-packet(0x01e3,14);
-packet(0x01e4,2);
-packet(0x01e5,6);
-packet(0x01e6,26);
-packet(0x01e7,2,clif->pNoviceDoriDori,0);
-packet(0x01e8,28,clif->pCreateParty2,2);
-packet(0x01e9,81);
-packet(0x01ea,6);
-packet(0x01eb,10);
-packet(0x01ec,26);
-packet(0x01ed,2,clif->pNoviceExplosionSpirits,0);
-packet(0x01ee,-1);
-packet(0x01ef,-1);
-packet(0x01f0,-1);
-packet(0x01f1,-1);
-packet(0x01f2,20);
-packet(0x01f3,10);
-packet(0x01f4,32);
-packet(0x01f5,9);
-packet(0x01f6,34);
-packet(0x01f7,14,clif->pAdopt_reply,0);
-packet(0x01f8,2);
-packet(0x01f9,6,clif->pAdopt_request,0);
-packet(0x01fa,48);
-packet(0x01fb,56);
-packet(0x01fc,-1);
-packet(0x01fd,4,clif->pRepairItem,2);
-packet(0x01fe,5);
-packet(0x01ff,10);
-packet(0x0200,26);
-packet(0x0201,-1);
-packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
-packet(0x0203,10,clif->pFriendsListRemove,2,6);
-packet(0x0204,18);
-packet(0x0205,26);
-packet(0x0206,11);
-packet(0x0207,34);
-packet(0x0208,11,clif->pFriendsListReply,2,6,10);
-packet(0x0209,36);
-packet(0x020a,10);
-//packet(0x020b,-1);
-//packet(0x020c,-1);
-packet(0x020d,-1);
-packet(0x974,2,clif->cancelmergeitem);
-packet(0x96e,-1,clif->ackmergeitems);
+packet(0x0072,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+packet(0x007d,clif->pLoadEndAck,0);
+packet(0x007e,clif->pTickSend,2); // CZ_REQUEST_TIME
+packet(0x0085,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+packet(0x0089,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+packet(0x008c,clif->pGlobalMessage,2,4);
+packet(0x0090,clif->pNpcClicked,2);
+packet(0x0094,clif->pGetCharNameRequest,2); // CZ_REQNAME
+packet(0x0096,clif->pWisMessage,2,4,28);
+packet(0x0099,clif->pBroadcast,2,4);
+packet(0x009b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+packet(0x009f,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+packet(0x00a2,clif->pDropItem,2,4); // CZ_ITEM_THROW
+packet(0x00a7,clif->pUseItem,2,4);
+packet(0x00a9,clif->pEquipItem,2,4);
+packet(0x00ab,clif->pUnequipItem,2);
+packet(0x00b2,clif->pRestart,2);
+packet(0x00b8,clif->pNpcSelectMenu,2,6);
+packet(0x00b9,clif->pNpcNextClicked,2);
+packet(0x00bb,clif->pStatusUp,2,4);
+packet(0x00bf,clif->pEmotion,2);
+packet(0x00c1,clif->pHowManyConnections,0);
+packet(0x00c5,clif->pNpcBuySellSelected,2,6);
+packet(0x00c8,clif->pNpcBuyListSend,2,4);
+packet(0x00c9,clif->pNpcSellListSend,2,4);
+packet(0x00cc,clif->pGMKick,2);
+packet(0x00ce,clif->pGMKickAll,0);
+packet(0x00cf,clif->pPMIgnore,2,26);
+packet(0x00d0,clif->pPMIgnoreAll,2);
+packet(0x00d3,clif->pPMIgnoreList,0);
+packet(0x00d5,clif->pCreateChatRoom,2,4,6,7,15);
+packet(0x00d9,clif->pChatAddMember,2,6);
+packet(0x00de,clif->pChatRoomStatusChange,2,4,6,7,15);
+packet(0x00e0,clif->pChangeChatOwner,2,6);
+packet(0x00e2,clif->pKickFromChat,2);
+packet(0x00e3,clif->pChatLeave,0);
+packet(0x00e4,clif->pTradeRequest,2);
+packet(0x00e6,clif->pTradeAck,2);
+packet(0x00e8,clif->pTradeAddItem,2,4);
+packet(0x00eb,clif->pTradeOk,0);
+packet(0x00ed,clif->pTradeCancel,0);
+packet(0x00ef,clif->pTradeCommit,0);
+packet(0x00f3,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+packet(0x00f5,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packet(0x00f7,clif->pCloseKafra,0);
+packet(0x00f9,clif->pCreateParty,2);
+packet(0x00fc,clif->pPartyInvite,2);
+packet(0x00ff,clif->pReplyPartyInvite,2,6);
+packet(0x0100,clif->pLeaveParty,0);
+packet(0x0102,clif->pPartyChangeOption,2);
+packet(0x0103,clif->pRemovePartyMember,2,6);
+packet(0x0108,clif->pPartyMessage,2,4);
+packet(0x0112,clif->pSkillUp,2);
+packet(0x0113,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+packet(0x0116,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+packet(0x0118,clif->pStopAttack,0);
+packet(0x011b,clif->pUseSkillMap,2,4);
+packet(0x011d,clif->pRequestMemo,0);
+packet(0x0126,clif->pPutItemToCart,2,4);
+packet(0x0127,clif->pGetItemFromCart,2,4);
+packet(0x0128,clif->pMoveFromKafraToCart,2,4);
+packet(0x0129,clif->pMoveToKafraFromCart,2,4);
+packet(0x012a,clif->pRemoveOption,0);
+packet(0x012e,clif->pCloseVending,0);
+packet(0x0130,clif->pVendingListReq,2);
+packet(0x0134,clif->pPurchaseReq,2,4,8);
+packet(0x013f,clif->pGM_Monster_Item,2);
+packet(0x0140,clif->pMapMove,2,18,20);
+packet(0x0143,clif->pNpcAmountInput,2,6);
+packet(0x0146,clif->pNpcCloseClicked,2);
+packet(0x0149,clif->pGMReqNoChat,2,6,7);
+packet(0x014d,clif->pGuildCheckMaster,0);
+packet(0x014f,clif->pGuildRequestInfo,2);
+packet(0x0151,clif->pGuildRequestEmblem,2);
+packet(0x0153,clif->pGuildChangeEmblem,2,4);
+packet(0x0155,clif->pGuildChangeMemberPosition,2);
+packet(0x0159,clif->pGuildLeave,2,6,10,14);
+packet(0x015b,clif->pGuildExpulsion,2,6,10,14);
+packet(0x015d,clif->pGuildBreak,2);
+packet(0x0161,clif->pGuildChangePositionInfo,2);
+packet(0x0165,clif->pCreateGuild,6);
+packet(0x0168,clif->pGuildInvite,2);
+packet(0x016b,clif->pGuildReplyInvite,2,6);
+packet(0x016e,clif->pGuildChangeNotice,2,6,66);
+packet(0x0170,clif->pGuildRequestAlliance,2);
+packet(0x0172,clif->pGuildReplyAlliance,2,6);
+packet(0x0178,clif->pItemIdentify,2);
+packet(0x017a,clif->pUseCard,2);
+packet(0x017c,clif->pInsertCard,2,4);
+packet(0x017e,clif->pGuildMessage,2,4);
+packet(0x0180,clif->pGuildOpposition,2);
+packet(0x0183,clif->pGuildDelAlliance,2,6);
+packet(0x018a,clif->pQuitGame,0);
+packet(0x018e,clif->pProduceMix,2,4,6,8);
+packet(0x0190,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packet(0x0193,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+packet(0x0197,clif->pResetChar,2);
+packet(0x0198,clif->pGMChangeMapType,2,4,6);
+packet(0x019c,clif->pLocalBroadcast,2,4);
+packet(0x019d,clif->pGMHide,0);
+packet(0x019f,clif->pCatchPet,2);
+packet(0x01a1,clif->pPetMenu,2);
+packet(0x01a5,clif->pChangePetName,2);
+packet(0x01a7,clif->pSelectEgg,2);
+packet(0x01a9,clif->pSendEmotion,2);
+packet(0x01ae,clif->pSelectArrow,2);
+packet(0x01af,clif->pChangeCart,2);
+packet(0x01b2,clif->pOpenVending,2,4,84,85);
+packet(0x01ba,clif->pGMShift,2);
+packet(0x01bb,clif->pGMShift,2);
+packet(0x01bc,clif->pGMRecall,2);
+packet(0x01bd,clif->pGMRecall,2);
+packet(0x01c0,clif->pReqRemainTime);
+packet(0x01ce,clif->pAutoSpell,2);
+packet(0x01d5,clif->pNpcStringInput,2,4,8);
+packet(0x01df,clif->pGMReqAccountName,2);
+packet(0x01e7,clif->pNoviceDoriDori,0);
+packet(0x01e8,clif->pCreateParty2,2);
+packet(0x01ed,clif->pNoviceExplosionSpirits,0);
+packet(0x01f7,clif->pAdopt_reply,0);
+packet(0x01f9,clif->pAdopt_request,0);
+packet(0x01fd,clif->pRepairItem,2);
+packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+packet(0x0203,clif->pFriendsListRemove,2,6);
+packet(0x0208,clif->pFriendsListReply,2,6,10);
+packet(0x974,clif->cancelmergeitem);
+packet(0x96e,clif->ackmergeitems);
//2004-07-05aSakexe
#if PACKETVER >= 20040705
- packet(0x0072,22,clif->pWantToConnection,5,9,13,17,21);
- packet(0x0085,8,clif->pWalkToXY,5);
- packet(0x00a7,13,clif->pUseItem,5,9);
- packet(0x0113,15,clif->pUseSkillToId,4,9,11);
- packet(0x0116,15,clif->pUseSkillToPos,4,9,11,13);
- packet(0x0190,95,clif->pUseSkillToPosMoreInfo,4,9,11,13,15);
- packet(0x0208,14,clif->pFriendsListReply,2,6,10);
- packet(0x020e,24);
+ packet(0x0072,clif->pWantToConnection,5,9,13,17,21);
+ packet(0x0085,clif->pWalkToXY,5);
+ packet(0x00a7,clif->pUseItem,5,9);
+ packet(0x0113,clif->pUseSkillToId,4,9,11);
+ packet(0x0116,clif->pUseSkillToPos,4,9,11,13);
+ packet(0x0190,clif->pUseSkillToPosMoreInfo,4,9,11,13,15);
+ packet(0x0208,clif->pFriendsListReply,2,6,10);
#endif
//2004-07-13aSakexe
#if PACKETVER >= 20040713
- packet(0x0072,39,clif->pWantToConnection,12,22,30,34,38);
- packet(0x0085,9,clif->pWalkToXY,6);
- packet(0x009b,13,clif->pChangeDir,5,12);
- packet(0x009f,10,clif->pTakeItem,6);
- packet(0x00a7,17,clif->pUseItem,6,13);
- packet(0x0113,19,clif->pUseSkillToId,7,9,15);
- packet(0x0116,19,clif->pUseSkillToPos,7,9,15,17);
- packet(0x0190,99,clif->pUseSkillToPosMoreInfo,7,9,15,17,19);
+ packet(0x0072,clif->pWantToConnection,12,22,30,34,38);
+ packet(0x0085,clif->pWalkToXY,6);
+ packet(0x009b,clif->pChangeDir,5,12);
+ packet(0x009f,clif->pTakeItem,6);
+ packet(0x00a7,clif->pUseItem,6,13);
+ packet(0x0113,clif->pUseSkillToId,7,9,15);
+ packet(0x0116,clif->pUseSkillToPos,7,9,15,17);
+ packet(0x0190,clif->pUseSkillToPosMoreInfo,7,9,15,17,19);
#endif
//2004-07-26aSakexe
#if PACKETVER >= 20040726
- packet(0x0072,14,clif->pDropItem,5,12);
- packet(0x007e,33,clif->pWantToConnection,12,18,24,28,32);
- packet(0x0085,20,clif->pUseSkillToId,7,12,16);
- packet(0x0089,15,clif->pGetCharNameRequest,11);
- packet(0x008c,23,clif->pUseSkillToPos,3,6,17,21);
- packet(0x0094,10,clif->pTakeItem,6);
- packet(0x009b,6,clif->pWalkToXY,3);
- packet(0x009f,13,clif->pChangeDir,5,12);
- packet(0x00a2,103,clif->pUseSkillToPosMoreInfo,3,6,17,21,23);
- packet(0x00a7,12,clif->pSolveCharName,8);
- packet(0x00f3,-1,clif->pGlobalMessage,2,4);
- packet(0x00f5,17,clif->pUseItem,6,12);
- packet(0x00f7,10,clif->pTickSend,6);
- packet(0x0113,16,clif->pMoveToKafra,5,12);
- packet(0x0116,2,clif->pCloseKafra,0);
- packet(0x0190,26,clif->pMoveFromKafra,10,22);
- packet(0x0193,9,clif->pActionRequest,3,8);
+ packet(0x0072,clif->pDropItem,5,12);
+ packet(0x007e,clif->pWantToConnection,12,18,24,28,32);
+ packet(0x0085,clif->pUseSkillToId,7,12,16);
+ packet(0x0089,clif->pGetCharNameRequest,11);
+ packet(0x008c,clif->pUseSkillToPos,3,6,17,21);
+ packet(0x0094,clif->pTakeItem,6);
+ packet(0x009b,clif->pWalkToXY,3);
+ packet(0x009f,clif->pChangeDir,5,12);
+ packet(0x00a2,clif->pUseSkillToPosMoreInfo,3,6,17,21,23);
+ packet(0x00a7,clif->pSolveCharName,8);
+ packet(0x00f3,clif->pGlobalMessage,2,4);
+ packet(0x00f5,clif->pUseItem,6,12);
+ packet(0x00f7,clif->pTickSend,6);
+ packet(0x0113,clif->pMoveToKafra,5,12);
+ packet(0x0116,clif->pCloseKafra,0);
+ packet(0x0190,clif->pMoveFromKafra,10,22);
+ packet(0x0193,clif->pActionRequest,3,8);
#endif
//2004-08-09aSakexe
#if PACKETVER >= 20040809
- packet(0x0072,17,clif->pDropItem,8,15);
- packet(0x007e,37,clif->pWantToConnection,9,21,28,32,36);
- packet(0x0085,26,clif->pUseSkillToId,11,18,22);
- packet(0x0089,12,clif->pGetCharNameRequest,8);
- packet(0x008c,40,clif->pUseSkillToPos,5,15,29,38);
- packet(0x0094,13,clif->pTakeItem,9);
- packet(0x009b,15,clif->pWalkToXY,12);
- packet(0x009f,12,clif->pChangeDir,7,11);
- packet(0x00a2,120,clif->pUseSkillToPosMoreInfo,5,15,29,38,40);
- packet(0x00a7,11,clif->pSolveCharName,7);
- packet(0x00f5,24,clif->pUseItem,9,20);
- packet(0x00f7,13,clif->pTickSend,9);
- packet(0x0113,23,clif->pMoveToKafra,5,19);
- packet(0x0190,26,clif->pMoveFromKafra,11,22);
- packet(0x0193,18,clif->pActionRequest,7,17);
+ packet(0x0072,clif->pDropItem,8,15);
+ packet(0x007e,clif->pWantToConnection,9,21,28,32,36);
+ packet(0x0085,clif->pUseSkillToId,11,18,22);
+ packet(0x0089,clif->pGetCharNameRequest,8);
+ packet(0x008c,clif->pUseSkillToPos,5,15,29,38);
+ packet(0x0094,clif->pTakeItem,9);
+ packet(0x009b,clif->pWalkToXY,12);
+ packet(0x009f,clif->pChangeDir,7,11);
+ packet(0x00a2,clif->pUseSkillToPosMoreInfo,5,15,29,38,40);
+ packet(0x00a7,clif->pSolveCharName,7);
+ packet(0x00f5,clif->pUseItem,9,20);
+ packet(0x00f7,clif->pTickSend,9);
+ packet(0x0113,clif->pMoveToKafra,5,19);
+ packet(0x0190,clif->pMoveFromKafra,11,22);
+ packet(0x0193,clif->pActionRequest,7,17);
#endif
//2004-08-16aSakexe
#if PACKETVER >= 20040816
- packet(0x0212,26,clif->pGMRc,2);
- packet(0x0213,26,clif->pCheck,2);
- packet(0x0214,42);
+ packet(0x0212,clif->pGMRc,2);
+ packet(0x0213,clif->pCheck,2);
#endif
//2004-08-17aSakexe
#if PACKETVER >= 20040817
- packet(0x020f,10,clif->pPVPInfo,2,6);
- packet(0x0210,22);
+ packet(0x020f,clif->pPVPInfo,2,6);
#endif
//2004-09-06aSakexe
#if PACKETVER >= 20040906
- packet(0x0072,20,clif->pUseItem,9,20);
- packet(0x007e,19,clif->pMoveToKafra,3,15);
- packet(0x0085,23,clif->pActionRequest,9,22);
- packet(0x0089,9,clif->pWalkToXY,6);
- packet(0x008c,105,clif->pUseSkillToPosMoreInfo,10,14,18,23,25);
- packet(0x0094,17,clif->pDropItem,6,15);
- packet(0x009b,14,clif->pGetCharNameRequest,10);
- packet(0x009f,-1,clif->pGlobalMessage,2,4);
- packet(0x00a2,14,clif->pSolveCharName,10);
- packet(0x00a7,25,clif->pUseSkillToPos,10,14,18,23);
- packet(0x00f3,10,clif->pChangeDir,4,9);
- packet(0x00f5,34,clif->pWantToConnection,7,15,25,29,33);
- packet(0x00f7,2,clif->pCloseKafra,0);
- packet(0x0113,11,clif->pTakeItem,7);
- packet(0x0116,11,clif->pTickSend,7);
- packet(0x0190,22,clif->pUseSkillToId,9,15,18);
- packet(0x0193,17,clif->pMoveFromKafra,3,13);
+ packet(0x0072,clif->pUseItem,9,20);
+ packet(0x007e,clif->pMoveToKafra,3,15);
+ packet(0x0085,clif->pActionRequest,9,22);
+ packet(0x0089,clif->pWalkToXY,6);
+ packet(0x008c,clif->pUseSkillToPosMoreInfo,10,14,18,23,25);
+ packet(0x0094,clif->pDropItem,6,15);
+ packet(0x009b,clif->pGetCharNameRequest,10);
+ packet(0x009f,clif->pGlobalMessage,2,4);
+ packet(0x00a2,clif->pSolveCharName,10);
+ packet(0x00a7,clif->pUseSkillToPos,10,14,18,23);
+ packet(0x00f3,clif->pChangeDir,4,9);
+ packet(0x00f5,clif->pWantToConnection,7,15,25,29,33);
+ packet(0x00f7,clif->pCloseKafra,0);
+ packet(0x0113,clif->pTakeItem,7);
+ packet(0x0116,clif->pTickSend,7);
+ packet(0x0190,clif->pUseSkillToId,9,15,18);
+ packet(0x0193,clif->pMoveFromKafra,3,13);
#endif
//2004-09-20aSakexe
#if PACKETVER >= 20040920
- packet(0x0072,18,clif->pUseItem,10,14);
- packet(0x007e,25,clif->pMoveToKafra,6,21);
- packet(0x0085,9,clif->pActionRequest,3,8);
- packet(0x0089,14,clif->pWalkToXY,11);
- packet(0x008c,109,clif->pUseSkillToPosMoreInfo,16,20,23,27,29);
- packet(0x0094,19,clif->pDropItem,12,17);
- packet(0x009b,10,clif->pGetCharNameRequest,6);
- packet(0x00a2,10,clif->pSolveCharName,6);
- packet(0x00a7,29,clif->pUseSkillToPos,6,20,23,27);
- packet(0x00f3,18,clif->pChangeDir,8,17);
- packet(0x00f5,32,clif->pWantToConnection,10,17,23,27,31);
- packet(0x0113,14,clif->pTakeItem,10);
- packet(0x0116,14,clif->pTickSend,10);
- packet(0x0190,14,clif->pUseSkillToId,4,7,10);
- packet(0x0193,12,clif->pMoveFromKafra,4,8);
+ packet(0x0072,clif->pUseItem,10,14);
+ packet(0x007e,clif->pMoveToKafra,6,21);
+ packet(0x0085,clif->pActionRequest,3,8);
+ packet(0x0089,clif->pWalkToXY,11);
+ packet(0x008c,clif->pUseSkillToPosMoreInfo,16,20,23,27,29);
+ packet(0x0094,clif->pDropItem,12,17);
+ packet(0x009b,clif->pGetCharNameRequest,6);
+ packet(0x00a2,clif->pSolveCharName,6);
+ packet(0x00a7,clif->pUseSkillToPos,6,20,23,27);
+ packet(0x00f3,clif->pChangeDir,8,17);
+ packet(0x00f5,clif->pWantToConnection,10,17,23,27,31);
+ packet(0x0113,clif->pTakeItem,10);
+ packet(0x0116,clif->pTickSend,10);
+ packet(0x0190,clif->pUseSkillToId,4,7,10);
+ packet(0x0193,clif->pMoveFromKafra,4,8);
#endif
//2004-10-05aSakexe
#if PACKETVER >= 20041005
- packet(0x0072,17,clif->pUseItem,6,13);
- packet(0x007e,16,clif->pMoveToKafra,5,12);
- packet(0x0089,6,clif->pWalkToXY,3);
- packet(0x008c,103,clif->pUseSkillToPosMoreInfo,2,6,17,21,23);
- packet(0x0094,14,clif->pDropItem,5,12);
- packet(0x009b,15,clif->pGetCharNameRequest,11);
- packet(0x00a2,12,clif->pSolveCharName,8);
- packet(0x00a7,23,clif->pUseSkillToPos,3,6,17,21);
- packet(0x00f3,13,clif->pChangeDir,5,12);
- packet(0x00f5,33,clif->pWantToConnection,12,18,24,28,32);
- packet(0x0113,10,clif->pTakeItem,6);
- packet(0x0116,10,clif->pTickSend,6);
- packet(0x0190,20,clif->pUseSkillToId,7,12,16);
- packet(0x0193,26,clif->pMoveFromKafra,10,22);
+ packet(0x0072,clif->pUseItem,6,13);
+ packet(0x007e,clif->pMoveToKafra,5,12);
+ packet(0x0089,clif->pWalkToXY,3);
+ packet(0x008c,clif->pUseSkillToPosMoreInfo,2,6,17,21,23);
+ packet(0x0094,clif->pDropItem,5,12);
+ packet(0x009b,clif->pGetCharNameRequest,11);
+ packet(0x00a2,clif->pSolveCharName,8);
+ packet(0x00a7,clif->pUseSkillToPos,3,6,17,21);
+ packet(0x00f3,clif->pChangeDir,5,12);
+ packet(0x00f5,clif->pWantToConnection,12,18,24,28,32);
+ packet(0x0113,clif->pTakeItem,6);
+ packet(0x0116,clif->pTickSend,6);
+ packet(0x0190,clif->pUseSkillToId,7,12,16);
+ packet(0x0193,clif->pMoveFromKafra,10,22);
#endif
//2004-10-25aSakexe
#if PACKETVER >= 20041025
- packet(0x0072,13,clif->pUseItem,5,9);
- packet(0x007e,13,clif->pMoveToKafra,6,9);
- packet(0x0085,15,clif->pActionRequest,4,14);
- packet(0x008c,108,clif->pUseSkillToPosMoreInfo,6,9,23,26,28);
- packet(0x0094,12,clif->pDropItem,6,10);
- packet(0x009b,10,clif->pGetCharNameRequest,6);
- packet(0x00a2,16,clif->pSolveCharName,12);
- packet(0x00a7,28,clif->pUseSkillToPos,6,9,23,26);
- packet(0x00f3,15,clif->pChangeDir,6,14);
- packet(0x00f5,29,clif->pWantToConnection,5,14,20,24,28);
- packet(0x0113,9,clif->pTakeItem,5);
- packet(0x0116,9,clif->pTickSend,5);
- packet(0x0190,26,clif->pUseSkillToId,4,10,22);
- packet(0x0193,22,clif->pMoveFromKafra,12,18);
-#endif
-
-//2004-11-01aSakexe
-#if PACKETVER >= 20041101
- packet(0x0084,-1);
- packet(0x0215,6);
+ packet(0x0072,clif->pUseItem,5,9);
+ packet(0x007e,clif->pMoveToKafra,6,9);
+ packet(0x0085,clif->pActionRequest,4,14);
+ packet(0x008c,clif->pUseSkillToPosMoreInfo,6,9,23,26,28);
+ packet(0x0094,clif->pDropItem,6,10);
+ packet(0x009b,clif->pGetCharNameRequest,6);
+ packet(0x00a2,clif->pSolveCharName,12);
+ packet(0x00a7,clif->pUseSkillToPos,6,9,23,26);
+ packet(0x00f3,clif->pChangeDir,6,14);
+ packet(0x00f5,clif->pWantToConnection,5,14,20,24,28);
+ packet(0x0113,clif->pTakeItem,5);
+ packet(0x0116,clif->pTickSend,5);
+ packet(0x0190,clif->pUseSkillToId,4,10,22);
+ packet(0x0193,clif->pMoveFromKafra,12,18);
#endif
//2004-11-08aSakexe
#if PACKETVER >= 20041108
- packet(0x0084,2);
- packet(0x0216,6);
- packet(0x0217,2,clif->pBlacksmith,0);
- packet(0x0218,2,clif->pAlchemist,0);
- packet(0x0219,282);
- packet(0x021a,282);
- packet(0x021b,10);
- packet(0x021c,10);
+ packet(0x0217,clif->pBlacksmith,0);
+ packet(0x0218,clif->pAlchemist,0);
#endif
//2004-11-15aSakexe
#if PACKETVER >= 20041115
- packet(0x021d,6,clif->pLessEffect,2);
+ packet(0x021d,clif->pLessEffect,2);
#endif
//2004-11-29aSakexe
#if PACKETVER >= 20041129
- packet(0x0072,22,clif->pUseSkillToId,8,12,18);
- packet(0x007e,30,clif->pUseSkillToPos,4,9,22,28);
- packet(0x0085,-1,clif->pGlobalMessage,2,4);
- packet(0x0089,7,clif->pTickSend,3);
- packet(0x008c,13,clif->pGetCharNameRequest,9);
- packet(0x0094,14,clif->pMoveToKafra,4,10);
- packet(0x009b,2,clif->pCloseKafra,0);
- packet(0x009f,18,clif->pActionRequest,6,17);
- packet(0x00a2,7,clif->pTakeItem,3);
- packet(0x00a7,7,clif->pWalkToXY,4);
- packet(0x00f3,8,clif->pChangeDir,3,7);
- packet(0x00f5,29,clif->pWantToConnection,3,10,20,24,28);
- packet(0x00f7,14,clif->pSolveCharName,10);
- packet(0x0113,110,clif->pUseSkillToPosMoreInfo,4,9,22,28,30);
- packet(0x0116,12,clif->pDropItem,4,10);
- packet(0x0190,15,clif->pUseItem,3,11);
- packet(0x0193,21,clif->pMoveFromKafra,4,17);
- packet(0x0221,-1);
- packet(0x0222,6,clif->pWeaponRefine,2);
- packet(0x0223,8);
-#endif
-
-//2004-12-13aSakexe
-#if PACKETVER >= 20041213
-//skipped: many packets being set to -1
- packet(0x0066,3);
- packet(0x0070,3);
- packet(0x01ca,3);
- packet(0x021e,6);
- packet(0x021f,66);
- packet(0x0220,10);
+ packet(0x0072,clif->pUseSkillToId,8,12,18);
+ packet(0x007e,clif->pUseSkillToPos,4,9,22,28);
+ packet(0x0085,clif->pGlobalMessage,2,4);
+ packet(0x0089,clif->pTickSend,3);
+ packet(0x008c,clif->pGetCharNameRequest,9);
+ packet(0x0094,clif->pMoveToKafra,4,10);
+ packet(0x009b,clif->pCloseKafra,0);
+ packet(0x009f,clif->pActionRequest,6,17);
+ packet(0x00a2,clif->pTakeItem,3);
+ packet(0x00a7,clif->pWalkToXY,4);
+ packet(0x00f3,clif->pChangeDir,3,7);
+ packet(0x00f5,clif->pWantToConnection,3,10,20,24,28);
+ packet(0x00f7,clif->pSolveCharName,10);
+ packet(0x0113,clif->pUseSkillToPosMoreInfo,4,9,22,28,30);
+ packet(0x0116,clif->pDropItem,4,10);
+ packet(0x0190,clif->pUseItem,3,11);
+ packet(0x0193,clif->pMoveFromKafra,4,17);
+ packet(0x0222,clif->pWeaponRefine,2);
#endif
//2005-01-10bSakexe
#if PACKETVER >= 20050110
- packet(0x0072,26,clif->pUseSkillToId,8,16,22);
- packet(0x007e,114,clif->pUseSkillToPosMoreInfo,10,18,22,32,34);
- packet(0x0085,23,clif->pChangeDir,12,22);
- packet(0x0089,9,clif->pTickSend,5);
- packet(0x008c,8,clif->pGetCharNameRequest,4);
- packet(0x0094,20,clif->pMoveToKafra,10,16);
- packet(0x009b,32,clif->pWantToConnection,3,12,23,27,31);
- packet(0x009f,17,clif->pUseItem,5,13);
- packet(0x00a2,11,clif->pSolveCharName,7);
- packet(0x00a7,13,clif->pWalkToXY,10);
- packet(0x00f3,-1,clif->pGlobalMessage,2,4);
- packet(0x00f5,9,clif->pTakeItem,5);
- packet(0x00f7,21,clif->pMoveFromKafra,11,17);
- packet(0x0113,34,clif->pUseSkillToPos,10,18,22,32);
- packet(0x0116,20,clif->pDropItem,15,18);
- packet(0x0190,20,clif->pActionRequest,9,19);
- packet(0x0193,2,clif->pCloseKafra,0);
+ packet(0x0072,clif->pUseSkillToId,8,16,22);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,10,18,22,32,34);
+ packet(0x0085,clif->pChangeDir,12,22);
+ packet(0x0089,clif->pTickSend,5);
+ packet(0x008c,clif->pGetCharNameRequest,4);
+ packet(0x0094,clif->pMoveToKafra,10,16);
+ packet(0x009b,clif->pWantToConnection,3,12,23,27,31);
+ packet(0x009f,clif->pUseItem,5,13);
+ packet(0x00a2,clif->pSolveCharName,7);
+ packet(0x00a7,clif->pWalkToXY,10);
+ packet(0x00f3,clif->pGlobalMessage,2,4);
+ packet(0x00f5,clif->pTakeItem,5);
+ packet(0x00f7,clif->pMoveFromKafra,11,17);
+ packet(0x0113,clif->pUseSkillToPos,10,18,22,32);
+ packet(0x0116,clif->pDropItem,15,18);
+ packet(0x0190,clif->pActionRequest,9,19);
+ packet(0x0193,clif->pCloseKafra,0);
#endif
//2005-03-28aSakexe
#if PACKETVER >= 20050328
- packet(0x0224,10);
- packet(0x0225,2,clif->pTaekwon,0);
- packet(0x0226,282);
-#endif
-
-//2005-04-04aSakexe
-#if PACKETVER >= 20050404
- packet(0x0227,18);
- packet(0x0228,18);
-#endif
-
-//2005-04-11aSakexe
-#if PACKETVER >= 20050411
- packet(0x0229,15);
- packet(0x022a,58);
- packet(0x022b,57);
- packet(0x022c,64);
+ packet(0x0225,clif->pTaekwon,0);
#endif
//2005-04-25aSakexe
#if PACKETVER >= 20050425
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0232,9,clif->pHomMoveTo,2,6);
- packet(0x0233,11,clif->pHomAttack,2,6,10);
- packet(0x0234,6,clif->pHomMoveToMaster,2);
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0232,clif->pHomMoveTo,2,6);
+ packet(0x0233,clif->pHomAttack,2,6,10);
+ packet(0x0234,clif->pHomMoveToMaster,2);
#endif
//2005-05-09aSakexe
#if PACKETVER >= 20050509
- packet(0x0072,25,clif->pUseSkillToId,6,10,21);
- packet(0x007e,102,clif->pUseSkillToPosMoreInfo,5,9,12,20,22);
- packet(0x0085,11,clif->pChangeDir,7,10);
- packet(0x0089,8,clif->pTickSend,4);
- packet(0x008c,11,clif->pGetCharNameRequest,7);
- packet(0x0094,14,clif->pMoveToKafra,7,10);
- packet(0x009b,26,clif->pWantToConnection,4,9,17,21,25);
- packet(0x009f,14,clif->pUseItem,4,10);
- packet(0x00a2,15,clif->pSolveCharName,11);
- packet(0x00a7,8,clif->pWalkToXY,5);
- packet(0x00f5,8,clif->pTakeItem,4);
- packet(0x00f7,22,clif->pMoveFromKafra,14,18);
- packet(0x0113,22,clif->pUseSkillToPos,5,9,12,20);
- packet(0x0116,10,clif->pDropItem,5,8);
- packet(0x0190,19,clif->pActionRequest,5,18);
-#endif
-
-//2005-05-23aSakexe
-#if PACKETVER >= 20050523
- packet(0x022e,69);
- packet(0x0230,12);
+ packet(0x0072,clif->pUseSkillToId,6,10,21);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,5,9,12,20,22);
+ packet(0x0085,clif->pChangeDir,7,10);
+ packet(0x0089,clif->pTickSend,4);
+ packet(0x008c,clif->pGetCharNameRequest,7);
+ packet(0x0094,clif->pMoveToKafra,7,10);
+ packet(0x009b,clif->pWantToConnection,4,9,17,21,25);
+ packet(0x009f,clif->pUseItem,4,10);
+ packet(0x00a2,clif->pSolveCharName,11);
+ packet(0x00a7,clif->pWalkToXY,5);
+ packet(0x00f5,clif->pTakeItem,4);
+ packet(0x00f7,clif->pMoveFromKafra,14,18);
+ packet(0x0113,clif->pUseSkillToPos,5,9,12,20);
+ packet(0x0116,clif->pDropItem,5,8);
+ packet(0x0190,clif->pActionRequest,5,18);
#endif
//2005-05-30aSakexe
#if PACKETVER >= 20050530
- packet(0x022e,71);
- packet(0x0235,-1);
- packet(0x0236,10);
- packet(0x0237,2,clif->pRankingPk,0);
- packet(0x0238,282);
-#endif
-
-//2005-05-31aSakexe
-#if PACKETVER >= 20050531
- packet(0x0216,2);
- packet(0x0239,11);
+ packet(0x0237,clif->pRankingPk,0);
#endif
//2005-06-08aSakexe
#if PACKETVER >= 20050608
- packet(0x0216,6);
- packet(0x0217,2,clif->pBlacksmith,0);
- packet(0x022f,5);
- packet(0x0231,26,clif->pChangeHomunculusName,0);
- packet(0x023a,4);
- packet(0x023b,36,clif->pStoragePassword,2,4,20);
- packet(0x023c,6);
-#endif
-
-//2005-06-22aSakexe
-#if PACKETVER >= 20050622
- packet(0x022e,71);
-
+ packet(0x0217,clif->pBlacksmith,0);
+ packet(0x0231,clif->pChangeHomunculusName,0);
+ packet(0x023b,clif->pStoragePassword,2,4,20);
#endif
//2005-06-28aSakexe
#if PACKETVER >= 20050628
- packet(0x0072,34,clif->pUseSkillToId,6,17,30);
- packet(0x007e,113,clif->pUseSkillToPosMoreInfo,12,15,18,31,33);
- packet(0x0085,17,clif->pChangeDir,8,16);
- packet(0x0089,13,clif->pTickSend,9);
- packet(0x008c,8,clif->pGetCharNameRequest,4);
- packet(0x0094,31,clif->pMoveToKafra,16,27);
- packet(0x009b,32,clif->pWantToConnection,9,15,23,27,31);
- packet(0x009f,19,clif->pUseItem,9,15);
- packet(0x00a2,9,clif->pSolveCharName,5);
- packet(0x00a7,11,clif->pWalkToXY,8);
- packet(0x00f5,13,clif->pTakeItem,9);
- packet(0x00f7,18,clif->pMoveFromKafra,11,14);
- packet(0x0113,33,clif->pUseSkillToPos,12,15,18,31);
- packet(0x0116,12,clif->pDropItem,3,10);
- packet(0x0190,24,clif->pActionRequest,11,23);
- packet(0x0216,-1);
- packet(0x023d,-1);
- packet(0x023e,4);
+ packet(0x0072,clif->pUseSkillToId,6,17,30);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,12,15,18,31,33);
+ packet(0x0085,clif->pChangeDir,8,16);
+ packet(0x0089,clif->pTickSend,9);
+ packet(0x008c,clif->pGetCharNameRequest,4);
+ packet(0x0094,clif->pMoveToKafra,16,27);
+ packet(0x009b,clif->pWantToConnection,9,15,23,27,31);
+ packet(0x009f,clif->pUseItem,9,15);
+ packet(0x00a2,clif->pSolveCharName,5);
+ packet(0x00a7,clif->pWalkToXY,8);
+ packet(0x00f5,clif->pTakeItem,9);
+ packet(0x00f7,clif->pMoveFromKafra,11,14);
+ packet(0x0113,clif->pUseSkillToPos,12,15,18,31);
+ packet(0x0116,clif->pDropItem,3,10);
+ packet(0x0190,clif->pActionRequest,11,23);
#endif
//2005-07-18aSakexe
#if PACKETVER >= 20050718
- packet(0x0072,19,clif->pUseSkillToId,5,11,15);
- packet(0x007e,110,clif->pUseSkillToPosMoreInfo,9,15,23,28,30);
- packet(0x0085,11,clif->pChangeDir,6,10);
- packet(0x0089,7,clif->pTickSend,3);
- packet(0x008c,11,clif->pGetCharNameRequest,7);
- packet(0x0094,21,clif->pMoveToKafra,12,17);
- packet(0x009b,31,clif->pWantToConnection,3,13,22,26,30);
- packet(0x009f,12,clif->pUseItem,3,8);
- packet(0x00a2,18,clif->pSolveCharName,14);
- packet(0x00a7,15,clif->pWalkToXY,12);
- packet(0x00f5,7,clif->pTakeItem,3);
- packet(0x00f7,13,clif->pMoveFromKafra,5,9);
- packet(0x0113,30,clif->pUseSkillToPos,9,15,23,28);
- packet(0x0116,12,clif->pDropItem,6,10);
- packet(0x0190,21,clif->pActionRequest,5,20);
- packet(0x0216,6);
- packet(0x023f,2,clif->pMail_refreshinbox,0);
- packet(0x0240,8);
- packet(0x0241,6,clif->pMail_read,2);
- packet(0x0242,-1);
- packet(0x0243,6,clif->pMail_delete,2);
- packet(0x0244,6,clif->pMail_getattach,2);
- packet(0x0245,7);
- packet(0x0246,4,clif->pMail_winopen,2);
- packet(0x0247,8,clif->pMail_setattach,2,4);
- packet(0x0248,68);
- packet(0x0249,3);
- packet(0x024a,70);
- packet(0x024b,4,clif->pAuction_cancelreg,0);
- packet(0x024c,8,clif->pAuction_setitem,0);
- packet(0x024d,14);
- packet(0x024e,6,clif->pAuction_cancel,0);
- packet(0x024f,10,clif->pAuction_bid,0);
- packet(0x0250,3);
- packet(0x0251,2);
- packet(0x0252,-1);
+ packet(0x0072,clif->pUseSkillToId,5,11,15);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,9,15,23,28,30);
+ packet(0x0085,clif->pChangeDir,6,10);
+ packet(0x0089,clif->pTickSend,3);
+ packet(0x008c,clif->pGetCharNameRequest,7);
+ packet(0x0094,clif->pMoveToKafra,12,17);
+ packet(0x009b,clif->pWantToConnection,3,13,22,26,30);
+ packet(0x009f,clif->pUseItem,3,8);
+ packet(0x00a2,clif->pSolveCharName,14);
+ packet(0x00a7,clif->pWalkToXY,12);
+ packet(0x00f5,clif->pTakeItem,3);
+ packet(0x00f7,clif->pMoveFromKafra,5,9);
+ packet(0x0113,clif->pUseSkillToPos,9,15,23,28);
+ packet(0x0116,clif->pDropItem,6,10);
+ packet(0x0190,clif->pActionRequest,5,20);
+ packet(0x023f,clif->pMail_refreshinbox,0);
+ packet(0x0241,clif->pMail_read,2);
+ packet(0x0243,clif->pMail_delete,2);
+ packet(0x0244,clif->pMail_getattach,2);
+ packet(0x0246,clif->pMail_winopen,2);
+ packet(0x0247,clif->pMail_setattach,2,4);
+ packet(0x024b,clif->pAuction_cancelreg,0);
+ packet(0x024c,clif->pAuction_setitem,0);
+ packet(0x024e,clif->pAuction_cancel,0);
+ packet(0x024f,clif->pAuction_bid,0);
#endif
//2005-07-19bSakexe
#if PACKETVER >= 20050719
- packet(0x0072,34,clif->pUseSkillToId,6,17,30);
- packet(0x007e,113,clif->pUseSkillToPosMoreInfo,12,15,18,31,33);
- packet(0x0085,17,clif->pChangeDir,8,16);
- packet(0x0089,13,clif->pTickSend,9);
- packet(0x008c,8,clif->pGetCharNameRequest,4);
- packet(0x0094,31,clif->pMoveToKafra,16,27);
- packet(0x009b,32,clif->pWantToConnection,9,15,23,27,31);
- packet(0x009f,19,clif->pUseItem,9,15);
- packet(0x00a2,9,clif->pSolveCharName,5);
- packet(0x00a7,11,clif->pWalkToXY,8);
- packet(0x00f5,13,clif->pTakeItem,9);
- packet(0x00f7,18,clif->pMoveFromKafra,11,14);
- packet(0x0113,33,clif->pUseSkillToPos,12,15,18,31);
- packet(0x0116,12,clif->pDropItem,3,10);
- packet(0x0190,24,clif->pActionRequest,11,23);
-#endif
-
-//2005-08-01aSakexe
-#if PACKETVER >= 20050801
- packet(0x0245,3);
- packet(0x0251,4);
+ packet(0x0072,clif->pUseSkillToId,6,17,30);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,12,15,18,31,33);
+ packet(0x0085,clif->pChangeDir,8,16);
+ packet(0x0089,clif->pTickSend,9);
+ packet(0x008c,clif->pGetCharNameRequest,4);
+ packet(0x0094,clif->pMoveToKafra,16,27);
+ packet(0x009b,clif->pWantToConnection,9,15,23,27,31);
+ packet(0x009f,clif->pUseItem,9,15);
+ packet(0x00a2,clif->pSolveCharName,5);
+ packet(0x00a7,clif->pWalkToXY,8);
+ packet(0x00f5,clif->pTakeItem,9);
+ packet(0x00f7,clif->pMoveFromKafra,11,14);
+ packet(0x0113,clif->pUseSkillToPos,12,15,18,31);
+ packet(0x0116,clif->pDropItem,3,10);
+ packet(0x0190,clif->pActionRequest,11,23);
#endif
//2005-08-08aSakexe
#if PACKETVER >= 20050808
- packet(0x024d,12,clif->pAuction_register,0);
- packet(0x024e,4);
+ packet(0x024d,clif->pAuction_register,0);
#endif
//2005-08-17aSakexe
#if PACKETVER >= 20050817
- packet(0x0253,3);
- packet(0x0254,3,clif->pFeelSaveOk,0);
+ packet(0x0254,clif->pFeelSaveOk,0);
#endif
//2005-08-29aSakexe
#if PACKETVER >= 20050829
- packet(0x0240,-1);
- packet(0x0248,-1,clif->pMail_send,2,4,28,68);
- packet(0x0255,5);
- packet(0x0256,-1);
- packet(0x0257,8);
-#endif
-
-//2005-09-12bSakexe
-#if PACKETVER >= 20050912
- packet(0x0256,5);
- packet(0x0258,2);
- packet(0x0259,3);
+ packet(0x0248,clif->pMail_send,2,4,28,68);
#endif
//2005-10-10aSakexe
#if PACKETVER >= 20051010
- packet(0x020e,32);
- packet(0x025a,-1);
- packet(0x025b,6,clif->pCooking,0);
+ packet(0x025b,clif->pCooking,0);
#endif
//2005-10-13aSakexe
#if PACKETVER >= 20051013
- packet(0x007a,6);
- packet(0x0251,32);
- packet(0x025c,4,clif->pAuction_buysell,0);
+ packet(0x025c,clif->pAuction_buysell,0);
#endif
//2005-10-17aSakexe
#if PACKETVER >= 20051017
- packet(0x007a,58);
- packet(0x025d,6,clif->pAuction_close,0);
- packet(0x025e,4);
-#endif
-
-//2005-10-24aSakexe
-#if PACKETVER >= 20051024
- packet(0x025f,6);
- packet(0x0260,6);
+ packet(0x025d,clif->pAuction_close,0);
#endif
//2005-11-07aSakexe
#if PACKETVER >= 20051107
- packet(0x024e,6,clif->pAuction_cancel,0);
- packet(0x0251,34,clif->pAuction_search,0);
-#endif
-
-//2006-01-09aSakexe
-#if PACKETVER >= 20060109
- packet(0x0261,11);
- packet(0x0262,11);
- packet(0x0263,11);
- packet(0x0264,20);
- packet(0x0265,20);
- packet(0x0266,30);
- packet(0x0267,4);
- packet(0x0268,4);
- packet(0x0269,4);
- packet(0x026a,4);
- packet(0x026b,4);
- packet(0x026c,4);
- packet(0x026d,4);
- packet(0x026f,2);
- packet(0x0270,2);
- packet(0x0271,38);
- packet(0x0272,44);
-#endif
-
-//2006-01-26aSakexe
-#if PACKETVER >= 20060126
- packet(0x0271,40);
-
-#endif
-
-//2006-03-06aSakexe
-#if PACKETVER >= 20060306
- packet(0x0273,6);
- packet(0x0274,8);
+ packet(0x024e,clif->pAuction_cancel,0);
+ packet(0x0251,clif->pAuction_search,0);
#endif
//2006-03-13aSakexe
#if PACKETVER >= 20060313
- packet(0x0273,30,clif->pMail_return,2,6);
+ packet(0x0273,clif->pMail_return,2,6);
#endif
//2006-03-27aSakexe
#if PACKETVER >= 20060327
- packet(0x0072,26,clif->pUseSkillToId,11,18,22);
- packet(0x007e,120,clif->pUseSkillToPosMoreInfo,5,15,29,38,40);
- packet(0x0085,12,clif->pChangeDir,7,11);
- //packet(0x0089,13,clif->pTickSend,9);
- packet(0x008c,12,clif->pGetCharNameRequest,8);
- packet(0x0094,23,clif->pMoveToKafra,5,19);
- packet(0x009b,37,clif->pWantToConnection,9,21,28,32,36);
- packet(0x009f,24,clif->pUseItem,9,20);
- packet(0x00a2,11,clif->pSolveCharName,7);
- packet(0x00a7,15,clif->pWalkToXY,12);
- packet(0x00f5,13,clif->pTakeItem,9);
- packet(0x00f7,26,clif->pMoveFromKafra,11,22);
- packet(0x0113,40,clif->pUseSkillToPos,5,15,29,38);
- packet(0x0116,17,clif->pDropItem,8,15);
- packet(0x0190,18,clif->pActionRequest,7,17);
-#endif
-
-//2006-10-23aSakexe
-#if PACKETVER >= 20061023
- packet(0x006d,110);
+ packet(0x0072,clif->pUseSkillToId,11,18,22);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,5,15,29,38,40);
+ packet(0x0085,clif->pChangeDir,7,11);
+ packet(0x008c,clif->pGetCharNameRequest,8);
+ packet(0x0094,clif->pMoveToKafra,5,19);
+ packet(0x009b,clif->pWantToConnection,9,21,28,32,36);
+ packet(0x009f,clif->pUseItem,9,20);
+ packet(0x00a2,clif->pSolveCharName,7);
+ packet(0x00a7,clif->pWalkToXY,12);
+ packet(0x00f5,clif->pTakeItem,9);
+ packet(0x00f7,clif->pMoveFromKafra,11,22);
+ packet(0x0113,clif->pUseSkillToPos,5,15,29,38);
+ packet(0x0116,clif->pDropItem,8,15);
+ packet(0x0190,clif->pActionRequest,7,17);
#endif
//2006-04-24aSakexe to 2007-01-02aSakexe
#if PACKETVER >= 20060424
- packet(0x023e,8);
- packet(0x0277,84);
- packet(0x0278,2);
- packet(0x0279,2);
- packet(0x027a,-1);
- packet(0x027b,14);
- packet(0x027c,60);
- packet(0x027d,62);
- packet(0x027e,-1);
- packet(0x027f,8);
- packet(0x0280,12);
- packet(0x0281,4);
- packet(0x0282,284);
- packet(0x0283,6);
- packet(0x0284,14);
- packet(0x0285,6);
- packet(0x0286,4);
- packet(0x0287,-1);
- packet(0x0288,6);
- packet(0x0289,8);
- packet(0x028a,18);
- packet(0x028b,-1);
- packet(0x028c,46);
- packet(0x028d,34);
- packet(0x028e,4);
- packet(0x028f,6);
- packet(0x0290,4);
- packet(0x0291,4);
- packet(0x0292,2,clif->pAutoRevive,0);
- packet(0x0293,70);
- packet(0x0294,10);
- packet(0x0295,-1);
- packet(0x0296,-1);
- packet(0x0297,-1);
- packet(0x0298,8);
- packet(0x0299,6);
- packet(0x029a,27);
- packet(0x029c,66);
- packet(0x029d,-1);
- packet(0x029e,11);
- packet(0x029f,3,clif->pmercenary_action,0);
- packet(0x02a0,-1);
- packet(0x02a1,-1);
- packet(0x02a2,8);
+ packet(0x0292,clif->pAutoRevive,0);
+ packet(0x029f,clif->pmercenary_action,0);
#endif
//2007-01-08aSakexe
#if PACKETVER >= 20070108
- packet(0x0072,30,clif->pUseSkillToId,10,14,26);
- packet(0x007e,120,clif->pUseSkillToPosMoreInfo,10,19,23,38,40);
- packet(0x0085,14,clif->pChangeDir,10,13);
- packet(0x0089,11,clif->pTickSend,7);
- packet(0x008c,17,clif->pGetCharNameRequest,13);
- packet(0x0094,17,clif->pMoveToKafra,4,13);
- packet(0x009b,35,clif->pWantToConnection,7,21,26,30,34);
- packet(0x009f,21,clif->pUseItem,7,17);
- packet(0x00a2,10,clif->pSolveCharName,6);
- packet(0x00a7,8,clif->pWalkToXY,5);
- packet(0x00f5,11,clif->pTakeItem,7);
- packet(0x00f7,15,clif->pMoveFromKafra,3,11);
- packet(0x0113,40,clif->pUseSkillToPos,10,19,23,38);
- packet(0x0116,19,clif->pDropItem,11,17);
- packet(0x0190,10,clif->pActionRequest,4,9);
-#endif
-
-//2007-01-22aSakexe
-#if PACKETVER >= 20070122
- packet(0x02a3,18);
- packet(0x02a4,2);
-#endif
-
-//2007-01-29aSakexe
-#if PACKETVER >= 20070129
- packet(0x029b,72);
- packet(0x02a3,-1);
- packet(0x02a4,-1);
- packet(0x02a5,8);
-
-#endif
-
-//2007-02-05aSakexe
-#if PACKETVER >= 20070205
- packet(0x02aa,4);
- packet(0x02ab,36);
- packet(0x02ac,6);
+ packet(0x0072,clif->pUseSkillToId,10,14,26);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,10,19,23,38,40);
+ packet(0x0085,clif->pChangeDir,10,13);
+ packet(0x0089,clif->pTickSend,7);
+ packet(0x008c,clif->pGetCharNameRequest,13);
+ packet(0x0094,clif->pMoveToKafra,4,13);
+ packet(0x009b,clif->pWantToConnection,7,21,26,30,34);
+ packet(0x009f,clif->pUseItem,7,17);
+ packet(0x00a2,clif->pSolveCharName,6);
+ packet(0x00a7,clif->pWalkToXY,5);
+ packet(0x00f5,clif->pTakeItem,7);
+ packet(0x00f7,clif->pMoveFromKafra,3,11);
+ packet(0x0113,clif->pUseSkillToPos,10,19,23,38);
+ packet(0x0116,clif->pDropItem,11,17);
+ packet(0x0190,clif->pActionRequest,4,9);
#endif
//2007-02-12aSakexe
#if PACKETVER >= 20070212
- packet(0x0072,25,clif->pUseSkillToId,6,10,21);
- packet(0x007e,102,clif->pUseSkillToPosMoreInfo,5,9,12,20,22);
- packet(0x0085,11,clif->pChangeDir,7,10);
- packet(0x0089,8,clif->pTickSend,4);
- packet(0x008c,11,clif->pGetCharNameRequest,7);
- packet(0x0094,14,clif->pMoveToKafra,7,10);
- packet(0x009b,26,clif->pWantToConnection,4,9,17,21,25);
- packet(0x009f,14,clif->pUseItem,4,10);
- packet(0x00a2,15,clif->pSolveCharName,11);
- //packet(0x00a7,8,clif->pWalkToXY,5);
- packet(0x00f5,8,clif->pTakeItem,4);
- packet(0x00f7,22,clif->pMoveFromKafra,14,18);
- packet(0x0113,22,clif->pUseSkillToPos,5,9,12,20);
- packet(0x0116,10,clif->pDropItem,5,8);
- packet(0x0190,19,clif->pActionRequest,5,18);
+ packet(0x0072,clif->pUseSkillToId,6,10,21);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,5,9,12,20,22);
+ packet(0x0085,clif->pChangeDir,7,10);
+ packet(0x0089,clif->pTickSend,4);
+ packet(0x008c,clif->pGetCharNameRequest,7);
+ packet(0x0094,clif->pMoveToKafra,7,10);
+ packet(0x009b,clif->pWantToConnection,4,9,17,21,25);
+ packet(0x009f,clif->pUseItem,4,10);
+ packet(0x00a2,clif->pSolveCharName,11);
+ packet(0x00f5,clif->pTakeItem,4);
+ packet(0x00f7,clif->pMoveFromKafra,14,18);
+ packet(0x0113,clif->pUseSkillToPos,5,9,12,20);
+ packet(0x0116,clif->pDropItem,5,8);
+ packet(0x0190,clif->pActionRequest,5,18);
#endif
//2007-05-07aSakexe
#if PACKETVER >= 20070507
- packet(0x01fd,15,clif->pRepairItem,2);
+ packet(0x01fd,clif->pRepairItem,2);
#endif
//2007-02-27aSakexe to 2007-10-02aSakexe
#if PACKETVER >= 20070227
- packet(0x0288,10,clif->pcashshop_buy,2,4,6);
- packet(0x0289,12);
- packet(0x02a6,22);
- packet(0x02a7,22);
- packet(0x02a8,162);
- packet(0x02a9,58);
- packet(0x02ad,8);
- packet(0x02b0,85);
- packet(0x02b1,-1);
- packet(0x02b2,-1);
- packet(0x02b3,107);
- packet(0x02b4,6);
- packet(0x02b5,-1);
- packet(0x02b6,7,clif->pquestStateAck,2,6);
- packet(0x02b7,7);
- packet(0x02b8,22);
- packet(0x02b9,191);
- packet(0x02ba,11,clif->pHotkey,2,4,5,9);
- packet(0x02bb,8);
- packet(0x02bc,6);
- packet(0x02bf,10);
- packet(0x02c0,2);
- packet(0x02c1,-1);
- packet(0x02c2,-1);
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x02c5,30);
- packet(0x02c6,30);
- packet(0x02c7,7,clif->pReplyPartyInvite2,2,6);
- packet(0x02c8,3,clif->pPartyTick,2);
- packet(0x02c9,3);
- packet(0x02ca,3);
- packet(0x02cb,20);
- packet(0x02cc,4);
- packet(0x02cd,26);
- packet(0x02ce,10);
- packet(0x02cf,6);
- packet(0x02d0,-1);
- packet(0x02d1,-1);
- packet(0x02d2,-1);
- packet(0x02d3,4);
- packet(0x02d4,29);
- packet(0x02d5,2);
- packet(0x02d6,6,clif->pViewPlayerEquip,2);
- packet(0x02d7,-1);
- packet(0x02d8,10,clif->p_cz_config,6);
- packet(0x02d9,10);
- packet(0x02da,3);
- packet(0x02db,-1,clif->pBattleChat,2,4);
- packet(0x02dc,-1);
- packet(0x02dd,32);
- packet(0x02de,6);
- packet(0x02df,36);
- packet(0x02e0,34);
-#endif
-
-//2007-10-23aSakexe
-#if PACKETVER >= 20071023
- packet(0x02cb,65);
- packet(0x02cd,71);
-#endif
-
-//2007-11-06aSakexe
-#if PACKETVER >= 20071106
- packet(0x0078,55);
- packet(0x007c,42);
- packet(0x022c,65);
- packet(0x029b,80);
-#endif
-
-//2007-11-13aSakexe
-#if PACKETVER >= 20071113
- packet(0x02e1,33);
-#endif
-
-//2007-11-20aSakexe
-#if PACKETVER >= 20071120
- //packet(0x01df,10 <- ???);
- packet(0x02e2,14);
- packet(0x02e3,25);
- packet(0x02e4,8);
- packet(0x02e5,8);
- packet(0x02e6,6);
-#endif
-
-//2007-11-27aSakexe
-#if PACKETVER >= 20071127
- packet(0x02e7,-1);
+ packet(0x0288,clif->pcashshop_buy,2,4,6);
+ packet(0x02b6,clif->pquestStateAck,2,6);
+ packet(0x02ba,clif->pHotkey,2,4,5,9);
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x02c7,clif->pReplyPartyInvite2,2,6);
+ packet(0x02c8,clif->pPartyTick,2);
+ packet(0x02cf,clif->pMemorialDungeonCommand);
+ packet(0x02d6,clif->pViewPlayerEquip,2);
+ packet(0x02d8,clif->p_cz_config,6);
+ packet(0x02db,clif->pBattleChat,2,4);
#endif
//2008-01-02aSakexe
#if PACKETVER >= 20080102
- packet(0x01df,6,clif->pGMReqAccountName,2);
- packet(0x02e8,-1);
- packet(0x02e9,-1);
- packet(0x02ea,-1);
- packet(0x02eb,13);
- packet(0x02ec,67);
- packet(0x02ed,59);
- packet(0x02ee,60);
- packet(0x02ef,8);
+ packet(0x01df,clif->pGMReqAccountName,2);
#endif
//2008-03-18aSakexe
#if PACKETVER >= 20080318
- packet(0x02bf,-1);
- packet(0x02c0,-1);
- packet(0x02f0,10);
- packet(0x02f1,2,clif->pProgressbar,0);
- packet(0x02f2,2);
-#endif
-
-//2008-03-25bSakexe
-#if PACKETVER >= 20080325
- packet(0x02f3,-1);
- packet(0x02f4,-1);
- packet(0x02f5,-1);
- packet(0x02f6,-1);
- packet(0x02f7,-1);
- packet(0x02f8,-1);
- packet(0x02f9,-1);
- packet(0x02fa,-1);
- packet(0x02fb,-1);
- packet(0x02fc,-1);
- packet(0x02fd,-1);
- packet(0x02fe,-1);
- packet(0x02ff,-1);
- packet(0x0300,-1);
-#endif
-
-//2008-04-01aSakexe
-#if PACKETVER >= 20080401
- packet(0x0301,-1);
- packet(0x0302,-1);
- packet(0x0303,-1);
- packet(0x0304,-1);
- packet(0x0305,-1);
- packet(0x0306,-1);
- packet(0x0307,-1);
- packet(0x0308,-1);
- packet(0x0309,-1);
- packet(0x030a,-1);
- packet(0x030b,-1);
- packet(0x030c,-1);
- packet(0x030d,-1);
- packet(0x030e,-1);
- packet(0x030f,-1);
- packet(0x0310,-1);
- packet(0x0311,-1);
- packet(0x0312,-1);
- packet(0x0313,-1);
- packet(0x0314,-1);
- packet(0x0315,-1);
- packet(0x0316,-1);
- packet(0x0317,-1);
- packet(0x0318,-1);
- packet(0x0319,-1);
- packet(0x031a,-1);
- packet(0x031b,-1);
- packet(0x031c,-1);
- packet(0x031d,-1);
- packet(0x031e,-1);
- packet(0x031f,-1);
- packet(0x0320,-1);
- packet(0x0321,-1);
- packet(0x0322,-1);
- packet(0x0323,-1);
- packet(0x0324,-1);
- packet(0x0325,-1);
- packet(0x0326,-1);
- packet(0x0327,-1);
- packet(0x0328,-1);
- packet(0x0329,-1);
- packet(0x032a,-1);
- packet(0x032b,-1);
- packet(0x032c,-1);
- packet(0x032d,-1);
- packet(0x032e,-1);
- packet(0x032f,-1);
- packet(0x0330,-1);
- packet(0x0331,-1);
- packet(0x0332,-1);
- packet(0x0333,-1);
- packet(0x0334,-1);
- packet(0x0335,-1);
- packet(0x0336,-1);
- packet(0x0337,-1);
- packet(0x0338,-1);
- packet(0x0339,-1);
- packet(0x033a,-1);
- packet(0x033b,-1);
- packet(0x033c,-1);
- packet(0x033d,-1);
- packet(0x033e,-1);
- packet(0x033f,-1);
- packet(0x0340,-1);
- packet(0x0341,-1);
- packet(0x0342,-1);
- packet(0x0343,-1);
- packet(0x0344,-1);
- packet(0x0345,-1);
- packet(0x0346,-1);
- packet(0x0347,-1);
- packet(0x0348,-1);
- packet(0x0349,-1);
- packet(0x034a,-1);
- packet(0x034b,-1);
- packet(0x034c,-1);
- packet(0x034d,-1);
- packet(0x034e,-1);
- packet(0x034f,-1);
- packet(0x0350,-1);
- packet(0x0351,-1);
- packet(0x0352,-1);
- packet(0x0353,-1);
- packet(0x0354,-1);
- packet(0x0355,-1);
- packet(0x0356,-1);
- packet(0x0357,-1);
- packet(0x0358,-1);
- packet(0x0359,-1);
- packet(0x035a,-1);
-#endif
-
-//2008-05-27aSakexe
-#if PACKETVER >= 20080527
- packet(0x035b,-1);
- packet(0x035c,2);
- packet(0x035d,-1);
- packet(0x035e,2);
- packet(0x035f,-1);
- packet(0x0389,-1);
-#endif
-
-//2008-08-20aSakexe
-#if PACKETVER >= 20080820
- packet(0x040c,-1);
- packet(0x040d,-1);
- packet(0x040e,-1);
- packet(0x040f,-1);
- packet(0x0410,-1);
- packet(0x0411,-1);
- packet(0x0412,-1);
- packet(0x0413,-1);
- packet(0x0414,-1);
- packet(0x0415,-1);
- packet(0x0416,-1);
- packet(0x0417,-1);
- packet(0x0418,-1);
- packet(0x0419,-1);
- packet(0x041a,-1);
- packet(0x041b,-1);
- packet(0x041c,-1);
- packet(0x041d,-1);
- packet(0x041e,-1);
- packet(0x041f,-1);
- packet(0x0420,-1);
- packet(0x0421,-1);
- packet(0x0422,-1);
- packet(0x0423,-1);
- packet(0x0424,-1);
- packet(0x0425,-1);
- packet(0x0426,-1);
- packet(0x0427,-1);
- packet(0x0428,-1);
- packet(0x0429,-1);
- packet(0x042a,-1);
- packet(0x042b,-1);
- packet(0x042c,-1);
- packet(0x042d,-1);
- packet(0x042e,-1);
- packet(0x042f,-1);
- packet(0x0430,-1);
- packet(0x0431,-1);
- packet(0x0432,-1);
- packet(0x0433,-1);
- packet(0x0434,-1);
- packet(0x0435,-1);
+ packet(0x02f1,clif->pProgressbar,0);
#endif
//2008-09-10aSakexe
#if PACKETVER >= 20080910
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0439,8,clif->pUseItem,2,4);
-#endif
-
-//2008-11-13aSakexe
-#if PACKETVER >= 20081113
- packet(0x043d,8);
- packet(0x043e,-1);
- packet(0x043f,8);
-#endif
-
-//2008-11-26aSakexe
-#if PACKETVER >= 20081126
- packet(0x01a2,37);
- packet(0x0440,10);
- packet(0x0441,4);
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0439,clif->pUseItem,2,4);
#endif
//2008-12-10aSakexe
#if PACKETVER >= 20081210
- packet(0x0442,-1);
- packet(0x0443,8,clif->pSkillSelectMenu,2,6);
-#endif
-
-//2009-01-14aSakexe
-#if PACKETVER >= 20090114
- packet(0x043f,25);
- packet(0x0444,-1);
- packet(0x0445,10);
-#endif
-
-//2009-02-18aSakexe
-#if PACKETVER >= 20090218
- packet(0x0446,14);
-#endif
-
-//2009-02-25aSakexe
-#if PACKETVER >= 20090225
- packet(0x0448,-1);
-#endif
-
-//2009-03-30aSakexe
-#if PACKETVER >= 20090330
- packet(0x0449,4);
-#endif
-
-//2009-04-08aSakexe
-#if PACKETVER >= 20090408
- packet(0x02a6,-1);
- packet(0x02a7,-1);
- packet(0x044a,6);
+ packet(0x0443,clif->pSkillSelectMenu,2,6);
#endif
//2008-08-27aRagexeRE
#if PACKETVER >= 20080827
- packet(0x0072,22,clif->pUseSkillToId,9,15,18);
- packet(0x007c,44);
- packet(0x007e,105,clif->pUseSkillToPosMoreInfo,10,14,18,23,25);
- packet(0x0085,10,clif->pChangeDir,4,9);
- packet(0x0089,11,clif->pTickSend,7);
- packet(0x008c,14,clif->pGetCharNameRequest,10);
- packet(0x0094,19,clif->pMoveToKafra,3,15);
- packet(0x009b,34,clif->pWantToConnection,7,15,25,29,33);
- packet(0x009f,20,clif->pUseItem,7,20);
- packet(0x00a2,14,clif->pSolveCharName,10);
- packet(0x00a7,9,clif->pWalkToXY,6);
- packet(0x00f5,11,clif->pTakeItem,7);
- packet(0x00f7,17,clif->pMoveFromKafra,3,13);
- packet(0x0113,25,clif->pUseSkillToPos,10,14,18,23);
- packet(0x0116,17,clif->pDropItem,6,15);
- packet(0x0190,23,clif->pActionRequest,9,22);
- packet(0x02e2,20);
- packet(0x02e3,22);
- packet(0x02e4,11);
- packet(0x02e5,9);
+ packet(0x0072,clif->pUseSkillToId,9,15,18);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,10,14,18,23,25);
+ packet(0x0085,clif->pChangeDir,4,9);
+ packet(0x0089,clif->pTickSend,7);
+ packet(0x008c,clif->pGetCharNameRequest,10);
+ packet(0x0094,clif->pMoveToKafra,3,15);
+ packet(0x009b,clif->pWantToConnection,7,15,25,29,33);
+ packet(0x009f,clif->pUseItem,7,20);
+ packet(0x00a2,clif->pSolveCharName,10);
+ packet(0x00a7,clif->pWalkToXY,6);
+ packet(0x00f5,clif->pTakeItem,7);
+ packet(0x00f7,clif->pMoveFromKafra,3,13);
+ packet(0x0113,clif->pUseSkillToPos,10,14,18,23);
+ packet(0x0116,clif->pDropItem,6,15);
+ packet(0x0190,clif->pActionRequest,9,22);
#endif
//2008-09-10aRagexeRE
#if PACKETVER >= 20080910
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0439,8,clif->pUseItem,2,4);
-
-#endif
-
-//2008-11-12aRagexeRE
-#if PACKETVER >= 20081112
- packet(0x043d,8);
- //packet(0x043e,-1);
- packet(0x043f,8);
-#endif
-
-//2008-12-17aRagexeRE
-#if PACKETVER >= 20081217
- packet(0x01a2,37);
- //packet(0x0440,10);
- //packet(0x0441,4);
- //packet(0x0442,8);
- //packet(0x0443,8);
-#endif
-
-//2008-12-17bRagexeRE
-#if PACKETVER >= 20081217
- packet(0x006d,114);
-
-#endif
-
-//2009-01-21aRagexeRE
-#if PACKETVER >= 20090121
- packet(0x043f,25);
- //packet(0x0444,-1);
- //packet(0x0445,10);
-#endif
-
-//2009-02-18aRagexeRE
-#if PACKETVER >= 20090218
- //packet(0x0446,14);
-#endif
-
-//2009-02-26cRagexeRE
-#if PACKETVER >= 20090226
- //packet(0x0448,-1);
-#endif
-
-//2009-04-01aRagexeRE
-#if PACKETVER >= 20090401
- //packet(0x0449,4);
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0439,clif->pUseItem,2,4);
#endif
-//2009-05-14aRagexeRE
-#if PACKETVER >= 20090514
- //packet(0x044b,2);
-#endif
-
-//2009-05-20aRagexeRE
-#if PACKETVER >= 20090520
- //packet(0x07d0,6);
- //packet(0x07d1,2);
- //packet(0x07d2,-1);
- //packet(0x07d3,4);
- //packet(0x07d4,4);
- //packet(0x07d5,4);
- //packet(0x07d6,4);
+#if PACKETVER_MAIN_NUM >= 20090406 || PACKETVER_RE_NUM >= 20090408 || PACKETVER_SAK_NUM >= 20090408 || defined(PACKETVER_ZERO)
+ packet(0x044a,clif->pClientVersion);
#endif
// 2009-05-20aRagexe, 2009-05-20aRagexeRE
#if PACKETVER >= 20090520
// new packets
- packet(0x0447,2,clif->p_cz_blocking_play_cancel); // PACKET_CZ_BLOCKING_PLAY_CANCEL
+ packet(0x0447,clif->p_cz_blocking_play_cancel); // PACKET_CZ_BLOCKING_PLAY_CANCEL
#endif
//2009-06-03aRagexeRE
#if PACKETVER >= 20090603
- packet(0x07d7,8,clif->pPartyChangeOption,2,6,7);
- packet(0x07d8,8);
- packet(0x07d9,254);
- packet(0x07da,6,clif->pPartyChangeLeader,2);
-#endif
-
-//2009-06-10aRagexeRE
-#if PACKETVER >= 20090610
- //packet(0x07db,8);
-#endif
-
-//2009-06-17aRagexeRE
-#if PACKETVER >= 20090617
- packet(0x07d9,268);
- //packet(0x07dc,6);
- //packet(0x07dd,54);
- //packet(0x07de,30);
- //packet(0x07df,54);
-#endif
-
-//2009-07-01aRagexeRE
-#if PACKETVER >= 20090701
- //packet(0x0275,37);
- //packet(0x0276,-1);
-#endif
-
-//2009-07-08aRagexeRE
-#if PACKETVER >= 20090708
- //packet(0x07e0,58);
-#endif
-
-//2009-07-15aRagexeRE
-#if PACKETVER >= 20090715
- packet(0x07e1,15);
-#endif
-
-//2009-08-05aRagexeRE
-#if PACKETVER >= 20090805
- packet(0x07e2,8);
+ packet(0x07d7,clif->pPartyChangeOption,2,6,7);
+ packet(0x07da,clif->pPartyChangeLeader,2);
#endif
//2009-08-18aRagexeRE
#if PACKETVER >= 20090818
- packet(0x07e3,6);
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07e6,8);
-#endif
-
-//2009-08-25aRagexeRE
-#if PACKETVER >= 20090825
- //packet(0x07e6,28);
- packet(0x07e7,5);
-#endif
-
-//2009-09-22aRagexeRE
-#if PACKETVER >= 20090922
- packet(0x07e5,8);
- packet(0x07e6,8);
- packet(0x07e7,32);
- packet(0x07e8,-1);
- packet(0x07e9,5);
-#endif
-
-//2009-09-29aRagexeRE
-#if PACKETVER >= 20090929
- //packet(0x07ea,2);
- //packet(0x07eb,-1);
- //packet(0x07ec,6);
- //packet(0x07ed,8);
- //packet(0x07ee,6);
- //packet(0x07ef,8);
- //packet(0x07f0,4);
- //packet(0x07f2,4);
- //packet(0x07f3,3);
-#endif
-
-//2009-10-06aRagexeRE
-#if PACKETVER >= 20091006
- //packet(0x07ec,8);
- //packet(0x07ed,10);
- //packet(0x07f0,8);
- //packet(0x07f1,15);
- //packet(0x07f2,6);
- //packet(0x07f3,4);
- //packet(0x07f4,3);
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
#endif
//2009-10-27aRagexeRE
#if PACKETVER >= 20091027
- packet(0x07f5,6,clif->pGMFullStrip,2);
- packet(0x07f6,14);
-#endif
-
-//2009-11-03aRagexeRE
-#if PACKETVER >= 20091103
- packet(0x07f7,-1);
- packet(0x07f8,-1);
- packet(0x07f9,-1);
-#endif
-
-//2009-11-17aRagexeRE
-#if PACKETVER >= 20091117
- packet(0x07fa,8);
-
-#endif
-
-//2009-11-24aRagexeRE
-#if PACKETVER >= 20091124
- packet(0x07fb,25);
-#endif
-
-//2009-12-01aRagexeRE
-#if PACKETVER >= 20091201
- //packet(0x07fc,10);
- //packet(0x07fd,-1);
- packet(0x07fe,26);
- //packet(0x07ff,-1);
-#endif
-
-//2009-12-15aRagexeRE
-#if PACKETVER >= 20091215
- packet(0x0800,-1);
- //packet(0x0801,-1);
+ packet(0x07f5,clif->pGMFullStrip,2);
#endif
//2009-12-22aRagexeRE
#if PACKETVER >= 20091222
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4,6); // Booking System
- packet(0x0803,4);
- packet(0x0804,8); // Booking System
- packet(0x0805,-1);
- packet(0x0806,4,clif->pPartyBookingDeleteReq,2);// Booking System
- //packet(0x0807,2);
- packet(0x0808,4); // Booking System
- //packet(0x0809,14);
- //packet(0x080A,50);
- //packet(0x080B,18);
- //packet(0x080C,6);
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4,6); // Booking System
+ packet(0x0806,clif->pPartyBookingDeleteReq,2);// Booking System
#endif
//2009-12-29aRagexeRE
#if PACKETVER >= 20091229
- packet(0x0804,14,clif->pPartyBookingSearchReq,2,4,6,8,12);// Booking System
- packet(0x0806,2,clif->pPartyBookingDeleteReq,0);// Booking System
- packet(0x0807,4);
- packet(0x0808,14,clif->pPartyBookingUpdateReq,2); // Booking System
- packet(0x0809,50);
- packet(0x080A,18);
- packet(0x080B,6);// Booking System
+ packet(0x0804,clif->pPartyBookingSearchReq,2,4,6,8,12);// Booking System
+ packet(0x0806,clif->pPartyBookingDeleteReq,0);// Booking System
+ packet(0x0808,clif->pPartyBookingUpdateReq,2); // Booking System
#endif
//2010-01-05aRagexeRE
#if PACKETVER >= 20100105
- packet(0x0801,-1,clif->pPurchaseReq2,2,4,8,12);
-#endif
-
- //2010-01-26aRagexeRE
-#if PACKETVER >= 20100126
- //packet(0x080C,2);
- //packet(0x080D,3);
- packet(0x080E,14);
+ packet(0x0801,clif->pPurchaseReq2,2,4,8,12);
#endif
- //2010-02-09aRagexeRE
-#if PACKETVER >= 20100209
- //packet(0x07F0,6);
-#endif
-
- //2010-02-23aRagexeRE
-#if PACKETVER >= 20100223
- packet(0x080F,20);
-#endif
-
- //2010-03-03aRagexeRE
+//2010-03-03aRagexeRE
#if PACKETVER >= 20100303
- packet(0x0810,3);
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- //packet(0x0812,86);
- //packet(0x0813,6);
- //packet(0x0814,6);
- //packet(0x0815,-1);
- //packet(0x0817,-1);
- //packet(0x0818,6);
- //packet(0x0819,4);
-#endif
-
- //2010-03-09aRagexeRE
-#if PACKETVER >= 20100309
- packet(0x0813,-1);
- //packet(0x0814,2);
- //packet(0x0815,6);
- packet(0x0816,6);
- packet(0x0818,-1);
- //packet(0x0819,10);
- //packet(0x081A,4);
- //packet(0x081B,4);
- //packet(0x081C,6);
- packet(0x081d,22);
- packet(0x081e,8);
-#endif
-
- //2010-03-23aRagexeRE
-#if PACKETVER >= 20100323
- //packet(0x081F,-1);
-#endif
-
- //2010-04-06aRagexeRE
-#if PACKETVER >= 20100406
- //packet(0x081A,6);
-#endif
-
- //2010-04-13aRagexeRE
-#if PACKETVER >= 20100413
- //packet(0x081A,10);
- packet(0x0820,11);
- packet(0x0821,2);
- //packet(0x0822,9);
- //packet(0x0823,-1);
-#endif
-
- //2010-04-14dRagexeRE
-#if PACKETVER >= 20100414
- //packet(0x081B,8);
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#endif
//2010-04-20aRagexeRE
#if PACKETVER >= 20100420
- packet(0x0812,8);
- packet(0x0814,86);
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x081a,4);
- packet(0x081b,10);
- packet(0x081c,10);
- packet(0x0824,6);
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
#endif
//2010-06-01aRagexeRE
#if PACKETVER >= 20100601
- //packet(0x0825,-1);
- //packet(0x0826,4);
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0836,-1);
- packet(0x0837,3);
- //packet(0x0838,3);
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
#endif
//2010-06-08aRagexeRE
#if PACKETVER >= 20100608
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083A,4); // Search Stalls Feature
- packet(0x083B,2,clif->pCloseSearchStoreInfo,0);
- packet(0x083C,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083D,6);
-#endif
-
-//2010-06-15aRagexeRE
-#if PACKETVER >= 20100615
- //packet(0x083E,26);
-#endif
-
-//2010-06-22aRagexeRE
-#if PACKETVER >= 20100622
- //packet(0x083F,22);
-#endif
-
-//2010-06-29aRagexeRE
-#if PACKETVER >= 20100629
- packet(0x00AA,9);
- //packet(0x07F1,18);
- //packet(0x07F2,8);
- //packet(0x07F3,6);
-#endif
-
-//2010-07-01aRagexeRE
-#if PACKETVER >= 20100701
- packet(0x083A,5);// Search Stalls Feature
-#endif
-
-//2010-07-13aRagexeRE
-#if PACKETVER >= 20100713
- //packet(0x0827,6);
- //packet(0x0828,14);
- //packet(0x0829,6);
- //packet(0x082A,10);
- //packet(0x082B,6);
- //packet(0x082C,14);
- //packet(0x0840,-1);
- //packet(0x0841,19);
-#endif
-
-//2010-07-14aRagexeRE
-#if PACKETVER >= 20100714
- //packet(0x841,4);
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x083B,clif->pCloseSearchStoreInfo,0);
+ packet(0x083C,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
#endif
//2010-08-03aRagexeRE
#if PACKETVER >= 20100803
- packet(0x0839,66);
- packet(0x0842,6,clif->pGMRecall2,2);
- packet(0x0843,6,clif->pGMRemove2,2);
+ packet(0x0842,clif->pGMRecall2,2);
+ packet(0x0843,clif->pGMRemove2,2);
#endif
//2010-11-24aRagexeRE
#if PACKETVER >= 20101124
- packet(0x0288,-1,clif->pcashshop_buy,4,8);
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0856,-1);
- packet(0x0857,-1);
- packet(0x0858,-1);
- packet(0x0859,-1);
-#endif
-
-// 2010-12-21aRagexe
-#if PACKETVER >= 20101221
-// shuffle packets not added
-// new packets
- packet(0x08b1,-1); // ZC_MCSTORE_NOTMOVEITEM_LIST
-#endif
-
-// 2011-01-11aRagexe
-#if PACKETVER >= 20110111
-// shuffle packets not added
-// new packets
- packet(0x08b3,-1); // ZC_SHOWSCRIPT
+ packet(0x0288,clif->pcashshop_buy,4,8);
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
#endif
// 2011-01-25aRagexe
#if PACKETVER >= 20110125
// shuffle packets not added
// new packets
- packet(0x08b4,2); // ZC_START_COLLECTION
- packet(0x08b5,6,clif->pDull,2); // CZ_TRYCOLLECTION
- packet(0x08b6,3); // ZC_TRYCOLLECTION
+ packet(0x08b5,clif->pDull,2); // CZ_TRYCOLLECTION
#endif
// 2011-01-31aRagexe
#if PACKETVER >= 20110131
// shuffle packets not added
// new packets
- packet(0x02f3,-1,clif->pDull); // CZ_IRMAIL_SEND
- packet(0x02f4,3); // ZC_IRMAIL_SEND_RES
- packet(0x02f5,7); // ZC_IRMAIL_NOTIFY
- packet(0x02f6,7,clif->pDull,2); // CZ_IRMAIL_LIST
+ packet(0x02f3,clif->pDull); // CZ_IRMAIL_SEND
+ packet(0x02f6,clif->pDull,2); // CZ_IRMAIL_LIST
#endif
// 2011-02-22aRagexe
#if PACKETVER >= 20110222
// shuffle packets not added
// new packets
- packet(0x08c0,-1); // ZC_ACK_SE_CASH_ITEM_LIST2
- packet(0x08c1,2,clif->pDull); // CZ_MACRO_START
- packet(0x08c2,2,clif->pDull); // CZ_MACRO_STOP
-#endif
-
-// 2011-04-19aRagexe
-#if PACKETVER >= 20110419
-// shuffle packets not added
-// new packets
- packet(0x08c7,-1); // ZC_SKILL_ENTRY3
+ packet(0x08c1,clif->pDull); // CZ_MACRO_START
+ packet(0x08c2,clif->pDull); // CZ_MACRO_STOP
#endif
// 2011-06-14aRagexe
#if PACKETVER >= 20110614
// shuffle packets not added
// new packets
- packet(0x08c8,34); // ZC_NOTIFY_ACT3
- packet(0x08c9,2,clif->pCashShopSchedule,0);
- packet(0x08ca,-1); // ZC_ACK_SCHEDULER_CASHITEM
-#endif
-
-// 2011-06-27aRagexe
-#if PACKETVER >= 20110627
-// shuffle packets not added
-// new packets
- packet(0x08cb,-1); // ZC_PERSONAL_INFOMATION
+ packet(0x08c9,clif->pCashShopSchedule,0);
#endif
//2011-07-18aRagexe (Thanks to Yommy!)
#if PACKETVER >= 20110718
// shuffle packets not added
- packet(0x0844,2,clif->pCashShopOpen,2);/* tell server cashshop window is being open */
- packet(0x084a,2,clif->pCashShopClose,2);/* tell server cashshop window is being closed */
- packet(0x0846,4,clif->pCashShopReqTab,2);
- packet(0x0848,-1,clif->pCashShopBuy,2);
-#endif
-
-// 2011-08-02aRagexe
-#if PACKETVER >= 20110802
-// shuffle packets not added
-// new packets
- packet(0x09dc,2); // unknown
-#endif
-
-// 2011-08-09aRagexe
-#if PACKETVER >= 20110809
-// shuffle packets not added
-// new packets
- packet(0x08cf,10); // ZC_SPIRITS_ATTRIBUTE
- packet(0x08d0,9); // ZC_REQ_WEAR_EQUIP_ACK2
- packet(0x08d1,7); // ZC_REQ_TAKEOFF_EQUIP_ACK2
- packet(0x08d2,10); // ZC_FASTMOVE
-#endif
-
-// 2011-08-16aRagexe
-#if PACKETVER >= 20110816
-// shuffle packets not added
-// new packets
- packet(0x08d3,10); // ZC_SE_CASHSHOP_UPDATE
-#endif
-
-// 2011-09-28aRagexe
-#if PACKETVER >= 20110928
-// shuffle packets not added
-// new packets
- packet(0x08d6,6); // ZC_CLEAR_DIALOG
+ packet(0x0844,clif->pCashShopOpen,2);/* tell server cashshop window is being open */
+ packet(0x084a,clif->pCashShopClose,2);/* tell server cashshop window is being closed */
+ packet(0x0846,clif->pCashShopReqTab,2);
+ packet(0x0848,clif->pCashShopBuy,2);
#endif
//2011-10-05aRagexeRE
#if PACKETVER >= 20111005
- packet(0x0364,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0817,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0366,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0897,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0369,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0838,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0439,8,clif->pUseItem,2,4);
- packet(0x08d7,28,clif->pBGQueueRegister,2);
- packet(0x090a,26,clif->pBGQueueCheckState,2);
- packet(0x08da,26,clif->pBGQueueRevokeReq,2);
- packet(0x08e0,51,clif->pBGQueueBattleBeginAck,2);
+ packet(0x0364,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0817,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0366,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0815,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0893,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0897,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0369,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x08ad,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0838,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0439,clif->pUseItem,2,4);
+ packet(0x08d7,clif->pBGQueueRegister,2);
+ packet(0x090a,clif->pBGQueueCheckState,2);
+ packet(0x08da,clif->pBGQueueRevokeReq,2);
+ packet(0x08e0,clif->pBGQueueBattleBeginAck,2);
#endif
//2011-11-02aRagexe
#if PACKETVER >= 20111102
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0898,5,clif->pHomMenu,4);
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x083c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x02c4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0811,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x890,8);
- packet(0x08a5,18,clif->pPartyBookingRegisterReq,2,4,6);
- packet(0x0835,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a1,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ab,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a2,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0898,clif->pHomMenu,4);
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x088d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x083c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x02c4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0811,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x08a5,clif->pPartyBookingRegisterReq,2,4,6);
+ packet(0x0835,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x08a1,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x08ab,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x08a2,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
#ifndef PACKETVER_RE
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0899,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0892,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0899,clif->pTickSend,2); // CZ_REQUEST_TIME
#endif
#endif
//2012-03-07fRagexeRE
#if PACKETVER >= 20120307
- packet(0x086A,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0887,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0890,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0865,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x02C4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093B,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0863,5,clif->pHomMenu,4);
- packet(0x0861,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0889,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6);
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0884,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0439,8,clif->pUseItem,2,4);
+ packet(0x086A,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0887,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0890,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0865,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x02C4,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x093B,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0369,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0863,clif->pHomMenu,4);
+ packet(0x0861,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0929,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0889,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0870,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6);
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0884,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0439,clif->pUseItem,2,4);
// changed packet sizes
- packet(0x08e2,27); // ZC_NAVIGATION_ACTIVE
#endif
//2012-04-10aRagexeRE
#if PACKETVER >= 20120410
- packet(0x01FD,15,clif->pRepairItem,2);
- packet(0x089C,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0288,-1,clif->pcashshop_buy,4,8);
- packet(0x091C,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094B,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0439,8,clif->pUseItem,2,4);
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0891,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086C,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08A6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x01FD,clif->pRepairItem,2);
+ packet(0x089C,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0961,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0288,clif->pcashshop_buy,4,8);
+ packet(0x091C,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x094B,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0439,clif->pUseItem,2,4);
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0938,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0891,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x086C,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x08A6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0889,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0884,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
#ifndef PACKETVER_RE
- packet(0x091D,18,clif->pPartyBookingRegisterReq,2,4,6);
+ packet(0x091D,clif->pPartyBookingRegisterReq,2,4,6);
#else
- packet(0x08E5,41,clif->pPartyRecruitRegisterReq,2,4);
-#endif
- packet(0x08E6,4);
- packet(0x08E7,10,clif->pPartyRecruitSearchReq,2);
- packet(0x08E8,-1);
- packet(0x08E9,2,clif->pPartyRecruitDeleteReq,2);
- packet(0x08EA,4);
- packet(0x08EB,39,clif->pPartyRecruitUpdateReq,2);
- packet(0x08EC,73);
- packet(0x08ED,43);
- packet(0x08EE,6);
+ packet(0x08E5,clif->pPartyRecruitRegisterReq,2,4);
+#endif
+ packet(0x08E7,clif->pPartyRecruitSearchReq,2);
+ packet(0x08E9,clif->pPartyRecruitDeleteReq,2);
+ packet(0x08EB,clif->pPartyRecruitUpdateReq,2);
#ifdef PARTY_RECRUIT
- packet(0x08EF,6,clif->pDull,2); //bookingignorereq
- packet(0x08F0,6,clif->pDull,2);
- packet(0x08F1,6,clif->pDull,2); //bookingjoinpartyreq
-#endif
- packet(0x08F2,36);
- packet(0x08F3,-1);
- packet(0x08F4,6);
- packet(0x08F5,-1,clif->pDull,2,4); //bookingsummonmember
- packet(0x08F6,22);
- packet(0x08F7,3);
- packet(0x08F8,7);
- packet(0x08F9,6);
+ packet(0x08EF,clif->pDull,2); //bookingignorereq
+ packet(0x08F0,clif->pDull,2);
+ packet(0x08F1,clif->pDull,2); //bookingjoinpartyreq
+#endif
+ packet(0x08F5,clif->pDull,2,4); //bookingsummonmember
#ifdef PARTY_RECRUIT
- packet(0x08F9,6,clif->pDull,2);
+ packet(0x08F9,clif->pDull,2);
#endif
- packet(0x08FA,6);
- packet(0x08FB,6,clif->pDull,2); //bookingcanceljoinparty
- packet(0x0907,5,clif->pMoveItem,2,4);
- packet(0x0908,5);
- packet(0x0977,14);//Monster HP Bar
+ packet(0x08FB,clif->pDull,2); //bookingcanceljoinparty
+ packet(0x0907,clif->pMoveItem,2,4);
#endif
//2012-04-18aRagexeRE [Special Thanks to Judas!]
#if PACKETVER >= 20120418
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08A8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08E5,41,clif->pPartyRecruitRegisterReq,2,4);
- packet(0x0916,26,clif->pGuildInvite2,2);
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x08A8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x08E5,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0916,clif->pGuildInvite2,2);
#endif
// 2012-05-02aRagexeRE
#if PACKETVER >= 20120502
// shuffle packets not added
- packet(0x097d,288); // ZC_ACK_RANKING
- packet(0x097e,12); // ZC_UPDATE_RANKING_POINT
- packet(0x097f,-1); // ZC_SELECTCART
- packet(0x0980,7,clif->pSelectCart); // CZ_SELECTCART
+ packet(0x0980,clif->pSelectCart); // CZ_SELECTCART
#endif
#ifndef PACKETVER_RE
#if PACKETVER >= 20120604
// shuffle packets not added
- packet(0x0861,18,clif->pPartyRecruitRegisterReq,2,4,6);
+ packet(0x0861,clif->pPartyRecruitRegisterReq,2,4,6);
#endif
#endif
-//2012-06-18aRagexeRE
-#if PACKETVER >= 20120618
-// shuffle packets not added
- packet(0x0983,29);
-#endif
-
// ========== 2012-07-02aRagexeRE =============
// - 2012-07-02 is NOT STABLE.
// - The packets are kept here for reference, DONT USE THEM.
#if PACKETVER >= 20120702
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0861,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0862,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0960,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
-#endif
-
-//2012-07-02
-#if PACKETVER >= 20120702
-// new packets
- packet(0x098a, -1); // ZC_CLANINFO
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0364,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x085a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0861,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0862,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0863,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0886,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x089f,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x094a,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0953,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0960,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
#endif
//2012-07-10
#if PACKETVER >= 20120710
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
#endif
//2012-07-16aRagExe (special thanks to Yommy/Frost!)
#if PACKETVER >= 20120716
- packet(0x0879,18,clif->pPartyBookingRegisterReq,2,4,6);
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0439,8,clif->pUseItem,2,4);
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0940,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0879,clif->pPartyBookingRegisterReq,2,4,6);
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0819,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0439,clif->pUseItem,2,4);
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0940,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0811,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
//2012-07-16aRagExe
#if PACKETVER >= 20120716
// new packets
- packet(0x0988, 6); // ZC_NOTIFY_CLAN_CONNECTINFO
- packet(0x0989, 2); // ZC_ACK_CLAN_LEAVE
- packet(0x098d, -1, clif->pClanMessage, 2, 4); // CZ_CLAN_CHAT
- packet(0x098e, -1); // ZC_NOTIFY_CLAN_CHAT
+ packet(0x098d,clif->pClanMessage,2,4); // CZ_CLAN_CHAT
#endif
// 2012-09-25aRagexe
#if PACKETVER >= 20120925
// new packets (not all)
- packet(0x0998,8,clif->pEquipItem,2,4);
-#endif
-
-// 2013-02-06aRagexe
-#if PACKETVER >= 20130206
-// new packets
- packet(0x09a4,18); // ZC_DISPATCH_TIMING_INFO_CHN
-// changed packet sizes
+ packet(0x0998,clif->pEquipItem,2,4);
#endif
// 2013-03-06aRagexe
#if PACKETVER >= 20130306
// new packets
- packet(0x09a6,12); // ZC_BANKING_CHECK
- packet(0x09a7,14,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_DEPOSIT
- packet(0x09a8,4); // ZC_ACK_BANKING_DEPOSIT
- packet(0x09a9,14,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_WITHDRAW
- packet(0x09aa,4); // ZC_ACK_BANKING_WITHDRAW
+ packet(0x09a7,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_DEPOSIT
+ packet(0x09a9,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_WITHDRAW
// changed packet sizes
#endif
// 2013-03-13aRagexe
#if PACKETVER >= 20130313
// new packets
- packet(0x09ab,-1,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_CHECK
- packet(0x09ac,20,clif->pDull/*,XXX*/); // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ad,6); // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ae,-1,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
- packet(0x09af,-1); // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
- packet(0x09b0,8,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b1,6); // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b2,-1); // ZC_NOTIFY_BARGAIN_SALE_SELLING
+ packet(0x09ab,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_CHECK
+ packet(0x09ac,clif->pDull/*,XXX*/); // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
// changed packet sizes
#endif
//2013-03-20Ragexe (Judas + Yommy)
#if PACKETVER >= 20130320
// Shuffle Start
- packet(0x088E,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089B,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0881,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0363,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0933,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0438,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08AC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085A,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094C,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092E,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094E,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0922,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x035F,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0938,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x088E,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x089B,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0881,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0363,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0933,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0438,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x08AC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x085A,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x094C,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x092E,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x094E,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0922,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x035F,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0938,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x085D,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x085D,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x085D,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x085D,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0868,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086D,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086F,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093F,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0890,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x095a,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0868,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x086D,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x086F,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x093F,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0890,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x095a,clif->pDull); // CZ_JOIN_BATTLE_FIELD
// Shuffle End
// New Packets (wrong version or packet not exists)
- packet(0x099f,24);
// New Packets End
#endif
#if PACKETVER >= 20130320
// new packets
// changed packet sizes
- packet(0x09a7,10,clif->pBankDeposit,2,4,6); // CZ_REQ_BANKING_DEPOSIT
- packet(0x09a8,12); // ZC_ACK_BANKING_DEPOSIT
- packet(0x09a9,10,clif->pBankWithdraw,2,4,6); // CZ_REQ_BANKING_WITHDRAW
- packet(0x09aa,12); // ZC_ACK_BANKING_WITHDRAW
- packet(0x09ab,6,clif->pBankCheck,2,4); // CZ_REQ_BANKING_CHECK
+ packet(0x09a7,clif->pBankDeposit,2,4,6); // CZ_REQ_BANKING_DEPOSIT
+ packet(0x09a9,clif->pBankWithdraw,2,4,6); // CZ_REQ_BANKING_WITHDRAW
+ packet(0x09ab,clif->pBankCheck,2,4); // CZ_REQ_BANKING_CHECK
#endif
// 2013-03-27bRagexe
#if PACKETVER >= 20130327
// new packets
- packet(0x09ac,-1,clif->pDull/*,XXX*/); // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ad,10); // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ae,17,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
- packet(0x09af,4); // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
- packet(0x09b0,8,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b1,4); // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b2,6); // ZC_NOTIFY_BARGAIN_SALE_SELLING
- packet(0x09b3,6); // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+ packet(0x09ac,clif->pDull/*,XXX*/); // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
// changed packet sizes
#endif
//2013-05-15aRagexe (Shakto)
#if PACKETVER >= 20130515
// Shuffle Start
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08A1,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0944,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08AC,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x08A1,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0944,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x08AC,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x092D,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x092D,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x092D,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x092D,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0963,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093E,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0862,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x08aa,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0963,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0947,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x093E,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0862,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x08aa,clif->pDull); // CZ_JOIN_BATTLE_FIELD
// Shuffle End
#endif
//2013-05-22Ragexe (Shakto)
#if PACKETVER >= 20130522
// Shuffle Start
- packet(0x08A2,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07EC,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095E,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089C,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08A3,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087E,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0964,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08A6,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x093E,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08AA,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095B,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086E,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x08A2,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x095C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x07EC,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x095E,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x089C,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x08A3,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x087E,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0964,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x08A6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x093E,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x08AA,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x095B,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x086E,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x089B,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x089B,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x089B,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x089B,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x086A,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08A9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088E,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x0965,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x086A,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x08A9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x088E,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x08ac,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0965,clif->pDull); // CZ_JOIN_BATTLE_FIELD
// Shuffle End
#endif
//2013-05-29Ragexe (Shakto)
#if PACKETVER >= 20130529
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0876,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08A7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0938,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085E,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0937,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085A,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0936,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0876,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x08A7,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0938,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x085E,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0937,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x085A,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0918,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0936,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0874,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0874,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0874,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0874,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08A8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x023B,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x088e,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x08A8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x023B,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0888,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x088e,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
//2013-06-05Ragexe (Shakto)
#if PACKETVER >= 20130605
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0365,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0883,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x097C,4,clif->pRanklist);
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0883,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x097C,clif->pRanklist);
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-06-12Ragexe (Shakto)
#if PACKETVER >= 20130612
// most shuffle packets used from 20130605
- packet(0x087E,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093A,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0964,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x087E,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x093A,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0964,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
#endif
//2013-06-18Ragexe (Shakto)
#if PACKETVER >= 20130618
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0951,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088E,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08A6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0936,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096A,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094F,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0890,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0363,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085A,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0951,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x088E,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x08A6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0936,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x096A,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x094F,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0890,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0363,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x085A,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0932,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x08A7,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x08A7,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x08A7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x08A7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0942,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095B,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x02C4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0942,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x095B,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x02C4,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0878,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x087a,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
//2013-06-26Ragexe (Shakto)
#if PACKETVER >= 20130626
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094D,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088B,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0817,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x094D,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x088B,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0817,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0894,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0894,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0894,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x08A5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088C,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0895,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08AB,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0860,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x08A5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x088C,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0895,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x08AB,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0860,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x088f,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-07-03Ragexe (Shakto)
#if PACKETVER >= 20130703
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0202,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0202,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0365,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094A,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0360,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x094A,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
// 2013-04-17aRagexe
#if PACKETVER >= 20130417
// new packets
- packet(0x09b4,6,clif->pDull/*,XXX*/); // CZ_OPEN_BARGAIN_SALE_TOOL
- packet(0x09b5,2); // ZC_OPEN_BARGAIN_SALE_TOOL
- packet(0x09b6,6,clif->pBankOpen,2,4); // CZ_REQ_OPEN_BANKING
- packet(0x09b7,4); // ZC_ACK_OPEN_BANKING
- packet(0x09b8,6,clif->pBankClose,2,4); // CZ_REQ_CLOSE_BANKING
- packet(0x09b9,4); // ZC_ACK_CLOSE_BANKING
+ packet(0x09b4,clif->pDull/*,XXX*/); // CZ_OPEN_BARGAIN_SALE_TOOL
+ packet(0x09b6,clif->pBankOpen,2,4); // CZ_REQ_OPEN_BANKING
+ packet(0x09b8,clif->pBankClose,2,4); // CZ_REQ_CLOSE_BANKING
// changed packet sizes
#endif
// 2013-04-24aRagexe
#if PACKETVER >= 20130424
// new packets
- packet(0x09ba,6,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_GUILD_STORAGE
- packet(0x09bb,4); // ZC_ACK_OPEN_GUILD_STORAGE
- packet(0x09bc,6,clif->pDull/*,XXX*/); // CZ_CLOSE_BARGAIN_SALE_TOOL
- packet(0x09bd,2); // ZC_CLOSE_BARGAIN_SALE_TOOL
+ packet(0x09ba,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_GUILD_STORAGE
+ packet(0x09bc,clif->pDull/*,XXX*/); // CZ_CLOSE_BARGAIN_SALE_TOOL
// changed packet sizes
#endif
// 2013-05-02aRagexe
#if PACKETVER >= 20130502
// new packets
- packet(0x09be,6,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_GUILD_STORAGE
- packet(0x09bf,4); // ZC_ACK_CLOSE_GUILD_STORAGE
-// changed packet sizes
- packet(0x09bb,6); // ZC_ACK_OPEN_GUILD_STORAGE
-#endif
-
-// 2013-05-15aRagexe
-#if PACKETVER >= 20130515
-// new packets
- packet(0x09c0,11); // ZC_ACTION_MOVE
- packet(0x09c1,11); // ZC_C_MARKERINFO
+ packet(0x09be,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_GUILD_STORAGE
// changed packet sizes
- packet(0x09a8,16); // ZC_ACK_BANKING_DEPOSIT
- packet(0x09aa,16); // ZC_ACK_BANKING_WITHDRAW
#endif
// 2013-05-29Ragexe
#if PACKETVER >= 20130529
// new packets
- packet(0x09c3,8,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+ packet(0x09c3,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
// changed packet sizes
#endif
-// 2013-06-05Ragexe
-#if PACKETVER >= 20130605
-// new packets
- packet(0x09c4,8); // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
-#endif
-
-// 2013-06-18aRagexe
-#if PACKETVER >= 20130618
-// new packets
- packet(0x09ca,23); // ZC_SKILL_ENTRY5
-// changed packet sizes
-#endif
-
-// 2013-07-17cRagexe
-#if PACKETVER >= 20130717
-// new packets
- packet(0x09cb,17); // ZC_USE_SKILL2
- packet(0x09cc,-1); // ZC_SECRETSCAN_DATA
-// changed packet sizes
- packet(0x09c1,10); // ZC_C_MARKERINFO
-#endif
-
//2013-08-07Ragexe (Shakto)
#if PACKETVER >= 20130807
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0365,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
-#endif
-
-// 2013-08-07aRagexe
-#if PACKETVER >= 20130807
-// new packets
- packet(0x09cd,8); // ZC_MSG_COLOR
-// changed packet sizes
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-08-14aRagexe - Themon
#if PACKETVER >= 20130814
- packet(0x0874,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0947,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093A,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088A,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088C,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095F,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0873,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0962,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0937,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0923,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094E,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0936,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0874,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0947,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x093A,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x088A,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x088C,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x095F,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0873,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0962,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0937,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0923,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x094E,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0936,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0365,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0959,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0959,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x08A4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0815,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x0896,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x08A4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0815,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0896,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
// 2013-08-14aRagexe
#if PACKETVER >= 20130814
// new packets
- packet(0x09ce,102,clif->pGM_Monster_Item,2); // CZ_ITEM_CREATE_EX
- packet(0x09cf,-1); // ZC_NPROTECTGAMEGUARDCSAUTH
- packet(0x09d0,-1,clif->pDull/*,XXX*/); // CZ_NPROTECTGAMEGUARDCSAUTH
-// changed packet sizes
-#endif
-
-// 2013-08-21bRagexe
-#if PACKETVER >= 20130821
-// new packets
- packet(0x09d1,14); // ZC_PROGRESS_ACTOR
+ packet(0x09ce,clif->pGM_Monster_Item,2); // CZ_ITEM_CREATE_EX
+ packet(0x09d0,clif->pDull/*,XXX*/); // CZ_NPROTECTGAMEGUARDCSAUTH
// changed packet sizes
#endif
// 2013-08-28bRagexe
#if PACKETVER >= 20130828
// new packets
- packet(0x09d2,-1); // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
- packet(0x09d3,-1); // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
// changed packet sizes
- packet(0x09ba,2,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_GUILD_STORAGE
- packet(0x09be,2,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_GUILD_STORAGE
-#endif
-
-// 2013-09-04aRagexe
-#if PACKETVER >= 20130904
-// new packets
-// changed packet sizes
- packet(0x09ca,-1); // ZC_SKILL_ENTRY5
+ packet(0x09ba,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_GUILD_STORAGE
+ packet(0x09be,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_GUILD_STORAGE
#endif
// 2013-09-11aRagexe
#if PACKETVER >= 20130911
// new packets
- packet(0x09d4,2,clif->pNPCShopClosed); // CZ_NPC_TRADE_QUIT
- packet(0x09d5,-1); // ZC_NPC_MARKET_OPEN
- packet(0x09d6,-1,clif->pNPCMarketPurchase); // CZ_NPC_MARKET_PURCHASE
- packet(0x09d7,-1); // ZC_NPC_MARKET_PURCHASE_RESULT
- packet(0x09d8,2,clif->pNPCMarketClosed); // CZ_NPC_MARKET_CLOSE
- packet(0x09d9,2,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
- packet(0x09da,2); // ZC_ACK_GUILDSTORAGE_LOG
-// changed packet sizes
-#endif
-
-// 2013-09-25aRagexe
-#if PACKETVER >= 20130925
-// new packets
+ packet(0x09d4,clif->pNPCShopClosed); // CZ_NPC_TRADE_QUIT
+ packet(0x09d6,clif->pNPCMarketPurchase); // CZ_NPC_MARKET_PURCHASE
+ packet(0x09d8,clif->pNPCMarketClosed); // CZ_NPC_MARKET_CLOSE
+ packet(0x09d9,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
// changed packet sizes
- packet(0x09da,10); // ZC_ACK_GUILDSTORAGE_LOG
#endif
// 2013-10-02aRagexe
#if PACKETVER >= 20131002
// new packets
// changed packet sizes
- packet(0x09d9,4,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
- packet(0x09da,-1); // ZC_ACK_GUILDSTORAGE_LOG
+ packet(0x09d9,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
#endif
// 2013-10-16aRagexe
#if PACKETVER >= 20131016
// new packets
// changed packet sizes
- packet(0x09d9,6,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
+ packet(0x09d9,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
#endif
// 2013-10-23aRagexe
#if PACKETVER >= 20131023
// new packets
- packet(0x09db,-1); // ZC_NOTIFY_MOVEENTRY10
- packet(0x09dc,-1); // ZC_NOTIFY_NEWENTRY10
- packet(0x09dd,-1); // ZC_NOTIFY_STANDENTRY10
// changed packet sizes
- packet(0x09d9,4,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
-#endif
-
-// 2013-10-30aRagexe
-#if PACKETVER >= 20131030
-// new packets
- packet(0x09de,-1); // ZC_WHISPER02
- packet(0x09df,7); // ZC_ACK_WHISPER02
- packet(0x09e0,-1); // SC_LOGIN_ANSWER_WITH_ID
+ packet(0x09d9,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
#endif
// 2013-11-06aRagexe
#if PACKETVER >= 20131106
// new packets
- packet(0x09e1,8,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
- packet(0x09e2,8,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
- packet(0x09e3,8,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
- packet(0x09e4,8,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
-// changed packet sizes
-#endif
-
-// 2013-11-20dRagexe
-#if PACKETVER >= 20131120
-// new packets
- packet(0x09e5,14); // ZC_DELETEITEM_FROM_MCSTORE2
- packet(0x09e6,18); // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+ packet(0x09e1,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+ packet(0x09e2,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+ packet(0x09e3,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+ packet(0x09e4,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
// changed packet sizes
#endif
-// 2013-11-27bRagexe
-#if PACKETVER >= 20131127
-// new packets
-// changed packet sizes
- packet(0x09e5,18); // ZC_DELETEITEM_FROM_MCSTORE2
- packet(0x09e6,22); // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
-#endif
-
// 2013-12-11dRagexe
#if PACKETVER >= 20131211
// new packets
- packet(0x09e7,2); // ZC_NOTIFY_UNREAD_RODEX
- packet(0x09e8,18,clif->pDull/*,XXX*/); // CZ_OPEN_RODEXBOX
- packet(0x09e9,2,clif->pRodexCloseMailbox); // CZ_CLOSE_RODEXBOX
- packet(0x09ed,-1); // ZC_ACK_SEND_RODEX
- packet(0x09ee,-1,clif->pDull/*,XXX*/); // CZ_REQ_NEXT_RODEX
+ packet(0x09e8,clif->pDull/*,XXX*/); // CZ_OPEN_RODEXBOX
+ packet(0x09e9,clif->pRodexCloseMailbox); // CZ_CLOSE_RODEXBOX
+ packet(0x09ee,clif->pDull/*,XXX*/); // CZ_REQ_NEXT_RODEX
// changed packet sizes
#endif
// 2013-12-18bRagexe - Yommy
#if PACKETVER >= 20131218
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0947,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x022D,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092F,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08AB,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085C,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0947,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x022D,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x092F,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x08AB,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0811,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x085C,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x087b,clif->pDull); // CZ_GANGSI_RANK
#endif
// 2013-12-18bRagexe
#if PACKETVER >= 20131218
// new packets
- packet(0x09ea,10,clif->pDull/*,XXX*/); // CZ_REQ_READ_RODEX
- packet(0x09eb,14); // ZC_ACK_READ_RODEX
- packet(0x09ef,11,clif->pRodexRefreshMaillist); // CZ_REQ_REFRESH_RODEX
- packet(0x09f0,-1); // ZC_ACK_RODEX_LIST
- packet(0x09f5,11,clif->pRodexDeleteMail); // CZ_REQ_DELETE_RODEX
- packet(0x09f6,11); // ZC_ACK_DELETE_RODEX
+ packet(0x09ea,clif->pDull/*,XXX*/); // CZ_REQ_READ_RODEX
+ packet(0x09ef,clif->pRodexRefreshMaillist); // CZ_REQ_REFRESH_RODEX
+ packet(0x09f5,clif->pRodexDeleteMail); // CZ_REQ_DELETE_RODEX
// changed packet sizes
- packet(0x09e8,10,clif->pDull/*,XXX*/); // CZ_OPEN_RODEXBOX
- packet(0x09ee,11,clif->pRodexNextMaillist); // CZ_REQ_NEXT_RODEX
+ packet(0x09e8,clif->pDull/*,XXX*/); // CZ_OPEN_RODEXBOX
+ packet(0x09ee,clif->pRodexNextMaillist); // CZ_REQ_NEXT_RODEX
#endif
// 2013-12-23cRagexe - Yommy
#if PACKETVER >= 20131223
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08A4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x08A4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
// 2013-12-23bRagexe
#if PACKETVER >= 20131223
// new packets
// changed packet sizes
- packet(0x09ea,11,clif->pRodexReadMail); // CZ_REQ_READ_RODEX
- packet(0x09eb,24); // ZC_ACK_READ_RODEX
+ packet(0x09ea,clif->pRodexReadMail); // CZ_REQ_READ_RODEX
#endif
// 2013-12-30aRagexe - Yommy
#if PACKETVER >= 20131230
- packet(0x0871,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x02C4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035F,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094A,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092A,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0968,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091E,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x096A,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0926,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087B,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0369,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093D,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087F,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0969,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094C,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091F,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x022D,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089C,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08A9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0943,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091D,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087e,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x093e,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0871,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x02C4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x035F,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x094A,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x092A,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0968,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x091E,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x096A,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0926,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x087B,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0369,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x093D,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x087F,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0969,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x094C,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x091F,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022D,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x089C,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x08A9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0943,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x091D,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x087e,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x093e,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
// 2013-12-30aRagexe
#if PACKETVER >= 20131230
// new packets
- packet(0x09ec,-1,clif->pRodexSendMail); // CZ_REQ_SEND_RODEX
- packet(0x09ed,3); // ZC_ACK_SEND_RODEX
- packet(0x09f7,75); // ZC_PROPERTY_HOMUN_2
+ packet(0x09ec,clif->pRodexSendMail); // CZ_REQ_SEND_RODEX
// changed packet sizes
- packet(0x09eb,23); // ZC_ACK_READ_RODEX
#endif
// 2014 Packet Data
@@ -3015,984 +1652,198 @@ packet(0x96e,-1,clif->ackmergeitems);
// 2014-01-15cRagexeRE
#if PACKETVER >= 20140115
// new packets
- packet(0x09f1,10,clif->pDull/*,XXX*/); // CZ_REQ_ZENY_FROM_RODEX
- packet(0x09f2,3); // ZC_ACK_ZENY_FROM_RODEX
- packet(0x09f3,15,clif->pDull/*,XXX*/); // CZ_REQ_ITEM_FROM_RODEX
- packet(0x09f4,12); // ZC_ACK_ITEM_FROM_RODEX
- packet(0x09f8,-1); // ZC_ALL_QUEST_LIST3
- packet(0x09f9,131); // ZC_ADD_QUEST_EX
- packet(0x09fa,-1); // ZC_UPDATE_MISSION_HUNT_EX
+ packet(0x09f1,clif->pDull/*,XXX*/); // CZ_REQ_ZENY_FROM_RODEX
+ packet(0x09f3,clif->pDull/*,XXX*/); // CZ_REQ_ITEM_FROM_RODEX
// changed packet sizes
- packet(0x09eb,-1); // ZC_ACK_READ_RODEX
#endif
// 2014-01-22aRagexeRE
#if PACKETVER >= 20140122
// new packets
- packet(0x09fb,-1,clif->pPetEvolution); // CZ_PET_EVOLUTION
- packet(0x09fc,6); // ZC_PET_EVOLUTION_RESULT
- packet(0x09fd,-1); // ZC_NOTIFY_MOVEENTRY11
- packet(0x09fe,-1); // ZC_NOTIFY_NEWENTRY11
- packet(0x09ff,-1); // ZC_NOTIFY_STANDENTRY11
+ packet(0x09fb,clif->pPetEvolution); // CZ_PET_EVOLUTION
// changed packet sizes
- packet(0x09f9,143); // ZC_ADD_QUEST_EX
#endif
// 2014-01-29bRagexeRE
#if PACKETVER >= 20140129
// new packets
- packet(0x0a00,269); // ZC_SHORTCUT_KEY_LIST_V3
- packet(0x0a01,3,clif->pHotkeyRowShift,2); // CZ_SHORTCUTKEYBAR_ROTATE
-// Warning hercules using this packets for items manipulation. In RagexeRE from 20140129 and before 20140305, this actions broken.
-#ifdef PACKETVER_RE
-// changed packet sizes
- packet(0x01c4,43); // ZC_ADD_ITEM_TO_STORE2
- packet(0x01c5,43); // ZC_ADD_ITEM_TO_CART2
- packet(0x080f,41); // ZC_ADD_EXCHANGE_ITEM2
- packet(0x0990,52); // ZC_ITEM_PICKUP_ACK_V5
-#endif // PACKETVER_RE
+ packet(0x0a01,clif->pHotkeyRowShift,2); // CZ_SHORTCUTKEYBAR_ROTATE
#endif
// 2014-02-12aRagexeRE
#if PACKETVER >= 20140212
// new packets
- packet(0x0a02,4); // ZC_DRESSROOM_OPEN
// changed packet sizes
- packet(0x09e8,11,clif->pRodexOpenMailbox); // CZ_OPEN_RODEXBOX
-#endif
-
-// 2014-02-19aRagexeRE
-#if PACKETVER >= 20140219
-// Warning hercules using this packets for items manipulation. In RagexeRE from 20140129 and before 20140305, this actions broken.
-#ifdef PACKETVER_RE
-// changed packet sizes
- packet(0x01c4,53); // ZC_ADD_ITEM_TO_STORE2
- packet(0x01c5,53); // ZC_ADD_ITEM_TO_CART2
- packet(0x080f,51); // ZC_ADD_EXCHANGE_ITEM2
- packet(0x0990,62); // ZC_ITEM_PICKUP_ACK_V5
-#endif // PACKETVER_RE
+ packet(0x09e8,clif->pRodexOpenMailbox); // CZ_OPEN_RODEXBOX
#endif
// 2014-02-26aRagexeRE
#if PACKETVER >= 20140226
// new packets
- packet(0x0a03,14,clif->pDull/*,XXX*/); // CZ_REQ_CANCEL_WRITE_RODEX
- packet(0x0a04,11,clif->pDull/*,XXX*/); // CZ_REQ_ADD_ITEM_RODEX
- packet(0x0a05,6); // ZC_ACK_ADD_ITEM_RODEX
- packet(0x0a06,5,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_RODEX_ITEM
+ packet(0x0a03,clif->pDull/*,XXX*/); // CZ_REQ_CANCEL_WRITE_RODEX
+ packet(0x0a04,clif->pDull/*,XXX*/); // CZ_REQ_ADD_ITEM_RODEX
+ packet(0x0a06,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_RODEX_ITEM
// changed packet sizes
#endif
// 2014-03-05aRagexeRE
#if PACKETVER >= 20140305
// new packets
- packet(0x0a07,4); // ZC_ACK_REMOVE_RODEX_ITEM
- packet(0x0a08,5,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_WRITE_RODEX
- packet(0x0a09,50); // ZC_ADD_EXCHANGE_ITEM3
- packet(0x0a0a,52); // ZC_ADD_ITEM_TO_STORE3
- packet(0x0a0b,52); // ZC_ADD_ITEM_TO_CART3
- packet(0x0a0c,61); // ZC_ITEM_PICKUP_ACK_V6
- packet(0x0a0d,4); // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+ packet(0x0a08,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_WRITE_RODEX
// changed packet sizes
-#ifdef PACKETVER_RE
- packet(0x01c4,22); // ZC_ADD_ITEM_TO_STORE2
- packet(0x01c5,22); // ZC_ADD_ITEM_TO_CART2
- packet(0x080f,20); // ZC_ADD_EXCHANGE_ITEM2
- packet(0x0990,31); // ZC_ITEM_PICKUP_ACK_V5
-#endif // PACKETVER_RE
- packet(0x09f3,10,clif->pDull/*,XXX*/); // CZ_REQ_ITEM_FROM_RODEX
- packet(0x09f4,3); // ZC_ACK_ITEM_FROM_RODEX
-#endif
-
-// 2014-03-12bRagexeRE
-#if PACKETVER >= 20140312
-// new packets
- packet(0x0a0e,14); // ZC_BATTLEFIELD_NOTIFY_HP2
-// changed packet sizes
- packet(0x0a09,45); // ZC_ADD_EXCHANGE_ITEM3
- packet(0x0a0a,47); // ZC_ADD_ITEM_TO_STORE3
- packet(0x0a0b,47); // ZC_ADD_ITEM_TO_CART3
- packet(0x0a0c,56); // ZC_ITEM_PICKUP_ACK_V6
- packet(0x0a0d,-1); // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+ packet(0x09f3,clif->pDull/*,XXX*/); // CZ_REQ_ITEM_FROM_RODEX
#endif
// 2014-03-26cRagexeRE
#if PACKETVER >= 20140326
// changed packet sizes
- packet(0x09f1,11,clif->pRodexRequestZeny); // CZ_REQ_ZENY_FROM_RODEX
- packet(0x09f2,4); // ZC_ACK_ZENY_FROM_RODEX
- packet(0x09f3,11,clif->pRodexRequestItems); // CZ_REQ_ITEM_FROM_RODEX
- packet(0x09f4,4); // ZC_ACK_ITEM_FROM_RODEX
- packet(0x0a03,2,clif->pRodexCancelWriteMail); // CZ_REQ_CANCEL_WRITE_RODEX
- packet(0x0a07,6); // ZC_ACK_REMOVE_RODEX_ITEM
- packet(0x0a08,7,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_WRITE_RODEX
-#endif
-
-// 2014-04-02eRagexeRE
-#if PACKETVER >= 20140402
-// new packets
- packet(0x0a0f,-1); // ZC_CART_ITEMLIST_EQUIP_V6
- packet(0x0a10,-1); // ZC_STORE_ITEMLIST_EQUIP_V6
- packet(0x0a11,-1); // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
-// changed packet sizes
-#endif
-
-// 2014-04-09aRagexeRE
-#if PACKETVER >= 20140409
-// changed packet sizes
- packet(0x09f2,12); // ZC_ACK_ZENY_FROM_RODEX
- packet(0x09f4,12); // ZC_ACK_ITEM_FROM_RODEX
+ packet(0x09f1,clif->pRodexRequestZeny); // CZ_REQ_ZENY_FROM_RODEX
+ packet(0x09f3,clif->pRodexRequestItems); // CZ_REQ_ITEM_FROM_RODEX
+ packet(0x0a03,clif->pRodexCancelWriteMail); // CZ_REQ_CANCEL_WRITE_RODEX
+ packet(0x0a08,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_WRITE_RODEX
#endif
// 2014-04-16aRagexeRE
#if PACKETVER >= 20140416
// new packets
- packet(0x0a04,6,clif->pRodexAddItem); // CZ_REQ_ADD_ITEM_RODEX
- packet(0x0a12,27); // ZC_ACK_OPEN_WRITE_RODEX
- packet(0x0a13,2,clif->pRodexCheckName); // CZ_CHECK_RECEIVE_CHARACTER_NAME
+ packet(0x0a04,clif->pRodexAddItem); // CZ_REQ_ADD_ITEM_RODEX
+ packet(0x0a13,clif->pRodexCheckName); // CZ_CHECK_RECEIVE_CHARACTER_NAME
// changed packet sizes
- packet(0x0a05,48); // ZC_ACK_ADD_ITEM_RODEX
- packet(0x0a06,6,clif->pRodexRemoveItem); // CZ_REQ_REMOVE_RODEX_ITEM
- packet(0x0a07,7); // ZC_ACK_REMOVE_RODEX_ITEM
- packet(0x0a08,26,clif->pRodexOpenWriteMail); // CZ_REQ_OPEN_WRITE_RODEX
+ packet(0x0a06,clif->pRodexRemoveItem); // CZ_REQ_REMOVE_RODEX_ITEM
+ packet(0x0a08,clif->pRodexOpenWriteMail); // CZ_REQ_OPEN_WRITE_RODEX
#endif
// 2014-04-23aRagexeRE
#if PACKETVER >= 20140423
// new packets
- packet(0x0a14,6); // ZC_CHECK_RECEIVE_CHARACTER_NAME
// changed packet sizes
- packet(0x0a13,26,clif->pRodexCheckName); // CZ_CHECK_RECEIVE_CHARACTER_NAME
+ packet(0x0a13,clif->pRodexCheckName); // CZ_CHECK_RECEIVE_CHARACTER_NAME
#endif
// 2014-04-30aRagexeRE
#if PACKETVER >= 20140430
// new packets
- packet(0x0a15,11); // ZC_GOLDPCCAFE_POINT
- packet(0x0a16,26,clif->pDull/*,XXX*/); // CZ_DYNAMICNPC_CREATE_REQUEST
- packet(0x0a17,6); // ZC_DYNAMICNPC_CREATE_RESULT
-#endif
-
-// 2014-05-08bRagexeRE
-#if PACKETVER >= 20140508
-// changed packet sizes
- packet(0x0a15,12); // ZC_GOLDPCCAFE_POINT
-#endif
-
-// 2014-05-21aRagexeRE
-#if PACKETVER >= 20140521
-// changed packet sizes
- packet(0x0a07,9); // ZC_ACK_REMOVE_RODEX_ITEM
- packet(0x0a14,10); // ZC_CHECK_RECEIVE_CHARACTER_NAME
+ packet(0x0a16,clif->pDull/*,XXX*/); // CZ_DYNAMICNPC_CREATE_REQUEST
#endif
/* Roulette System [Yommy/Hercules] */
// 2014-06-05aRagexe
#if PACKETVER >= 20140605
// new packets
- packet(0x0a18,2); // ZC_ACCEPT_ENTER3
- packet(0x0a19,-1,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_ROULETTE
- packet(0x0a1a,10); // ZC_ACK_OPEN_ROULETTE
- packet(0x0A1B,2,clif->pRouletteInfo,0); // HEADER_CZ_REQ_ROULETTE_INFO
- packet(0x0a1c,6); // ZC_ACK_ROULEITTE_INFO
- packet(0x0a1d,14,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_ROULETTE
+ packet(0x0a19,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_ROULETTE
+ packet(0x0A1B,clif->pRouletteInfo,0); // HEADER_CZ_REQ_ROULETTE_INFO
+ packet(0x0a1d,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_ROULETTE
#endif
/* Roulette System [Yommy/Hercules] */
// 2014-06-11bRagexe / RE. moved by 4144
#if PACKETVER >= 20140611
// new packets
- packet(0x0a1e,3); // ZC_ACK_CLOSE_ROULETTE
- packet(0x0a1f,2,clif->pRouletteGenerate,0); // CZ_REQ_GENERATE_ROULETTE
- packet(0x0a20,21); // ZC_ACK_GENERATE_ROULETTE
- packet(0x0a21,6,clif->pDull/*,XXX*/); // CZ_RECV_ROULETTE_ITEM
- packet(0x0a22,3); // ZC_RECV_ROULETTE_ITEM
- packet(0x0a23,-1); // ZC_ALL_ACH_LIST
- packet(0x0a24,35); // ZC_ACH_UPDATE
- packet(0x0a25,6,clif->pAchievementGetReward, 2); // CZ_REQ_ACH_REWARD
- packet(0x0a26,7); // ZC_REQ_ACH_REWARD_ACK
+ packet(0x0a1f,clif->pRouletteGenerate,0); // CZ_REQ_GENERATE_ROULETTE
+ packet(0x0a21,clif->pDull/*,XXX*/); // CZ_RECV_ROULETTE_ITEM
+ packet(0x0a25,clif->pAchievementGetReward,2); // CZ_REQ_ACH_REWARD
// changed packet sizes
- packet(0x0a18,14); // ZC_ACCEPT_ENTER3
- packet(0x0a19,2,clif->pRouletteOpen,0); // CZ_REQ_OPEN_ROULETTE
- packet(0x0a1a,23); // ZC_ACK_OPEN_ROULETTE
- packet(0x0a1c,-1); // ZC_ACK_ROULEITTE_INFO
- packet(0x0a1d,2,clif->pRouletteClose,0); // CZ_REQ_CLOSE_ROULETTE
+ packet(0x0a19,clif->pRouletteOpen,0); // CZ_REQ_OPEN_ROULETTE
+ packet(0x0a1d,clif->pRouletteClose,0); // CZ_REQ_CLOSE_ROULETTE
#endif
// 2014-06-18cRagexeRE
#if PACKETVER >= 20140618
// changed packet sizes
- packet(0x0a21,3,clif->pRouletteRecvItem,2); // CZ_RECV_ROULETTE_ITEM
- packet(0x0a22,5); // ZC_RECV_ROULETTE_ITEM
-#endif
-
-// 2014-06-25aRagexeRE
-#if PACKETVER >= 20140625
-// new packets
- packet(0x0a27,8); // ZC_RECOVERY2
- packet(0x0a28,3); // ZC_ACK_OPENSTORE2
-// changed packet sizes
- packet(0x0a24,36); // ZC_ACH_UPDATE
+ packet(0x0a21,clif->pRouletteRecvItem,2); // CZ_RECV_ROULETTE_ITEM
#endif
// 2014-07-02aRagexeRE
#if PACKETVER >= 20140702
// new packets
- packet(0x0a29,6); // ZC_REQ_AU_BOT
- packet(0x0a2a,6,clif->pDull/*,XXX*/); // CZ_ACK_AU_BOT
-#endif
-
-// 2014-07-16aRagexeRE
-#if PACKETVER >= 20140716
-// changed packet sizes
- packet(0x09e7,3); // ZC_NOTIFY_UNREAD_RODEX
-#endif
-
-// 2014-07-23aRagexeRE
-#if PACKETVER >= 20140723
-// new packets
- packet(0x0a2b,14); // ZC_SE_CASHSHOP_OPEN2
- packet(0x0a2c,12); // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
-// changed packet sizes
- packet(0x0a24,56); // ZC_ACH_UPDATE
-#endif
-
-// 2014-08-20aRagexeRE
-#if PACKETVER >= 20140820
-// new packets
- packet(0x0a2d,-1); // ZC_EQUIPWIN_MICROSCOPE_V6
+ packet(0x0a2a,clif->pDull/*,XXX*/); // CZ_ACK_AU_BOT
#endif
// 2014-09-03aRagexeRE
#if PACKETVER >= 20140903
// new packets
- packet(0x0a2e,6,clif->pChangeTitle); // CZ_REQ_CHANGE_TITLE
- packet(0x0a2f,7); // ZC_ACK_CHANGE_TITLE
-// changed packet sizes
-#endif
-
-// 2014-09-24bRagexeRE
-#if PACKETVER >= 20140924
-// new packets
- packet(0x0a30,106); // ZC_ACK_REQNAMEALL2
- packet(0x0a31,-1); // ZC_RESULT_PACKAGE_ITEM_TEST
- packet(0x0a32,2); // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
- packet(0x0a33,7); // ZC_UPDATE_ROULETTE_COIN
- packet(0x0a34,6); // ZC_UPDATE_TAIWANCASH
-#endif
-
-// 2014-10-01bRagexeRE
-#if PACKETVER >= 20141001
+ packet(0x0a2e,clif->pChangeTitle); // CZ_REQ_CHANGE_TITLE
// changed packet sizes
- packet(0x0a24,66); // ZC_ACH_UPDATE
-#endif
-
-// 2014-10-08bRagexeRE
-#if PACKETVER >= 20141008
-// changed packet sizes
- packet(0x0a05,49); // ZC_ACK_ADD_ITEM_RODEX
#endif
// 2014-11-19bRagexeRE
#if PACKETVER >= 20141119
// new packets
- packet(0x0A35,4,clif->pOneClick_ItemIdentify,2);
-// changed packet sizes
- packet(0x0a05,53); // ZC_ACK_ADD_ITEM_RODEX
-#endif
-
-// 2014-11-26aRagexeRE
-#if PACKETVER >= 20141126
-// new packets
- packet(0x0a36,7); // ZC_HP_INFO_TINY
- packet(0x0a37,57); // ZC_ITEM_PICKUP_ACK_V7
-#endif
-
-// 2015-01-28aRagexeRE
-#if PACKETVER >= 20150128
-// new packets
- packet(0x0a38,3);
-#endif
-
-// 2015-03-11aRagexeRE
-#if PACKETVER >= 20150311
-// new packets
- packet(0x0a3a,12);
-// changed packet sizes
-#endif
-
-// 2015-04-15aRagexeRE
-#if PACKETVER >= 20150415
-// changed packet sizes
- packet(0x0a39,36); // CH_UNKNOWN_MAKE_CHAR // in char server used from 20151001. is this correct?
-#endif
-
-// 2015-04-22aRagexeRE
-#if PACKETVER >= 20150422
-// new packets
- packet(0x0a3b,-1);
+ packet(0x0A35,clif->pOneClick_ItemIdentify,2);
// changed packet sizes
#endif
-// 2015-05-20aRagexeRE
-#if PACKETVER >= 20150520
-// new packets
- packet(0x0a3c,-1);
- packet(0x0a3d,18,clif->pDull/*,XXX*/);
-#endif
-
-// 2015-06-03bRagexeRE
-#if PACKETVER >= 20150603
-// new packets
- packet(0x0a3e,-1);
-#endif
-
-// 2015-06-24aRagexeRE
-#if PACKETVER >= 20150624
-// new packets
- packet(0x0a3f,9);
-#endif
-
-// 2015-08-12aRagexeRE
-#if PACKETVER >= 20150812
-// new packets
- packet(0x0a40,11);
-#endif
-
-// 2015-09-09aRagexeRE
-#if PACKETVER >= 20150909
-// new packets
- packet(0x0a41,18);
-#endif
-
-// 2015-09-16aRagexeRE
-#if PACKETVER >= 20150916
-// new packets
- packet(0x0a42,43);
-#endif
-
-// 2015-10-07aRagexeRE
-#if PACKETVER >= 20151007
-// new packets
- packet(0x0a43,85);
- packet(0x0a44,-1);
-#endif
-
-// 2015-10-28cRagexeRE
-#if PACKETVER >= 20151028
-// new packets
- packet(0x0a45,-1);
-#endif
-
// 2015-11-04aRagexeRE
#if PACKETVER >= 20151104
// new packets
- packet(0x0a46,14,clif->pReqStyleChange);
- packet(0x0a47,3);
- packet(0x0a48,2,clif->pDull/*,XXX*/);
-#endif
-
-// 2015-11-18aRagexeRE
-#if PACKETVER >= 20151118
-// new packets
- packet(0x0a49,22);
- packet(0x0a4a,6);
- packet(0x0a4b,22); // ZC_AIRSHIP_MAPMOVE
- packet(0x0a4c,28); // ZC_AIRSHIP_SERVERMOVE
-#endif
-
-// 2016-01-27aRagexeRE
-#if PACKETVER >= 20160127
-// new packets
- packet(0x0a4d,-1);
-// changed packet sizes
-#endif
-
-// 2016-03-02bRagexeRE
-#if PACKETVER >= 20160302
-// new packets
- packet(0x0a4e,4);
- packet(0x0a4f,-1,clif->pDull/*,XXX*/);
- packet(0x0a50,6);
- packet(0x0a51,34);
-// changed packet sizes
+ packet(0x0a46,clif->pReqStyleChange);
+ packet(0x0a48,clif->pStyleClose);
#endif
-// 2016-03-16aRagexeRE
-#if PACKETVER >= 20160316
-// new packets
- packet(0x0a52,20,clif->pDull/*,XXX*/);
- packet(0x0a53,10);
- packet(0x0a54,-1);
- packet(0x0a55,2);
- packet(0x0a56,6,clif->pDull/*,XXX*/);
- packet(0x0a57,6);
- packet(0x0a58,8);
- packet(0x0a59,-1);
- packet(0x0a5a,2,clif->pDull/*,XXX*/);
- packet(0x0a5b,7);
- packet(0x0a5c,18,clif->pDull/*,XXX*/);
- packet(0x0a5d,6);
-// changed packet sizes
-#endif
// 2016-03-23aRagexeRE
#if PACKETVER >= 20160323
// new packets
- packet(0x0a68,3,clif->pOpenUIRequest);
- packet(0x0a69,6);
- packet(0x0a6a,12);
- packet(0x0a6b,-1);
+ packet(0x0a68,clif->pOpenUIRequest);
// changed packet sizes
#endif
// 2016-03-30aRagexeRE
#if PACKETVER >= 20160330
// new packets
- packet(0x0a6c,7,clif->pDull/*,XXX*/);
- packet(0x0a6d,-1);
- packet(0x0a6e,-1,clif->pRodexSendMail); // CZ_RODEX_SEND_MAIL
- packet(0x0a6f,-1);
-// changed packet sizes
-#endif
-
-// 2016-04-27aRagexeRE
-#if PACKETVER >= 20160427
-// new packets
-// changed packet sizes
- packet(0x0a50,4);
-#endif
-
-// 2016-05-04aRagexeRE
-#if PACKETVER >= 20160504
-// new packets
- packet(0x0a70,2,clif->pDull/*,XXX*/);
- packet(0x0a71,-1);
- packet(0x0a72,61);
-// changed packet sizes
-#endif
-
-// 2016-05-11aRagexeRE
-#if PACKETVER >= 20160511
-// new packets
- packet(0x0a73,6);
- packet(0x0a74,8);
-// changed packet sizes
-#endif
-
-// 2016-05-18aRagexeRE
-#if PACKETVER >= 20160518
-// new packets
- packet(0x0a76,80);
+ packet(0x0a6e,clif->pRodexSendMail); // CZ_RODEX_SEND_MAIL
// changed packet sizes
- packet(0x0a73,2);
#endif
-// 2016-05-25aRagexeRE
+// all 2016-05-25
#if PACKETVER >= 20160525
-// new packets
- packet(0x0a77,15);
- packet(0x0a78,15);
-// changed packet sizes
-#endif
-
-// 2016-06-01aRagexeRE
-#if PACKETVER >= 20160601
-// new packets
- packet(0x0a79,-1);
- packet(0x0a7b,-1);
- packet(0x0a7c,-1);
- packet(0x0a7d,-1); // ZC_RODEX_MAILLIST
-// changed packet sizes
-#endif
-
-// 2016-06-15aRagexeRE
-#if PACKETVER >= 20160615
-// new packets
- packet(0x0a7e,4);
- packet(0x0a7f,-1);
- packet(0x0a80,2);
- packet(0x0a81,3);
-// changed packet sizes
+ packet(0x0a77,clif->pCameraInfo); // CZ_CAMERA_INFO
#endif
-// 2016-06-22aRagexeRE
+// all 20160622+
#if PACKETVER >= 20160622
-// new packets
- packet(0x0a82,46);
- packet(0x0a83,46);
- packet(0x0a84,94);
- packet(0x0a85,82);
- packet(0x0a86,-1);
- packet(0x0a87,4);
- packet(0x0a88,2);
-// changed packet sizes
+ packet(0x0a88,clif->pResetCooldown);
#endif
-// 2016-06-29aRagexeRE
-#if PACKETVER >= 20160629
-// new packets
- packet(0x0a89,32);
- packet(0x0a8a,6);
- packet(0x0a8b,2);
- packet(0x0a8c,2);
- packet(0x0a8d,-1);
-// changed packet sizes
- packet(0x0a80,6);
-#endif
-
-// 2016-07-06cRagexeRE
-#if PACKETVER >= 20160706
-// new packets
- packet(0x0a81,3);
-// changed packet sizes
- packet(0x0a7e,-1);
- packet(0x0a89,57);
-#endif
-
-// 2016-07-13aRagexeRE
-#if PACKETVER >= 20160713
-// new packets
-// changed packet sizes
- packet(0x0a87,-1);
-#endif
-
-// 2016-07-20aRagexeRE
-#if PACKETVER >= 20160720
-// new packets
- packet(0x0a8e,2);
- packet(0x0a8f,2);
- packet(0x0a90,3);
-// changed packet sizes
-#endif
-
-// 2016-07-27aRagexeRE
-#if PACKETVER >= 20160727
-// new packets
- packet(0x0a91,-1);
- packet(0x0a92,-1);
- packet(0x0a93,3);
-// changed packet sizes
-#endif
-
-// 2016-08-03bRagexeRE
-#if PACKETVER >= 20160803
-// new packets
- packet(0x0a94,2);
-// changed packet sizes
- packet(0x0a81,4);
-#endif
-
-// 2016-09-07aRagexeRE
-#if PACKETVER >= 20160907
-// new packets
- packet(0x0a95,4);
-// changed packet sizes
-#endif
-
-// 2016-09-21bRagexeRE
-#if PACKETVER >= 20160921
-// new packets
- packet(0x0a96,51);
-// changed packet sizes
- packet(0x0a37,59); // ZC_ITEM_PICKUP_ACK_V7
-#endif
-
-// 2016-09-28cRagexeRE
-#if PACKETVER >= 20160928
-// new packets
- packet(0x0a97,8);
- packet(0x0a98,12);
- packet(0x0a99,8);
- packet(0x0a9a,10);
- packet(0x0a9b,-1);
- packet(0x0a9c,2);
- packet(0x0a9d,4);
- packet(0x0a9e,2);
- packet(0x0a9f,2);
-// changed packet sizes
-#endif
-
-// 2016-10-05aRagexeRE
-#if PACKETVER >= 20161005
-// new packets
- packet(0x0aa0,2,clif->pDull/*,XXX*/);
- packet(0x0aa1,4);
- packet(0x0aa2,-1);
- packet(0x0aa3,7);
- packet(0x0aa4,2);
-// changed packet sizes
-#endif
-
-// 2016-10-26bRagexeRE
-#if PACKETVER >= 20161026
-// new packets
- packet(0x0aa5,-1);
- packet(0x0aa6,36);
-// changed packet sizes
-#endif
-
-// 2016-11-30aRagexeRE
-#if PACKETVER >= 20161130
-// new packets
- packet(0x0aa7,6);
- packet(0x0aa8,5);
- packet(0x0aa9,-1);
- packet(0x0aaa,-1);
- packet(0x0aab,-1);
-// changed packet sizes
-#endif
-
-// 2016-12-07cRagexeRE
-#if PACKETVER >= 20161207
-// new packets
- packet(0x0aac,67);
-// changed packet sizes
-#endif
-
-// 2016-12-21aRagexeRE
-#if PACKETVER >= 20161221
-// new packets
- packet(0x0aad,47);
- packet(0x0aae,2);
- packet(0x0aaf,6);
- packet(0x0ab0,6);
- packet(0x0ab1,10);
-// changed packet sizes
-#endif
-
-// 2016-12-28aRagexeRE
-#if PACKETVER >= 20161228
-// new packets
-// changed packet sizes
- packet(0x0ab1,14);
-#endif
-
-// 2017-01-04bRagexeRE
-#if PACKETVER >= 20170104
-// new packets
- packet(0x0ab2,7);
- packet(0x0ab3,15);
-// changed packet sizes
-#endif
-
-// 2017-01-11aRagexeRE
-#if PACKETVER >= 20170111
-// new packets
- packet(0x0ab4,4);
- packet(0x0ab5,2);
- packet(0x0ab6,6);
- packet(0x0ab7,4);
- packet(0x0ab8,2);
- packet(0x0ab9,39);
-// changed packet sizes
-#endif
-
-// 2017-01-18aRagexeRE
-#if PACKETVER >= 20170118
-// new packets
- packet(0x0aba,2);
- packet(0x0abb,2);
-// changed packet sizes
- packet(0x0aad,51);
- packet(0x0ab3,19);
-#endif
-
-// 2017-02-01aRagexeRE
-#if PACKETVER >= 20170201
-// new packets
- packet(0x0abc,-1);
-// changed packet sizes
-#endif
-
-// 2017-02-15aRagexeRE
-#if PACKETVER >= 20170215
-// new packets
- packet(0x0abd,10);
-// changed packet sizes
-#endif
-
-// 2017-02-22aRagexeRE
-#if PACKETVER >= 20170222
-// new packets
- packet(0x0abe,116);
- packet(0x0abf,114);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20161130 || PACKETVER_RE_NUM >= 20161109 || defined(PACKETVER_ZERO)
+ packet(0x0aa1, clif->pAddItemRefineryUI);
+ packet(0x0aa3, clif->pRefineryUIRefine);
+ packet(0x0aa4, clif->pRefineryUIClose);
#endif
// 2017-02-28aRagexeRE
#if PACKETVER >= 20170228
// new packets
- packet(0x0ac0,26,clif->pRodexOpenMailbox); // CZ_OPEN_RODEXBOX
- packet(0x0ac1,26,clif->pRodexRefreshMaillist); // CZ_REQ_REFRESH_RODEX
- packet(0x0ac2,-1);
- packet(0x0ac3,2);
- packet(0x0ac4,-1);
- packet(0x0ac5,156,clif->pDull/*,XXX*/);
- packet(0x0ac6,156);
- packet(0x0ac7,156); // ZC_NPCACK_SERVERMOVE
-// changed packet sizes
- packet(0x0abe,-1); // ZC_WARPLIST
- packet(0x0abf,-1);
-#endif
-
-// 2017-03-08bRagexeRE
-#if PACKETVER >= 20170308
-// new packets
- packet(0x0ac8,2);
- packet(0x0ac9,-1);
+ packet(0x0ac0,clif->pRodexOpenMailbox); // CZ_OPEN_RODEXBOX
+ packet(0x0ac1,clif->pRodexRefreshMaillist); // CZ_REQ_REFRESH_RODEX
// changed packet sizes
#endif
-// 2017-03-22aRagexeRE
-#if PACKETVER >= 20170322
-// new packets
- packet(0x0aca,3);
-// changed packet sizes
-#endif
-
-// 2017-03-29cRagexeRE
-#if PACKETVER >= 20170329
-// new packets
-// changed packet sizes
- packet(0x0aac,69);
-#endif
-
-// 2017-04-05bRagexeRE
-#if PACKETVER >= 20170405
-// new packets
- packet(0x0acb,12);
- packet(0x0acc,18);
-// changed packet sizes
-#endif
-
-// 2017-04-19bRagexeRE
-#if PACKETVER >= 20170419
-// new packets
- packet(0x0acd,23);
-// changed packet sizes
- packet(0x0a99,4);
-#endif
-
-// 2017-04-26dRagexeRE
-#if PACKETVER >= 20170426
-// new packets
-// changed packet sizes
- packet(0x0a98,10);
-#endif
-
-// 2017-05-02dRagexeRE
-#if PACKETVER >= 20170502
-// new packets
- packet(0x0ace,4);
-// changed packet sizes
-#endif
-
-// 2017-06-14bRagexeRE
-#if PACKETVER >= 20170614
-// new packets
- packet(0x0acf,52);
- packet(0x0ad0,11);
- packet(0x0ad1,-1);
-#endif
-
-// 2017-06-21aRagexeRE
-#if PACKETVER >= 20170621
-// changed packet sizes
- packet(0x0acf,57);
-#endif
-
-// 2017-07-05aRagexeRE
-#if PACKETVER >= 20170705
-// changed packet sizes
- packet(0x0acf,64);
-#endif
-
-// 2017-07-19aRagexeRE
-#if PACKETVER >= 20170719
-// new packets
- packet(0x0ad2,30);
- packet(0x0ad3,-1);
- packet(0x0ad4,-1);
- packet(0x0ad5,2);
- packet(0x0ad6,2);
- packet(0x0ad7,8);
- packet(0x0ad8,8);
- packet(0x0ad9,-1);
-// changed packet sizes
-#endif
-
-// 2017-07-26cRagexeRE
-#if PACKETVER >= 20170726
-// new packets
- packet(0x0ada,30);
-#endif
-
// 2017-08-30aRagexeRE
#if PACKETVER >= 20170830
// new packets
- packet(0x0adb,-1);
-// changed packet sizes
- packet(0x006d,157); // HC_ACCEPT_MAKECHAR
- packet(0x08e3,157); // HC_UPDATE_CHARINFO
- packet(0x0a49, 20, clif->pPrivateAirshipRequest);
-#endif
-
-// 2017-09-06cRagexeRE
-#if PACKETVER >= 20170906
-// new packets
- packet(0x0adc,6);
-#endif
-
-// 2017-09-13bRagexeRE
-#if PACKETVER >= 20170913
-// new packets
- packet(0x0add,22);
-#endif
-
-#if PACKETVER >= 20170920
-// new packets
- packet(0x0ade,6);
- packet(0x0adf,58);
-#endif
-
-#if PACKETVER >= 20170927
-// new packets
- packet(0x0ae0,30);
-// changed packet sizes
-#endif
-
-#ifdef PACKETVER_ZERO
-// 2017-10-25bRagexe_zero
-#if PACKETVER >= 20171025
-// new packets
- packet(0x0ae1,28);
-#endif
-#endif // PACKETVER_ZERO
-
-// 2017-11-01bRagexeRE
-#if PACKETVER >= 20171101
-// new packets
- packet(0x0ae1,28);
-#endif
-
-#ifdef PACKETVER_ZERO
-// 2017-11-09aRagexe
-#if PACKETVER >= 20171109
-// new packets
- packet(0x0ae2,7);
-#endif
-// 2017-11-13aRagexe
-#if PACKETVER >= 20171113
-// changed packet sizes
- packet(0x0acf,68);
-#endif
-#endif // PACKETVER_ZERO
-
-// 2017-11-15aRagexeRE
-#if PACKETVER >= 20171115
-// new packets
- packet(0x0ae2,7);
// changed packet sizes
- packet(0x0acf,68);
+ packet(0x0a49,clif->pPrivateAirshipRequest);
#endif
#ifdef PACKETVER_ZERO
-// 2017-11-23dRagexe
-#if PACKETVER >= 20171123
-// new packets
- packet(0x0ae3,-1); // AC_LOGIN_OTP
-#endif
-
-// 2017-11-30bRagexe
-#if PACKETVER >= 20171130
-// new packets
- packet(0x0ae4,89);
- packet(0x0ae5,-1);
-// changed packet sizes
-#endif
-#endif // PACKETVER_ZERO
-
-// 2017-12-06aRagexeRE
-#if PACKETVER >= 20171206
-// new packets
- packet(0x0ae4,89);
- packet(0x0ae5,-1);
-// changed packet sizes
-#endif
-
-#ifndef PACKETVER_ZERO
-#if PACKETVER >= 20171213
-// new packets
- packet(0x0ae3,-1); // AC_LOGIN_OTP
- packet(0x0ae6,30);
- packet(0x0ae7,30);
-// changed packet sizes
-#endif
-#endif // PACKETVER_ZERO
-
-#ifdef PACKETVER_ZERO
#if PACKETVER >= 20171214
// new packets
- packet(0x0ae6,30);
- packet(0x0ae7,30);
- packet(0x0ae8,2,clif->pChangeDress);
+ packet(0x0ae8,clif->pChangeDress);
// changed packet sizes
#endif
#endif // PACKETVER_ZERO
-// 2017-12-13bRagexe
-#if PACKETVER >= 20171213
-// new packets
- packet(0x0ae3,-1); // AC_LOGIN_OTP
- packet(0x0ae6,30);
- packet(0x0ae7,30);
-// changed packet sizes
-#endif
-
// 2017-12-20aRagexe
#if PACKETVER >= 20171220
// new packets
- packet(0x0ae8,2,clif->pChangeDress);
- packet(0x0ae9,64);
- packet(0x0aea,11);
-// changed packet sizes
-#endif
-
-// 2017-12-27aRagexe
-#if PACKETVER >= 20171227
-// new packets
- packet(0x0aeb,11);
- packet(0x0aec,2);
-// changed packet sizes
- packet(0x0aea,2);
-#endif
-
-// 2018-01-03aRagexe
-#if PACKETVER >= 20180103
-// new packets
- packet(0x0aed,2);
- packet(0x0aee,2);
-// changed packet sizes
-#ifdef PACKETVER_RE
- packet(0x09a0,6); // HC_CHARLIST_NOTIFY
-#endif
+ packet(0x0ae8,clif->pChangeDress);
// changed packet sizes
#endif
#if PACKETVER >= 20180117
// new packets
- packet(0x0aef,2,clif->pAttendanceRewardRequest);
- packet(0x0af0,10);
-// changed packet sizes
- packet(0x0ae9,13);
-#endif
-
-// 2018-01-24bRagexeRE
-#if PACKETVER >= 20180124
-// new packets
- packet(0x0af2,40,clif->pDull/*,XXX*/);
- packet(0x0af3,-1,clif->pDull/*,XXX*/);
+ packet(0x0aef,clif->pAttendanceRewardRequest);
// changed packet sizes
#endif
@@ -4000,103 +1851,16 @@ packet(0x96e,-1,clif->ackmergeitems);
// 2018-01-31dRagexe_zero
#if PACKETVER >= 20180131
// new packets
- packet(0x0af2,40,clif->pDull/*,XXX*/);
- packet(0x0af3,-1,clif->pDull/*,XXX*/);
- packet(0x0af4,11,clif->pUseSkillToPos,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND
+ packet(0x0af4,clif->pUseSkillToPos,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND
// changed packet sizes
- packet(0x0ae6,10,clif->pDull/*,XXX*/);
#endif
#endif // PACKETVER_ZERO
-#ifdef PACKETVER_ZERO
-// 2018-02-07bRagexe_zero
-#if PACKETVER >= 20180207
-// new packets
- packet(0x0af5,3);
- packet(0x0af6,88);
- packet(0x0af7,32);
-// changed packet sizes
-#endif
-#else // PACKETVER_ZERO
+#ifndef PACKETVER_ZERO
// 2018-02-07bRagexeRE, 2018-02-07bRagexe
#if PACKETVER >= 20180207
// new packets
- packet(0x0af4,11,clif->pUseSkillToPos,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND
- packet(0x0af5,3);
- packet(0x0af6,88);
- packet(0x0af7,32);
-// changed packet sizes
- packet(0x0ae6,10);
-#endif
-#endif // PACKETVER_ZERO
-
-#ifdef PACKETVER_RE
-// 2018-02-21aRagexeRE
-#if PACKETVER >= 20180221
-// new packets
-// changed packet sizes
- packet(0x0206,35); // ZC_FRIENDS_STATE
-#endif
-#endif // PACKETVER_RE
-
-#ifndef PACKETVER_ZERO
-// 2018-03-07bRagexe
-#if PACKETVER >= 20180307
-// new packets
-// changed packet sizes
- packet(0x0206,35); // ZC_FRIENDS_STATE
-#endif
-#endif // PACKETVER_ZERO
-
-#ifndef PACKETVER_ZERO
-// 2018-03-21aRagexe, 2018-03-21aRagexeRE
-#if PACKETVER >= 20180321
-// new packets
- packet(0x0af8,11,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0ae7,34,clif->pDull/*,XXX*/);
-#endif
-#endif // PACKETVER_ZERO
-
-#ifdef PACKETVER_ZERO
-// 2018-03-28_1aRagexe_zero
-#if PACKETVER >= 20180328
-// new packets
- packet(0x0af8,11,clif->pDull/*,XXX*/);
- packet(0x0af9,6,clif->pDull/*,XXX*/);
- packet(0x0afa,54,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0206,35); // ZC_FRIENDS_STATE
- packet(0x0ae7,38,clif->pDull/*,XXX*/);
-#endif
-#endif // PACKETVER_ZERO
-
-
-#ifndef PACKETVER_ZERO
-// 2018-04-04bRagexe, 2018-04-04cRagexeRE
-#if PACKETVER >= 20180404
-// new packets
- packet(0x0af9,6,clif->pDull/*,XXX*/);
- packet(0x0afa,54,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0ae7,38,clif->pDull/*,XXX*/);
-#endif
-#endif // PACKETVER_ZERO
-
-#ifndef PACKETVER_ZERO
-// 2018-04-18aRagexe, 2018-04-18bRagexeRE
-#if PACKETVER >= 20180418
-// new packets
- packet(0x0afb,-1,clif->pDull/*,XXX*/);
-// changed packet sizes
-#endif
-#endif
-
-#ifdef PACKETVER_ZERO
-// 2018-04-25_3aRagexe_zero
-#if PACKETVER >= 20180425
-// new packets
- packet(0x0afb,-1,clif->pDull/*,XXX*/);
+ packet(0x0af4,clif->pUseSkillToPos,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND
// changed packet sizes
#endif
#endif // PACKETVER_ZERO
@@ -4105,7 +1869,7 @@ packet(0x96e,-1,clif->ackmergeitems);
// 2018-05-16cRagexe, 2018-05-16cRagexeRE
#if PACKETVER >= 20180516
// new packets
- packet(0x0afc,16,clif->pReqStyleChange2);
+ packet(0x0afc,clif->pReqStyleChange2);
// changed packet sizes
#endif
#endif // PACKETVER_ZERO
@@ -4114,160 +1878,74 @@ packet(0x96e,-1,clif->ackmergeitems);
// 2018-05-23aRagexe_zero
#if PACKETVER >= 20180523
// new packets
- packet(0x0afc,16,clif->pReqStyleChange2);
+ packet(0x0afc,clif->pReqStyleChange2);
// changed packet sizes
#endif
#endif // PACKETVER_ZERO
-// 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-05bRagexe_zero
-#if PACKETVER >= 20180605
-// new packets
- packet(0x0afd,-1);
- packet(0x0afe,-1,clif->pDull/*,XXX*/);
- packet(0x0aff,-1,clif->pDull/*,XXX*/);
-// changed packet sizes
-#endif
-
-#ifndef PACKETVER_ZERO
-// 2018-06-20cRagexe, 2018-06-20eRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexeRE
-#if PACKETVER >= 20180620
+// 2018-07-04aRagexeRE
+#if PACKETVER_RE_NUM >= 20180704
// new packets
- packet(0x0b00,8);
- packet(0x0b01,40,clif->pDull/*,XXX*/);
// changed packet sizes
+ packet(0x018e,clif->pProduceMix); // CZ_REQMAKINGITEM
+ packet(0x01ae,clif->pSelectArrow,2); // CZ_REQ_MAKINGARROW
+ packet(0x01fd,clif->pRepairItem); // CZ_REQ_ITEMREPAIR
+ packet(0x025b,clif->pCooking); // CZ_REQ_MAKINGITEM
+ packet(0x0445,clif->pDull/*,XXX*/); // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+ packet(0x09c3,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+ packet(0x0a49,clif->pPrivateAirshipRequest); // CZ_PRIVATE_AIRSHIP_REQUEST
#endif
-// 2018-07-04aRagexe, 2018-07-04aRagexeRE
-#if PACKETVER >= 20180704
+// 2018-11-14aRagexe_zero
+#if PACKETVER_ZERO_NUM >= 20181114
// new packets
- packet(0x0b02,26); // AC_REFUSE_LOGIN4
// changed packet sizes
- packet(0x0b01,56,clif->pDull/*,XXX*/);
+ packet(0x018e,clif->pProduceMix); // CZ_REQMAKINGITEM
+ packet(0x01ae,clif->pSelectArrow,2); // CZ_REQ_MAKINGARROW
+ packet(0x01fd,clif->pRepairItem); // CZ_REQ_ITEMREPAIR
+ packet(0x025b,clif->pCooking); // CZ_REQ_MAKINGITEM
+ packet(0x0445,clif->pDull/*,XXX*/); // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+ packet(0x09c3,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+ packet(0x0a49,clif->pPrivateAirshipRequest); // CZ_PRIVATE_AIRSHIP_REQUEST
#endif
-#endif // PACKETVER_ZERO
-// 2018-06-27aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180627
+// 2018-11-21bRagexe
+#if PACKETVER_ZERO_NUM >= 20181121
// new packets
- packet(0x0b00,8);
- packet(0x0b01,56,clif->pDull/*,XXX*/);
- packet(0x0b02,26); // AC_REFUSE_LOGIN4
// changed packet sizes
+ packet(0x018e,clif->pProduceMix); // CZ_REQMAKINGITEM
+ packet(0x01ae,clif->pSelectArrow,2); // CZ_REQ_MAKINGARROW
+ packet(0x01fd,clif->pRepairItem); // CZ_REQ_ITEMREPAIR
+ packet(0x025b,clif->pCooking); // CZ_REQ_MAKINGITEM
+ packet(0x0445,clif->pDull/*,XXX*/); // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+ packet(0x09c3,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+ packet(0x0a49,clif->pPrivateAirshipRequest); // CZ_PRIVATE_AIRSHIP_REQUEST
#endif
-// 2018-07-04aRagexeRE
-#if PACKETVER_RE_NUM >= 20180704
-// new packets
-// changed packet sizes
- packet(0x009d,19); // ZC_ITEM_ENTRY
- packet(0x009e,19); // ZC_ITEM_FALL_ENTRY
- packet(0x00a0,33); // ZC_ITEM_PICKUP_ACK
- packet(0x00e9,29,clif->pDull/*,XXX*/); // ZC_ADD_EXCHANGE_ITEM
- packet(0x00f4,31,clif->pDull/*,XXX*/); // ZC_ADD_ITEM_TO_STORE
- packet(0x010a,6); // ZC_MVP_GETTING_ITEM
- packet(0x0110,14); // ZC_ACK_TOUSESKILL
- packet(0x0124,31); // ZC_ADD_ITEM_TO_CART
- packet(0x018e,18,clif->pProduceMix); // CZ_REQMAKINGITEM
- packet(0x018f,8); // ZC_ACK_REQMAKINGITEM
- packet(0x01a3,7); // ZC_FEED_PET
- packet(0x01ae,6,clif->pSelectArrow,2); // CZ_REQ_MAKINGARROW
- packet(0x01c4,32); // ZC_ADD_ITEM_TO_STORE2
- packet(0x01c5,32); // ZC_ADD_ITEM_TO_CART2
- packet(0x01c8,15); // ZC_USE_ITEM_ACK2
- packet(0x01d7,15); // ZC_SPRITE_CHANGE2
- packet(0x01d8,58); // ZC_NOTIFY_STANDENTRY2
- packet(0x01d9,57); // ZC_NOTIFY_NEWENTRY2
- packet(0x01da,64); // ZC_NOTIFY_MOVEENTRY2
- packet(0x01fd,25,clif->pRepairItem); // CZ_REQ_ITEMREPAIR
- packet(0x0223,10); // ZC_ACK_WEAPONREFINE
- packet(0x022a,62); // ZC_NOTIFY_STANDENTRY3
- packet(0x022b,61); // ZC_NOTIFY_NEWENTRY3
- packet(0x022c,69); // ZC_NOTIFY_MOVEENTRY3
- packet(0x022e,73); // ZC_PROPERTY_HOMUN
- packet(0x022f,7); // ZC_FEED_MER
- packet(0x025b,8,clif->pCooking); // CZ_REQ_MAKINGITEM
- packet(0x0298,10); // ZC_CASH_TIME_COUNTER
- packet(0x0299,8); // ZC_CASH_ITEM_DELETE
- packet(0x029a,37); // ZC_ITEM_PICKUP_ACK2
- packet(0x02b8,32); // ZC_ITEM_PICKUP_PARTY
- packet(0x02d4,39); // ZC_ITEM_PICKUP_ACK3
- packet(0x02ec,71); // ZC_NOTIFY_MOVEENTRY4
- packet(0x02ed,63); // ZC_NOTIFY_NEWENTRY4
- packet(0x02ee,64); // ZC_NOTIFY_STANDENTRY4
- packet(0x0445,12,clif->pDull/*,XXX*/); // CZ_SIMPLE_BUY_CASH_POINT_ITEM
- packet(0x080f,30); // ZC_ADD_EXCHANGE_ITEM2
- packet(0x081b,12); // ZC_UPDATE_ITEM_FROM_BUYING_STORE
- packet(0x0824,8); // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
- packet(0x084b,21); // ZC_ITEM_FALL_ENTRY4
- packet(0x0990,41); // ZC_ITEM_PICKUP_ACK_V5
- packet(0x09ad,12); // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ae,19,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
- packet(0x09b0,10,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b2,10); // ZC_NOTIFY_BARGAIN_SALE_SELLING
- packet(0x09b3,6); // ZC_NOTIFY_BARGAIN_SALE_CLOSE
- packet(0x09c3,10,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
- packet(0x09c4,10); // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
- packet(0x09e6,24); // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
- packet(0x09f7,77); // ZC_PROPERTY_HOMUN_2
- packet(0x0a05,63); // ZC_ACK_ADD_ITEM_RODEX
- packet(0x0a09,55); // ZC_ADD_EXCHANGE_ITEM3
- packet(0x0a0a,57); // ZC_ADD_ITEM_TO_STORE3
- packet(0x0a0b,57); // ZC_ADD_ITEM_TO_CART3
- packet(0x0a0c,66); // ZC_ITEM_PICKUP_ACK_V6
- packet(0x0a1a,25); // ZC_ACK_OPEN_ROULETTE
- packet(0x0a20,23); // ZC_ACK_GENERATE_ROULETTE
- packet(0x0a22,7); // ZC_RECV_ROULETTE_ITEM
- packet(0x0a37,69); // ZC_ITEM_PICKUP_ACK_V7
- packet(0x0a3d,20,clif->pDull/*,XXX*/);
- packet(0x0a3f,11,clif->pDull/*,XXX*/);
- packet(0x0a49,22,clif->pPrivateAirshipRequest); // CZ_PRIVATE_AIRSHIP_REQUEST
- packet(0x0a4e,6);
- packet(0x0a89,61); // ZC_NOTIFY_OFFLINE_STORE
- packet(0x0a96,61); // ZC_ADD_EXCHANGE_ITEM4
- packet(0x0aa3,9,clif->pDull/*,XXX*/);
- packet(0x0ab4,6,clif->pDull/*,XXX*/);
- packet(0x0ab6,8,clif->pDull/*,XXX*/);
- packet(0x0ab9,47);
- packet(0x0ada,32);
- packet(0x0add,24); // ZC_ITEM_FALL_ENTRY
-#endif
-
-// 2018-07-25_2aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180725
-// new packets
- packet(0x0b03,-1,clif->pDull/*,XXX*/);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ packet(0x0b10,clif->pStartUseSkillToId);
+ packet(0x0b11,clif->pStopUseSkillToId);
#endif
-#ifndef PACKETVER_ZERO
-// 2018-08-01cRagexe, 2018-08-01cRagexeRE
-#if PACKETVER >= 20180801
-// new packets
- packet(0x0b03,-1);
- packet(0x0b04,80,clif->pDull/*,XXX*/);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+ packet(0x0b14,clif->pInventoryExpansion);
+ packet(0x0b16,clif->pInventoryExpansionConfirmed);
+ packet(0x0b19,clif->pInventoryExpansionRejected);
#endif
-#endif // PACKETVER_ZERO
-// 2018-08-08_2aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180808
-// new packets
- packet(0x0b04,80,clif->pDull/*,XXX*/);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+ packet(0x0b0f,clif->pNPCBarterPurchase);
+ packet(0x0b12,clif->pNPCBarterClosed);
#endif
-// 2018-08-22aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180822
-// new packets
- packet(0x0b05,59);
- packet(0x0b06,53,clif->pDull/*,XXX*/);
- packet(0x0b07,-1);
- packet(0x0b08,26,clif->pDull/*,XXX*/);
- packet(0x0b09,-1,clif->pDull/*,XXX*/);
- packet(0x0b0a,-1,clif->pDull/*,XXX*/);
- packet(0x0b0b,3,clif->pDull/*,XXX*/);
- packet(0x0b0c,155,clif->pDull/*,XXX*/);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20190227 || PACKETVER_RE_NUM >= 20190220 || PACKETVER_ZERO_NUM >= 20190220
+ packet(0x0b1c,clif->pPing);
#endif
#endif /* MAP_PACKETS_H */
diff --git a/src/map/packets_keys_main.h b/src/map/packets_keys_main.h
index 6e7f27166..8a6f32a54 100644
--- a/src/map/packets_keys_main.h
+++ b/src/map/packets_keys_main.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -33,71 +34,185 @@
#if PACKETVER == 20101123 || \
PACKETVER == 20101124 || \
PACKETVER == 20101126
- packetKeys(0x49357D72,0x22C370A1,0x5F836591);
+ packetKeys(0x49357d72,0x22c370a1,0x5f836591);
+#endif
+
+// 2010-11-23aRagexeRE, 2010-11-24aRagexeRE, 2010-11-24bRagexeRE, 2010-11-25aRagexeRE, 2010-11-26aRagexeRE, 2010-11-30aRagexeRE, 2010-12-07aRagexeRE, 2010-12-14aRagexeRE, 2010-12-21aRagexeRE, 2010-12-23aRagexeRE, 2010-12-28aRagexeRE, 2011-01-04aRagexeRE, 2011-01-05aRagexeRE, 2011-01-11aRagexeRE, 2011-01-18aRagexeRE, 2011-01-25aRagexeRE, 2011-01-26aRagexeRE, 2011-01-26bRagexeRE, 2011-01-31aRagexeRE, 2011-01-31bRagexeRE, 2011-01-31cRagexeRE, 2011-02-08aRagexeRE, 2011-02-15aRagexeRE, 2011-02-22aRagexeRE, 2011-02-23aRagexeRE, 2011-02-23bRagexeRE, 2011-02-24aRagexeRE, 2011-02-25aRagexeRE, 2011-02-28aRagexeRE, 2011-03-08aRagexeRE, 2011-03-09aRagexeRE, 2011-03-09bRagexeRE, 2011-03-09cRagexeRE, 2011-03-09dRagexeRE, 2011-03-15aRagexeRE, 2011-03-22aRagexeRE, 2011-03-29aRagexeRE, 2011-03-30aRagexeRE, 2011-03-30cRagexeRE, 2011-04-05aRagexeRE, 2011-04-12aRagexeRE, 2011-04-19aRagexeRE, 2011-04-20aRagexeRE, 2011-04-26aRagexeRE, 2011-04-27aRagexeRE, 2011-05-03aRagexeRE, 2011-05-11aRagexeRE, 2011-05-17bRagexeRE, 2011-05-24aRagexeRE, 2011-05-26aRagexeRE, 2011-05-31aRagexeRE, 2011-06-07aRagexeRE, 2011-06-08aRagexeRE, 2011-06-08bRagexeRE, 2011-06-08cRagexeRE, 2011-06-09aRagexeRE, 2011-06-14bRagexeRE, 2011-06-22aRagexeRE, 2011-06-28aRagexeRE, 2011-07-06aRagexeRE, 2011-07-13aRagexeRE, 2011-07-13bRagexeRE, 2011-07-13cRagexeRE, 2011-07-19aRagexeRE, 2011-07-26aRagexeRE, 2011-08-03aRagexeRE, 2011-08-03bRagexeRE, 2011-08-10aRagexeRE, 2013-12-23aRagexeRE, 2014-05-08aRagexe, 2014-05-08aRagexeRE, 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-21aRagexeRE, 2018-03-28bRagexe, 2018-03-28bRagexeRE, 2018-04-04bRagexe, 2018-04-04cRagexeRE, 2018-04-18aRagexe, 2018-04-18bRagexeRE, 2018-04-25cRagexe, 2018-04-25cRagexeRE, 2018-05-02bRagexe, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-16cRagexeRE, 2018-05-23aRagexe, 2018-05-23aRagexeRE, 2018-05-30aRagexe, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20cRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexe, 2018-06-20eRagexeRE, 2018-06-21aRagexe, 2018-06-21aRagexeRE, 2018-07-04aRagexe, 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexe, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexe, 2018-07-18cRagexeRE, 2018-08-01cRagexe, 2018-08-01cRagexeRE, 2018-08-08bRagexe, 2018-08-08bRagexeRE, 2018-08-22cRagexe, 2018-08-22cRagexeRE, 2018-08-29aRagexe, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-12dRagexeRE, 2018-09-19aRagexe, 2018-09-19aRagexeRE, 2018-10-02aRagexe, 2018-10-02aRagexeRE, 2018-10-02bRagexe, 2018-10-02bRagexeRE, 2018-10-17_02aRagexe, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexe, 2018-10-17_03aRagexeRE, 2018-10-17bRagexe, 2018-10-17bRagexeRE, 2018-10-24bRagexe, 2018-10-31aRagexe, 2018-10-31bRagexe, 2018-10-31cRagexeRE, 2018-11-07aRagexe, 2018-11-07aRagexeRE, 2018-11-14cRagexe, 2018-11-14cRagexeRE, 2018-11-14dRagexe, 2018-11-14dRagexeRE, 2018-11-21bRagexe, 2018-11-21cRagexeRE, 2018-11-28aRagexe, 2018-11-28aRagexeRE, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-05bRagexeRE, 2018-12-12aRagexe, 2018-12-12aRagexeRE, 2018-12-12bRagexe, 2018-12-12bRagexeRE, 2018-12-19bRagexe, 2018-12-19bRagexeRE, 2018-12-26aRagexe, 2018-12-26aRagexeRE, 2019-01-09aRagexe, 2019-01-09bRagexeRE, 2019-01-16bRagexe, 2019-01-16bRagexeRE, 2019-01-16cRagexe, 2019-01-16cRagexeRE, 2019-01-23dRagexe, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-20aRagexeRE, 2019-02-27aRagexe, 2019-02-27bRagexeRE, 2019-02-28aRagexe, 2019-02-28aRagexeRE, 2019-03-06bRagexe, 2019-03-06bRagexeRE, 2019-03-06cRagexe, 2019-03-06cRagexeRE, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-20aRagexeRE, 2019-03-22aRagexe, 2019-03-22aRagexeRE, 2019-03-27bRagexe, 2019-03-27bRagexeRE, 2019-04-03aRagexe, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17aRagexe, 2019-04-17cRagexeRE, 2019-04-18aRagexe, 2019-04-18aRagexeRE
+#if PACKETVER == 20101123 || \
+ PACKETVER == 20101124 || \
+ PACKETVER == 20101125 || \
+ PACKETVER == 20101126 || \
+ PACKETVER == 20101130 || \
+ PACKETVER == 20101207 || \
+ PACKETVER == 20101214 || \
+ PACKETVER == 20101221 || \
+ PACKETVER == 20101223 || \
+ PACKETVER == 20101228 || \
+ PACKETVER == 20110104 || \
+ PACKETVER == 20110105 || \
+ PACKETVER == 20110111 || \
+ PACKETVER == 20110118 || \
+ PACKETVER == 20110125 || \
+ PACKETVER == 20110126 || \
+ PACKETVER == 20110131 || \
+ PACKETVER == 20110208 || \
+ PACKETVER == 20110215 || \
+ PACKETVER == 20110222 || \
+ PACKETVER == 20110223 || \
+ PACKETVER == 20110224 || \
+ PACKETVER == 20110225 || \
+ PACKETVER == 20110228 || \
+ PACKETVER == 20110308 || \
+ PACKETVER == 20110309 || \
+ PACKETVER == 20110315 || \
+ PACKETVER == 20110322 || \
+ PACKETVER == 20110329 || \
+ PACKETVER == 20110330 || \
+ PACKETVER == 20110405 || \
+ PACKETVER == 20110412 || \
+ PACKETVER == 20110419 || \
+ PACKETVER == 20110420 || \
+ PACKETVER == 20110426 || \
+ PACKETVER == 20110427 || \
+ PACKETVER == 20110503 || \
+ PACKETVER == 20110511 || \
+ PACKETVER == 20110517 || \
+ PACKETVER == 20110524 || \
+ PACKETVER == 20110526 || \
+ PACKETVER == 20110531 || \
+ PACKETVER == 20110607 || \
+ PACKETVER == 20110608 || \
+ PACKETVER == 20110609 || \
+ PACKETVER == 20110614 || \
+ PACKETVER == 20110622 || \
+ PACKETVER == 20110628 || \
+ PACKETVER == 20110706 || \
+ PACKETVER == 20110713 || \
+ PACKETVER == 20110719 || \
+ PACKETVER == 20110726 || \
+ PACKETVER == 20110803 || \
+ PACKETVER == 20110810 || \
+ PACKETVER == 20131223 || \
+ PACKETVER == 20140508 || \
+ PACKETVER == 20140611 || \
+ PACKETVER == 20150225 || \
+ PACKETVER == 20180315 || \
+ PACKETVER == 20180321 || \
+ PACKETVER == 20180328 || \
+ PACKETVER == 20180404 || \
+ PACKETVER == 20180418 || \
+ PACKETVER == 20180425 || \
+ PACKETVER == 20180502 || \
+ PACKETVER == 20180509 || \
+ PACKETVER == 20180516 || \
+ PACKETVER == 20180523 || \
+ PACKETVER == 20180530 || \
+ PACKETVER == 20180605 || \
+ PACKETVER == 20180612 || \
+ PACKETVER == 20180620 || \
+ PACKETVER == 20180621 || \
+ PACKETVER == 20180704 || \
+ PACKETVER == 20180711 || \
+ PACKETVER == 20180718 || \
+ PACKETVER == 20180801 || \
+ PACKETVER == 20180808 || \
+ PACKETVER == 20180822 || \
+ PACKETVER == 20180829 || \
+ PACKETVER == 20180831 || \
+ PACKETVER == 20180912 || \
+ PACKETVER == 20180919 || \
+ PACKETVER == 20181002 || \
+ PACKETVER == 20181017 || \
+ PACKETVER == 20181024 || \
+ PACKETVER == 20181031 || \
+ PACKETVER == 20181107 || \
+ PACKETVER == 20181114 || \
+ PACKETVER == 20181121 || \
+ PACKETVER == 20181128 || \
+ PACKETVER == 20181205 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190109 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190123 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190228 || \
+ PACKETVER == 20190306 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190320 || \
+ PACKETVER == 20190322 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190417 || \
+ PACKETVER >= 20190418
+ packetKeys(0x00000000,0x00000000,0x00000000);
#endif
// 2010-11-30aRagexe
#if PACKETVER == 20101130
- packetKeys(0x3726593C,0x0EFD5EE8,0x79036DF9);
+ packetKeys(0x3726593c,0x0efd5ee8,0x79036df9);
#endif
// 2010-12-07bRagexe
#if PACKETVER == 20101207
- packetKeys(0x66111112,0x2B7B53AA,0x04E76DF8);
+ packetKeys(0x66111112,0x2b7b53aa,0x04e76df8);
#endif
// 2010-12-14aRagexe
#if PACKETVER == 20101214
- packetKeys(0x5E535D06,0x4E297F0E,0x400B6AD8);
+ packetKeys(0x5e535d06,0x4e297f0e,0x400b6ad8);
#endif
// 2010-12-21aRagexe
#if PACKETVER == 20101221
- packetKeys(0x0448466A,0x41554AC9,0x5B4710B2);
+ packetKeys(0x0448466a,0x41554ac9,0x5b4710b2);
#endif
// 2010-12-28aRagexe
#if PACKETVER == 20101228
- packetKeys(0x50C638A5,0x4BF86B20,0x480C3746);
+ packetKeys(0x50c638a5,0x4bf86b20,0x480c3746);
#endif
// 2011-01-04aRagexe
#if PACKETVER == 20110104
- packetKeys(0x55DB401F,0x047D4E02,0x6D8F2EA3);
+ packetKeys(0x55db401f,0x047d4e02,0x6d8f2ea3);
#endif
// 2011-01-11aRagexe
#if PACKETVER == 20110111
- packetKeys(0x2D5F6302,0x2A361CD6,0x39D661D6);
+ packetKeys(0x2d5f6302,0x2a361cd6,0x39d661d6);
#endif
// 2011-01-18aRagexe
#if PACKETVER == 20110118
- packetKeys(0x3C777D2D,0x00541A1D,0x5E0053A2);
+ packetKeys(0x3c777d2d,0x00541a1d,0x5e0053a2);
#endif
// 2011-01-25aRagexe, 2011-01-26aRagexe, 2011-01-26bRagexe, 2011-01-31aRagexe
#if PACKETVER == 20110125 || \
PACKETVER == 20110126 || \
PACKETVER == 20110131
- packetKeys(0x6BB84BB0,0x4C004382,0x10AE3260);
+ packetKeys(0x6bb84bb0,0x4c004382,0x10ae3260);
#endif
// 2011-01-31bRagexe, 2011-02-01aRagexe
#if PACKETVER == 20110131 || \
PACKETVER == 20110201
- packetKeys(0x68871E62,0x60D17266,0x74726DAA);
+ packetKeys(0x68871e62,0x60d17266,0x74726daa);
#endif
// 2011-02-08aRagexe, 2011-02-10aRagexe, 2011-02-10bRagexe
#if PACKETVER == 20110208 || \
PACKETVER == 20110210
- packetKeys(0x72BA4E9D,0x281E1DF1,0x208255AA);
+ packetKeys(0x72ba4e9d,0x281e1df1,0x208255aa);
#endif
// 2011-02-15aRagexe
#if PACKETVER == 20110215
- packetKeys(0x1B174D76,0x32005014,0x7B8B72D5);
+ packetKeys(0x1b174d76,0x32005014,0x7b8b72d5);
#endif
// 2011-02-22aRagexe, 2011-02-23aRagexe, 2011-02-23bRagexe, 2011-02-24aRagexe, 2011-02-25aRagexe, 2011-02-25bRagexe
@@ -105,70 +220,70 @@
PACKETVER == 20110223 || \
PACKETVER == 20110224 || \
PACKETVER == 20110225
- packetKeys(0x48F73B56,0x155F7D66,0x44AB57CE);
+ packetKeys(0x48f73b56,0x155f7d66,0x44ab57ce);
#endif
// 2011-02-28aRagexe
#if PACKETVER == 20110228
- packetKeys(0x26385EBF,0x7A8C7534,0x60AE2C34);
+ packetKeys(0x26385ebf,0x7a8c7534,0x60ae2c34);
#endif
// 2011-03-08aRagexe, 2011-03-09aRagexe, 2011-03-09bRagexe, 2011-03-09cRagexe, 2011-03-09dRagexe
#if PACKETVER == 20110308 || \
PACKETVER == 20110309
- packetKeys(0x003F1B20,0x7A1E12A3,0x34994AAD);
+ packetKeys(0x003f1b20,0x7a1e12a3,0x34994aad);
#endif
// 2011-03-15aRagexe, 2011-03-16aRagexe
#if PACKETVER == 20110315 || \
PACKETVER == 20110316
- packetKeys(0x62967D7D,0x34833D1A,0x26D45ECA);
+ packetKeys(0x62967d7d,0x34833d1a,0x26d45eca);
#endif
// 2011-03-22aRagexe
#if PACKETVER == 20110322
- packetKeys(0x5870617C,0x638D5376,0x739F4817);
+ packetKeys(0x5870617c,0x638d5376,0x739f4817);
#endif
// 2011-03-29aRagexe, 2011-03-30aRagexe
#if PACKETVER == 20110329 || \
PACKETVER == 20110330
- packetKeys(0x06900BB7,0x45DB687B,0x197B017B);
+ packetKeys(0x06900bb7,0x45db687b,0x197b017b);
#endif
// 2011-04-05aRagexe
#if PACKETVER == 20110405
- packetKeys(0x248D5C37,0x1C6A1B37,0x1F644FDB);
+ packetKeys(0x248d5c37,0x1c6a1b37,0x1f644fdb);
#endif
// 2011-04-12bRagexe
#if PACKETVER == 20110412
- packetKeys(0x3DE86BFC,0x0DD47F80,0x42481C9B);
+ packetKeys(0x3de86bfc,0x0dd47f80,0x42481c9b);
#endif
// 2011-04-19aRagexe
#if PACKETVER == 20110419
- packetKeys(0x26073204,0x62013A51,0x22AC58E0);
+ packetKeys(0x26073204,0x62013a51,0x22ac58e0);
#endif
// 2011-04-26aRagexe
#if PACKETVER == 20110426
- packetKeys(0x392813F9,0x09905054,0x40DB732E);
+ packetKeys(0x392813f9,0x09905054,0x40db732e);
#endif
// 2011-05-03aRagexe
#if PACKETVER == 20110503
- packetKeys(0x28BE32EE,0x1D506FCB,0x63832421);
+ packetKeys(0x28be32ee,0x1d506fcb,0x63832421);
#endif
// 2011-05-11aRagexe
#if PACKETVER == 20110511
- packetKeys(0x6A715733,0x3C5C0D74,0x408A48EC);
+ packetKeys(0x6a715733,0x3c5c0d74,0x408a48ec);
#endif
// 2011-05-17aRagexe
#if PACKETVER == 20110517
- packetKeys(0x07FE0C72,0x46766BAD,0x5EB5126A);
+ packetKeys(0x07fe0c72,0x46766bad,0x5eb5126a);
#endif
// 2011-05-23aRagexe, 2011-05-26bRagexe
@@ -179,323 +294,323 @@
// 2011-05-31aRagexe
#if PACKETVER == 20110531
- packetKeys(0x5ABA2C7C,0x3CD22073,0x78953988);
+ packetKeys(0x5aba2c7c,0x3cd22073,0x78953988);
#endif
// 2011-06-07aRagexe, 2011-06-08aRagexe, 2011-06-08bRagexe, 2011-06-08cRagexe, 2011-06-09aRagexe
#if PACKETVER == 20110607 || \
PACKETVER == 20110608 || \
PACKETVER == 20110609
- packetKeys(0x76B0426C,0x0DD74DEB,0x1F92228E);
+ packetKeys(0x76b0426c,0x0dd74deb,0x1f92228e);
#endif
// 2011-06-14aRagexe
#if PACKETVER == 20110614
- packetKeys(0x5749027B,0x71710972,0x5B096475);
+ packetKeys(0x5749027b,0x71710972,0x5b096475);
#endif
// 2011-06-20aRagexe
#if PACKETVER == 20110620
- packetKeys(0x3A1760D4,0x254E0DF9,0x440E2357);
+ packetKeys(0x3a1760d4,0x254e0df9,0x440e2357);
#endif
// 2011-06-27aRagexe
#if PACKETVER == 20110627
- packetKeys(0x3EFC29BD,0x699E4B11,0x7B900A13);
+ packetKeys(0x3efc29bd,0x699e4b11,0x7b900a13);
#endif
// 2011-07-05aRagexe
#if PACKETVER == 20110705
- packetKeys(0x48801A5E,0x68FC7726,0x081D7F6E);
+ packetKeys(0x48801a5e,0x68fc7726,0x081d7f6e);
#endif
// 2011-07-11bRagexe, 2011-07-13aRagexe, 2011-07-13bRagexe
#if PACKETVER == 20110711 || \
PACKETVER == 20110713
- packetKeys(0x489C544B,0x33BA1C25,0x2DE66E4E);
+ packetKeys(0x489c544b,0x33ba1c25,0x2de66e4e);
#endif
// 2011-07-18aRagexe
#if PACKETVER == 20110718
- packetKeys(0x08464674,0x1EEB3BD5,0x33395199);
+ packetKeys(0x08464674,0x1eeb3bd5,0x33395199);
#endif
// 2011-07-26aRagexe
#if PACKETVER == 20110726
- packetKeys(0x41E5730B,0x119C6C11,0x5356524A);
+ packetKeys(0x41e5730b,0x119c6c11,0x5356524a);
#endif
// 2011-08-02aRagexe
#if PACKETVER == 20110802
- packetKeys(0x607C08A1,0x65B20528,0x360571E9);
+ packetKeys(0x607c08a1,0x65b20528,0x360571e9);
#endif
// 2011-08-09aRagexe
#if PACKETVER == 20110809
- packetKeys(0x742A559A,0x047F425D,0x5C8C2CA0);
+ packetKeys(0x742a559a,0x047f425d,0x5c8c2ca0);
#endif
// 2011-08-16aRagexe, 2011-08-16aRagexeRE, 2011-08-17aRagexe, 2011-08-17aRagexeRE, 2011-08-17bRagexe, 2011-08-17bRagexeRE
#if PACKETVER == 20110816 || \
PACKETVER == 20110817
- packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED);
+ packetKeys(0x053d5ced,0x3ded6ded,0x6ded6ded);
#endif
// 2011-08-23aRagexe, 2011-08-23aRagexeRE, 2011-08-24aRagexe, 2011-08-24aRagexeRE, 2011-08-24bRagexeRE
#if PACKETVER == 20110823 || \
PACKETVER == 20110824
- packetKeys(0x35C91401,0x262A5556,0x28FA03AA);
+ packetKeys(0x35c91401,0x262a5556,0x28fa03aa);
#endif
// 2011-08-31aRagexe, 2011-08-31aRagexeRE, 2011-08-31bRagexe, 2011-08-31bRagexeRE, 2011-08-31cRagexe, 2011-08-31cRagexeRE, 2011-08-31dRagexeRE, 2011-08-31eRagexeRE
#if PACKETVER == 20110831
- packetKeys(0x3AD67ED0,0x44703C69,0x6F876809);
+ packetKeys(0x3ad67ed0,0x44703c69,0x6f876809);
#endif
// 2011-09-06aRagexe, 2011-09-06aRagexeRE, 2011-09-14aRagexe, 2011-09-14aRagexeRE
#if PACKETVER == 20110906 || \
PACKETVER == 20110914
- packetKeys(0x350124EC,0x39A14595,0x0DE56125);
+ packetKeys(0x350124ec,0x39a14595,0x0de56125);
#endif
// 2011-09-20aRagexe, 2011-09-20aRagexeRE, 2011-09-20aRagexeRE2
#if PACKETVER == 20110920
- packetKeys(0x79C91A12,0x20450CC0,0x584B2A38);
+ packetKeys(0x79c91a12,0x20450cc0,0x584b2a38);
#endif
// 2011-09-28aRagexe, 2011-09-28aRagexe-retry, 2011-09-28aRagexeRE, 2011-09-29aRagexe, 2011-09-29aRagexeRE
#if PACKETVER == 20110928 || \
PACKETVER == 20110929
- packetKeys(0x26567512,0x4B0732DF,0x57D266C6);
+ packetKeys(0x26567512,0x4b0732df,0x57d266c6);
#endif
// 2011-10-04aRagexe, 2011-10-04aRagexeRE, 2011-10-05aRagexe, 2011-10-05aRagexeRE
#if PACKETVER == 20111004 || \
PACKETVER == 20111005
- packetKeys(0x291E6762,0x77CD391A,0x60AC2F16);
+ packetKeys(0x291e6762,0x77cd391a,0x60ac2f16);
#endif
// 2011-10-10aRagexe, 2011-10-10bRagexeRE, 2011-10-12aRagexeRE, 2011-10-12bRagexe
#if PACKETVER == 20111010 || \
PACKETVER == 20111012
- packetKeys(0x7F3C2D29,0x59B01DE6,0x1DBB44CA);
+ packetKeys(0x7f3c2d29,0x59b01de6,0x1dbb44ca);
#endif
// 2011-10-17aRagexe, 2011-10-17aRagexeRE, 2011-10-19aRagexeRE, 2011-10-19bRagexeRE, 2011-10-21aRagexe, 2011-10-21aRagexeRE, 2011-10-21cRagexe
#if PACKETVER == 20111017 || \
PACKETVER == 20111019 || \
PACKETVER == 20111021
- packetKeys(0x357D55DC,0x5A8D759F,0x245C30F5);
+ packetKeys(0x357d55dc,0x5a8d759f,0x245c30f5);
#endif
// 2011-10-25aRagexe, 2011-10-25aRagexeRE
#if PACKETVER == 20111025
- packetKeys(0x50AE1A63,0x3CE579B5,0x29C10406);
+ packetKeys(0x50ae1a63,0x3ce579b5,0x29c10406);
#endif
// 2011-11-01cRagexe, 2011-11-01cRagexeRE, 2011-11-02aRagexe, 2011-11-02aRagexeRE
#if PACKETVER == 20111101 || \
PACKETVER == 20111102
- packetKeys(0x5324329D,0x5D545D52,0x06137269);
+ packetKeys(0x5324329d,0x5d545d52,0x06137269);
#endif
// 2011-11-08aRagexe, 2011-11-08aRagexeRE, 2011-11-09aRagexe, 2011-11-09aRagexeRE, 2011-11-09bRagexe, 2011-11-09cRagexe, 2011-11-09dRagexe, 2011-11-09eRagexe
#if PACKETVER == 20111108 || \
PACKETVER == 20111109
- packetKeys(0x0B642BDA,0x6ECB1D1C,0x61C7454B);
+ packetKeys(0x0b642bda,0x6ecb1d1c,0x61c7454b);
#endif
// 2011-11-14aRagexe, 2011-11-14aRagexeRE, 2011-11-16aRagexe, 2011-11-16aRagexeRE
#if PACKETVER == 20111114 || \
PACKETVER == 20111116
- packetKeys(0x419D0DB0,0x74916BF4,0x027371B4);
+ packetKeys(0x419d0db0,0x74916bf4,0x027371b4);
#endif
// 2011-11-22aRagexe, 2011-11-22aRagexeRE, 2011-11-23aRagexe
#if PACKETVER == 20111122 || \
PACKETVER == 20111123
- packetKeys(0x3B550F07,0x1F666C7C,0x60304EF5);
+ packetKeys(0x3b550f07,0x1f666c7c,0x60304ef5);
#endif
// 2011-12-07aRagexe, 2011-12-07aRagexeRE
#if PACKETVER == 20111207
- packetKeys(0x2A610886,0x3E09165E,0x57C11888);
+ packetKeys(0x2a610886,0x3e09165e,0x57c11888);
#endif
// 2011-12-13aRagexe, 2011-12-13aRagexeRE, 2011-12-14aRagexe, 2011-12-14aRagexeRE, 2011-12-14bRagexeRE, 2011-12-14cRagexeRE
#if PACKETVER == 20111213 || \
PACKETVER == 20111214
- packetKeys(0x5151306B,0x7AE32886,0x53060628);
+ packetKeys(0x5151306b,0x7ae32886,0x53060628);
#endif
// 2011-12-20bRagexe, 2011-12-20bRagexeRE
#if PACKETVER == 20111220
- packetKeys(0x05D53871,0x7D0027B4,0x29975333);
+ packetKeys(0x05d53871,0x7d0027b4,0x29975333);
#endif
// 2011-12-27aRagexe, 2011-12-27aRagexeRE, 2011-12-28aRagexe, 2011-12-28aRagexeRE
#if PACKETVER == 20111227 || \
PACKETVER == 20111228
- packetKeys(0x0FF87E93,0x6CFF7860,0x3A3D1DEC);
+ packetKeys(0x0ff87e93,0x6cff7860,0x3a3d1dec);
#endif
// 2012-01-03aRagexe, 2012-01-03bRagexeRE, 2012-01-04aRagexe, 2012-01-04aRagexeRE, 2012-01-04bRagexe
#if PACKETVER == 20120103 || \
PACKETVER == 20120104
- packetKeys(0x262034A1,0x674542A5,0x73A50BA5);
+ packetKeys(0x262034a1,0x674542a5,0x73a50ba5);
#endif
// 2012-01-10aRagexeRE, 2012-01-10bRagexe
#if PACKETVER == 20120110
- packetKeys(0x2B412AFC,0x4FF94487,0x6705339D);
+ packetKeys(0x2b412afc,0x4ff94487,0x6705339d);
#endif
// 2012-01-17aRagexe, 2012-01-17aRagexeRE, 2012-01-18aRagexe
#if PACKETVER == 20120117 || \
PACKETVER == 20120118
- packetKeys(0x24E32C2E,0x48DD17A5,0x64F8771A);
+ packetKeys(0x24e32c2e,0x48dd17a5,0x64f8771a);
#endif
// 2012-01-20aRagexe, 2012-01-20aRagexeRE
#if PACKETVER == 20120120
- packetKeys(0x504345D0,0x3D427B1B,0x794C2DCC);
+ packetKeys(0x504345d0,0x3d427b1b,0x794c2dcc);
#endif
// 2012-01-31aRagexe, 2012-01-31cRagexeRE, 2012-02-01aRagexeRE, 2012-02-02aRagexe, 2012-02-02aRagexeRE, 2012-02-02bRagexe, 2012-02-02bRagexeRE
#if PACKETVER == 20120131 || \
PACKETVER == 20120201 || \
PACKETVER == 20120202
- packetKeys(0x2CFC0A71,0x2BA91D8D,0x087E39E0);
+ packetKeys(0x2cfc0a71,0x2ba91d8d,0x087e39e0);
#endif
// 2012-02-07bRagexe, 2012-02-07bRagexeRE, 2012-02-08aRagexe, 2012-02-09aRagexe
#if PACKETVER == 20120207 || \
PACKETVER == 20120208 || \
PACKETVER == 20120209
- packetKeys(0x1D373F5D,0x5ACD604D,0x1C4D7C4D);
+ packetKeys(0x1d373f5d,0x5acd604d,0x1c4d7c4d);
#endif
// 2012-02-14bRagexe, 2012-02-14bRagexeRE, 2012-02-15aRagexe
#if PACKETVER == 20120214 || \
PACKETVER == 20120215
- packetKeys(0x7A255EFA,0x30977276,0x2D4A0448);
+ packetKeys(0x7a255efa,0x30977276,0x2d4a0448);
#endif
// 2012-02-21aRagexe, 2012-02-21aRagexeRE, 2012-02-22aRagexe, 2012-02-22aRagexeRE
#if PACKETVER == 20120221 || \
PACKETVER == 20120222
- packetKeys(0x1CA5130F,0x43ED240A,0x7FEA3BE0);
+ packetKeys(0x1ca5130f,0x43ed240a,0x7fea3be0);
#endif
// 2012-02-28bRagexe, 2012-02-28bRagexeRE, 2012-02-29aRagexe, 2012-02-29aRagexeRE
#if PACKETVER == 20120228 || \
PACKETVER == 20120229
- packetKeys(0x520B4C64,0x2800407D,0x47651458);
+ packetKeys(0x520b4c64,0x2800407d,0x47651458);
#endif
// 2012-03-07aRagexe, 2012-03-07aRagexeRE, 2012-03-07bRagexe, 2012-03-07bRagexeRE, 2012-03-07cRagexe, 2012-03-07cRagexeRE, 2012-03-07dRagexe, 2012-03-07dRagexeRE, 2012-03-07eRagexeRE, 2012-03-07fRagexeRE
#if PACKETVER == 20120307
- packetKeys(0x382A6DEF,0x5CBE7202,0x61F46637);
+ packetKeys(0x382a6def,0x5cbe7202,0x61f46637);
#endif
// 2012-03-14aRagexe, 2012-03-14aRagexeRE, 2012-03-14bRagexe, 2012-03-14bRagexeRE, 2012-03-14cRagexe, 2012-03-14cRagexeRE
#if PACKETVER == 20120314
- packetKeys(0x689C1729,0x11812639,0x60F82967);
+ packetKeys(0x689c1729,0x11812639,0x60f82967);
#endif
// 2012-03-20aRagexe, 2012-03-20aRagexeRE, 2012-03-21aRagexeRE
#if PACKETVER == 20120320 || \
PACKETVER == 20120321
- packetKeys(0x21F9683F,0x710C5CA5,0x1FD910E9);
+ packetKeys(0x21f9683f,0x710c5ca5,0x1fd910e9);
#endif
// 2012-03-28aRagexe, 2012-03-28aRagexeRE, 2012-03-28bRagexe, 2012-03-28bRagexeRE, 2012-03-28cRagexe, 2012-03-28cRagexeRE, 2012-03-28dRagexe, 2012-03-28dRagexeRE, 2012-03-28eRagexeRE, 2012-03-28fRagexeRE, 2012-03-28gRagexeRE
#if PACKETVER == 20120328
- packetKeys(0x75B8553B,0x37F20B12,0x385C2B40);
+ packetKeys(0x75b8553b,0x37f20b12,0x385c2b40);
#endif
// 2012-04-04aRagexe, 2012-04-04aRagexeRE
#if PACKETVER == 20120404
- packetKeys(0x0036310C,0x2DCD0BED,0x1EE62A78);
+ packetKeys(0x0036310c,0x2dcd0bed,0x1ee62a78);
#endif
// 2012-04-10aRagexe, 2012-04-10aRagexeRE
#if PACKETVER == 20120410
- packetKeys(0x01581359,0x452D6FFA,0x6AFB6E2E);
+ packetKeys(0x01581359,0x452d6ffa,0x6afb6e2e);
#endif
// 2012-04-17aRagexe, 2012-04-17aRagexeRE, 2012-04-18aRagexeRE
#if PACKETVER == 20120417 || \
PACKETVER == 20120418
- packetKeys(0x01540E48,0x13041224,0x31247924);
+ packetKeys(0x01540e48,0x13041224,0x31247924);
#endif
// 2012-04-24aRagexe, 2012-04-24aRagexeRE
#if PACKETVER == 20120424
- packetKeys(0x411D1DBB,0x4CBA4848,0x1A432FC4);
+ packetKeys(0x411d1dbb,0x4cba4848,0x1a432fc4);
#endif
// 2012-05-02aRagexeRE, 2012-05-03aRagexe, 2012-05-03aRagexeRE, 2012-05-03bRagexe
#if PACKETVER == 20120502 || \
PACKETVER == 20120503
- packetKeys(0x37A91D19,0x10190019,0x00190019);
+ packetKeys(0x37a91d19,0x10190019,0x00190019);
#endif
// 2012-05-08aRagexe, 2012-05-08aRagexeRE, 2012-05-09aRagexeRE, 2012-05-09bRagexeRE
#if PACKETVER == 20120508 || \
PACKETVER == 20120509
- packetKeys(0x16CF3301,0x1F472B9B,0x0B4A3CD2);
+ packetKeys(0x16cf3301,0x1f472b9b,0x0b4a3cd2);
#endif
// 2012-05-15aRagexe, 2012-05-15aRagexeRE
#if PACKETVER == 20120515
- packetKeys(0x4A715EF9,0x79103E4F,0x405C1238);
+ packetKeys(0x4a715ef9,0x79103e4f,0x405c1238);
#endif
// 2012-05-22aRagexe, 2012-05-23aRagexe, 2012-05-23aRagexeRE, 2012-05-23bRagexeRE, 2012-05-25aRagexeRE
#if PACKETVER == 20120522 || \
PACKETVER == 20120523 || \
PACKETVER == 20120525
- packetKeys(0x70EB4CCB,0x0487713C,0x398D4B08);
+ packetKeys(0x70eb4ccb,0x0487713c,0x398d4b08);
#endif
// 2012-05-29bRagexe, 2012-05-29bRagexeRE
#if PACKETVER == 20120529
- packetKeys(0x53415DDE,0x34953E16,0x27623DF2);
+ packetKeys(0x53415dde,0x34953e16,0x27623df2);
#endif
// 2012-06-01aRagexeRE, 2012-06-04aRagexe, 2012-06-05aRagexeRE
#if PACKETVER == 20120601 || \
PACKETVER == 20120604 || \
PACKETVER == 20120605
- packetKeys(0x68CA3080,0x31B74BDD,0x505208F1);
+ packetKeys(0x68ca3080,0x31b74bdd,0x505208f1);
#endif
// 2012-06-12aRagexe, 2012-06-12aRagexeRE
#if PACKETVER == 20120612
- packetKeys(0x32E45D64,0x35643564,0x35643564);
+ packetKeys(0x32e45d64,0x35643564,0x35643564);
#endif
// 2012-06-18aRagexe, 2012-06-18aRagexeRE
#if PACKETVER == 20120618
- packetKeys(0x261F261F,0x261F261F,0x261F261F);
+ packetKeys(0x261f261f,0x261f261f,0x261f261f);
#endif
// 2012-06-26aRagexe, 2012-06-26aRagexeRE, 2012-06-27aRagexe, 2012-06-27aRagexeRE
#if PACKETVER == 20120626 || \
PACKETVER == 20120627
- packetKeys(0x02277E66,0x045723F1,0x7107392C);
+ packetKeys(0x02277e66,0x045723f1,0x7107392c);
#endif
// 2012-07-02aRagexe, 2012-07-02aRagexeRE
#if PACKETVER == 20120702
- packetKeys(0x25733B31,0x53486CFD,0x398649BD);
+ packetKeys(0x25733b31,0x53486cfd,0x398649bd);
#endif
// 2012-07-10aRagexe, 2012-07-10aRagexeRE, 2012-07-12aRagexe, 2012-07-12aRagexeRE
#if PACKETVER == 20120710 || \
PACKETVER == 20120712
- packetKeys(0x0E8B7AFB,0x6930362D,0x42D33A57);
+ packetKeys(0x0e8b7afb,0x6930362d,0x42d33a57);
#endif
// 2012-07-16aRagexe, 2012-07-16aRagexeRE
@@ -505,482 +620,453 @@
// 2012-07-24aRagexe, 2012-07-24aRagexeRE
#if PACKETVER == 20120724
- packetKeys(0x783D5BC6,0x3AAC2176,0x66616F02);
+ packetKeys(0x783d5bc6,0x3aac2176,0x66616f02);
#endif
// 2012-08-01aRagexe, 2012-08-01aRagexeRE, 2012-08-01bRagexe, 2012-08-01bRagexeRE
#if PACKETVER == 20120801
- packetKeys(0x71FB6768,0x5843166B,0x6CB445C6);
+ packetKeys(0x71fb6768,0x5843166b,0x6cb445c6);
#endif
// 2012-08-08aRagexe, 2012-08-08aRagexeRE, 2012-08-08bRagexe, 2012-08-08bRagexeRE, 2012-08-08cRagexe, 2012-08-08cRagexeRE, 2012-08-08dRagexeRE
#if PACKETVER == 20120808
- packetKeys(0x5D5068BB,0x36732065,0x47CF7367);
+ packetKeys(0x5d5068bb,0x36732065,0x47cf7367);
#endif
// 2012-08-14aRagexe, 2012-08-14aRagexeRE, 2012-08-14bRagexe, 2012-08-14bRagexeRE
#if PACKETVER == 20120814
- packetKeys(0x203E21BD,0x047459FB,0x56AF5A97);
+ packetKeys(0x203e21bd,0x047459fb,0x56af5a97);
#endif
// 2012-08-22aRagexe, 2012-08-22aRagexeRE, 2012-08-22bRagexe, 2012-08-22bRagexeRE, 2012-08-22cRagexe, 2012-08-22cRagexeRE
#if PACKETVER == 20120822
- packetKeys(0x06A92E7B,0x3D324F29,0x5FD63004);
+ packetKeys(0x06a92e7b,0x3d324f29,0x5fd63004);
#endif
// 2012-08-30aRagexe, 2012-08-30aRagexeRE, 2012-08-30bRagexeRE
#if PACKETVER == 20120830
- packetKeys(0x0AF1363D,0x4AB33E3B,0x48421DBE);
+ packetKeys(0x0af1363d,0x4ab33e3b,0x48421dbe);
#endif
// 2012-09-05aRagexe, 2012-09-05aRagexeRE
#if PACKETVER == 20120905
- packetKeys(0x04F50D80,0x092F5C4D,0x29BF3DCF);
+ packetKeys(0x04f50d80,0x092f5c4d,0x29bf3dcf);
#endif
// 2012-09-11aRagexe, 2012-09-11aRagexeRE
#if PACKETVER == 20120911
- packetKeys(0x1F3D1145,0x02DB3C32,0x4BE34C49);
+ packetKeys(0x1f3d1145,0x02db3c32,0x4be34c49);
#endif
// 2012-09-19aRagexe, 2012-09-19aRagexeRE
#if PACKETVER == 20120919
- packetKeys(0x72E00F24,0x4EA02D80,0x7C803480);
+ packetKeys(0x72e00f24,0x4ea02d80,0x7c803480);
#endif
// 2012-09-25aRagexe, 2012-09-25aRagexeRE, 2012-09-26aRagexe, 2012-09-26aRagexeRE
#if PACKETVER == 20120925 || \
PACKETVER == 20120926
- packetKeys(0x43A66E22,0x36C2229F,0x08172ECE);
+ packetKeys(0x43a66e22,0x36c2229f,0x08172ece);
#endif
// 2012-10-10aRagexe, 2012-10-10aRagexeRE, 2012-10-10bRagexe, 2012-10-10bRagexeRE, 2012-10-11aRagexeRE
#if PACKETVER == 20121010 || \
PACKETVER == 20121011
- packetKeys(0x169733E2,0x4C4640DC,0x31636531);
+ packetKeys(0x169733e2,0x4c4640dc,0x31636531);
#endif
// 2012-10-17aRagexe, 2012-10-17aRagexeRE, 2012-10-17bRagexe, 2012-10-17bRagexeRE
#if PACKETVER == 20121017
- packetKeys(0x340C0C31,0x33205EA8,0x55964BFF);
+ packetKeys(0x340c0c31,0x33205ea8,0x55964bff);
#endif
// 2012-10-24aRagexe, 2012-10-24aRagexeRE
#if PACKETVER == 20121024
- packetKeys(0x6166335C,0x45393483,0x7EDC5478);
+ packetKeys(0x6166335c,0x45393483,0x7edc5478);
#endif
// 2012-10-31aRagexe, 2012-10-31aRagexeRE
#if PACKETVER == 20121031
- packetKeys(0x66EB7ADB,0x242864BB,0x354A4CDE);
+ packetKeys(0x66eb7adb,0x242864bb,0x354a4cde);
#endif
// 2012-11-07aRagexe, 2012-11-07aRagexeRE
#if PACKETVER == 20121107
- packetKeys(0x49967892,0x48025276,0x1E192CA3);
+ packetKeys(0x49967892,0x48025276,0x1e192ca3);
#endif
// 2012-11-14aRagexe, 2012-11-14aRagexeRE
#if PACKETVER == 20121114
- packetKeys(0x3473545C,0x2706445C,0x79647616);
+ packetKeys(0x3473545c,0x2706445c,0x79647616);
#endif
// 2012-11-21aRagexe, 2012-11-21aRagexeRE
#if PACKETVER == 20121121
- packetKeys(0x6EB54B0B,0x3F2A6BE5,0x0B2866E6);
+ packetKeys(0x6eb54b0b,0x3f2a6be5,0x0b2866e6);
#endif
// 2012-11-28aRagexe, 2012-11-28aRagexeRE
#if PACKETVER == 20121128
- packetKeys(0x146D4D5E,0x5C3D161B,0x759250B8);
+ packetKeys(0x146d4d5e,0x5c3d161b,0x759250b8);
#endif
// 2012-12-05aRagexe, 2012-12-05aRagexeRE, 2012-12-05bRagexe, 2012-12-05bRagexeRE
#if PACKETVER == 20121205
- packetKeys(0x218C64B6,0x4EFE17AE,0x27EA5E74);
+ packetKeys(0x218c64b6,0x4efe17ae,0x27ea5e74);
#endif
// 2012-12-12aRagexe, 2012-12-12aRagexeRE, 2012-12-12bRagexe, 2012-12-12bRagexeRE, 2012-12-12cRagexeRE
#if PACKETVER == 20121212
- packetKeys(0x7F8026F0,0x32EE2A4B,0x73746C0E);
+ packetKeys(0x7f8026f0,0x32ee2a4b,0x73746c0e);
#endif
// 2012-12-18aRagexe, 2012-12-18aRagexeRE, 2012-12-18bRagexe, 2012-12-18bRagexeRE
#if PACKETVER == 20121218
- packetKeys(0x6A5450A2,0x4322498A,0x2C6574FB);
+ packetKeys(0x6a5450a2,0x4322498a,0x2c6574fb);
#endif
// 2012-12-27aRagexe, 2012-12-27aRagexeRE
#if PACKETVER == 20121227
- packetKeys(0x71773018,0x36A14EEB,0x28CD5A20);
+ packetKeys(0x71773018,0x36a14eeb,0x28cd5a20);
#endif
// 2013-01-03aRagexe, 2013-01-03aRagexeRE, 2013-01-07aRagexe
#if PACKETVER == 20130103 || \
PACKETVER == 20130107
- packetKeys(0x1E1A559A,0x199A799A,0x799A799A);
+ packetKeys(0x1e1a559a,0x199a799a,0x799a799a);
#endif
// 2013-01-09aRagexe, 2013-01-09aRagexeRE
#if PACKETVER == 20130109
- packetKeys(0x6435360F,0x0A283678,0x64A04AC7);
+ packetKeys(0x6435360f,0x0a283678,0x64a04ac7);
#endif
// 2013-01-15aRagexeRE, 2013-01-15bRagexe, 2013-01-16aRagexe, 2013-01-16aRagexeRE, 2013-01-16bRagexe
#if PACKETVER == 20130115 || \
PACKETVER == 20130116
- packetKeys(0x273C25CD,0x06AA48AF,0x45A01BD4);
+ packetKeys(0x273c25cd,0x06aa48af,0x45a01bd4);
#endif
// 2013-01-21aRagexe, 2013-01-21aRagexeRE
#if PACKETVER == 20130121
- packetKeys(0x5DD874B0,0x7D98233F,0x28FF5566);
+ packetKeys(0x5dd874b0,0x7d98233f,0x28ff5566);
#endif
// 2013-01-30aRagexe, 2013-01-30aRagexeRE
#if PACKETVER == 20130130
- packetKeys(0x1EA57961,0x27786856,0x30301FA0);
+ packetKeys(0x1ea57961,0x27786856,0x30301fa0);
#endif
// 2013-02-06aRagexe, 2013-02-06aRagexeRE
#if PACKETVER == 20130206
- packetKeys(0x1D8F4227,0x675812AA,0x29132929);
+ packetKeys(0x1d8f4227,0x675812aa,0x29132929);
#endif
// 2013-02-15aRagexe, 2013-02-15aRagexeRE, 2013-02-15bRagexe
#if PACKETVER == 20130215
- packetKeys(0x69FB1C38,0x7D386860,0x62805311);
+ packetKeys(0x69fb1c38,0x7d386860,0x62805311);
#endif
// 2013-02-20aRagexe, 2013-02-20bRagexeRE
#if PACKETVER == 20130220
- packetKeys(0x0D555256,0x28C26722,0x72220A22);
+ packetKeys(0x0d555256,0x28c26722,0x72220a22);
#endif
// 2013-02-27aRagexe, 2013-02-27aRagexeRE
#if PACKETVER == 20130227
- packetKeys(0x44F86842,0x43786A7A,0x71654528);
+ packetKeys(0x44f86842,0x43786a7a,0x71654528);
#endif
// 2013-03-06aRagexe, 2013-03-06aRagexeRE, 2013-03-06bRagexeRE
#if PACKETVER == 20130306
- packetKeys(0x7E274326,0x7D182DF2,0x4FC27DFA);
+ packetKeys(0x7e274326,0x7d182df2,0x4fc27dfa);
#endif
// 2013-03-13aRagexe, 2013-03-13aRagexeRE, 2013-03-13bRagexeRE, 2013-03-13cRagexeRE
#if PACKETVER == 20130313
- packetKeys(0x560021C3,0x6A5D110F,0x52BD40A5);
+ packetKeys(0x560021c3,0x6a5d110f,0x52bd40a5);
#endif
// 2013-03-20bRagexeRE, 2013-03-20cRagexeRE, 2013-03-20dRagexe, 2013-03-20eRagexe
#if PACKETVER == 20130320
- packetKeys(0x3F094C49,0x55F86C1E,0x58AA359A);
+ packetKeys(0x3f094c49,0x55f86c1e,0x58aa359a);
#endif
// 2013-03-27bRagexe, 2013-03-27bRagexeRE
#if PACKETVER == 20130327
- packetKeys(0x114B1BA0,0x2C4F0AE2,0x5FA1183F);
+ packetKeys(0x114b1ba0,0x2c4f0ae2,0x5fa1183f);
#endif
// 2013-04-03aRagexe, 2013-04-03aRagexeRE
#if PACKETVER == 20130403
- packetKeys(0x424A43AE,0x4A9D5EBE,0x4B3518A9);
+ packetKeys(0x424a43ae,0x4a9d5ebe,0x4b3518a9);
#endif
// 2013-04-10aRagexe, 2013-04-10aRagexeRE
#if PACKETVER == 20130410
- packetKeys(0x3AD52ACA,0x314D1AED,0x086E415E);
+ packetKeys(0x3ad52aca,0x314d1aed,0x086e415e);
#endif
// 2013-04-17aRagexe, 2013-04-17aRagexeRE
#if PACKETVER == 20130417
- packetKeys(0x7FB13B83,0x6E003749,0x07A02B94);
+ packetKeys(0x7fb13b83,0x6e003749,0x07a02b94);
#endif
// 2013-04-24aRagexe, 2013-04-24aRagexeRE
#if PACKETVER == 20130424
- packetKeys(0x79F679F6,0x79F679F6,0x79F679F6);
+ packetKeys(0x79f679f6,0x79f679f6,0x79f679f6);
#endif
// 2013-05-02aRagexe, 2013-05-02aRagexeRE, 2013-05-02bRagexe
#if PACKETVER == 20130502
- packetKeys(0x62E733B9,0x62204281,0x7F044DCA);
+ packetKeys(0x62e733b9,0x62204281,0x7f044dca);
#endif
// 2013-05-08bRagexe, 2013-05-08bRagexeRE, 2013-05-08cRagexe, 2013-05-08dRagexe, 2013-05-08eRagexe, 2013-05-08fRagexe
#if PACKETVER == 20130508
- packetKeys(0x25421E49,0x175200BA,0x6C0B5239);
+ packetKeys(0x25421e49,0x175200ba,0x6c0b5239);
#endif
// 2013-05-15aRagexe, 2013-05-15aRagexeRE
#if PACKETVER == 20130515
- packetKeys(0x75794A38,0x58A96BC1,0x296E6FB8);
+ packetKeys(0x75794a38,0x58a96bc1,0x296e6fb8);
#endif
// 2013-05-22aRagexe, 2013-05-22aRagexeRE
#if PACKETVER == 20130522
- packetKeys(0x6948050B,0x06511D9D,0x725D4DF1);
+ packetKeys(0x6948050b,0x06511d9d,0x725d4df1);
#endif
// 2013-05-29aRagexe, 2013-05-29aRagexeRE
#if PACKETVER == 20130529
- packetKeys(0x023A6C87,0x14BF1F1E,0x5CC70CC9);
+ packetKeys(0x023a6c87,0x14bf1f1e,0x5cc70cc9);
#endif
// 2013-06-05aRagexe, 2013-06-05bRagexe, 2013-06-05cRagexeRE
#if PACKETVER == 20130605
- packetKeys(0x646E08D9,0x5F153AB5,0x61B509B5);
+ packetKeys(0x646e08d9,0x5f153ab5,0x61b509b5);
#endif
// 2013-06-12aRagexe, 2013-06-12bRagexe, 2013-06-12bRagexeRE, 2013-06-12cRagexe, 2013-06-12dRagexe, 2013-06-12eRagexe
#if PACKETVER == 20130612
- packetKeys(0x6D166F66,0x3C000FCF,0x295B0FCB);
+ packetKeys(0x6d166f66,0x3c000fcf,0x295b0fcb);
#endif
// 2013-06-18#1aRagexe, 2013-06-18#1aRagexeRE
#if PACKETVER == 20130618
- packetKeys(0x434115DE,0x34A10FE9,0x6791428E);
+ packetKeys(0x434115de,0x34a10fe9,0x6791428e);
#endif
// 2013-06-26_3bRagexeRE, 2013-06-26_3cRagexe, 2013-06-26aRagexeRE, 2013-06-26bRagexe
#if PACKETVER == 20130626
- packetKeys(0x38F453EF,0x6A040FD8,0x65BD6668);
+ packetKeys(0x38f453ef,0x6a040fd8,0x65bd6668);
#endif
// 2013-07-03aRagexe, 2013-07-03bRagexeRE
#if PACKETVER == 20130703
- packetKeys(0x4FF90E23,0x0F1432F2,0x4CFA1EDA);
+ packetKeys(0x4ff90e23,0x0f1432f2,0x4cfa1eda);
#endif
// 2013-07-10aRagexeRE, 2013-07-10bRagexe, 2013-07-10bRagexeRE, 2013-07-10cRagexeRE, 2013-07-10dRagexeRE, 2013-07-10eRagexeRE
#if PACKETVER == 20130710
- packetKeys(0x4A9C4237,0x4CCF3F8F,0x458F758F);
+ packetKeys(0x4a9c4237,0x4ccf3f8f,0x458f758f);
#endif
// 2013-07-17cRagexe, 2013-07-17cRagexeRE, 2013-07-17dRagexeRE, 2013-07-17eRagexeRE
#if PACKETVER == 20130717
- packetKeys(0x5EE5520C,0x5F9E00CF,0x2BED4F91);
+ packetKeys(0x5ee5520c,0x5f9e00cf,0x2bed4f91);
#endif
// 2013-07-24eRagexe, 2013-07-24eRagexeRE, 2013-07-24fRagexeRE
#if PACKETVER == 20130724
- packetKeys(0x3C243BF5,0x42CC4E2F,0x02106EC6);
+ packetKeys(0x3c243bf5,0x42cc4e2f,0x02106ec6);
#endif
// 2013-07-31cRagexe, 2013-07-31cRagexeRE
#if PACKETVER == 20130731
- packetKeys(0x1E9D11A6,0x21A232B8,0x6A9E02B7);
+ packetKeys(0x1e9d11a6,0x21a232b8,0x6a9e02b7);
#endif
// 2013-08-07aRagexe, 2013-08-07aRagexeRE
#if PACKETVER == 20130807
- packetKeys(0x7E241DE0,0x5E805580,0x3D807D80);
+ packetKeys(0x7e241de0,0x5e805580,0x3d807d80);
#endif
// 2013-08-14aRagexe, 2013-08-14aRagexeRE
#if PACKETVER == 20130814
- packetKeys(0x23A23148,0x0C41420E,0x53785AD7);
+ packetKeys(0x23a23148,0x0c41420e,0x53785ad7);
#endif
// 2013-08-21bRagexe, 2013-08-21dRagexeRE
#if PACKETVER == 20130821
- packetKeys(0x51673F38,0x01663512,0x5CFF0B3D);
+ packetKeys(0x51673f38,0x01663512,0x5cff0b3d);
#endif
// 2013-08-28bRagexe, 2013-08-28bRagexeRE, 2013-08-28cRagexe, 2013-08-28cRagexeRE
#if PACKETVER == 20130828
- packetKeys(0x02EF7A9A,0x4882042F,0x76796678);
+ packetKeys(0x02ef7a9a,0x4882042f,0x76796678);
#endif
// 2013-09-04aRagexe, 2013-09-04bRagexeRE
#if PACKETVER == 20130904
- packetKeys(0x41AF20C5,0x0997799E,0x4AE803A0);
+ packetKeys(0x41af20c5,0x0997799e,0x4ae803a0);
#endif
// 2013-09-11aRagexe, 2013-09-11aRagexeRE, 2013-09-11bRagexe, 2013-09-11bRagexeRE
#if PACKETVER == 20130911
- packetKeys(0x232B3F47,0x0AD0515F,0x1CA31828);
+ packetKeys(0x232b3f47,0x0ad0515f,0x1ca31828);
#endif
// 2013-09-17aRagexe, 2013-09-17aRagexeRE
#if PACKETVER == 20130917
- packetKeys(0x5C9164C5,0x32B62F83,0x52864548);
+ packetKeys(0x5c9164c5,0x32b62f83,0x52864548);
#endif
// 2013-09-25aRagexe, 2013-09-25aRagexeRE, 2013-09-25bRagexe, 2013-09-25bRagexeRE, 2013-09-25cRagexe
#if PACKETVER == 20130925
- packetKeys(0x4B9C279A,0x0C7849C4,0x72A77646);
+ packetKeys(0x4b9c279a,0x0c7849c4,0x72a77646);
#endif
// 2013-10-02aRagexe, 2013-10-02aRagexeRE
#if PACKETVER == 20131002
- packetKeys(0x63A466F7,0x635362F3,0x41F369F3);
+ packetKeys(0x63a466f7,0x635362f3,0x41f369f3);
#endif
// 2013-10-08aRagexe, 2013-10-08bRagexeRE
#if PACKETVER == 20131008
- packetKeys(0x64924AAD,0x08CA0445,0x1CBC36DE);
+ packetKeys(0x64924aad,0x08ca0445,0x1cbc36de);
#endif
// 2013-10-16aRagexe, 2013-10-16aRagexeRE, 2013-10-16bRagexe, 2013-10-16bRagexeRE
#if PACKETVER == 20131016
- packetKeys(0x33AD7A93,0x720C7C49,0x12C4205A);
+ packetKeys(0x33ad7a93,0x720c7c49,0x12c4205a);
#endif
// 2013-10-23aRagexe, 2013-10-23aRagexeRE
#if PACKETVER == 20131023
- packetKeys(0x02EF6163,0x2B774814,0x58EC3036);
+ packetKeys(0x02ef6163,0x2b774814,0x58ec3036);
#endif
// 2013-10-30aRagexe, 2013-10-30aRagexeRE
#if PACKETVER == 20131030
- packetKeys(0x4A6A3EFF,0x7E2D5237,0x01CA019E);
+ packetKeys(0x4a6a3eff,0x7e2d5237,0x01ca019e);
#endif
// 2013-11-06aRagexe, 2013-11-06aRagexeRE, 2013-11-07aRagexe, 2013-11-07bRagexe, 2013-11-07cRagexe, 2013-11-08aRagexe
#if PACKETVER == 20131106 || \
PACKETVER == 20131107 || \
PACKETVER == 20131108
- packetKeys(0x143E528F,0x5CA05899,0x44B85B23);
+ packetKeys(0x143e528f,0x5ca05899,0x44b85b23);
#endif
// 2013-11-13aRagexeRE, 2013-11-13bRagexe
#if PACKETVER == 20131113
- packetKeys(0x44EA14CD,0x49311C88,0x40C86C31);
+ packetKeys(0x44ea14cd,0x49311c88,0x40c86c31);
#endif
// 2013-11-20dRagexe, 2013-11-20eRagexeRE
#if PACKETVER == 20131120
- packetKeys(0x541E5172,0x1B1D30A0,0x28AA7CE5);
+ packetKeys(0x541e5172,0x1b1d30a0,0x28aa7ce5);
#endif
// 2013-11-27aRagexeRE, 2013-11-27bRagexe, 2013-11-27bRagexeRE
#if PACKETVER == 20131127
- packetKeys(0x21426A48,0x5C505D6A,0x046D06AD);
+ packetKeys(0x21426a48,0x5c505d6a,0x046d06ad);
#endif
// 2013-12-04dRagexeRE, 2013-12-04eRagexe, 2013-12-04eRagexeRE
#if PACKETVER == 20131204
- packetKeys(0x792760B2,0x5AF45387,0x36165603);
+ packetKeys(0x792760b2,0x5af45387,0x36165603);
#endif
// 2013-12-11cRagexe, 2013-12-11cRagexeRE, 2013-12-11dRagexe, 2013-12-11eRagexeRE
#if PACKETVER == 20131211
- packetKeys(0x55B0394E,0x4D341FF2,0x60BC1DC3);
+ packetKeys(0x55b0394e,0x4d341ff2,0x60bc1dc3);
#endif
// 2013-12-18aRagexeRE, 2013-12-18bRagexe
#if PACKETVER == 20131218
- packetKeys(0x6A596301,0x76866D0E,0x32294A45);
-#endif
-
-// 2013-12-23aRagexeRE, 2014-05-08aRagexe, 2014-05-08aRagexeRE, 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-21aRagexeRE, 2018-03-28bRagexe, 2018-03-28bRagexeRE, 2018-04-04bRagexe, 2018-04-04cRagexeRE, 2018-04-18aRagexe, 2018-04-18bRagexeRE, 2018-04-25cRagexe, 2018-04-25cRagexeRE, 2018-05-02bRagexe, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-16cRagexeRE, 2018-05-23aRagexe, 2018-05-23aRagexeRE, 2018-05-30aRagexe, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20cRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexe, 2018-06-20eRagexeRE, 2018-06-21aRagexe, 2018-06-21aRagexeRE, 2018-07-04aRagexe, 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexe, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexe, 2018-07-18cRagexeRE, 2018-08-01cRagexe, 2018-08-01cRagexeRE, 2018-08-08bRagexe, 2018-08-08bRagexeRE, 2018-08-22cRagexe, 2018-08-22cRagexeRE
-#if PACKETVER == 20131223 || \
- PACKETVER == 20140508 || \
- PACKETVER == 20140611 || \
- PACKETVER == 20150225 || \
- PACKETVER == 20180315 || \
- PACKETVER == 20180321 || \
- PACKETVER == 20180328 || \
- PACKETVER == 20180404 || \
- PACKETVER == 20180418 || \
- PACKETVER == 20180425 || \
- PACKETVER == 20180502 || \
- PACKETVER == 20180509 || \
- PACKETVER == 20180516 || \
- PACKETVER == 20180523 || \
- PACKETVER == 20180530 || \
- PACKETVER == 20180605 || \
- PACKETVER == 20180612 || \
- PACKETVER == 20180620 || \
- PACKETVER == 20180621 || \
- PACKETVER == 20180704 || \
- PACKETVER == 20180711 || \
- PACKETVER == 20180718 || \
- PACKETVER == 20180801 || \
- PACKETVER == 20180808 || \
- PACKETVER >= 20180822
- packetKeys(0x00000000,0x00000000,0x00000000);
+ packetKeys(0x6a596301,0x76866d0e,0x32294a45);
#endif
// 2013-12-23bRagexe, 2013-12-23bRagexeRE, 2013-12-23cRagexe, 2013-12-23xRagexeRE
#if PACKETVER == 20131223
- packetKeys(0x631C511C,0x111C111C,0x111C111C);
+ packetKeys(0x631c511c,0x111c111c,0x111c111c);
#endif
// 2013-12-30aRagexe, 2013-12-30aRagexeRE
#if PACKETVER == 20131230
- packetKeys(0x611B7097,0x01F957A1,0x768A0FCB);
+ packetKeys(0x611b7097,0x01f957a1,0x768a0fcb);
#endif
// 2014-01-08bRagexeRE, 2014-01-08cRagexe, 2014-01-08cRagexeRE, 2014-01-08dRagexe
#if PACKETVER == 20140108
- packetKeys(0x4A1E26F2,0x231E7EFE,0x61FE19FE);
+ packetKeys(0x4a1e26f2,0x231e7efe,0x61fe19fe);
#endif
// 2014-01-15aRagexe, 2014-01-15bRagexe, 2014-01-15cRagexe, 2014-01-15cRagexeRE, 2014-01-15dRagexeRE, 2014-01-15eRagexe, 2014-01-15eRagexeRE
#if PACKETVER == 20140115
- packetKeys(0x63224335,0x0F3A1F27,0x6D217B24);
+ packetKeys(0x63224335,0x0f3a1f27,0x6d217b24);
#endif
// 2014-01-22aRagexe, 2014-01-22aRagexeRE
#if PACKETVER == 20140122
- packetKeys(0x6123177B,0x05B42C99,0x71702594);
+ packetKeys(0x6123177b,0x05b42c99,0x71702594);
#endif
// 2014-01-29aRagexe, 2014-01-29bRagexeRE, 2014-01-29cRagexe
#if PACKETVER == 20140129
- packetKeys(0x2E52163C,0x605E518B,0x3C7A62CB);
+ packetKeys(0x2e52163c,0x605e518b,0x3c7a62cb);
#endif
// 2014-02-05bRagexe, 2014-02-05bRagexeRE
#if PACKETVER == 20140205
- packetKeys(0x63DC7BDC,0x7BDC7BDC,0x7BDC7BDC);
+ packetKeys(0x63dc7bdc,0x7bdc7bdc,0x7bdc7bdc);
#endif
// 2014-02-12aRagexe, 2014-02-12aRagexeRE
#if PACKETVER == 20140212
- packetKeys(0x46837074,0x65292E89,0x77237F9C);
+ packetKeys(0x46837074,0x65292e89,0x77237f9c);
#endif
// 2014-02-19aRagexe, 2014-02-19aRagexeRE, 2014-02-19bRagexeRE
#if PACKETVER == 20140219
- packetKeys(0x4E3C5327,0x3A6B5469,0x2CE36AED);
+ packetKeys(0x4e3c5327,0x3a6b5469,0x2ce36aed);
#endif
// 2014-02-26aRagexe, 2014-02-26aRagexeRE, 2014-02-26bRagexeRE
#if PACKETVER == 20140226
- packetKeys(0x36D71056,0x52122F5E,0x6FF76E99);
+ packetKeys(0x36d71056,0x52122f5e,0x6ff76e99);
#endif
// 2014-03-05aRagexe, 2014-03-05aRagexeRE, 2014-03-05bRagexe, 2014-03-05bRagexeRE
#if PACKETVER == 20140305
- packetKeys(0x116763F2,0x41117DAC,0x7FD13C45);
+ packetKeys(0x116763f2,0x41117dac,0x7fd13c45);
#endif
// 2014-03-12bRagexeRE, 2014-03-12dRagexe
#if PACKETVER == 20140312
- packetKeys(0x48911E4E,0x58CB2EB3,0x05232619);
+ packetKeys(0x48911e4e,0x58cb2eb3,0x05232619);
#endif
// 2014-03-19aRagexe, 2014-03-19aRagexeRE
#if PACKETVER == 20140319
- packetKeys(0x3DA44383,0x1ABB165F,0x5B6846B9);
+ packetKeys(0x3da44383,0x1abb165f,0x5b6846b9);
#endif
// 2014-03-26aRagexe, 2014-03-26cRagexeRE
#if PACKETVER == 20140326
- packetKeys(0x68E72AF6,0x27DB4C3D,0x348F2677);
+ packetKeys(0x68e72af6,0x27db4c3d,0x348f2677);
#endif
// 2014-04-02eRagexeRE, 2014-04-02fRagexe, 2014-04-02fRagexeRE, 2014-04-02gRagexe
#if PACKETVER == 20140402
- packetKeys(0x15D3271C,0x004D725B,0x111A3A37);
+ packetKeys(0x15d3271c,0x004d725b,0x111a3a37);
#endif
// 2014-04-09aRagexe, 2014-04-09aRagexeRE, 2014-04-09bRagexe
#if PACKETVER == 20140409
- packetKeys(0x7F6C390F,0x139C254C,0x7F25708C);
+ packetKeys(0x7f6c390f,0x139c254c,0x7f25708c);
#endif
// 2014-04-16aRagexe, 2014-04-16aRagexeRE, 2014-04-16bRagexe
@@ -990,464 +1076,464 @@
// 2014-04-23aRagexe, 2014-04-23aRagexeRE
#if PACKETVER == 20140423
- packetKeys(0x7E0D6B56,0x74673CD3,0x2EBA4940);
+ packetKeys(0x7e0d6b56,0x74673cd3,0x2eba4940);
#endif
// 2014-04-30aRagexe, 2014-04-30aRagexeRE
#if PACKETVER == 20140430
- packetKeys(0x400145D8,0x3FE50155,0x11624F70);
+ packetKeys(0x400145d8,0x3fe50155,0x11624f70);
#endif
// 2014-05-08bRagexe, 2014-05-08bRagexeRE
#if PACKETVER == 20140508
- packetKeys(0x087E57EC,0x25224F4A,0x024F12C6);
+ packetKeys(0x087e57ec,0x25224f4a,0x024f12c6);
#endif
// 2014-05-14bRagexe, 2014-05-14bRagexeRE, 2014-05-14cRagexeRE
#if PACKETVER == 20140514
- packetKeys(0x4BE46730,0x047926E0,0x37773BBB);
+ packetKeys(0x4be46730,0x047926e0,0x37773bbb);
#endif
// 2014-05-21aRagexeRE, 2014-05-21bRagexe
#if PACKETVER == 20140521
- packetKeys(0x14ED2D86,0x17371C33,0x2D0473C8);
+ packetKeys(0x14ed2d86,0x17371c33,0x2d0473c8);
#endif
// 2014-05-28aRagexe, 2014-05-28aRagexeRE
#if PACKETVER == 20140528
- packetKeys(0x579445EB,0x26734878,0x7C861628);
+ packetKeys(0x579445eb,0x26734878,0x7c861628);
#endif
// 2014-06-05aRagexe, 2014-06-05aRagexeRE, 2014-06-05bRagexe
#if PACKETVER == 20140605
- packetKeys(0x5ABC4223,0x04DD2636,0x0D5850E0);
+ packetKeys(0x5abc4223,0x04dd2636,0x0d5850e0);
#endif
// 2014-06-11bRagexeRE, 2014-06-11cRagexe, 2014-06-11dRagexe, 2014-06-11hRagexe, 2014-06-12aRagexe, 2014-06-13aRagexe
#if PACKETVER == 20140611 || \
PACKETVER == 20140612 || \
PACKETVER == 20140613
- packetKeys(0x4FC83479,0x3AB04D1F,0x477B4010);
+ packetKeys(0x4fc83479,0x3ab04d1f,0x477b4010);
#endif
// 2014-06-18aRagexe, 2014-06-18cRagexeRE
#if PACKETVER == 20140618
- packetKeys(0x2DB507BB,0x11BA12E7,0x7F447760);
+ packetKeys(0x2db507bb,0x11ba12e7,0x7f447760);
#endif
// 2014-06-25aRagexe, 2014-06-25aRagexeRE, 2014-06-25bRagexe
#if PACKETVER == 20140625
- packetKeys(0x09987045,0x644B1051,0x1A091CB8);
+ packetKeys(0x09987045,0x644b1051,0x1a091cb8);
#endif
// 2014-07-02aRagexe, 2014-07-02aRagexeRE
#if PACKETVER == 20140702
- packetKeys(0x5C4574F4,0x5D446386,0x48BD24C9);
+ packetKeys(0x5c4574f4,0x5d446386,0x48bd24c9);
#endif
// 2014-07-09aRagexe, 2014-07-09aRagexeRE
#if PACKETVER == 20140709
- packetKeys(0x2C7A6E92,0x324F1B85,0x29916FC2);
+ packetKeys(0x2c7a6e92,0x324f1b85,0x29916fc2);
#endif
// 2014-07-16aRagexe, 2014-07-16aRagexeRE, 2014-07-16bRagexe, 2014-07-16cRagexe
#if PACKETVER == 20140716
- packetKeys(0x0EB20408,0x6D6C4292,0x4F6E4CF3);
+ packetKeys(0x0eb20408,0x6d6c4292,0x4f6e4cf3);
#endif
// 2014-07-23aRagexe, 2014-07-23aRagexeRE, 2014-07-23bRagexe, 2014-07-23bRagexeRE
#if PACKETVER == 20140723
- packetKeys(0x42A21713,0x51CE6EAD,0x102F7B0B);
+ packetKeys(0x42a21713,0x51ce6ead,0x102f7b0b);
#endif
// 2014-07-30aRagexe, 2014-07-30bRagexeRE
#if PACKETVER == 20140730
- packetKeys(0x63CE4E53,0x04F969A3,0x690954DB);
+ packetKeys(0x63ce4e53,0x04f969a3,0x690954db);
#endif
// 2014-08-06aRagexe, 2014-08-06aRagexeRE, 2014-08-06bRagexe
#if PACKETVER == 20140806
- packetKeys(0x0D5B69AC,0x3C001F20,0x0C201420);
+ packetKeys(0x0d5b69ac,0x3c001f20,0x0c201420);
#endif
// 2014-08-13aRagexe, 2014-08-13aRagexeRE, 2014-08-13bRagexe, 2014-08-14aRagexe
#if PACKETVER == 20140813 || \
PACKETVER == 20140814
- packetKeys(0x7AD51E0A,0x28C72C46,0x210205BD);
+ packetKeys(0x7ad51e0a,0x28c72c46,0x210205bd);
#endif
// 2014-08-20aRagexe, 2014-08-20aRagexeRE
#if PACKETVER == 20140820
- packetKeys(0x374F15D0,0x64C87DEC,0x65CE2A41);
+ packetKeys(0x374f15d0,0x64c87dec,0x65ce2a41);
#endif
// 2014-08-27aRagexe, 2014-08-27aRagexeRE
#if PACKETVER == 20140827
- packetKeys(0x53814CA2,0x27DE193E,0x503E683E);
+ packetKeys(0x53814ca2,0x27de193e,0x503e683e);
#endif
// 2014-09-03aRagexe, 2014-09-03aRagexeRE
#if PACKETVER == 20140903
- packetKeys(0x2F386F34,0x0F935365,0x76A43888);
+ packetKeys(0x2f386f34,0x0f935365,0x76a43888);
#endif
// 2014-09-17aRagexe, 2014-09-17cRagexeRE
#if PACKETVER == 20140917
- packetKeys(0x180118EA,0x440134CF,0x3A99179D);
+ packetKeys(0x180118ea,0x440134cf,0x3a99179d);
#endif
// 2014-09-24bRagexeRE, 2014-09-24cRagexe, 2014-09-24cRagexeRE
#if PACKETVER == 20140924
- packetKeys(0x6F5222D8,0x593B798C,0x4CBD655E);
+ packetKeys(0x6f5222d8,0x593b798c,0x4cbd655e);
#endif
// 2014-10-01aRagexe, 2014-10-01bRagexeRE, 2014-10-01cRagexeRE
#if PACKETVER == 20141001
- packetKeys(0x6D882C11,0x7DF959E2,0x4F3F60E8);
+ packetKeys(0x6d882c11,0x7df959e2,0x4f3f60e8);
#endif
// 2014-10-08aRagexe, 2014-10-08bRagexe, 2014-10-08bRagexeRE, 2014-10-08cRagexe, 2014-10-08cRagexeRE, 2014-10-08dRagexe
#if PACKETVER == 20141008
- packetKeys(0x754365B3,0x36B326B3,0x26B326B3);
+ packetKeys(0x754365b3,0x36b326b3,0x26b326b3);
#endif
// 2014-10-15bRagexe, 2014-10-15bRagexeRE, 2014-10-15cRagexe, 2014-10-15dRagexe, 2014-10-16aRagexe, 2014-10-16aRagexeRE
#if PACKETVER == 20141015 || \
PACKETVER == 20141016
- packetKeys(0x2DFF467C,0x444B37EE,0x2C1B634F);
+ packetKeys(0x2dff467c,0x444b37ee,0x2c1b634f);
#endif
// 2014-10-22aRagexeRE, 2014-10-22bRagexe
#if PACKETVER == 20141022
- packetKeys(0x290551EA,0x2B952C75,0x2D67669B);
+ packetKeys(0x290551ea,0x2b952c75,0x2d67669b);
#endif
// 2014-10-29aRagexe, 2014-10-29aRagexeRE
#if PACKETVER == 20141029
- packetKeys(0x1AFD581D,0x2E1D4E1D,0x4E1D4E1D);
+ packetKeys(0x1afd581d,0x2e1d4e1d,0x4e1d4e1d);
#endif
// 2014-11-05aRagexe, 2014-11-05aRagexeRE, 2014-11-05bRagexe, 2014-11-05bRagexeRE
#if PACKETVER == 20141105
- packetKeys(0x7F310819,0x5FF45401,0x2D303DD9);
+ packetKeys(0x7f310819,0x5ff45401,0x2d303dd9);
#endif
// 2014-11-12aRagexeRE, 2014-11-12cRagexe, 2014-11-12dRagexe
#if PACKETVER == 20141112
- packetKeys(0x430C0C27,0x067153CF,0x5E5439A9);
+ packetKeys(0x430c0c27,0x067153cf,0x5e5439a9);
#endif
// 2014-11-19bRagexeRE, 2014-11-19dRagexe
#if PACKETVER == 20141119
- packetKeys(0x7A7E7EDE,0x24EB02E3,0x71603607);
+ packetKeys(0x7a7e7ede,0x24eb02e3,0x71603607);
#endif
// 2014-11-26aRagexe, 2014-11-26aRagexeRE, 2014-11-26bRagexe, 2014-11-26bRagexeRE, 2014-11-26cRagexe, 2014-11-26cRagexeRE, 2014-11-26dRagexe, 2014-11-26dRagexeRE, 2014-11-26eRagexeRE
#if PACKETVER == 20141126
- packetKeys(0x01E14C42,0x56D73044,0x4B3278DF);
+ packetKeys(0x01e14c42,0x56d73044,0x4b3278df);
#endif
// 2014-12-03aRagexe, 2014-12-03aRagexeRE
#if PACKETVER == 20141203
- packetKeys(0x66CB52E4,0x1EB84093,0x33563E18);
+ packetKeys(0x66cb52e4,0x1eb84093,0x33563e18);
#endif
// 2014-12-10bRagexe, 2014-12-10cRagexe, 2014-12-10cRagexeRE
#if PACKETVER == 20141210
- packetKeys(0x0B0B1DD3,0x26EF1797,0x4F40370B);
+ packetKeys(0x0b0b1dd3,0x26ef1797,0x4f40370b);
#endif
// 2014-12-17aRagexe, 2014-12-17aRagexeRE
#if PACKETVER == 20141217
- packetKeys(0x01AB478C,0x0FDE58F2,0x1DAC7303);
+ packetKeys(0x01ab478c,0x0fde58f2,0x1dac7303);
#endif
// 2014-12-23cRagexeRE, 2014-12-24aRagexe
#if PACKETVER == 20141223 || \
PACKETVER == 20141224
- packetKeys(0x2E8936E6,0x34463C46,0x67CD3885);
+ packetKeys(0x2e8936e6,0x34463c46,0x67cd3885);
#endif
// 2014-12-31aRagexe, 2014-12-31aRagexeRE
#if PACKETVER == 20141231
- packetKeys(0x154C347E,0x54B26512,0x52126A12);
+ packetKeys(0x154c347e,0x54b26512,0x52126a12);
#endif
// 2015-01-07aRagexe, 2015-01-07aRagexeRE
#if PACKETVER == 20150107
- packetKeys(0x6C494A14,0x4DDB6427,0x3E6D7B65);
+ packetKeys(0x6c494a14,0x4ddb6427,0x3e6d7b65);
#endif
// 2015-01-14aRagexe, 2015-01-14aRagexeRE, 2015-01-14bRagexe, 2015-01-14cRagexe, 2015-01-14dRagexe
#if PACKETVER == 20150114
- packetKeys(0x21C96102,0x13142934,0x1ABF4EA3);
+ packetKeys(0x21c96102,0x13142934,0x1abf4ea3);
#endif
// 2015-01-21aRagexe, 2015-01-21aRagexeRE, 2015-01-21bRagexeRE
#if PACKETVER == 20150121
- packetKeys(0x0B9D2AF5,0x658A3346,0x379E3654);
+ packetKeys(0x0b9d2af5,0x658a3346,0x379e3654);
#endif
// 2015-01-28aRagexe, 2015-01-28aRagexeRE, 2015-01-29aRagexe, 2015-01-30aRagexe
#if PACKETVER == 20150128 || \
PACKETVER == 20150129 || \
PACKETVER == 20150130
- packetKeys(0x77CA2D55,0x28B608F0,0x75B47957);
+ packetKeys(0x77ca2d55,0x28b608f0,0x75b47957);
#endif
// 2015-02-04aRagexe, 2015-02-04cRagexeRE
#if PACKETVER == 20150204
- packetKeys(0x134529DB,0x5B4F6CEF,0x29EF11EF);
+ packetKeys(0x134529db,0x5b4f6cef,0x29ef11ef);
#endif
// 2015-02-11aRagexe, 2015-02-11aRagexeRE
#if PACKETVER == 20150211
- packetKeys(0x33911A25,0x1E6945FD,0x7385623A);
+ packetKeys(0x33911a25,0x1e6945fd,0x7385623a);
#endif
// 2015-02-17aRagexe, 2015-02-17aRagexeRE
#if PACKETVER == 20150217
- packetKeys(0x731B731B,0x731B731B,0x731B731B);
+ packetKeys(0x731b731b,0x731b731b,0x731b731b);
#endif
// 2015-02-25aRagexeRE, 2015-02-25bRagexeRE, 2015-02-25cRagexeRE, 2015-02-25dRagexeRE, 2015-02-25eRagexe, 2015-02-25eRagexeRE, 2015-02-25fRagexe, 2015-02-25gRagexe, 2015-02-25iRagexe, 2015-02-25jRagexe, 2015-02-26aRagexe, 2015-02-26aRagexeRE
#if PACKETVER == 20150225 || \
PACKETVER == 20150226
- packetKeys(0x57FD4B7B,0x19CC16FB,0x0D255D72);
+ packetKeys(0x57fd4b7b,0x19cc16fb,0x0d255d72);
#endif
// 2015-03-04aRagexe, 2015-03-04aRagexeRE, 2015-03-04bRagexeRE
#if PACKETVER == 20150304
- packetKeys(0x1A657B1C,0x7E1806E7,0x55396A5C);
+ packetKeys(0x1a657b1c,0x7e1806e7,0x55396a5c);
#endif
// 2015-03-11aRagexe, 2015-03-11aRagexeRE, 2015-03-11bRagexe, 2015-03-11bRagexeRE
#if PACKETVER == 20150311
- packetKeys(0x48C45D97,0x06CE09B0,0x5836642F);
+ packetKeys(0x48c45d97,0x06ce09b0,0x5836642f);
#endif
// 2015-03-18aRagexe, 2015-03-18aRagexeRE, 2015-03-18bRagexe, 2015-03-18bRagexeRE, 2015-03-18cRagexeRE
#if PACKETVER == 20150318
- packetKeys(0x1B3738E7,0x0AD4238F,0x7D252A1F);
+ packetKeys(0x1b3738e7,0x0ad4238f,0x7d252a1f);
#endif
// 2015-03-25aRagexe, 2015-03-25bRagexeRE, 2015-03-25cRagexeRE
#if PACKETVER == 20150325
- packetKeys(0x68F62B8C,0x337C3468,0x38FC0AC7);
+ packetKeys(0x68f62b8c,0x337c3468,0x38fc0ac7);
#endif
// 2015-04-01aRagexe, 2015-04-01bRagexeRE
#if PACKETVER == 20150401
- packetKeys(0x207F3A08,0x57E6160C,0x02A60382);
+ packetKeys(0x207f3a08,0x57e6160c,0x02a60382);
#endif
// 2015-04-08aRagexe, 2015-04-08aRagexeRE
#if PACKETVER == 20150408
- packetKeys(0x39812C9D,0x23DA516E,0x59A33DD2);
+ packetKeys(0x39812c9d,0x23da516e,0x59a33dd2);
#endif
// 2015-04-15aRagexe, 2015-04-15aRagexeRE
#if PACKETVER == 20150415
- packetKeys(0x7EC44F6A,0x7DE57139,0x60DA5436);
+ packetKeys(0x7ec44f6a,0x7de57139,0x60da5436);
#endif
// 2015-04-22aRagexe, 2015-04-22aRagexeRE
#if PACKETVER == 20150422
- packetKeys(0x10D22CE2,0x69E279E2,0x79E279E2);
+ packetKeys(0x10d22ce2,0x69e279e2,0x79e279e2);
#endif
// 2015-04-29aRagexe, 2015-04-29aRagexeRE
#if PACKETVER == 20150429
- packetKeys(0x2BF61A71,0x565D5DDF,0x0FB90019);
+ packetKeys(0x2bf61a71,0x565d5ddf,0x0fb90019);
#endif
// 2015-05-07bRagexe, 2015-05-07bRagexeRE, 2015-05-07cRagexe
#if PACKETVER == 20150507
- packetKeys(0x55B54373,0x58967821,0x67F41832);
+ packetKeys(0x55b54373,0x58967821,0x67f41832);
#endif
// 2015-05-13aRagexe, 2015-05-13aRagexeRE
#if PACKETVER == 20150513
- packetKeys(0x62C86D09,0x75944F17,0x112C133D);
+ packetKeys(0x62c86d09,0x75944f17,0x112c133d);
#endif
// 2015-05-20aRagexe, 2015-05-20aRagexeRE
#if PACKETVER == 20150520
- packetKeys(0x17430238,0x44DE585F,0x56A40616);
+ packetKeys(0x17430238,0x44de585f,0x56a40616);
#endif
// 2015-05-27aRagexe, 2015-05-27aRagexeRE
#if PACKETVER == 20150527
- packetKeys(0x35AE7BAE,0x3BAE3BAE,0x3BAE3BAE);
+ packetKeys(0x35ae7bae,0x3bae3bae,0x3bae3bae);
#endif
// 2015-06-03aRagexe, 2015-06-03bRagexeRE
#if PACKETVER == 20150603
- packetKeys(0x1DDD245D,0x309446E0,0x58E53F1F);
+ packetKeys(0x1ddd245d,0x309446e0,0x58e53f1f);
#endif
// 2015-06-10aRagexe, 2015-06-10aRagexeRE
#if PACKETVER == 20150610
- packetKeys(0x2FC406D3,0x7B3E32F5,0x02B80B47);
+ packetKeys(0x2fc406d3,0x7b3e32f5,0x02b80b47);
#endif
// 2015-06-17aRagexe, 2015-06-17aRagexeRE, 2015-06-18aRagexe, 2015-06-18aRagexeRE
#if PACKETVER == 20150617 || \
PACKETVER == 20150618
- packetKeys(0x250F7E09,0x25416076,0x029A780E);
+ packetKeys(0x250f7e09,0x25416076,0x029a780e);
#endif
// 2015-06-24aRagexe, 2015-06-24aRagexeRE
#if PACKETVER == 20150624
- packetKeys(0x440B0E24,0x1BEA7A4C,0x2C646784);
+ packetKeys(0x440b0e24,0x1bea7a4c,0x2c646784);
#endif
// 2015-07-01bRagexe, 2015-07-01bRagexeRE, 2015-07-02aRagexe
#if PACKETVER == 20150701 || \
PACKETVER == 20150702
- packetKeys(0x4DD55F9B,0x70C67B03,0x78C60DB6);
+ packetKeys(0x4dd55f9b,0x70c67b03,0x78c60db6);
#endif
// 2015-07-08bRagexeRE, 2015-07-08cRagexe, 2015-07-08cRagexeRE, 2015-07-08dRagexeRE
#if PACKETVER == 20150708
- packetKeys(0x451C5E19,0x5661750B,0x2F4644AC);
+ packetKeys(0x451c5e19,0x5661750b,0x2f4644ac);
#endif
// 2015-07-15aRagexe, 2015-07-15aRagexeRE
#if PACKETVER == 20150715
- packetKeys(0x1F805483,0x67745585,0x7FCE189C);
+ packetKeys(0x1f805483,0x67745585,0x7fce189c);
#endif
// 2015-07-22bRagexe, 2015-07-22bRagexeRE
#if PACKETVER == 20150722
- packetKeys(0x41FA53D4,0x2CF044E2,0x663A3F1D);
+ packetKeys(0x41fa53d4,0x2cf044e2,0x663a3f1d);
#endif
// 2015-07-29aRagexe, 2015-07-29aRagexeRE
#if PACKETVER == 20150729
- packetKeys(0x08EE40A9,0x206F3D7F,0x0AE37339);
+ packetKeys(0x08ee40a9,0x206f3d7f,0x0ae37339);
#endif
// 2015-08-05aRagexe, 2015-08-05dRagexeRE
#if PACKETVER == 20150805
- packetKeys(0x1C3F243F,0x243F243F,0x243F243F);
+ packetKeys(0x1c3f243f,0x243f243f,0x243f243f);
#endif
// 2015-08-12aRagexe, 2015-08-12aRagexeRE
#if PACKETVER == 20150812
- packetKeys(0x0B6F64A8,0x5BCC47EC,0x00EC08EC);
+ packetKeys(0x0b6f64a8,0x5bcc47ec,0x00ec08ec);
#endif
// 2015-08-19aRagexe, 2015-08-19aRagexeRE, 2015-08-19bRagexeRE
#if PACKETVER == 20150819
- packetKeys(0x1A2400E0,0x736E5686,0x10F315D5);
+ packetKeys(0x1a2400e0,0x736e5686,0x10f315d5);
#endif
// 2015-08-26aRagexe, 2015-08-26aRagexeRE, 2015-08-26bRagexe, 2015-08-26bRagexeRE
#if PACKETVER == 20150826
- packetKeys(0x77883C56,0x1829359F,0x0DE635B6);
+ packetKeys(0x77883c56,0x1829359f,0x0de635b6);
#endif
// 2015-09-02aRagexe, 2015-09-02aRagexeRE
#if PACKETVER == 20150902
- packetKeys(0x4EDB18C1,0x6B9355BA,0x38AA6239);
+ packetKeys(0x4edb18c1,0x6b9355ba,0x38aa6239);
#endif
// 2015-09-09aRagexe, 2015-09-09aRagexeRE
#if PACKETVER == 20150909
- packetKeys(0x19AB2BF0,0x04754299,0x48770736);
+ packetKeys(0x19ab2bf0,0x04754299,0x48770736);
#endif
// 2015-09-16aRagexe, 2015-09-16cRagexe, 2015-09-16cRagexeRE
#if PACKETVER == 20150916
- packetKeys(0x17F83A19,0x116944F4,0x1CC541E9);
+ packetKeys(0x17f83a19,0x116944f4,0x1cc541e9);
#endif
// 2015-09-23bRagexe, 2015-09-23bRagexeRE, 2015-09-23cRagexe, 2015-09-23dRagexe, 2015-09-23eRagexe, 2015-09-23eRagexeRE, 2015-09-23fRagexe, 2015-09-23fRagexeRE
#if PACKETVER == 20150923
- packetKeys(0x765742B9,0x22D61C2F,0x7DA94FB2);
+ packetKeys(0x765742b9,0x22d61c2f,0x7da94fb2);
#endif
// 2015-10-01aRagexe, 2015-10-01bRagexeRE
#if PACKETVER == 20151001
- packetKeys(0x5CFF4561,0x32514AD1,0x06D126D1);
+ packetKeys(0x5cff4561,0x32514ad1,0x06d126d1);
#endif
// 2015-10-07aRagexe, 2015-10-07aRagexeRE
#if PACKETVER == 20151007
- packetKeys(0x3C6447A8,0x032170D7,0x6490476C);
+ packetKeys(0x3c6447a8,0x032170d7,0x6490476c);
#endif
// 2015-10-14bRagexe, 2015-10-14bRagexeRE
#if PACKETVER == 20151014
- packetKeys(0x402728A8,0x5D0E309F,0x240018FD);
+ packetKeys(0x402728a8,0x5d0e309f,0x240018fd);
#endif
// 2015-10-21aRagexe, 2015-10-21aRagexeRE, 2015-10-22aRagexe, 2015-10-22aRagexeRE
#if PACKETVER == 20151021 || \
PACKETVER == 20151022
- packetKeys(0x0311104D,0x46C326D6,0x00E82720);
+ packetKeys(0x0311104d,0x46c326d6,0x00e82720);
#endif
// 2015-10-28bRagexeRE, 2015-10-28bRagexeRE_2, 2015-10-28cRagexe, 2015-10-28cRagexeRE, 2015-10-28dRagexe, 2015-10-28dRagexeRE, 2015-10-29aRagexe, 2015-10-29aRagexeRE
#if PACKETVER == 20151028 || \
PACKETVER == 20151029
- packetKeys(0x45B945B9,0x45B945B9,0x45B945B9);
+ packetKeys(0x45b945b9,0x45b945b9,0x45b945b9);
#endif
// 2015-11-04aRagexe, 2015-11-04aRagexeRE
#if PACKETVER == 20151104
- packetKeys(0x4C17382A,0x7ED174C9,0x29961E4F);
+ packetKeys(0x4c17382a,0x7ed174c9,0x29961e4f);
#endif
// 2015-11-11aRagexe, 2015-11-11aRagexeRE, 2015-11-11bRagexe
#if PACKETVER == 20151111
- packetKeys(0x46097C77,0x5F193871,0x29140A21);
+ packetKeys(0x46097c77,0x5f193871,0x29140a21);
#endif
// 2015-11-18aRagexe, 2015-11-18aRagexeRE
#if PACKETVER == 20151118
- packetKeys(0x734C3241,0x6E846F34,0x731C06D6);
+ packetKeys(0x734c3241,0x6e846f34,0x731c06d6);
#endif
// 2015-11-25bRagexe, 2015-11-25bRagexeRE, 2015-11-25cRagexeRE, 2015-11-25dRagexe, 2015-11-25dRagexeRE
#if PACKETVER == 20151125
- packetKeys(0x237446C0,0x5EFB343A,0x0EDF06C5);
+ packetKeys(0x237446c0,0x5efb343a,0x0edf06c5);
#endif
// 2015-12-02aRagexe, 2015-12-02bRagexeRE
#if PACKETVER == 20151202
- packetKeys(0x4EDE52DE,0x52DE52DE,0x52DE52DE);
+ packetKeys(0x4ede52de,0x52de52de,0x52de52de);
#endif
// 2015-12-09aRagexe, 2015-12-09aRagexeRE
#if PACKETVER == 20151209
- packetKeys(0x652C5898,0x7A351FB3,0x67EA2886);
+ packetKeys(0x652c5898,0x7a351fb3,0x67ea2886);
#endif
// 2015-12-16aRagexe, 2015-12-16aRagexeRE
#if PACKETVER == 20151216
- packetKeys(0x25DD643D,0x61AC39DE,0x77A8206D);
+ packetKeys(0x25dd643d,0x61ac39de,0x77a8206d);
#endif
// 2015-12-23bRagexe, 2015-12-23bRagexeRE
#if PACKETVER == 20151223
- packetKeys(0x347D68D0,0x2C705320,0x7B4A199D);
+ packetKeys(0x347d68d0,0x2c705320,0x7b4a199d);
#endif
// 2015-12-30aRagexe, 2015-12-30aRagexeRE
#if PACKETVER == 20151230
- packetKeys(0x54C51241,0x33883499,0x3CDA35F0);
+ packetKeys(0x54c51241,0x33883499,0x3cda35f0);
#endif
// 2016-01-06aRagexe, 2016-01-06aRagexeRE
#if PACKETVER == 20160106
- packetKeys(0x40520265,0x33FE26FC,0x7136294F);
+ packetKeys(0x40520265,0x33fe26fc,0x7136294f);
#endif
// 2016-01-13aRagexe, 2016-01-13aRagexeRE, 2016-01-13bRagexe, 2016-01-13bRagexeRE, 2016-01-13bRagexeRE_2, 2016-01-13bRagexe_2, 2016-01-13cRagexeRE
#if PACKETVER == 20160113
- packetKeys(0x18005C4B,0x19A94A72,0x73F678EC);
+ packetKeys(0x18005c4b,0x19a94a72,0x73f678ec);
#endif
// 2016-01-20aRagexe, 2016-01-20aRagexeRE
@@ -1457,549 +1543,549 @@
// 2016-01-27aRagexeRE, 2016-01-27aRagexeRE_2, 2016-01-27bRagexeRE, 2016-01-27cRagexe, 2016-01-27dRagexe
#if PACKETVER == 20160127
- packetKeys(0x6B1E7146,0x612C47E6,0x274E56EE);
+ packetKeys(0x6b1e7146,0x612c47e6,0x274e56ee);
#endif
// 2016-02-03aRagexe, 2016-02-03aRagexeRE
#if PACKETVER == 20160203
- packetKeys(0x3E1411AF,0x6C744497,0x7CFA1BDE);
+ packetKeys(0x3e1411af,0x6c744497,0x7cfa1bde);
#endif
// 2016-02-11aRagexe, 2016-02-11aRagexeRE
#if PACKETVER == 20160211
- packetKeys(0x613813EA,0x05251DAB,0x1FD35E33);
+ packetKeys(0x613813ea,0x05251dab,0x1fd35e33);
#endif
// 2016-02-17aRagexe, 2016-02-17aRagexeRE, 2016-02-17bRagexeRE, 2016-02-17bRagexeRE_2, 2016-02-17cRagexeRE
#if PACKETVER == 20160217
- packetKeys(0x25895A8E,0x09421C19,0x763A2D7A);
+ packetKeys(0x25895a8e,0x09421c19,0x763a2d7a);
#endif
// 2016-02-24aRagexe, 2016-02-24aRagexeRE, 2016-02-24bRagexeRE
#if PACKETVER == 20160224
- packetKeys(0x7088019A,0x13471F02,0x42356A7D);
+ packetKeys(0x7088019a,0x13471f02,0x42356a7d);
#endif
// 2016-03-02bRagexe, 2016-03-02bRagexeRE
#if PACKETVER == 20160302
- packetKeys(0x7B4441B9,0x5BBC63AF,0x45DA0E71);
+ packetKeys(0x7b4441b9,0x5bbc63af,0x45da0e71);
#endif
// 2016-03-09aRagexeRE, 2016-03-09cRagexe
#if PACKETVER == 20160309
- packetKeys(0x21587520,0x353A7706,0x1B722B25);
+ packetKeys(0x21587520,0x353a7706,0x1b722b25);
#endif
// 2016-03-16aRagexe, 2016-03-16aRagexeRE, 2016-03-18aRagexe
#if PACKETVER == 20160316 || \
PACKETVER == 20160318
- packetKeys(0x62363E36,0x3E363E36,0x3E363E36);
+ packetKeys(0x62363e36,0x3e363e36,0x3e363e36);
#endif
// 2016-03-23aRagexe, 2016-03-23aRagexeRE, 2016-03-23bRagexe, 2016-03-23bRagexeRE
#if PACKETVER == 20160323
- packetKeys(0x73E35A83,0x62142FA8,0x12BA36BD);
+ packetKeys(0x73e35a83,0x62142fa8,0x12ba36bd);
#endif
// 2016-03-30aRagexe, 2016-03-30aRagexeRE, 2016-03-30bRagexe
#if PACKETVER == 20160330
- packetKeys(0x02050940,0x545336FF,0x7E7D4902);
+ packetKeys(0x02050940,0x545336ff,0x7e7d4902);
#endif
// 2016-04-06aRagexe, 2016-04-06aRagexeRE, 2016-04-06bRagexe
#if PACKETVER == 20160406
- packetKeys(0x568611EA,0x32457D8D,0x2B020477);
+ packetKeys(0x568611ea,0x32457d8d,0x2b020477);
#endif
// 2016-04-14aRagexe, 2016-04-14aRagexeRE, 2016-04-14bRagexe, 2016-04-14bRagexeRE, 2016-04-14bRagexe_2, 2016-04-14cRagexe
#if PACKETVER == 20160414
- packetKeys(0x31BD479A,0x40C61398,0x397C1A80);
+ packetKeys(0x31bd479a,0x40c61398,0x397c1a80);
#endif
// 2016-04-20aRagexeRE, 2016-04-20cRagexe
#if PACKETVER == 20160420
- packetKeys(0x67D2163A,0x3068215B,0x4835474D);
+ packetKeys(0x67d2163a,0x3068215b,0x4835474d);
#endif
// 2016-04-27aRagexe, 2016-04-27aRagexeRE
#if PACKETVER == 20160427
- packetKeys(0x12DC378E,0x4E3E7EBE,0x0ABE2ABE);
+ packetKeys(0x12dc378e,0x4e3e7ebe,0x0abe2abe);
#endif
// 2016-05-04aRagexe, 2016-05-04aRagexeRE
#if PACKETVER == 20160504
- packetKeys(0x09E0544C,0x0231251D,0x2F4E195F);
+ packetKeys(0x09e0544c,0x0231251d,0x2f4e195f);
#endif
// 2016-05-11aRagexe, 2016-05-11aRagexeRE, 2016-05-11bRagexeRE
#if PACKETVER == 20160511
- packetKeys(0x3C666FE2,0x27E84E3E,0x53E11BA5);
+ packetKeys(0x3c666fe2,0x27e84e3e,0x53e11ba5);
#endif
// 2016-05-18aRagexe, 2016-05-18aRagexeRE
#if PACKETVER == 20160518
- packetKeys(0x57DB7CA1,0x1FEA1629,0x26DD244D);
+ packetKeys(0x57db7ca1,0x1fea1629,0x26dd244d);
#endif
// 2016-05-25aRagexe, 2016-05-25aRagexeRE, 2016-05-26aRagexe
#if PACKETVER == 20160525 || \
PACKETVER == 20160526
- packetKeys(0x485C45B6,0x47DC6192,0x76B34A36);
+ packetKeys(0x485c45b6,0x47dc6192,0x76b34a36);
#endif
// 2016-06-01aRagexe, 2016-06-01aRagexeRE
#if PACKETVER == 20160601
- packetKeys(0x3DAD32C4,0x59F001BE,0x73F65E56);
+ packetKeys(0x3dad32c4,0x59f001be,0x73f65e56);
#endif
// 2016-06-08aRagexe, 2016-06-08aRagexeRE, 2016-06-08bRagexe, 2016-06-08bRagexeRE, 2016-06-09aRagexe
#if PACKETVER == 20160608 || \
PACKETVER == 20160609
- packetKeys(0x11D74609,0x77C43E8A,0x44290F53);
+ packetKeys(0x11d74609,0x77c43e8a,0x44290f53);
#endif
// 2016-06-15aRagexe, 2016-06-15aRagexeRE
#if PACKETVER == 20160615
- packetKeys(0x062C5C26,0x6CF47E82,0x4DD53480);
+ packetKeys(0x062c5c26,0x6cf47e82,0x4dd53480);
#endif
// 2016-06-22aRagexe, 2016-06-22aRagexeRE
#if PACKETVER == 20160622
- packetKeys(0x426548AB,0x5C0F5DD4,0x03022710);
+ packetKeys(0x426548ab,0x5c0f5dd4,0x03022710);
#endif
// 2016-06-29aRagexe, 2016-06-29aRagexeRE, 2016-06-30aRagexe, 2016-06-30aRagexeRE
#if PACKETVER == 20160629 || \
PACKETVER == 20160630
- packetKeys(0x0DF31CCC,0x54281606,0x5C4C6855);
+ packetKeys(0x0df31ccc,0x54281606,0x5c4c6855);
#endif
// 2016-07-06bRagexe, 2016-07-06cRagexeRE
#if PACKETVER == 20160706
- packetKeys(0x33A766D0,0x743F04F8,0x0FA0276C);
+ packetKeys(0x33a766d0,0x743f04f8,0x0fa0276c);
#endif
// 2016-07-13aRagexe, 2016-07-13aRagexeRE, 2016-07-13bRagexe, 2016-07-13bRagexeRE, 2016-07-13cRagexe, 2016-07-13dRagexe
#if PACKETVER == 20160713
- packetKeys(0x714F2495,0x7DDC6F32,0x3FD8533D);
+ packetKeys(0x714f2495,0x7ddc6f32,0x3fd8533d);
#endif
// 2016-07-20aRagexe, 2016-07-20aRagexeRE, 2016-07-20bRagexe, 2016-07-20bRagexeRE
#if PACKETVER == 20160720
- packetKeys(0x4F8A19C0,0x2D8E085C,0x37BB67D6);
+ packetKeys(0x4f8a19c0,0x2d8e085c,0x37bb67d6);
#endif
// 2016-07-27aRagexe, 2016-07-27aRagexeRE, 2016-07-27bRagexe, 2016-07-27bRagexeRE
#if PACKETVER == 20160727
- packetKeys(0x3C6952AB,0x26E4077F,0x37E25DF7);
+ packetKeys(0x3c6952ab,0x26e4077f,0x37e25df7);
#endif
// 2016-08-03bRagexe, 2016-08-03bRagexeRE
#if PACKETVER == 20160803
- packetKeys(0x67F438C2,0x512A4EB7,0x2D353182);
+ packetKeys(0x67f438c2,0x512a4eb7,0x2d353182);
#endif
// 2016-08-10aRagexe, 2016-08-10aRagexeRE
#if PACKETVER == 20160810
- packetKeys(0x2F252886,0x242234A2,0x48BC5032);
+ packetKeys(0x2f252886,0x242234a2,0x48bc5032);
#endif
// 2016-08-17aRagexe, 2016-08-17aRagexeRE
#if PACKETVER == 20160817
- packetKeys(0x675E6900,0x3F8E1D16,0x58D650E5);
+ packetKeys(0x675e6900,0x3f8e1d16,0x58d650e5);
#endif
// 2016-08-24aRagexe, 2016-08-24aRagexeRE
#if PACKETVER == 20160824
- packetKeys(0x2FA92FA9,0x2FA92FA9,0x2FA92FA9);
+ packetKeys(0x2fa92fa9,0x2fa92fa9,0x2fa92fa9);
#endif
// 2016-08-31aRagexe, 2016-08-31aRagexeRE, 2016-08-31bRagexe, 2016-08-31bRagexeRE
#if PACKETVER == 20160831
- packetKeys(0x564E13B0,0x7F680549,0x382D273B);
+ packetKeys(0x564e13b0,0x7f680549,0x382d273b);
#endif
// 2016-09-07aRagexe, 2016-09-07aRagexeRE
#if PACKETVER == 20160907
- packetKeys(0x32E5237D,0x57BD4DBD,0x5DBD5DBD);
+ packetKeys(0x32e5237d,0x57bd4dbd,0x5dbd5dbd);
#endif
// 2016-09-13aRagexe, 2016-09-13aRagexeRE
#if PACKETVER == 20160913
- packetKeys(0x7C79748F,0x1AA03B1D,0x6EAC4747);
+ packetKeys(0x7c79748f,0x1aa03b1d,0x6eac4747);
#endif
// 2016-09-21aRagexe, 2016-09-21bRagexeRE
#if PACKETVER == 20160921
- packetKeys(0x11CD15CD,0x15CD15CD,0x15CD15CD);
+ packetKeys(0x11cd15cd,0x15cd15cd,0x15cd15cd);
#endif
// 2016-09-28cRagexe, 2016-09-28cRagexeRE, 2016-09-28dRagexeRE
#if PACKETVER == 20160928
- packetKeys(0x2F8C67F5,0x22D42C38,0x57513774);
+ packetKeys(0x2f8c67f5,0x22d42c38,0x57513774);
#endif
// 2016-10-05aRagexe, 2016-10-05aRagexeRE
#if PACKETVER == 20161005
- packetKeys(0x5BAE21F8,0x021E2FFC,0x3BEB7C31);
+ packetKeys(0x5bae21f8,0x021e2ffc,0x3beb7c31);
#endif
// 2016-10-12aRagexe, 2016-10-12aRagexeRE
#if PACKETVER == 20161012
- packetKeys(0x5E2311F2,0x14FD012C,0x76EB64F6);
+ packetKeys(0x5e2311f2,0x14fd012c,0x76eb64f6);
#endif
// 2016-10-19aRagexe, 2016-10-19aRagexeRE
#if PACKETVER == 20161019
- packetKeys(0x34882F11,0x7C870E70,0x7E61350D);
+ packetKeys(0x34882f11,0x7c870e70,0x7e61350d);
#endif
// 2016-10-26bRagexe, 2016-10-26bRagexeRE, 2016-10-26cRagexe, 2016-10-26cRagexeRE
#if PACKETVER == 20161026
- packetKeys(0x2CB86AE6,0x7D12660E,0x1B004DEB);
+ packetKeys(0x2cb86ae6,0x7d12660e,0x1b004deb);
#endif
// 2016-11-02aRagexe, 2016-11-02aRagexeRE, 2016-11-03aRagexe, 2016-11-03aRagexeRE
#if PACKETVER == 20161102 || \
PACKETVER == 20161103
- packetKeys(0x76725C17,0x72FE4EC1,0x07A91BFD);
+ packetKeys(0x76725c17,0x72fe4ec1,0x07a91bfd);
#endif
// 2016-11-09aRagexe, 2016-11-09aRagexeRE, 2016-11-09bRagexe, 2016-11-09bRagexeRE, 2016-11-09cRagexeRE, 2016-11-09dRagexeRE
#if PACKETVER == 20161109
- packetKeys(0x0A5277C0,0x2DB17506,0x0E8F26DA);
+ packetKeys(0x0a5277c0,0x2db17506,0x0e8f26da);
#endif
// 2016-11-16aRagexe, 2016-11-16bRagexeRE, 2016-11-16cRagexeRE
#if PACKETVER == 20161116
- packetKeys(0x780C5C3F,0x15E92272,0x2BA770C5);
+ packetKeys(0x780c5c3f,0x15e92272,0x2ba770c5);
#endif
// 2016-11-23aRagexe, 2016-11-23aRagexeRE
#if PACKETVER == 20161123
- packetKeys(0x66FF559F,0x00D3535B,0x236246F7);
+ packetKeys(0x66ff559f,0x00d3535b,0x236246f7);
#endif
// 2016-11-30aRagexe, 2016-11-30aRagexeRE, 2016-11-30bRagexe, 2016-11-30bRagexeRE
#if PACKETVER == 20161130
- packetKeys(0x2ED80296,0x0D837373,0x20266F9A);
+ packetKeys(0x2ed80296,0x0d837373,0x20266f9a);
#endif
// 2016-12-07cRagexe, 2016-12-07cRagexeRE, 2016-12-07dRagexeRE, 2016-12-07eRagexe, 2016-12-07eRagexeRE
#if PACKETVER == 20161207
- packetKeys(0x52D267AA,0x4FE42156,0x1292153E);
+ packetKeys(0x52d267aa,0x4fe42156,0x1292153e);
#endif
// 2016-12-14bRagexe, 2016-12-14bRagexeRE, 2016-12-14cRagexe, 2016-12-14cRagexeRE
#if PACKETVER == 20161214
- packetKeys(0x4DDE217B,0x07863AE0,0x5B591656);
+ packetKeys(0x4dde217b,0x07863ae0,0x5b591656);
#endif
// 2016-12-21aRagexe, 2016-12-21aRagexeRE, 2016-12-21bRagexe, 2016-12-21bRagexeRE, 2016-12-21cRagexeRE, 2016-12-21dRagexeRE
#if PACKETVER == 20161221
- packetKeys(0x69CB4F56,0x793C165E,0x673A2354);
+ packetKeys(0x69cb4f56,0x793c165e,0x673a2354);
#endif
// 2016-12-28aRagexe, 2016-12-28aRagexeRE
#if PACKETVER == 20161228
- packetKeys(0x09366971,0x005672F1,0x6F3712AE);
+ packetKeys(0x09366971,0x005672f1,0x6f3712ae);
#endif
// 2017-01-04aRagexe, 2017-01-04bRagexeRE
#if PACKETVER == 20170104
- packetKeys(0x44416BC3,0x6C8D1817,0x072D75D5);
+ packetKeys(0x44416bc3,0x6c8d1817,0x072d75d5);
#endif
// 2017-01-11aRagexe, 2017-01-11aRagexeRE
#if PACKETVER == 20170111
- packetKeys(0x19B637F9,0x0E9C378A,0x41673186);
+ packetKeys(0x19b637f9,0x0e9c378a,0x41673186);
#endif
// 2017-01-18aRagexe, 2017-01-18aRagexeRE
#if PACKETVER == 20170118
- packetKeys(0x456B36EB,0x15EB34B0,0x18C42E43);
+ packetKeys(0x456b36eb,0x15eb34b0,0x18c42e43);
#endif
// 2017-01-25aRagexe, 2017-01-25aRagexeRE
#if PACKETVER == 20170125
- packetKeys(0x066E04FE,0x3004224A,0x04FF0458);
+ packetKeys(0x066e04fe,0x3004224a,0x04ff0458);
#endif
// 2017-02-01aRagexe, 2017-02-01aRagexeRE
#if PACKETVER == 20170201
- packetKeys(0x2011228E,0x00453005,0x628E7F0A);
+ packetKeys(0x2011228e,0x00453005,0x628e7f0a);
#endif
// 2017-02-08aRagexeRE, 2017-02-08bRagexe, 2017-02-08bRagexeRE
#if PACKETVER == 20170208
- packetKeys(0x6A764E5F,0x0609570D,0x28AE07FA);
+ packetKeys(0x6a764e5f,0x0609570d,0x28ae07fa);
#endif
// 2017-02-15aRagexe, 2017-02-15aRagexeRE
#if PACKETVER == 20170215
- packetKeys(0x50C01315,0x51012A42,0x679E16C3);
+ packetKeys(0x50c01315,0x51012a42,0x679e16c3);
#endif
// 2017-02-22aRagexe, 2017-02-22aRagexeRE
#if PACKETVER == 20170222
- packetKeys(0x5A242F2F,0x6C556187,0x73C022CB);
+ packetKeys(0x5a242f2f,0x6c556187,0x73c022cb);
#endif
// 2017-02-28aRagexe, 2017-02-28aRagexeRE, 2017-02-28bRagexe
#if PACKETVER == 20170228
- packetKeys(0x771D4F2B,0x20EF1F4C,0x0D5135C8);
+ packetKeys(0x771d4f2b,0x20ef1f4c,0x0d5135c8);
#endif
// 2017-03-08aRagexe, 2017-03-08bRagexeRE
#if PACKETVER == 20170308
- packetKeys(0x653470A9,0x6B316A71,0x5C712C71);
+ packetKeys(0x653470a9,0x6b316a71,0x5c712c71);
#endif
// 2017-03-15cRagexe, 2017-03-15cRagexeRE
#if PACKETVER == 20170315
- packetKeys(0x399A0856,0x56642A94,0x7F77157D);
+ packetKeys(0x399a0856,0x56642a94,0x7f77157d);
#endif
// 2017-03-22aRagexe, 2017-03-22aRagexeRE, 2017-03-22bRagexe, 2017-03-22bRagexeRE
#if PACKETVER == 20170322
- packetKeys(0x2050167B,0x01731233,0x40337033);
+ packetKeys(0x2050167b,0x01731233,0x40337033);
#endif
// 2017-03-29bRagexe, 2017-03-29cRagexe, 2017-03-29cRagexeRE, 2017-03-29dRagexeRE
#if PACKETVER == 20170329
- packetKeys(0x18B31A80,0x1B0B1D56,0x16857D6A);
+ packetKeys(0x18b31a80,0x1b0b1d56,0x16857d6a);
#endif
// 2017-04-05bRagexe, 2017-04-05bRagexeRE, 2017-04-05cRagexe, 2017-04-05cRagexeRE
#if PACKETVER == 20170405
- packetKeys(0x1FDE7DAC,0x2F9F5B63,0x3F2062AF);
+ packetKeys(0x1fde7dac,0x2f9f5b63,0x3f2062af);
#endif
// 2017-04-12aRagexe, 2017-04-12aRagexeRE
#if PACKETVER == 20170412
- packetKeys(0x39223393,0x5C847779,0x10217985);
+ packetKeys(0x39223393,0x5c847779,0x10217985);
#endif
// 2017-04-19aRagexe, 2017-04-19bRagexeRE
#if PACKETVER == 20170419
- packetKeys(0x1F8F4B3F,0x2E481F03,0x39ED4178);
+ packetKeys(0x1f8f4b3f,0x2e481f03,0x39ed4178);
#endif
// 2017-04-26bRagexe, 2017-04-26dRagexeRE
#if PACKETVER == 20170426
- packetKeys(0x167642A7,0x1DEC3D26,0x6D046D4C);
+ packetKeys(0x167642a7,0x1dec3d26,0x6d046d4c);
#endif
// 2017-05-02aRagexe, 2017-05-02bRagexe, 2017-05-02dRagexeRE
#if PACKETVER == 20170502
- packetKeys(0x05224194,0x466D4204,0x31F02EE0);
+ packetKeys(0x05224194,0x466d4204,0x31f02ee0);
#endif
// 2017-05-17aRagexe, 2017-05-17aRagexeRE, 2017-05-17bRagexeRE
#if PACKETVER == 20170517
- packetKeys(0x2CC4749A,0x1FA954DC,0x72276857);
+ packetKeys(0x2cc4749a,0x1fa954dc,0x72276857);
#endif
// 2017-05-24aRagexe, 2017-05-24aRagexeRE, 2017-05-24bRagexe
#if PACKETVER == 20170524
- packetKeys(0x0B4E03A6,0x2B93427C,0x583D4477);
+ packetKeys(0x0b4e03a6,0x2b93427c,0x583d4477);
#endif
// 2017-05-31aRagexe, 2017-05-31aRagexeRE
#if PACKETVER == 20170531
- packetKeys(0x03FA5A97,0x20B802D5,0x339F1977);
+ packetKeys(0x03fa5a97,0x20b802d5,0x339f1977);
#endif
// 2017-06-07bRagexeRE, 2017-06-07cRagexe, 2017-06-07cRagexeRE
#if PACKETVER == 20170607
- packetKeys(0x50564ACD,0x79CA4E15,0x405F4894);
+ packetKeys(0x50564acd,0x79ca4e15,0x405f4894);
#endif
// 2017-06-14bRagexe, 2017-06-14bRagexeRE
#if PACKETVER == 20170614
- packetKeys(0x5ED10A48,0x667F4301,0x2E5D761F);
+ packetKeys(0x5ed10a48,0x667f4301,0x2e5d761f);
#endif
// 2017-06-21aRagexeRE, 2017-06-21bRagexe
#if PACKETVER == 20170621
- packetKeys(0x155F34EC,0x2D943FA9,0x3D9170EB);
+ packetKeys(0x155f34ec,0x2d943fa9,0x3d9170eb);
#endif
// 2017-06-28bRagexe, 2017-06-28bRagexeRE
#if PACKETVER == 20170628
- packetKeys(0x04691C86,0x43C210E2,0x2FE277E2);
+ packetKeys(0x04691c86,0x43c210e2,0x2fe277e2);
#endif
// 2017-07-05aRagexe, 2017-07-05aRagexeRE
#if PACKETVER == 20170705
- packetKeys(0x7EB000AE,0x02FB1DBC,0x5CB131E6);
+ packetKeys(0x7eb000ae,0x02fb1dbc,0x5cb131e6);
#endif
// 2017-07-12bRagexe, 2017-07-12bRagexeRE
#if PACKETVER == 20170712
- packetKeys(0x2C3C202C,0x3F2C2F2C,0x2F2C2F2C);
+ packetKeys(0x2c3c202c,0x3f2c2f2c,0x2f2c2f2c);
#endif
// 2017-07-19aRagexe, 2017-07-19aRagexeRE
#if PACKETVER == 20170719
- packetKeys(0x46465C88,0x10116F66,0x200866F9);
+ packetKeys(0x46465c88,0x10116f66,0x200866f9);
#endif
// 2017-07-26aRagexe, 2017-07-26cRagexeRE
#if PACKETVER == 20170726
- packetKeys(0x102F23DB,0x7E767751,0x3BC172EF);
+ packetKeys(0x102f23db,0x7e767751,0x3bc172ef);
#endif
// 2017-08-01aRagexe, 2017-08-01aRagexeRE, 2017-08-01bRagexe
#if PACKETVER == 20170801
- packetKeys(0x26B52A7F,0x5377619D,0x4F580AC4);
+ packetKeys(0x26b52a7f,0x5377619d,0x4f580ac4);
#endif
// 2017-08-09cRagexe, 2017-08-09cRagexeRE
#if PACKETVER == 20170809
- packetKeys(0x452156CB,0x71442624,0x2EE66D1C);
+ packetKeys(0x452156cb,0x71442624,0x2ee66d1c);
#endif
// 2017-08-16cRagexe, 2017-08-16cRagexeRE, 2017-08-16dRagexe, 2017-08-16dRagexeRE
#if PACKETVER == 20170816
- packetKeys(0x78914673,0x3F8B7634,0x55B814BC);
+ packetKeys(0x78914673,0x3f8b7634,0x55b814bc);
#endif
// 2017-08-23aRagexe, 2017-08-23aRagexeRE
#if PACKETVER == 20170823
- packetKeys(0x22677205,0x393D1002,0x58DC6BB4);
+ packetKeys(0x22677205,0x393d1002,0x58dc6bb4);
#endif
// 2017-08-30aRagexe, 2017-08-30aRagexeRE, 2017-08-30bRagexe, 2017-08-30bRagexeRE
#if PACKETVER == 20170830
- packetKeys(0x1D49592B,0x00970C17,0x1E640103);
+ packetKeys(0x1d49592b,0x00970c17,0x1e640103);
#endif
// 2017-09-06cRagexe, 2017-09-06cRagexeRE
#if PACKETVER == 20170906
- packetKeys(0x7DEF7677,0x351F36E6,0x52303485);
+ packetKeys(0x7def7677,0x351f36e6,0x52303485);
#endif
// 2017-09-13bRagexeRE, 2017-09-13cRagexe
#if PACKETVER == 20170913
- packetKeys(0x7A645935,0x1DA05062,0x5A7A4C43);
+ packetKeys(0x7a645935,0x1da05062,0x5a7a4c43);
#endif
// 2017-09-20aRagexe, 2017-09-20bRagexeRE
#if PACKETVER == 20170920
- packetKeys(0x53024DA5,0x04EC212D,0x0BF87CD4);
+ packetKeys(0x53024da5,0x04ec212d,0x0bf87cd4);
#endif
// 2017-09-27bRagexe, 2017-09-27bRagexeRE, 2017-09-27cRagexe, 2017-09-27dRagexe, 2017-09-27dRagexeRE
#if PACKETVER == 20170927
- packetKeys(0x15624100,0x0CE1463E,0x0E5D6534);
+ packetKeys(0x15624100,0x0ce1463e,0x0e5d6534);
#endif
// 2017-10-02cRagexe, 2017-10-02cRagexeRE
#if PACKETVER == 20171002
- packetKeys(0x15E1716C,0x4E765B63,0x357D2370);
+ packetKeys(0x15e1716c,0x4e765b63,0x357d2370);
#endif
// 2017-10-11aRagexe, 2017-10-11aRagexeRE, 2017-10-11bRagexe, 2017-10-11bRagexeRE
#if PACKETVER == 20171011
- packetKeys(0x4F121B3E,0x12670E17,0x19896C11);
+ packetKeys(0x4f121b3e,0x12670e17,0x19896c11);
#endif
// 2017-10-18aRagexe, 2017-10-18aRagexeRE
#if PACKETVER == 20171018
- packetKeys(0x2CAA109C,0x158C1EC2,0x7A5E58F3);
+ packetKeys(0x2caa109c,0x158c1ec2,0x7a5e58f3);
#endif
// 2017-10-25bRagexe, 2017-10-25bRagexeRE, 2017-10-25cRagexe, 2017-10-25cRagexeRE, 2017-10-25dRagexe, 2017-10-25dRagexeRE, 2017-10-25eRagexe, 2017-10-25eRagexeRE
#if PACKETVER == 20171025
- packetKeys(0x165C565C,0x565C565C,0x565C565C);
+ packetKeys(0x165c565c,0x565c565c,0x565c565c);
#endif
// 2017-11-01aRagexe, 2017-11-01bRagexeRE
#if PACKETVER == 20171101
- packetKeys(0x7056317F,0x7EEE0589,0x02672373);
+ packetKeys(0x7056317f,0x7eee0589,0x02672373);
#endif
// 2017-11-08aRagexe, 2017-11-08bRagexeRE
#if PACKETVER == 20171108
- packetKeys(0x03695685,0x7FAC12CE,0x182F7A7B);
+ packetKeys(0x03695685,0x7fac12ce,0x182f7a7b);
#endif
// 2017-11-15aRagexe, 2017-11-15aRagexeRE
#if PACKETVER == 20171115
- packetKeys(0x23B97A3B,0x34610993,0x2892070E);
+ packetKeys(0x23b97a3b,0x34610993,0x2892070e);
#endif
// 2017-11-22aRagexe, 2017-11-22bRagexeRE
#if PACKETVER == 20171122
- packetKeys(0x03221B0E,0x73AB7A5F,0x0DD80FD4);
+ packetKeys(0x03221b0e,0x73ab7a5f,0x0dd80fd4);
#endif
// 2017-11-29aRagexe, 2017-11-29aRagexeRE
#if PACKETVER == 20171129
- packetKeys(0x581B77A7,0x62F74D7A,0x4F102173);
+ packetKeys(0x581b77a7,0x62f74d7a,0x4f102173);
#endif
// 2017-12-06aRagexeRE, 2017-12-06bRagexe, 2017-12-06cRagexe
#if PACKETVER == 20171206
- packetKeys(0x39D54BD3,0x577A0C21,0x4C1C316E);
+ packetKeys(0x39d54bd3,0x577a0c21,0x4c1c316e);
#endif
// 2017-12-13bRagexe, 2017-12-13bRagexeRE
#if PACKETVER == 20171213
- packetKeys(0x44E41107,0x3B126921,0x00E06AAC);
+ packetKeys(0x44e41107,0x3b126921,0x00e06aac);
#endif
// 2017-12-20aRagexe, 2017-12-20aRagexeRE
#if PACKETVER == 20171220
- packetKeys(0x6EFE009A,0x440B7BFA,0x052339C8);
+ packetKeys(0x6efe009a,0x440b7bfa,0x052339c8);
#endif
// 2017-12-27aRagexe, 2017-12-27aRagexeRE
#if PACKETVER == 20171227
- packetKeys(0x257A2F6E,0x51140EEE,0x00FA4452);
+ packetKeys(0x257a2f6e,0x51140eee,0x00fa4452);
#endif
// 2018-01-03aRagexe, 2018-01-03aRagexeRE, 2018-01-03bRagexe, 2018-01-03bRagexeRE
#if PACKETVER == 20180103
- packetKeys(0x348F4BD7,0x7A425A54,0x628F589A);
+ packetKeys(0x348f4bd7,0x7a425a54,0x628f589a);
#endif
// 2018-01-17aRagexe, 2018-01-17aRagexeRE
#if PACKETVER == 20180117
- packetKeys(0x21F477F4,0x37F437F4,0x37F437F4);
+ packetKeys(0x21f477f4,0x37f437f4,0x37f437f4);
#endif
// 2018-01-24bRagexe, 2018-01-24bRagexeRE, 2018-01-31Ragexe
#if PACKETVER == 20180124 || \
PACKETVER == 20180131
- packetKeys(0x7EAA1CE0,0x415D1CFD,0x4C8F19FA);
+ packetKeys(0x7eaa1ce0,0x415d1cfd,0x4c8f19fa);
#endif
// 2018-02-07bRagexe, 2018-02-07bRagexeRE, 2018-02-07cRagexe
#if PACKETVER == 20180207
- packetKeys(0x45AA1B44,0x20E716B7,0x5388105C);
+ packetKeys(0x45aa1b44,0x20e716b7,0x5388105c);
#endif
// 2018-02-13aRagexe, 2018-02-13aRagexeRE, 2018-02-13bRagexe
#if PACKETVER == 20180213
- packetKeys(0x189D69B2,0x43B85EAD,0x2B7A687E);
+ packetKeys(0x189d69b2,0x43b85ead,0x2b7a687e);
#endif
// 2018-02-21aRagexeRE, 2018-02-21bRagexe, 2018-02-21bRagexeRE
#if PACKETVER == 20180221
- packetKeys(0x6E2F6233,0x193B0A66,0x0D1D2CA5);
+ packetKeys(0x6e2f6233,0x193b0a66,0x0d1d2ca5);
#endif
// 2018-03-07bRagexe, 2018-03-07bRagexeRE, 2018-03-09aRagexe
#if PACKETVER == 20180307 || \
PACKETVER == 20180309
- packetKeys(0x47DA10EB,0x4B922CCF,0x765C5055);
+ packetKeys(0x47da10eb,0x4b922ccf,0x765c5055);
#endif
// 2018-03-14nRagexe
#if PACKETVER == 20180314
- packetKeys(0x2FF07149,0x00596EA3,0x2B853026);
+ packetKeys(0x2ff07149,0x00596ea3,0x2b853026);
#endif
diff --git a/src/map/packets_keys_zero.h b/src/map/packets_keys_zero.h
index 42a6aaf37..5a9e65f14 100644
--- a/src/map/packets_keys_zero.h
+++ b/src/map/packets_keys_zero.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -29,7 +30,7 @@
/* This file is autogenerated, please do not commit manual changes */
-// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero
+// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero, 2018-08-29aRagexe_zero, 2018-09-05aRagexe_zero, 2018-09-12aRagexe_zero, 2018-09-19aRagexe_zero, 2018-09-28aRagexe_zero, 2018-10-10_2aRagexe_zero, 2018-10-24_2aRagexe_zero, 2018-11-14aRagexe_zero, 2018-11-20aRagexe_zero, 2018-11-28aRagexe_zero, 2018-12-12aRagexe_zero, 2018-12-19aRagexe_zero, 2018-12-26_2aRagexe_zero, 2019-01-16_2aRagexe_zero, 2019-01-17_1aRagexe_zero, 2019-01-30_2aRagexe_zero, 2019-02-13aRagexe_zero, 2019-02-20aRagexe_zero, 2019-02-27aRagexe_zero, 2019-03-13aRagexe_zero, 2019-03-27_2aRagexe_zero, 2019-03-27_3aRagexe_zero, 2019-04-03aRagexe_zero, 2019-04-10bRagexe_zero, 2019-04-24aRagexe_zero, 2019-05-02aRagexe_zero
#if PACKETVER == 20171018 || \
PACKETVER == 20171019 || \
PACKETVER == 20171023 || \
@@ -54,7 +55,32 @@
PACKETVER == 20180725 || \
PACKETVER == 20180801 || \
PACKETVER == 20180808 || \
- PACKETVER >= 20180822
+ PACKETVER == 20180822 || \
+ PACKETVER == 20180829 || \
+ PACKETVER == 20180905 || \
+ PACKETVER == 20180912 || \
+ PACKETVER == 20180919 || \
+ PACKETVER == 20180928 || \
+ PACKETVER == 20181010 || \
+ PACKETVER == 20181024 || \
+ PACKETVER == 20181114 || \
+ PACKETVER == 20181120 || \
+ PACKETVER == 20181128 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190117 || \
+ PACKETVER == 20190130 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190410 || \
+ PACKETVER == 20190424 || \
+ PACKETVER >= 20190502
packetKeys(0x00000000,0x00000000,0x00000000);
#endif
@@ -62,34 +88,34 @@
#if PACKETVER == 20171115 || \
PACKETVER == 20171116 || \
PACKETVER == 20171117
- packetKeys(0x3B93061D,0x3CB50DCD,0x410A197E);
+ packetKeys(0x3b93061d,0x3cb50dcd,0x410a197e);
#endif
// 2017-11-21aRagexe_zero, 2017-11-22aRagexe_zero
#if PACKETVER == 20171121 || \
PACKETVER == 20171122
- packetKeys(0x195B4DA8,0x6E3A473B,0x126F4B61);
+ packetKeys(0x195b4da8,0x6e3a473b,0x126f4b61);
#endif
// 2017-11-23dRagexe_zero
#if PACKETVER == 20171123
- packetKeys(0x6087733A,0x5C5C4AEE,0x0F10408F);
+ packetKeys(0x6087733a,0x5c5c4aee,0x0f10408f);
#endif
// 2017-11-27aRagexe_zero, 2017-11-27cRagexe_zero, 2017-11-28aRagexe_zero
#if PACKETVER == 20171127 || \
PACKETVER == 20171128
- packetKeys(0x141C135C,0x675C275C,0x275C275C);
+ packetKeys(0x141c135c,0x675c275c,0x275c275c);
#endif
// 2017-11-30bRagexe_zero
#if PACKETVER == 20171130
- packetKeys(0x31A04B32,0x3AC96B76,0x1742085D);
+ packetKeys(0x31a04b32,0x3ac96b76,0x1742085d);
#endif
// 2017-12-04bRagexe_zero
#if PACKETVER == 20171204
- packetKeys(0x06A109F1,0x6A953256,0x0A6040A3);
+ packetKeys(0x06a109f1,0x6a953256,0x0a6040a3);
#endif
// 2017-12-06aRagexe_zero, 2017-12-06bRagexe_zero, 2017-12-06cRagexe_zero, 2017-12-06dRagexe_zero, 2017-12-08aRagexe_zero, 2017-12-08cRagexe_zero, 2017-12-08dRagexe_zero, 2017-12-09bRagexe_zero, 2017-12-09cRagexe_zero, 2017-12-10aRagexe_zero, 2017-12-11bRagexe_zero, 2017-12-12aRagexe_zero, 2017-12-13aRagexe_zero, 2017-12-13bRagexe_zero, 2017-12-13cRagexe_zero
@@ -100,71 +126,71 @@
PACKETVER == 20171211 || \
PACKETVER == 20171212 || \
PACKETVER == 20171213
- packetKeys(0x718D0388,0x56A11525,0x20042F67);
+ packetKeys(0x718d0388,0x56a11525,0x20042f67);
#endif
// 2017-12-14cRagexe_zero
#if PACKETVER == 20171214
- packetKeys(0x6CE1021D,0x77703B04,0x4E722232);
+ packetKeys(0x6ce1021d,0x77703b04,0x4e722232);
#endif
// 2017-12-20aRagexe_zero, 2017-12-21aRagexe_zero, 2017-12-21bRagexe_zero
#if PACKETVER == 20171220 || \
PACKETVER == 20171221
- packetKeys(0x1E2047D2,0x7EE31AC2,0x31434F61);
+ packetKeys(0x1e2047d2,0x7ee31ac2,0x31434f61);
#endif
// 2017-12-27bRagexe_zero, 2017-12-29aRagexe_zero
#if PACKETVER == 20171227 || \
PACKETVER == 20171229
- packetKeys(0x7CBF0846,0x02F92654,0x22AA5E2D);
+ packetKeys(0x7cbf0846,0x02f92654,0x22aa5e2d);
#endif
// 2018-01-03aRagexe_zero
#if PACKETVER == 20180103
- packetKeys(0x2A3D4E64,0x7008690C,0x69FF066F);
+ packetKeys(0x2a3d4e64,0x7008690c,0x69ff066f);
#endif
// 2018-01-17aRagexe_zero
#if PACKETVER == 20180117
- packetKeys(0x230959EB,0x1CCB0182,0x1FFA2B30);
+ packetKeys(0x230959eb,0x1ccb0182,0x1ffa2b30);
#endif
// 2018-01-31dRagexe_zero
#if PACKETVER == 20180131
- packetKeys(0x1F422E02,0x12025202,0x52025202);
+ packetKeys(0x1f422e02,0x12025202,0x52025202);
#endif
// 2018-02-07bRagexe_zero
#if PACKETVER == 20180207
- packetKeys(0x07CB29CB,0x69CB69CB,0x69CB69CB);
+ packetKeys(0x07cb29cb,0x69cb69cb,0x69cb69cb);
#endif
// 2018-02-13aRagexe_zero
#if PACKETVER == 20180213
- packetKeys(0x0513075E,0x347075AF,0x67C56C6F);
+ packetKeys(0x0513075e,0x347075af,0x67c56c6f);
#endif
// 2018-02-21aRagexe_zero
#if PACKETVER == 20180221
- packetKeys(0x28ED7635,0x76591F21,0x59383498);
+ packetKeys(0x28ed7635,0x76591f21,0x59383498);
#endif
// 2018-02-28bRagexe_zero, 2018-03-07aRagexe_zero, 2018-03-09aRagexe_zero
#if PACKETVER == 20180228 || \
PACKETVER == 20180307 || \
PACKETVER == 20180309
- packetKeys(0x56C82ABE,0x61AE2B2E,0x472E272E);
+ packetKeys(0x56c82abe,0x61ae2b2e,0x472e272e);
#endif
// 2018-03-14nRagexe_zero
#if PACKETVER == 20180314
- packetKeys(0x2FC330DD,0x01C04E1F,0x4D914DE2);
+ packetKeys(0x2fc330dd,0x01c04e1f,0x4d914de2);
#endif
// 2018-05-11aRagexe_zero, 2018-05-11bRagexe_zero
#if PACKETVER == 20180511
- packetKeys(0x1C055B65,0x68CE748D,0x32AF761D);
+ packetKeys(0x1c055b65,0x68ce748d,0x32af761d);
#endif
diff --git a/src/map/packets_shuffle_main.h b/src/map/packets_shuffle_main.h
index 441415df2..a5ce83ebe 100644
--- a/src/map/packets_shuffle_main.h
+++ b/src/map/packets_shuffle_main.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -24,13 +25,13 @@
#define MAP_PACKETS_SHUFFLE_MAIN_H
#ifndef packet
- #define packet(a,b,...)
+ #define packet(a,...)
#endif
/*
* packet syntax
- * - packet(packet_id,length,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
- * - Example: packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18);
+ * - packet(packet_id,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
+ * - Example: packet(0x0072,clif->pWantToConnection,2,6,10,14,18);
*/
/* This file is autogenerated, please do not commit manual changes */
@@ -39,3312 +40,3312 @@
// 2012-07-10aRagexe, 2012-07-12aRagexe
#if PACKETVER == 20120710 || \
PACKETVER == 20120712
- packet(0x0202,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0362,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0367,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07e4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0877,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0878,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a3,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0936,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0948,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0953,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0956,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0362,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0367,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07e4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0877,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0878,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a3,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0936,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0948,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0956,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2012-07-16aRagexe
#if PACKETVER == 20120716
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-07-24aRagexe
#if PACKETVER == 20120724
- packet(0x035f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0815,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0865,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a1,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0935,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0938,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0945,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0965,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0815,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0865,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a1,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x092b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0935,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0938,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0945,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0965,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2012-08-01aRagexe, 2012-08-01bRagexe
#if PACKETVER == 20120801
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0438,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0873,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a2,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08aa,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0934,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0946,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0438,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0873,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a2,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08aa,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0934,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0946,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2012-08-08aRagexe, 2012-08-08bRagexe, 2012-08-08cRagexe
#if PACKETVER == 20120808
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-08-14aRagexe, 2012-08-14bRagexe
#if PACKETVER == 20120814
- packet(0x0281,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0366,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07ec,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0815,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0838,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0861,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0865,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0875,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0895,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a8,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0920,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0929,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0932,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0934,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0967,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0969,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0281,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0365,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0366,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07ec,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0815,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0838,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0861,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0865,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0875,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0895,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0920,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0932,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0934,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0967,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0969,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2012-08-22aRagexe, 2012-08-22bRagexe, 2012-08-22cRagexe
#if PACKETVER == 20120822
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0872,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x087d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0917,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0924,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0927,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0935,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0940,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0943,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0953,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0958,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0872,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x087d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0917,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0924,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0927,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0935,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0940,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0943,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0953,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0958,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2012-08-30aRagexe
#if PACKETVER == 20120830
- packet(0x022d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0838,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0888,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0926,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0945,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0838,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0926,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0945,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-09-05aRagexe
#if PACKETVER == 20120905
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0817,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0895,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a6,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0917,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0944,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0950,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0959,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0967,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0817,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0895,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a6,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0917,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0944,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0950,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0959,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0967,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2012-09-11aRagexe
#if PACKETVER == 20120911
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0879,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a4,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a6,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0930,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0935,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0948,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0949,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0958,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0959,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0962,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0963,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0879,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a4,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a6,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a7,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0930,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0935,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0948,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0949,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0958,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0959,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0962,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0963,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2012-09-19aRagexe
#if PACKETVER == 20120919
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-09-25aRagexe, 2012-09-26aRagexe
#if PACKETVER == 20120925 || \
PACKETVER == 20120926
- packet(0x07e4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0815,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0873,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a4,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0923,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0927,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0932,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0948,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0950,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x07e4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0815,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0873,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a4,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0923,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0927,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0932,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0948,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0950,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2012-10-10aRagexe, 2012-10-10bRagexe
#if PACKETVER == 20121010
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0817,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0883,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0896,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a6,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0925,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0942,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0964,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0817,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0883,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0896,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0925,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0942,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0947,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0964,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2012-10-17aRagexe, 2012-10-17bRagexe
#if PACKETVER == 20121017
- packet(0x023b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0897,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0918,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0965,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0897,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0918,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0965,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-10-24aRagexe
#if PACKETVER == 20121024
- packet(0x0436,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0437,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0882,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0889,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a9,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08aa,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0931,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0942,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0954,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0955,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0965,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0436,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0437,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0882,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0889,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a9,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08aa,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0931,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0942,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0954,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0955,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0965,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2012-10-31aRagexe
#if PACKETVER == 20121031
- packet(0x022d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-11-07aRagexe
#if PACKETVER == 20121107
- packet(0x0360,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0861,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0865,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0871,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0873,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0896,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a2,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0922,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0934,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0945,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0963,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0966,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0360,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0861,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0865,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0871,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0873,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0896,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0922,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0934,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0945,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0963,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0966,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2012-11-14aRagexe
#if PACKETVER == 20121114
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0815,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0862,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0876,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0879,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0881,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0898,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0899,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08aa,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0935,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0938,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0949,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0965,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0815,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0862,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0876,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0879,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0881,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0898,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0899,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08aa,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0935,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0938,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0949,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0965,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2012-11-21aRagexe
#if PACKETVER == 20121121
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0880,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a7,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0927,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0880,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a7,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0927,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2012-11-28aRagexe
#if PACKETVER == 20121128
- packet(0x0362,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07ec,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0861,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0867,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0894,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a8,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0931,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0945,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0950,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0953,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0362,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07ec,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0861,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0867,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a8,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0931,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0945,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0950,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0953,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2012-12-05aRagexe, 2012-12-05bRagexe
#if PACKETVER == 20121205
- packet(0x035f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0873,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0875,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0878,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0889,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0959,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x035f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0873,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0875,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0878,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0889,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0959,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2012-12-12aRagexe, 2012-12-12bRagexe
#if PACKETVER == 20121212
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0368,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0369,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0893,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a3,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a7,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0920,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0932,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0951,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0953,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0966,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0368,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0369,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0893,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a3,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a7,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0920,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0932,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0951,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0953,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0966,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-12-18aRagexe, 2012-12-18bRagexe
#if PACKETVER == 20121218
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0872,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0872,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-12-27aRagexe
#if PACKETVER == 20121227
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x02c4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0870,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0888,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0890,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0894,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0896,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a6,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0917,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0920,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0932,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0933,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0943,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0947,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0958,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x02c4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0870,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0888,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0890,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0894,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0896,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a6,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0917,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0920,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0932,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0933,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0943,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0947,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0958,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2013-01-03aRagexe, 2013-01-07aRagexe
#if PACKETVER == 20130103 || \
PACKETVER == 20130107
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-01-09aRagexe
#if PACKETVER == 20130109
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08aa,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0922,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0927,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0928,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0931,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0950,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0951,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0955,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0918,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0922,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0927,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0928,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0931,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0950,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0951,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0955,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-01-15bRagexe, 2013-01-16aRagexe, 2013-01-16bRagexe
#if PACKETVER == 20130115 || \
PACKETVER == 20130116
- packet(0x0361,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0817,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0861,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0870,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0871,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0879,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0888,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0894,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0895,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a0,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0918,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0939,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0817,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0861,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0870,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0871,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0879,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0888,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0894,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0895,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a0,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0918,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0939,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2013-01-21aRagexe
#if PACKETVER == 20130121
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x035f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0802,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0874,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0802,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0874,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-01-30aRagexe
#if PACKETVER == 20130130
- packet(0x035f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0437,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0887,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a0,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a9,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0920,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0924,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0956,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x035f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0368,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0437,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0887,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a0,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a9,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0920,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0924,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0956,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2013-02-06aRagexe
#if PACKETVER == 20130206
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0925,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0883,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0925,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-15aRagexe, 2013-02-15bRagexe
#if PACKETVER == 20130215
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0886,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0886,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-20aRagexe
#if PACKETVER == 20130220
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-27aRagexe
#if PACKETVER == 20130227
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0811,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0893,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a0,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a1,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0924,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0951,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0967,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0811,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0893,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a0,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0924,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0951,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0967,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2013-03-06aRagexe
#if PACKETVER == 20130306
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0367,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0368,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0802,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0898,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0926,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0934,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0936,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0943,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0945,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0946,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0951,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0367,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0368,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0802,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0898,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0926,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0934,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0936,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0943,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0945,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0946,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0951,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-03-13aRagexe
#if PACKETVER == 20130313
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0920,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0920,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-03-20dRagexe, 2013-03-20eRagexe
#if PACKETVER == 20130320
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0438,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0868,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0881,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0922,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0933,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0438,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0868,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0881,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0922,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0933,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2013-03-27bRagexe
#if PACKETVER == 20130327
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0878,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0893,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a1,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0938,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0939,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0955,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0960,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0961,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0967,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0878,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0893,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a1,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0938,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0939,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0955,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0960,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0961,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0967,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2013-04-03aRagexe
#if PACKETVER == 20130403
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0884,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0942,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0950,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0884,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0942,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0950,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-04-10aRagexe
#if PACKETVER == 20130410
- packet(0x0367,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0881,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x088c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a7,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0917,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0933,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0939,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x093d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0944,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0945,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0955,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0367,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0881,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x088c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a7,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0917,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0933,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0939,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x093d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0945,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0955,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2013-04-17aRagexe
#if PACKETVER == 20130417
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x096a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0929,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x096a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2013-04-24aRagexe
#if PACKETVER == 20130424
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0969,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0969,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-02aRagexe, 2013-05-02bRagexe
#if PACKETVER == 20130502
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0874,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0875,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0877,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0889,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a1,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a3,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0874,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0875,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0877,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a1,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a3,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-05-08bRagexe, 2013-05-08cRagexe, 2013-05-08dRagexe, 2013-05-08eRagexe, 2013-05-08fRagexe
#if PACKETVER == 20130508
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0897,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0897,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-15aRagexe
#if PACKETVER == 20130515
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a1,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0947,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a1,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0947,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-22aRagexe
#if PACKETVER == 20130522
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a2,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a3,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0965,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a2,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a3,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0965,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2013-05-29aRagexe
#if PACKETVER == 20130529
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0888,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0918,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0936,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0938,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a7,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0918,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0936,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0938,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2013-06-05aRagexe, 2013-06-05bRagexe
#if PACKETVER == 20130605
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0883,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0883,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-06-12aRagexe, 2013-06-12bRagexe, 2013-06-12cRagexe, 2013-06-12dRagexe, 2013-06-12eRagexe
#if PACKETVER == 20130612
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0964,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0964,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-06-18#1aRagexe
#if PACKETVER == 20130618
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0890,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0932,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0936,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0951,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0890,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0932,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0936,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0951,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2013-06-26_3cRagexe, 2013-06-26bRagexe
#if PACKETVER == 20130626
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ab,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0894,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ab,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-03aRagexe
#if PACKETVER == 20130703
- packet(0x0202,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-10bRagexe
#if PACKETVER == 20130710
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0880,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0880,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-17cRagexe
#if PACKETVER == 20130717
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0863,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0882,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0897,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0898,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a9,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0918,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0956,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0960,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x096a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0863,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0882,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0897,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0898,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a9,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0918,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0956,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0960,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x096a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2013-07-24eRagexe
#if PACKETVER == 20130724
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0437,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0867,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0891,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0924,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0953,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0954,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0956,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0958,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0437,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0867,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0891,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0893,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0924,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0953,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0954,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0956,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0958,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2013-07-31cRagexe
#if PACKETVER == 20130731
- packet(0x022d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0889,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0894,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0923,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0925,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0962,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x022d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0894,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0923,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0925,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0962,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2013-08-07aRagexe
#if PACKETVER == 20130807
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-08-14aRagexe
#if PACKETVER == 20130814
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0815,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0873,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0874,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0896,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0923,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0936,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0937,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x093a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0947,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0959,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0815,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0873,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0874,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0923,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0936,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0937,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x093a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0947,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0959,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2013-08-21bRagexe
#if PACKETVER == 20130821
- packet(0x0202,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0437,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0438,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0815,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0879,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a6,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x093e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0954,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0967,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0202,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0437,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0438,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0815,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0879,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a6,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x093e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0954,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0967,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2013-08-28bRagexe, 2013-08-28cRagexe
#if PACKETVER == 20130828
- packet(0x023b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0873,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0889,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a3,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0917,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0919,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0944,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x023b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0817,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0873,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0889,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a3,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0917,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0919,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0944,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2013-09-04aRagexe
#if PACKETVER == 20130904
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0838,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0937,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0838,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0937,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-09-11aRagexe, 2013-09-11bRagexe
#if PACKETVER == 20130911
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0891,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0948,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0891,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0948,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2013-09-17aRagexe
#if PACKETVER == 20130917
- packet(0x035f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x083c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0863,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0895,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a8,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0934,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0959,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x096a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x035f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x083c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0863,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0895,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a8,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0934,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0959,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x096a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2013-09-25aRagexe, 2013-09-25bRagexe, 2013-09-25cRagexe
#if PACKETVER == 20130925
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0885,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-10-02aRagexe
#if PACKETVER == 20131002
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-10-08aRagexe
#if PACKETVER == 20131008
- packet(0x0202,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0362,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0863,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0883,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0927,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0932,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0936,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0956,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0202,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0362,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x083c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0863,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0883,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0927,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0932,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0936,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0956,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2013-10-16aRagexe, 2013-10-16bRagexe
#if PACKETVER == 20131016
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0281,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0364,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x07ec,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0867,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0870,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0887,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0894,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x091e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0927,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0946,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0962,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0281,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0364,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x07ec,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0867,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0870,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0887,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0894,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x091e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0927,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0946,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0962,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2013-10-23aRagexe
#if PACKETVER == 20131023
- packet(0x0366,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0819,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0835,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0862,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a7,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0919,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0923,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0935,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0937,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0944,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0951,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0366,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0819,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a7,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0919,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0923,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0935,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0937,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0944,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0951,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2013-10-30aRagexe
#if PACKETVER == 20131030
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-11-06aRagexe, 2013-11-07aRagexe, 2013-11-07bRagexe, 2013-11-07cRagexe, 2013-11-08aRagexe
#if PACKETVER == 20131106 || \
PACKETVER == 20131107 || \
PACKETVER == 20131108
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0369,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0436,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0867,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0891,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0894,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0919,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0942,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0946,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0948,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0950,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0954,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0967,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0369,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0436,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0867,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0887,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0891,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0894,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0919,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0942,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0946,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0948,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0950,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0954,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0962,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0967,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2013-11-13bRagexe
#if PACKETVER == 20131113
- packet(0x0364,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0879,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0934,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0936,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0949,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0950,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0964,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0969,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0364,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0879,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0929,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0934,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0936,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0949,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0950,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0964,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0969,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2013-11-20dRagexe
#if PACKETVER == 20131120
- packet(0x0361,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0802,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0817,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a1,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0926,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0927,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0950,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0955,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0361,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0802,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0817,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a1,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0926,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0927,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0950,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0955,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2013-11-27bRagexe
#if PACKETVER == 20131127
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0930,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0930,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2013-12-04eRagexe
#if PACKETVER == 20131204
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0862,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0869,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0879,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0882,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a0,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a7,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0928,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x092d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0932,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0958,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0959,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0961,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0967,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0862,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0869,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0879,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0882,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a0,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a7,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0928,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x092d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0932,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0958,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0959,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0961,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0967,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2013-12-11cRagexe, 2013-12-11dRagexe
#if PACKETVER == 20131211
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0892,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a3,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0892,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a3,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-18bRagexe
#if PACKETVER == 20131218
- packet(0x022d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ab,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ab,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0947,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-23bRagexe, 2013-12-23cRagexe
#if PACKETVER == 20131223
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-30aRagexe
#if PACKETVER == 20131230
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0369,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0926,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0943,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0968,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x096a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0369,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0926,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0943,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0968,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x096a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2014-01-08cRagexe, 2014-01-08dRagexe
#if PACKETVER == 20140108
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-01-15aRagexe, 2014-01-15bRagexe, 2014-01-15cRagexe, 2014-01-15eRagexe
#if PACKETVER == 20140115
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0865,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0965,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0966,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0865,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0965,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0966,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-01-22aRagexe
#if PACKETVER == 20140122
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0863,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08aa,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0925,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0942,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0950,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0955,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0811,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0863,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08aa,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0925,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0942,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0950,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0955,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2014-01-29aRagexe, 2014-01-29cRagexe
#if PACKETVER == 20140129
- packet(0x0281,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0885,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0885,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-02-05bRagexe
#if PACKETVER == 20140205
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0938,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0938,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-02-12aRagexe
#if PACKETVER == 20140212
- packet(0x02c4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0369,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0874,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0878,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a0,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a1,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a7,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0919,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0934,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0936,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0952,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0960,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x02c4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0369,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0874,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0878,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a0,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a1,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a7,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0919,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0934,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0936,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0952,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0960,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2014-02-19aRagexe
#if PACKETVER == 20140219
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0360,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0802,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0860,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0868,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0927,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0939,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0953,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0961,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0360,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0802,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0860,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0868,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0927,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0939,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0953,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0961,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2014-02-26aRagexe
#if PACKETVER == 20140226
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0887,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0894,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0921,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0931,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0941,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0887,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0894,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0921,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0931,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0941,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-03-05aRagexe, 2014-03-05bRagexe
#if PACKETVER == 20140305
- packet(0x0202,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0934,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0934,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-03-12dRagexe
#if PACKETVER == 20140312
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x023b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0889,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0891,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0894,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0948,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0889,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0891,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0894,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0948,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2014-03-19aRagexe
#if PACKETVER == 20140319
- packet(0x02c4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07e4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0802,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0811,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0815,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0864,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0866,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0883,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0893,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0933,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0944,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0947,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0955,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x096a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x02c4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07e4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0802,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0811,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0815,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0864,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0866,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0883,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0933,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0944,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0947,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0955,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x096a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2014-03-26aRagexe
#if PACKETVER == 20140326
- packet(0x0362,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07ec,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x083c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0867,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0869,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0887,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08aa,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0918,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0969,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0362,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07ec,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x083c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0867,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0869,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0918,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0969,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2014-04-02fRagexe, 2014-04-02gRagexe
#if PACKETVER == 20140402
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0360,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0364,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0867,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0868,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0882,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0890,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0926,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0933,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x093f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0944,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0360,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0364,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0867,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0868,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0882,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0883,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0890,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0926,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0933,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x093f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0944,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2014-04-09aRagexe, 2014-04-09bRagexe
#if PACKETVER == 20140409
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0873,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0883,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0884,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0896,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a6,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a7,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0918,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0942,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0947,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0873,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0883,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0884,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0896,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a6,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08a7,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0918,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0942,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0947,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2014-04-16aRagexe, 2014-04-16bRagexe
#if PACKETVER == 20140416
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-04-23aRagexe
#if PACKETVER == 20140423
- packet(0x022d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0811,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x083c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0866,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0890,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0895,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0896,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a8,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x022d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0811,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x083c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0866,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0890,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0895,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0896,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a8,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-04-30aRagexe
#if PACKETVER == 20140430
- packet(0x023b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0871,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0884,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0899,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a1,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0953,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0956,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x023b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0871,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0884,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0899,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0956,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2014-05-08bRagexe
#if PACKETVER == 20140508
- packet(0x022d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0927,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0932,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0927,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0932,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-05-14bRagexe
#if PACKETVER == 20140514
- packet(0x0437,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0865,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0876,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a5,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0921,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0925,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0965,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0437,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0865,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0876,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a5,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0921,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0925,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0965,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2014-05-21bRagexe
#if PACKETVER == 20140521
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0968,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0968,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-05-28aRagexe
#if PACKETVER == 20140528
- packet(0x0202,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0862,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0875,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0877,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0894,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a8,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0930,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0963,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0966,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0202,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0862,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0875,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0877,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a8,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0930,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0963,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0966,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2014-06-05aRagexe, 2014-06-05bRagexe
#if PACKETVER == 20140605
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0369,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0921,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0369,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0921,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-06-11cRagexe, 2014-06-11dRagexe, 2014-06-11hRagexe, 2014-06-12aRagexe, 2014-06-13aRagexe
#if PACKETVER == 20140611 || \
PACKETVER == 20140612 || \
PACKETVER == 20140613
- packet(0x0364,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0838,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0864,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0874,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0878,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0891,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0893,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0894,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a1,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0924,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0950,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0952,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0957,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0958,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0965,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
-#endif
-
-// 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-28bRagexe, 2018-04-04bRagexe, 2018-04-18aRagexe, 2018-04-25cRagexe, 2018-05-02bRagexe, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-23aRagexe, 2018-05-30aRagexe, 2018-06-05bRagexe, 2018-06-20cRagexe, 2018-06-20eRagexe, 2018-06-21aRagexe, 2018-07-04aRagexe, 2018-07-18bRagexe, 2018-07-18cRagexe, 2018-08-01cRagexe, 2018-08-08bRagexe, 2018-08-22cRagexe
+ packet(0x0364,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0838,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0864,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0874,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0878,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0891,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0893,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0894,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a1,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0924,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0950,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0952,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0957,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0958,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0965,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+#endif
+
+// 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-28bRagexe, 2018-04-04bRagexe, 2018-04-18aRagexe, 2018-04-25cRagexe, 2018-05-02bRagexe, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-23aRagexe, 2018-05-30aRagexe, 2018-06-05bRagexe, 2018-06-20cRagexe, 2018-06-20eRagexe, 2018-06-21aRagexe, 2018-07-04aRagexe, 2018-07-18bRagexe, 2018-07-18cRagexe, 2018-08-01cRagexe, 2018-08-08bRagexe, 2018-08-22cRagexe, 2018-08-29aRagexe, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-19aRagexe, 2018-10-02aRagexe, 2018-10-02bRagexe, 2018-10-17_02aRagexe, 2018-10-17_03aRagexe, 2018-10-17bRagexe, 2018-10-24bRagexe, 2018-10-31aRagexe, 2018-10-31bRagexe, 2018-11-07aRagexe, 2018-11-14cRagexe, 2018-11-14dRagexe
#if PACKETVER == 20140611 || \
PACKETVER == 20150225 || \
PACKETVER == 20180315 || \
@@ -3365,6355 +3366,6417 @@
PACKETVER == 20180718 || \
PACKETVER == 20180801 || \
PACKETVER == 20180808 || \
- PACKETVER >= 20180822
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x023b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ PACKETVER == 20180822 || \
+ PACKETVER == 20180829 || \
+ PACKETVER == 20180831 || \
+ PACKETVER == 20180912 || \
+ PACKETVER == 20180919 || \
+ PACKETVER == 20181002 || \
+ PACKETVER == 20181017 || \
+ PACKETVER == 20181024 || \
+ PACKETVER == 20181031 || \
+ PACKETVER == 20181107 || \
+ PACKETVER == 20181114
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2014-06-18aRagexe
#if PACKETVER == 20140618
- packet(0x085d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0861,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0878,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0884,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0886,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0890,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0939,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0945,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0967,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x085d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0861,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0878,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0884,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0886,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0890,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0939,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0945,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0967,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-06-25aRagexe, 2014-06-25bRagexe
#if PACKETVER == 20140625
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x023b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0815,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0817,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0861,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0897,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a1,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a2,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0959,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0968,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0969,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x023b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0815,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0817,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0861,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0897,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a1,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a2,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0959,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0968,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0969,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-07-02aRagexe
#if PACKETVER == 20140702
- packet(0x022d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0438,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x07e4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a0,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0933,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0438,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x07e4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a0,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0933,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-07-09aRagexe
#if PACKETVER == 20140709
- packet(0x0364,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0869,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0877,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0879,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0888,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0894,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0897,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0898,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0925,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0931,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0939,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0961,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0364,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0869,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0877,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0879,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0894,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0897,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0898,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0925,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0931,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0939,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0961,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2014-07-16aRagexe, 2014-07-16bRagexe, 2014-07-16cRagexe
#if PACKETVER == 20140716
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0871,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0881,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a2,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0918,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0926,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0938,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0952,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0959,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0871,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0881,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0918,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0926,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0938,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0952,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0959,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2014-07-23aRagexe, 2014-07-23bRagexe
#if PACKETVER == 20140723
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0819,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x087d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0888,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0891,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0896,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ad,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0927,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0934,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0939,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0945,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0947,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0948,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0960,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0436,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0819,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x087d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0888,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0891,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0896,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ad,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0927,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0934,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0939,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0945,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0947,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0948,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0960,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2014-07-30aRagexe
#if PACKETVER == 20140730
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0367,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0437,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07ec,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0802,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0815,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0889,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0892,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0924,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0934,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0367,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0437,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0815,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0889,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0892,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0924,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0934,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-08-06aRagexe, 2014-08-06bRagexe
#if PACKETVER == 20140806
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0948,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0948,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-08-13aRagexe, 2014-08-13bRagexe, 2014-08-14aRagexe
#if PACKETVER == 20140813 || \
PACKETVER == 20140814
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a7,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0967,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0967,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-08-20aRagexe
#if PACKETVER == 20140820
- packet(0x035f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0861,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0869,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0872,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0876,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0899,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a7,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0937,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0951,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0956,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0861,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0869,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0872,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0876,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0899,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a7,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0937,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0951,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0952,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0956,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-08-27aRagexe
#if PACKETVER == 20140827
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0943,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0943,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-09-03aRagexe
#if PACKETVER == 20140903
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0943,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0945,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0945,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-09-17aRagexe
#if PACKETVER == 20140917
- packet(0x022d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0364,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0365,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0367,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0895,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0919,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x091e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0949,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0951,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x095e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0966,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x022d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0364,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0365,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0367,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0895,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0919,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x091e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0949,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0951,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x095e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0966,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-09-24cRagexe
#if PACKETVER == 20140924
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0864,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0886,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0894,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0898,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a5,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a7,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0918,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0925,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0926,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0949,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0952,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0864,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0886,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0894,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0898,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a5,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a7,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0918,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0925,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0926,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0949,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0952,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2014-10-01aRagexe
#if PACKETVER == 20141001
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0885,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0952,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0885,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0952,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-10-08aRagexe, 2014-10-08bRagexe, 2014-10-08cRagexe, 2014-10-08dRagexe
#if PACKETVER == 20141008
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-15bRagexe, 2014-10-15cRagexe, 2014-10-15dRagexe, 2014-10-16aRagexe
#if PACKETVER == 20141015 || \
PACKETVER == 20141016
- packet(0x022d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0922,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0922,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-22bRagexe
#if PACKETVER == 20141022
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0896,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0899,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08aa,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0896,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0899,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08aa,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-29aRagexe
#if PACKETVER == 20141029
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-11-05aRagexe, 2014-11-05bRagexe
#if PACKETVER == 20141105
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0864,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0865,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0874,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0879,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0892,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x095f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0968,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0864,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0865,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0874,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0879,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0892,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x095f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0968,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-11-12cRagexe, 2014-11-12dRagexe
#if PACKETVER == 20141112
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0438,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0885,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a0,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a1,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08ab,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0919,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0929,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0943,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0960,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0962,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0438,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0885,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a0,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a1,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08ab,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0919,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0929,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0943,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0960,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0962,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2014-11-19dRagexe
#if PACKETVER == 20141119
- packet(0x0202,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0866,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0873,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0887,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0895,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0918,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0921,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0938,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0963,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0866,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0873,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0887,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0895,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0918,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0921,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0938,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0963,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2014-11-26aRagexe, 2014-11-26bRagexe, 2014-11-26cRagexe, 2014-11-26dRagexe
#if PACKETVER == 20141126
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0871,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0884,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0920,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0942,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0871,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0920,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0942,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-12-03aRagexe
#if PACKETVER == 20141203
- packet(0x0202,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0281,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0861,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0880,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0889,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a5,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08aa,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0936,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0957,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0962,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0202,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0281,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0861,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0880,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0889,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a5,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08aa,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0936,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0957,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0962,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2014-12-10bRagexe, 2014-12-10cRagexe
#if PACKETVER == 20141210
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ac,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0917,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0927,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0954,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0967,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0885,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08ac,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0917,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0954,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0967,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-12-17aRagexe
#if PACKETVER == 20141217
- packet(0x0360,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0879,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0883,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0889,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a1,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ab,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0919,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0924,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0930,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0933,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0939,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0945,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0948,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0960,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0360,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0879,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0883,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0889,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a1,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ab,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0919,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0924,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0930,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0932,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0933,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0939,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0945,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0948,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-12-24aRagexe
#if PACKETVER == 20141224
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0438,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0835,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0870,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a3,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ac,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0932,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0945,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0946,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0949,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0953,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0438,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0835,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0870,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a3,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08ac,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0932,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0945,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0946,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0949,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0953,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2014-12-31aRagexe
#if PACKETVER == 20141231
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-07aRagexe
#if PACKETVER == 20150107
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0895,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0895,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-14aRagexe, 2015-01-14bRagexe, 2015-01-14cRagexe, 2015-01-14dRagexe
#if PACKETVER == 20150114
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0955,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0955,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-21aRagexe
#if PACKETVER == 20150121
- packet(0x0281,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0918,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0919,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0955,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0959,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0919,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0955,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0959,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-28aRagexe, 2015-01-29aRagexe, 2015-01-30aRagexe
#if PACKETVER == 20150128 || \
PACKETVER == 20150129 || \
PACKETVER == 20150130
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x023b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0368,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0838,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0864,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0874,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0888,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0929,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0963,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0968,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x023b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0838,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0864,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0874,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0888,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0929,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0963,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0968,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2015-02-04aRagexe
#if PACKETVER == 20150204
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0966,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0966,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-02-11aRagexe
#if PACKETVER == 20150211
- packet(0x023b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0368,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0369,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x07e4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0819,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0862,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0873,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0882,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0883,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0885,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0886,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0919,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0368,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0369,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x07e4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0819,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0862,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0873,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0882,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0883,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0885,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0886,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0919,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2015-02-17aRagexe
#if PACKETVER == 20150217
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-02-25eRagexe, 2015-02-25fRagexe, 2015-02-25gRagexe, 2015-02-25iRagexe, 2015-02-25jRagexe, 2015-02-26aRagexe
#if PACKETVER == 20150225 || \
PACKETVER == 20150226
- packet(0x02c4,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0948,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0955,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x02c4,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0948,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0955,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-03-04aRagexe
#if PACKETVER == 20150304
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0879,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0879,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0892,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-03-11aRagexe, 2015-03-11bRagexe
#if PACKETVER == 20150311
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0838,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0896,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a5,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a6,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0928,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0943,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0957,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0958,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0964,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0838,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0896,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a5,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a6,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0928,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0943,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0957,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0958,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0964,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2015-03-18aRagexe, 2015-03-18bRagexe
#if PACKETVER == 20150318
- packet(0x0202,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x023b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0281,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0802,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0862,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0885,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0928,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0936,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0951,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0960,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x023b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0802,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0862,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0885,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0928,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0936,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0951,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0960,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-03-25aRagexe
#if PACKETVER == 20150325
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0365,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0883,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a7,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0919,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0931,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0932,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0938,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0954,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0365,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0883,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a7,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0919,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0931,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0932,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0938,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0954,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2015-04-01aRagexe
#if PACKETVER == 20150401
- packet(0x0362,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0437,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x083c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a5,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0924,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0939,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0949,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0964,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0362,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0437,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x083c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a5,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0924,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0939,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0949,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0964,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-04-08aRagexe
#if PACKETVER == 20150408
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0865,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0868,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0891,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0922,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0946,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0957,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0959,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0963,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0865,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0868,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0891,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0922,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0946,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0957,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0959,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0963,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2015-04-15aRagexe
#if PACKETVER == 20150415
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0802,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0869,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0880,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0898,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a0,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x093c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0946,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0953,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0364,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0802,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0869,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0880,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0898,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a0,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x093c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0941,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0946,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0953,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-04-22aRagexe
#if PACKETVER == 20150422
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0955,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0955,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-04-29aRagexe
#if PACKETVER == 20150429
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0886,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0894,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0899,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a8,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0943,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0886,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0894,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0899,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0943,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-07bRagexe, 2015-05-07cRagexe
#if PACKETVER == 20150507
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0887,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0941,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0953,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0955,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0941,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0953,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0955,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-13aRagexe
#if PACKETVER == 20150513
- packet(0x022d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x02c4,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a8,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0923,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0924,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0960,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x02c4,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0883,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a8,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0923,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0924,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0960,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-20aRagexe
#if PACKETVER == 20150520
- packet(0x0202,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0880,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a2,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0924,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0931,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0936,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0960,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0880,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a2,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0924,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0931,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0936,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x093d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-05-27aRagexe
#if PACKETVER == 20150527
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x083c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x083c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-06-03aRagexe
#if PACKETVER == 20150603
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0437,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0864,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0867,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0873,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0881,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a1,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0960,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0969,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x096a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0437,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0864,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0867,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0873,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0881,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a1,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0960,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0969,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x096a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2015-06-10aRagexe
#if PACKETVER == 20150610
- packet(0x022d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07e4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0872,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0897,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a0,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0925,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0932,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0946,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0949,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0957,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0964,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07e4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0872,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0897,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a0,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ac,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0925,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0932,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0946,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0949,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0957,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0964,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-06-17aRagexe, 2015-06-18aRagexe
#if PACKETVER == 20150617 || \
PACKETVER == 20150618
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0894,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0362,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-06-24aRagexe
#if PACKETVER == 20150624
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0365,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0365,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-07-01bRagexe, 2015-07-02aRagexe
#if PACKETVER == 20150701 || \
PACKETVER == 20150702
- packet(0x023b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07e4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0883,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0893,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a0,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a4,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a5,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a6,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ad,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0919,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0923,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0928,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0954,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0958,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07e4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0883,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a0,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a4,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a5,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a6,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ad,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0919,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0923,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0928,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0954,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0958,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-07-08cRagexe
#if PACKETVER == 20150708
- packet(0x022d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0872,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0872,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-07-15aRagexe
#if PACKETVER == 20150715
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0436,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0437,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0873,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0895,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0897,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0899,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0917,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0944,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0436,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0437,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0873,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0895,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0897,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0899,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0917,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0944,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-07-22bRagexe
#if PACKETVER == 20150722
- packet(0x023b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0368,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0880,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0899,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0925,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0368,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0811,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0880,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0899,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0925,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2015-07-29aRagexe
#if PACKETVER == 20150729
- packet(0x0437,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0870,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0880,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a3,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ad,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0920,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0955,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0961,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0437,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0870,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0880,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ad,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0920,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x093a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0955,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0961,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2015-08-05aRagexe
#if PACKETVER == 20150805
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-12aRagexe
#if PACKETVER == 20150812
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-19aRagexe
#if PACKETVER == 20150819
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0281,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0862,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0865,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0919,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0927,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0967,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x022d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0281,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0865,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0919,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0927,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0967,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-26aRagexe, 2015-08-26bRagexe
#if PACKETVER == 20150826
- packet(0x0362,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x07ec,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0861,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a0,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a1,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0924,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0951,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0959,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0968,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0969,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0362,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x07ec,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0861,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a0,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a1,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0924,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0945,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0951,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0959,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0968,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0969,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2015-09-02aRagexe
#if PACKETVER == 20150902
- packet(0x023b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0367,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x083c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0886,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x088d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0892,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0897,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0923,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0941,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0947,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0953,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x023b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0367,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x083c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0886,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x088d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0892,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0897,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0923,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0941,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0947,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0953,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2015-09-09aRagexe
#if PACKETVER == 20150909
- packet(0x023b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0361,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0437,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0871,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0886,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0895,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0941,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0361,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0437,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0871,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0886,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0895,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0941,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-09-16aRagexe, 2015-09-16cRagexe
#if PACKETVER == 20150916
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0817,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0869,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0873,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0877,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0920,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0924,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0936,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0942,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0948,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0969,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0817,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0869,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0873,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0877,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0920,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0924,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0936,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0942,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0948,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0969,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-09-23bRagexe, 2015-09-23cRagexe, 2015-09-23dRagexe, 2015-09-23eRagexe, 2015-09-23fRagexe
#if PACKETVER == 20150923
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0817,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0864,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0879,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0892,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0895,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a6,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0936,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0951,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0817,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0864,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0879,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0892,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a6,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0936,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0951,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2015-10-01aRagexe
#if PACKETVER == 20151001
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-07aRagexe
#if PACKETVER == 20151007
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0961,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0961,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-14bRagexe
#if PACKETVER == 20151014
- packet(0x0202,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0838,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0874,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0881,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0883,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0884,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0889,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08aa,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0934,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0944,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0956,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0202,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0838,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0874,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0881,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0883,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0884,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0889,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08aa,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0934,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0944,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0956,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-10-21aRagexe, 2015-10-22aRagexe
#if PACKETVER == 20151021 || \
PACKETVER == 20151022
- packet(0x023b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-28cRagexe, 2015-10-28dRagexe, 2015-10-29aRagexe
#if PACKETVER == 20151028 || \
PACKETVER == 20151029
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-04aRagexe
#if PACKETVER == 20151104
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0363,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a3,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a5,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0939,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093a,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0940,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0363,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a5,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0939,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093a,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2015-11-11aRagexe, 2015-11-11bRagexe
#if PACKETVER == 20151111
- packet(0x02c4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0862,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0942,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0969,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0862,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0942,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0969,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-18aRagexe
#if PACKETVER == 20151118
- packet(0x022d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088b,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0925,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0943,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0957,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095c,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088b,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0925,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0943,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095c,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-25bRagexe, 2015-11-25dRagexe
#if PACKETVER == 20151125
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0438,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0802,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0838,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0863,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0883,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0884,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a9,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0939,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0951,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0959,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0438,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0802,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0838,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0863,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0883,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0884,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a9,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0939,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0951,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0959,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2015-12-02aRagexe
#if PACKETVER == 20151202
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-12-09aRagexe
#if PACKETVER == 20151209
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07ec,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0811,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085b,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x085d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0861,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0866,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0894,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a1,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0920,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0932,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x093b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0948,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0956,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0964,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07ec,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0811,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085b,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0861,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0866,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0894,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a1,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0920,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0932,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0948,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0956,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0964,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2015-12-16aRagexe
#if PACKETVER == 20151216
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0361,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0364,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0865,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a2,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0966,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0968,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0361,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0436,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0865,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a2,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0954,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0966,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0968,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2015-12-23bRagexe
#if PACKETVER == 20151223
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0815,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0864,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0866,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0875,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0876,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0881,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0884,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0886,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08aa,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0923,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0965,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0967,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0815,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0864,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0866,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0875,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0876,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0881,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0884,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0886,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08aa,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0923,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0965,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0967,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2015-12-30aRagexe
#if PACKETVER == 20151230
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07ec,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0861,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0869,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0897,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0923,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07ec,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0861,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0869,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0897,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0923,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-06aRagexe
#if PACKETVER == 20160106
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0878,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0878,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-13aRagexe, 2016-01-13bRagexe, 2016-01-13bRagexe_2
#if PACKETVER == 20160113
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x023b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0864,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0888,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0893,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a6,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0919,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0924,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0930,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0932,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0941,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0967,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x023b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x035f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0864,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0888,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0893,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a6,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0919,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0924,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0930,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0932,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0941,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0967,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2016-01-20aRagexe
#if PACKETVER == 20160120
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0865,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0865,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-27cRagexe, 2016-01-27dRagexe
#if PACKETVER == 20160127
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0922,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0922,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-03aRagexe
#if PACKETVER == 20160203
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0940,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0947,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0940,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0947,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-11aRagexe
#if PACKETVER == 20160211
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0870,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0870,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-17aRagexe
#if PACKETVER == 20160217
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0864,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0873,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x087a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0899,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a0,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ac,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ad,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0920,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0926,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0941,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0966,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0864,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0873,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x087a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a0,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ac,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ad,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0920,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0926,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0941,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0966,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2016-02-24aRagexe
#if PACKETVER == 20160224
- packet(0x022d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0364,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0436,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0861,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0884,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0888,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0929,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0938,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0364,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0436,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0861,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0884,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0888,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0929,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0938,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-02bRagexe
#if PACKETVER == 20160302
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0367,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0819,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0864,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0883,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a6,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a9,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0945,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0950,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0968,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0367,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0819,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0864,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0883,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a6,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a9,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0945,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0968,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2016-03-09cRagexe
#if PACKETVER == 20160309
- packet(0x023b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0281,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0819,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0838,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x083c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0873,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0920,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0929,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0956,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x023b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0281,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0819,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0838,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x083c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0920,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0932,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0956,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2016-03-16aRagexe, 2016-03-18aRagexe
#if PACKETVER == 20160316 || \
PACKETVER == 20160318
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-23aRagexe, 2016-03-23bRagexe
#if PACKETVER == 20160323
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0883,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0926,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0883,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0926,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-30aRagexe, 2016-03-30bRagexe
#if PACKETVER == 20160330
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0925,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0939,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0925,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0939,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x093b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-06aRagexe, 2016-04-06bRagexe
#if PACKETVER == 20160406
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0869,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0877,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0879,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0884,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0898,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a9,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ac,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0927,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0934,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0953,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0869,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0877,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0879,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0884,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0892,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0898,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a9,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0927,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0934,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0949,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0953,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2016-04-14aRagexe, 2016-04-14bRagexe, 2016-04-14bRagexe_2, 2016-04-14cRagexe
#if PACKETVER == 20160414
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0880,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0922,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0945,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0953,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0880,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0922,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0945,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0953,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-20cRagexe
#if PACKETVER == 20160420
- packet(0x022d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0870,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0874,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a5,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0870,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0874,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a5,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-27aRagexe
#if PACKETVER == 20160427
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-04aRagexe
#if PACKETVER == 20160504
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0365,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x083c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0898,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0918,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0924,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0941,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0948,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0952,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0969,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x083c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0898,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0918,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0924,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0941,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0948,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0952,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0969,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2016-05-11aRagexe
#if PACKETVER == 20160511
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-18aRagexe
#if PACKETVER == 20160518
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0874,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0874,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-25aRagexe, 2016-05-26aRagexe
#if PACKETVER == 20160525 || \
PACKETVER == 20160526
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0945,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0945,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-01aRagexe
#if PACKETVER == 20160601
- packet(0x0202,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0870,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0895,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a7,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0924,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0870,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0895,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0924,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-08aRagexe, 2016-06-08bRagexe, 2016-06-09aRagexe
#if PACKETVER == 20160608 || \
PACKETVER == 20160609
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0437,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0802,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0437,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0802,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-15aRagexe
#if PACKETVER == 20160615
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x083c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0870,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0888,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0948,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0954,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0961,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x083c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0870,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0888,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0948,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0954,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0961,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2016-06-22aRagexe
#if PACKETVER == 20160622
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07e4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0867,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0880,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0887,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0890,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0891,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0892,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0959,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0965,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0969,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07e4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0867,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0880,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0887,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0890,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0891,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0892,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0959,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0965,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0969,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2016-06-29aRagexe, 2016-06-30aRagexe
#if PACKETVER == 20160629 || \
PACKETVER == 20160630
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x022d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0363,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0861,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0867,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0881,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0925,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0926,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0946,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0948,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0957,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0968,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0969,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x022d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0363,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0861,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0867,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0881,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0925,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0926,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0946,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0948,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0957,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0968,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0969,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2016-07-06bRagexe
#if PACKETVER == 20160706
- packet(0x0362,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0860,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0869,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0884,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0886,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0899,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a5,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a8,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0918,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x091b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0924,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0926,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0939,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0945,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0860,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0869,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0884,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0899,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a5,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a8,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0918,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x091b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0924,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0926,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0939,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0945,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2016-07-13aRagexe, 2016-07-13bRagexe, 2016-07-13cRagexe, 2016-07-13dRagexe
#if PACKETVER == 20160713
- packet(0x022d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0838,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0877,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0883,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0892,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0931,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0945,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0947,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0957,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x022d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0363,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0838,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0860,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0877,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0883,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0892,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0931,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0945,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0947,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0957,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-07-20aRagexe, 2016-07-20bRagexe
#if PACKETVER == 20160720
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0365,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07e4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0838,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0883,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08aa,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0917,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0953,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0365,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07e4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0838,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0883,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08aa,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0917,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2016-07-27aRagexe, 2016-07-27bRagexe
#if PACKETVER == 20160727
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x023b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0436,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07ec,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0869,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0874,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0877,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a4,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a7,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0936,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0949,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0951,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0966,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0436,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07ec,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0869,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0874,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0877,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a4,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a7,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0936,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0949,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0951,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0966,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2016-08-03bRagexe
#if PACKETVER == 20160803
- packet(0x0364,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0881,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0888,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0891,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a1,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0929,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0932,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0934,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0959,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0364,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0881,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0888,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0891,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0895,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08a1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0929,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0932,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0934,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0952,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0959,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2016-08-10aRagexe
#if PACKETVER == 20160810
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0819,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x085d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0860,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0875,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0879,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0885,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a9,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0926,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0943,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0967,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0819,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x085d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0860,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0875,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0879,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0885,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a9,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0943,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0967,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-08-17aRagexe
#if PACKETVER == 20160817
- packet(0x0364,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07e4,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0819,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x083c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0867,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0875,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a5,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a9,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08ab,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ac,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0929,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0930,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0939,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0963,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0364,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07e4,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0819,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x083c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0867,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0875,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a5,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a9,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08ab,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ac,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0929,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0930,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0939,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0963,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-08-24aRagexe
#if PACKETVER == 20160824
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-08-31aRagexe, 2016-08-31bRagexe
#if PACKETVER == 20160831
- packet(0x022d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0874,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0876,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a9,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0938,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0946,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0950,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0954,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0960,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x022d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0874,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a9,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0938,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0946,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0950,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0954,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0960,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2016-09-07aRagexe
#if PACKETVER == 20160907
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-09-13aRagexe
#if PACKETVER == 20160913
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0865,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0874,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0875,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0889,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0891,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a5,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0949,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0950,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0952,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0963,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0968,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0865,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0874,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0875,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0889,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0891,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0949,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0950,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0952,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0963,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0968,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2016-09-21aRagexe
#if PACKETVER == 20160921
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-09-28cRagexe
#if PACKETVER == 20160928
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0889,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0897,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a9,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0919,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0927,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0944,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0953,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0957,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0889,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0897,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a9,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0919,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0927,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0944,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0953,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0957,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2016-10-05aRagexe
#if PACKETVER == 20161005
- packet(0x0202,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0886,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0891,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08ac,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0918,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0919,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0931,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0932,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0942,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0945,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0202,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0886,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0891,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08ac,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0918,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0919,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0931,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0932,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0942,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0945,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2016-10-12aRagexe
#if PACKETVER == 20161012
- packet(0x023b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0369,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07ec,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0819,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0868,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0875,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0880,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0893,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0937,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0939,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0943,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0944,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0962,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0966,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0365,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0369,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07ec,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0819,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0868,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0875,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0880,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0893,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0937,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0939,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0943,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0944,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0962,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0966,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2016-10-19aRagexe
#if PACKETVER == 20161019
- packet(0x022d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0361,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0889,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0892,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0361,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0889,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0892,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-10-26bRagexe, 2016-10-26cRagexe
#if PACKETVER == 20161026
- packet(0x0363,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0891,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0894,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0898,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0926,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0930,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0953,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0962,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0363,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0862,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0886,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0891,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0894,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0898,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0926,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0930,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0953,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0962,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-11-02aRagexe, 2016-11-03aRagexe
#if PACKETVER == 20161102 || \
PACKETVER == 20161103
- packet(0x0361,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0367,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0802,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x083c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0874,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0886,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a2,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08aa,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0922,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0925,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0936,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0964,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0965,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0966,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0361,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0367,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0802,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x083c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0874,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0886,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a2,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08aa,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0922,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0925,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0936,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0964,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0965,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0966,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2016-11-09aRagexe, 2016-11-09bRagexe
#if PACKETVER == 20161109
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0362,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0870,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0876,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0881,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0898,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a7,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0937,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0362,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0870,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0876,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0881,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0898,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a7,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0937,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-11-16aRagexe
#if PACKETVER == 20161116
- packet(0x0368,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0369,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0835,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0890,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a2,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0925,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0931,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0967,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0368,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0369,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0835,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0885,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0890,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a2,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0925,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0931,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0967,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-11-23aRagexe
#if PACKETVER == 20161123
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0861,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0880,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0882,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0926,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0861,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0880,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0882,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0926,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2016-11-30aRagexe, 2016-11-30bRagexe
#if PACKETVER == 20161130
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-07cRagexe, 2016-12-07eRagexe
#if PACKETVER == 20161207
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0943,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0965,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0965,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-14bRagexe, 2016-12-14cRagexe
#if PACKETVER == 20161214
- packet(0x022d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0862,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0887,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0899,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0862,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0887,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0899,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-21aRagexe, 2016-12-21bRagexe
#if PACKETVER == 20161221
- packet(0x035f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0817,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0866,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0876,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0899,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08aa,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0926,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0965,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x035f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0817,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0866,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0876,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08aa,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0926,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0965,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-12-28aRagexe
#if PACKETVER == 20161228
- packet(0x0362,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0865,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0870,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0889,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a3,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a5,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ac,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0934,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0935,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0944,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0362,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0865,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0870,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0889,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a3,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a5,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ac,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0934,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0935,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0944,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2017-01-04aRagexe
#if PACKETVER == 20170104
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0896,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0896,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-01-11aRagexe
#if PACKETVER == 20170111
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a6,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a6,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-01-18aRagexe
#if PACKETVER == 20170118
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0865,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0873,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0927,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0865,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2017-01-25aRagexe
#if PACKETVER == 20170125
- packet(0x0438,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0879,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0881,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0895,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0920,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0930,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0943,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0944,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0965,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0968,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0438,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0879,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0881,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0895,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0920,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x092b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0930,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0943,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0944,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0965,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0968,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2017-02-01aRagexe
#if PACKETVER == 20170201
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0879,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0881,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0886,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a4,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0919,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0938,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0879,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0881,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0886,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a4,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0919,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0938,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-08bRagexe
#if PACKETVER == 20170208
- packet(0x02c4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a1,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0921,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0923,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0932,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0937,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0892,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a1,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0921,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0923,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0932,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0937,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-15aRagexe
#if PACKETVER == 20170215
- packet(0x02c4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0876,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0883,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0896,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a8,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0925,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0942,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x02c4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0876,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0883,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a8,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0925,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0942,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2017-02-22aRagexe
#if PACKETVER == 20170222
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0866,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0894,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a3,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0943,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0866,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0894,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a3,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0943,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-28aRagexe, 2017-02-28bRagexe
#if PACKETVER == 20170228
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0876,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0883,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0889,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0893,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a7,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0944,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0948,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0819,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0863,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0876,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0883,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0889,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0893,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a7,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0944,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0948,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2017-03-08aRagexe
#if PACKETVER == 20170308
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-03-15cRagexe
#if PACKETVER == 20170315
- packet(0x02c4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0360,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0436,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0863,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0884,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0922,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0952,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x02c4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0360,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0436,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0863,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0884,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0922,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0952,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2017-03-22aRagexe, 2017-03-22bRagexe
#if PACKETVER == 20170322
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-03-29bRagexe, 2017-03-29cRagexe
#if PACKETVER == 20170329
- packet(0x0281,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0888,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a8,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0926,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0929,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0888,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a8,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0926,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0929,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0949,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-04-05bRagexe, 2017-04-05cRagexe
#if PACKETVER == 20170405
- packet(0x022d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0281,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0363,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0860,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0865,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0893,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a5,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0281,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0860,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0865,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0893,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a5,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-04-12aRagexe
#if PACKETVER == 20170412
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0365,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0869,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0879,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0938,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0942,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0945,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0949,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0959,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0365,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0869,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0879,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0938,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0942,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0945,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0949,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0959,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2017-04-19aRagexe
#if PACKETVER == 20170419
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0838,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0872,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0881,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0897,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0920,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0922,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0931,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0935,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0942,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0963,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0965,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0838,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0872,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0881,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0897,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0920,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0922,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0931,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0935,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0942,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0963,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0965,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2017-04-26bRagexe
#if PACKETVER == 20170426
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0899,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0927,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0899,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0927,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-05-02aRagexe, 2017-05-02bRagexe
#if PACKETVER == 20170502
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-05-17aRagexe
#if PACKETVER == 20170517
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0367,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0868,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0896,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a2,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a8,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0367,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0868,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0896,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a2,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a8,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2017-05-24aRagexe, 2017-05-24bRagexe
#if PACKETVER == 20170524
- packet(0x0364,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0866,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0868,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0874,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0882,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0894,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a1,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0923,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0925,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0967,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0968,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0364,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0866,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0868,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0874,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0882,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0894,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a1,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0923,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0925,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0967,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0968,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2017-05-31aRagexe
#if PACKETVER == 20170531
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0369,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07ec,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0819,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0868,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0873,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0894,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ac,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0933,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0940,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0945,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0963,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0968,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0369,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07ec,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0819,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0873,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0894,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ac,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0933,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0940,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0945,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0963,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0968,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-06-07cRagexe
#if PACKETVER == 20170607
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07e4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0862,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a9,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ab,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0917,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0919,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0925,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0927,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0931,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0934,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0938,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x093d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0944,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0949,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07e4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0862,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a9,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ab,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0917,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0919,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0925,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0927,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0931,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0934,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0938,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x093d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0944,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0949,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2017-06-14bRagexe
#if PACKETVER == 20170614
- packet(0x023b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0361,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0364,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0367,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0838,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0866,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0867,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0877,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ad,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0928,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0944,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0963,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x023b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0361,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0364,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0367,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0838,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0866,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0867,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0877,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ad,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0928,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0944,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0963,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2017-06-21bRagexe
#if PACKETVER == 20170621
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0365,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0802,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0365,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0802,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0885,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-06-28bRagexe
#if PACKETVER == 20170628
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-05aRagexe
#if PACKETVER == 20170705
- packet(0x0202,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0886,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0930,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0932,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0934,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0886,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0930,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0932,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0934,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-12bRagexe
#if PACKETVER == 20170712
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-19aRagexe
#if PACKETVER == 20170719
- packet(0x022d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0367,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0368,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x07e4,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0881,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0882,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0898,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0944,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x022d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0367,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x07e4,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0881,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0882,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0898,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0944,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2017-07-26aRagexe
#if PACKETVER == 20170726
- packet(0x0363,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0838,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0873,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0874,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a3,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a7,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0921,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0923,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0943,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0950,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0952,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0954,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0963,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0363,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0369,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0838,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0873,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0874,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a7,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0921,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0923,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0943,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0950,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0952,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0954,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0963,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-08-01aRagexe, 2017-08-01bRagexe
#if PACKETVER == 20170801
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0281,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0281,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-08-09cRagexe
#if PACKETVER == 20170809
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0281,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0364,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0367,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x07e4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0802,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0868,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0880,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0892,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0899,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a3,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a6,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0918,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0931,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0939,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0281,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0364,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0367,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x07e4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0802,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0868,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0880,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0892,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a3,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a6,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0918,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0931,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0939,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2017-08-16cRagexe, 2017-08-16dRagexe
#if PACKETVER == 20170816
- packet(0x022d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x035f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0438,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0862,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0864,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0881,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0882,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0889,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a9,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08ac,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0921,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0925,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0950,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x022d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x035f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0438,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0862,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0864,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0881,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0882,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0889,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a9,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08ac,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x091c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0921,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0925,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0950,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-08-23aRagexe
#if PACKETVER == 20170823
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ac,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-08-30aRagexe, 2017-08-30bRagexe
#if PACKETVER == 20170830
- packet(0x0281,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x02c4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0925,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0940,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0942,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0943,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0951,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0281,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x02c4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0925,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0940,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0942,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0943,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0951,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-09-06cRagexe
#if PACKETVER == 20170906
- packet(0x0202,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0953,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0953,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-09-13cRagexe
#if PACKETVER == 20170913
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x035f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0860,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0866,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0891,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0892,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08aa,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ab,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ac,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0920,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0923,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0925,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0927,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x035f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0860,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0866,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0891,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0892,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08aa,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ab,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ac,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0920,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0923,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0925,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0927,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2017-09-20aRagexe
#if PACKETVER == 20170920
- packet(0x0369,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0436,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0862,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0865,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0874,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0919,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0921,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0926,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0939,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0945,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0966,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0369,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0436,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0862,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0865,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0874,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0919,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0921,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0926,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0939,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0945,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0961,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0966,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x096a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2017-09-27bRagexe, 2017-09-27cRagexe, 2017-09-27dRagexe
#if PACKETVER == 20170927
- packet(0x02c4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0361,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0875,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0899,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ad,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x091e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0922,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0923,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0942,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0945,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x02c4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0875,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0899,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ad,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x091e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0922,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0923,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0942,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0945,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-10-02cRagexe
#if PACKETVER == 20171002
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0928,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0943,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0928,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0943,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-11aRagexe, 2017-10-11bRagexe
#if PACKETVER == 20171011
- packet(0x023b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0882,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0950,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0882,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0950,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-18aRagexe
#if PACKETVER == 20171018
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0938,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-25bRagexe, 2017-10-25cRagexe, 2017-10-25dRagexe, 2017-10-25eRagexe
#if PACKETVER == 20171025
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-01aRagexe
#if PACKETVER == 20171101
- packet(0x022d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0860,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0876,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0895,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a0,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ab,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0939,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0957,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0966,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x022d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0369,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0860,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0876,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a0,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ab,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0939,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0957,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0966,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-11-08aRagexe
#if PACKETVER == 20171108
- packet(0x0202,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07e4,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0819,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0863,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0878,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0884,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0896,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a2,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a9,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0945,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0947,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0949,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0963,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0965,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0967,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0202,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07e4,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0819,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0863,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0878,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0884,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a2,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a9,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0945,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0949,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0963,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0965,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0967,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-11-15aRagexe
#if PACKETVER == 20171115
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0365,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0883,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0890,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0365,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0883,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0890,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-22aRagexe
#if PACKETVER == 20171122
- packet(0x0281,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x035f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0838,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x083c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0862,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0867,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0877,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0891,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a6,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a9,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0920,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0923,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0945,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0947,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0968,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0281,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0838,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x083c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0862,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0867,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0877,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0891,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a6,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a9,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0920,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0923,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0945,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0947,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0968,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2017-11-29aRagexe
#if PACKETVER == 20171129
- packet(0x02c4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0365,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0878,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a5,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0953,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0966,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0365,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0878,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a5,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0953,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0966,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-06bRagexe, 2017-12-06cRagexe
#if PACKETVER == 20171206
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0897,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a2,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0923,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0936,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0961,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0897,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a2,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0923,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0936,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0961,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-13bRagexe
#if PACKETVER == 20171213
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-20aRagexe
#if PACKETVER == 20171220
- packet(0x0281,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0369,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0880,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0882,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0899,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a7,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0924,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0929,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0941,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0957,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0964,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0281,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0369,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0880,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0882,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0899,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a7,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0924,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0929,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0941,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0957,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0964,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2017-12-27aRagexe
#if PACKETVER == 20171227
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a5,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0888,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a5,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2018-01-03aRagexe, 2018-01-03bRagexe
#if PACKETVER == 20180103
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0363,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0876,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ac,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0922,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0926,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0948,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0363,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0876,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ac,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0922,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0948,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2018-01-17aRagexe
#if PACKETVER == 20180117
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-01-24bRagexe, 2018-01-31Ragexe
#if PACKETVER == 20180124 || \
PACKETVER == 20180131
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0868,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0890,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0919,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0890,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0919,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-07bRagexe, 2018-02-07cRagexe
#if PACKETVER == 20180207
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0360,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0950,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0360,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0950,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-13aRagexe, 2018-02-13bRagexe
#if PACKETVER == 20180213
- packet(0x0369,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0817,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0874,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0882,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0898,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a3,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a9,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0917,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0922,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0924,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0926,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0936,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0943,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0369,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0817,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0874,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0882,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0898,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a3,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a9,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0917,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0922,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0924,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0936,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0943,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2018-02-21bRagexe
#if PACKETVER == 20180221
- packet(0x0202,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0838,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0867,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0871,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0880,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0881,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0891,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x089d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0929,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0964,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0202,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0838,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0867,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0871,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0880,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0881,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0891,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x089d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0929,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0964,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2018-03-07bRagexe, 2018-03-09aRagexe
#if PACKETVER == 20180307 || \
PACKETVER == 20180309
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07e4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0861,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0870,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0877,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0893,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a6,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08aa,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0937,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0939,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0941,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0951,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0954,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0969,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x07e4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0861,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0870,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0877,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0893,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a6,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08aa,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0937,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0939,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0941,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0951,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0954,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0969,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2018-03-14nRagexe
#if PACKETVER == 20180314
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0366,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0436,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0874,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0927,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0933,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0935,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0959,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0962,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0366,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0436,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0874,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0927,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0933,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0935,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0959,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0962,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+#endif
+
+// 2018-11-21bRagexe, 2018-11-28aRagexe, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-12aRagexe, 2018-12-12bRagexe, 2018-12-19bRagexe, 2018-12-26aRagexe, 2019-01-09aRagexe, 2019-01-16bRagexe, 2019-01-16cRagexe, 2019-01-23dRagexe, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-27aRagexe, 2019-02-28aRagexe, 2019-03-06bRagexe, 2019-03-06cRagexe, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-22aRagexe, 2019-03-27bRagexe, 2019-04-03aRagexe, 2019-04-17aRagexe, 2019-04-18aRagexe
+#if PACKETVER == 20181121 || \
+ PACKETVER == 20181128 || \
+ PACKETVER == 20181205 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190109 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190123 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190228 || \
+ PACKETVER == 20190306 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190320 || \
+ PACKETVER == 20190322 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190417 || \
+ PACKETVER >= 20190418
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14
#endif
diff --git a/src/map/packets_shuffle_re.h b/src/map/packets_shuffle_re.h
index ee268a8f5..5808e4c17 100644
--- a/src/map/packets_shuffle_re.h
+++ b/src/map/packets_shuffle_re.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -24,13 +25,13 @@
#define MAP_PACKETS_SHUFFLE_RE_H
#ifndef packet
- #define packet(a,b,...)
+ #define packet(a,...)
#endif
/*
* packet syntax
- * - packet(packet_id,length,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
- * - Example: packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18);
+ * - packet(packet_id,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
+ * - Example: packet(0x0072,clif->pWantToConnection,2,6,10,14,18);
*/
/* This file is autogenerated, please do not commit manual changes */
@@ -39,9582 +40,9582 @@
// 2012-07-10aRagexeRE, 2012-07-12aRagexeRE
#if PACKETVER == 20120710 || \
PACKETVER == 20120712
- packet(0x0202,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0362,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0367,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07e4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0877,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0878,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a3,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0936,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0948,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0953,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0956,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0362,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0367,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07e4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0877,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0878,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a3,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0936,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0948,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0956,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2012-07-16aRagexeRE
#if PACKETVER == 20120716
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-07-24aRagexeRE
#if PACKETVER == 20120724
- packet(0x035f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0815,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0865,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a1,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0935,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0938,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0945,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0965,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0815,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0865,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a1,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x092b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0935,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0938,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0945,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0965,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2012-08-01aRagexeRE, 2012-08-01bRagexeRE
#if PACKETVER == 20120801
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0438,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0873,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a2,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08aa,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0934,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0946,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0438,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0873,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a2,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08aa,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0934,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0946,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2012-08-08aRagexeRE, 2012-08-08bRagexeRE, 2012-08-08cRagexeRE, 2012-08-08dRagexeRE
#if PACKETVER == 20120808
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-08-14aRagexeRE, 2012-08-14bRagexeRE
#if PACKETVER == 20120814
- packet(0x0281,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0366,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07ec,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0815,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0838,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0861,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0865,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0875,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0895,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a8,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0920,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0929,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0932,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0934,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0967,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0969,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0281,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0365,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0366,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07ec,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0815,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0838,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0861,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0865,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0875,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0895,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0920,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0932,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0934,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0967,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0969,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2012-08-22aRagexeRE, 2012-08-22bRagexeRE, 2012-08-22cRagexeRE
#if PACKETVER == 20120822
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0872,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x087d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0917,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0924,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0927,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0935,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0940,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0943,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0953,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0958,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0872,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x087d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0917,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0924,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0927,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0935,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0940,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0943,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0953,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0958,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2012-08-30aRagexeRE, 2012-08-30bRagexeRE
#if PACKETVER == 20120830
- packet(0x022d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0838,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0888,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0926,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0945,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0838,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0926,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0945,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-09-05aRagexeRE
#if PACKETVER == 20120905
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0817,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0895,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a6,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0917,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0944,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0950,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0959,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0967,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0817,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0895,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a6,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0917,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0944,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0950,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0959,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0967,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2012-09-11aRagexeRE
#if PACKETVER == 20120911
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0879,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a4,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a6,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0930,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0935,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0948,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0949,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0958,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0959,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0962,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0963,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0879,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a4,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a6,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a7,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0930,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0935,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0948,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0949,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0958,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0959,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0962,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0963,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2012-09-19aRagexeRE
#if PACKETVER == 20120919
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-09-25aRagexeRE, 2012-09-26aRagexeRE
#if PACKETVER == 20120925 || \
PACKETVER == 20120926
- packet(0x07e4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0815,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0873,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a4,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0923,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0927,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0932,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0948,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0950,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x07e4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0815,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0873,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a4,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0923,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0927,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0932,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0948,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0950,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2012-10-10aRagexeRE, 2012-10-10bRagexeRE, 2012-10-11aRagexeRE
#if PACKETVER == 20121010 || \
PACKETVER == 20121011
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0817,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0883,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0896,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a6,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0925,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0942,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0964,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0817,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0883,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0896,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0925,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0942,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0947,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0964,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2012-10-17aRagexeRE, 2012-10-17bRagexeRE
#if PACKETVER == 20121017
- packet(0x023b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0897,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0918,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0965,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0897,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0918,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0965,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-10-24aRagexeRE
#if PACKETVER == 20121024
- packet(0x0436,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0437,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0882,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0889,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a9,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08aa,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0931,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0942,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0954,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0955,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0965,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0436,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0437,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0882,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0889,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a9,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08aa,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0931,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0942,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0954,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0955,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0965,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2012-10-31aRagexeRE
#if PACKETVER == 20121031
- packet(0x022d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-11-07aRagexeRE
#if PACKETVER == 20121107
- packet(0x0360,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0861,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0865,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0871,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0873,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0896,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a2,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0922,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0934,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0945,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0963,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0966,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0360,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0861,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0865,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0871,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0873,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0896,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0922,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0934,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0945,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0963,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0966,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2012-11-14aRagexeRE
#if PACKETVER == 20121114
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0815,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0862,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0876,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0879,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0881,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0898,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0899,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08aa,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0935,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0938,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0949,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0965,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0815,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0862,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0876,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0879,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0881,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0898,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0899,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08aa,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0935,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0938,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0949,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0965,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2012-11-21aRagexeRE
#if PACKETVER == 20121121
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0880,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a7,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0927,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0880,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a7,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0927,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2012-11-28aRagexeRE
#if PACKETVER == 20121128
- packet(0x0362,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07ec,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0861,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0867,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0894,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a8,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0931,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0945,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0950,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0953,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0362,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07ec,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0861,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0867,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a8,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0931,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0945,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0950,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0953,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2012-12-05aRagexeRE, 2012-12-05bRagexeRE
#if PACKETVER == 20121205
- packet(0x035f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0873,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0875,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0878,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0889,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0959,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x035f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0873,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0875,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0878,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0889,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0959,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2012-12-12aRagexeRE, 2012-12-12bRagexeRE, 2012-12-12cRagexeRE
#if PACKETVER == 20121212
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0368,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0369,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0893,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a3,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a7,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0920,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0932,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0951,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0953,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0966,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0368,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0369,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0893,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a3,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a7,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0920,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0932,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0951,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0953,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0966,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-12-18aRagexeRE, 2012-12-18bRagexeRE
#if PACKETVER == 20121218
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0872,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0872,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-12-27aRagexeRE
#if PACKETVER == 20121227
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x02c4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0870,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0888,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0890,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0894,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0896,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a6,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0917,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0920,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0932,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0933,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0943,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0947,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0958,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x02c4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0870,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0888,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0890,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0894,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0896,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a6,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0917,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0920,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0932,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0933,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0943,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0947,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0958,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2013-01-03aRagexeRE
#if PACKETVER == 20130103
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-01-09aRagexeRE
#if PACKETVER == 20130109
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08aa,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0922,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0927,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0928,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0931,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0950,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0951,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0955,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0918,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0922,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0927,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0928,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0931,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0950,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0951,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0955,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-01-15aRagexeRE, 2013-01-16aRagexeRE
#if PACKETVER == 20130115 || \
PACKETVER == 20130116
- packet(0x0361,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0817,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0861,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0870,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0871,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0879,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0888,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0894,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0895,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a0,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0918,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0939,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0817,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0861,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0870,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0871,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0879,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0888,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0894,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0895,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a0,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0918,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0939,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2013-01-21aRagexeRE
#if PACKETVER == 20130121
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x035f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0802,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0874,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0802,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0874,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-01-30aRagexeRE
#if PACKETVER == 20130130
- packet(0x035f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0437,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0887,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a0,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a9,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0920,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0924,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0956,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x035f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0368,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0437,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0887,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a0,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a9,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0920,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0924,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0956,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2013-02-06aRagexeRE
#if PACKETVER == 20130206
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0925,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0883,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0925,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-15aRagexeRE
#if PACKETVER == 20130215
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0886,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0886,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-20bRagexeRE
#if PACKETVER == 20130220
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-27aRagexeRE
#if PACKETVER == 20130227
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0811,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0893,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a0,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a1,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0924,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0951,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0967,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0811,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0893,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a0,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0924,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0951,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0967,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2013-03-06aRagexeRE, 2013-03-06bRagexeRE
#if PACKETVER == 20130306
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0367,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0368,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0802,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0898,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0926,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0934,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0936,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0943,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0945,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0946,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0951,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0367,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0368,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0802,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0898,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0926,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0934,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0936,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0943,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0945,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0946,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0951,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-03-13aRagexeRE, 2013-03-13bRagexeRE, 2013-03-13cRagexeRE
#if PACKETVER == 20130313
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0920,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0920,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-03-20bRagexeRE, 2013-03-20cRagexeRE
#if PACKETVER == 20130320
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0438,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0868,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0881,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0922,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0933,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0438,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0868,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0881,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0922,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0933,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2013-03-27bRagexeRE
#if PACKETVER == 20130327
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0878,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0893,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a1,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0938,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0939,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0955,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0960,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0961,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0967,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0878,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0893,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a1,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0938,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0939,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0955,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0960,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0961,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0967,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2013-04-03aRagexeRE
#if PACKETVER == 20130403
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0884,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0942,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0950,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0884,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0942,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0950,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-04-10aRagexeRE
#if PACKETVER == 20130410
- packet(0x0367,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0881,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x088c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a7,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0917,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0933,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0939,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x093d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0944,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0945,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0955,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0367,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0881,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x088c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a7,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0917,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0933,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0939,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x093d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0945,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0955,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2013-04-17aRagexeRE
#if PACKETVER == 20130417
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x096a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0929,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x096a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2013-04-24aRagexeRE
#if PACKETVER == 20130424
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0969,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0969,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-02aRagexeRE
#if PACKETVER == 20130502
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0874,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0875,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0877,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0889,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a1,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a3,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0874,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0875,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0877,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a1,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a3,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-05-08bRagexeRE
#if PACKETVER == 20130508
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0897,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0897,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-15aRagexeRE
#if PACKETVER == 20130515
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a1,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0947,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a1,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0947,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-22aRagexeRE
#if PACKETVER == 20130522
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a2,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a3,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0965,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a2,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a3,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0965,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2013-05-29aRagexeRE
#if PACKETVER == 20130529
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0888,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0918,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0936,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0938,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a7,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0918,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0936,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0938,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2013-06-05cRagexeRE
#if PACKETVER == 20130605
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0883,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0883,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-06-12bRagexeRE
#if PACKETVER == 20130612
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0964,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0964,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-06-18#1aRagexeRE
#if PACKETVER == 20130618
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0890,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0932,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0936,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0951,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0890,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0932,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0936,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0951,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2013-06-26_3bRagexeRE, 2013-06-26aRagexeRE
#if PACKETVER == 20130626
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ab,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0894,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ab,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-03bRagexeRE
#if PACKETVER == 20130703
- packet(0x0202,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-10aRagexeRE, 2013-07-10bRagexeRE, 2013-07-10cRagexeRE, 2013-07-10dRagexeRE, 2013-07-10eRagexeRE
#if PACKETVER == 20130710
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0880,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0880,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-17cRagexeRE, 2013-07-17dRagexeRE, 2013-07-17eRagexeRE
#if PACKETVER == 20130717
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0863,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0882,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0897,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0898,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a9,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0918,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0956,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0960,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x096a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0863,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0882,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0897,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0898,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a9,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0918,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0956,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0960,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x096a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2013-07-24eRagexeRE, 2013-07-24fRagexeRE
#if PACKETVER == 20130724
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0437,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0867,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0891,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0924,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0953,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0954,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0956,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0958,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0437,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0867,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0891,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0893,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0924,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0953,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0954,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0956,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0958,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2013-07-31cRagexeRE
#if PACKETVER == 20130731
- packet(0x022d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0889,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0894,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0923,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0925,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0962,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x022d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0894,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0923,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0925,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0962,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2013-08-07aRagexeRE
#if PACKETVER == 20130807
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-08-14aRagexeRE
#if PACKETVER == 20130814
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0815,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0873,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0874,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0896,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0923,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0936,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0937,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x093a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0947,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0959,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0815,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0873,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0874,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0923,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0936,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0937,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x093a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0947,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0959,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2013-08-21dRagexeRE
#if PACKETVER == 20130821
- packet(0x0202,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0437,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0438,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0815,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0879,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a6,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x093e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0954,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0967,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0202,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0437,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0438,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0815,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0879,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a6,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x093e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0954,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0967,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2013-08-28bRagexeRE, 2013-08-28cRagexeRE
#if PACKETVER == 20130828
- packet(0x023b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0873,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0889,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a3,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0917,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0919,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0944,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x023b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0817,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0873,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0889,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a3,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0917,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0919,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0944,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2013-09-04bRagexeRE
#if PACKETVER == 20130904
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0838,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0937,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0838,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0937,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-09-11aRagexeRE, 2013-09-11bRagexeRE
#if PACKETVER == 20130911
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0891,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0948,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0891,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0948,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2013-09-17aRagexeRE
#if PACKETVER == 20130917
- packet(0x035f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x083c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0863,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0895,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a8,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0934,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0959,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x096a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x035f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x083c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0863,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0895,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a8,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0934,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0959,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x096a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2013-09-25aRagexeRE, 2013-09-25bRagexeRE
#if PACKETVER == 20130925
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0885,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-10-02aRagexeRE
#if PACKETVER == 20131002
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-10-08bRagexeRE
#if PACKETVER == 20131008
- packet(0x0202,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0362,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0863,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0883,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0927,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0932,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0936,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0956,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0202,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0362,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x083c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0863,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0883,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0927,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0932,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0936,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0956,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2013-10-16aRagexeRE, 2013-10-16bRagexeRE
#if PACKETVER == 20131016
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0281,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0364,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x07ec,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0867,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0870,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0887,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0894,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x091e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0927,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0946,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0962,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0281,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0364,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x07ec,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0867,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0870,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0887,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0894,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x091e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0927,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0946,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0962,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2013-10-23aRagexeRE
#if PACKETVER == 20131023
- packet(0x0366,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0819,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0835,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0862,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a7,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0919,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0923,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0935,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0937,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0944,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0951,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0366,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0819,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a7,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0919,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0923,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0935,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0937,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0944,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0951,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2013-10-30aRagexeRE
#if PACKETVER == 20131030
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-11-06aRagexeRE
#if PACKETVER == 20131106
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0369,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0436,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0867,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0891,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0894,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0919,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0942,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0946,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0948,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0950,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0954,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0967,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0369,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0436,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0867,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0887,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0891,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0894,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0919,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0942,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0946,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0948,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0950,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0954,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0962,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0967,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2013-11-13aRagexeRE
#if PACKETVER == 20131113
- packet(0x0364,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0879,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0934,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0936,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0949,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0950,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0964,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0969,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0364,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0879,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0929,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0934,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0936,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0949,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0950,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0964,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0969,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2013-11-20eRagexeRE
#if PACKETVER == 20131120
- packet(0x0361,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0802,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0817,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a1,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0926,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0927,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0950,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0955,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0361,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0802,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0817,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a1,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0926,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0927,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0950,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0955,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2013-11-27aRagexeRE, 2013-11-27bRagexeRE
#if PACKETVER == 20131127
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0930,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0930,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2013-12-04dRagexeRE, 2013-12-04eRagexeRE
#if PACKETVER == 20131204
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0862,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0869,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0879,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0882,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a0,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a7,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0928,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x092d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0932,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0958,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0959,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0961,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0967,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0862,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0869,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0879,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0882,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a0,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a7,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0928,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x092d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0932,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0958,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0959,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0961,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0967,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2013-12-11cRagexeRE, 2013-12-11eRagexeRE
#if PACKETVER == 20131211
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0892,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a3,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0892,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a3,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-18aRagexeRE
#if PACKETVER == 20131218
- packet(0x022d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ab,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ab,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0947,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-23bRagexeRE, 2013-12-23xRagexeRE
#if PACKETVER == 20131223
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-30aRagexeRE
#if PACKETVER == 20131230
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0369,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0926,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0943,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0968,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x096a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0369,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0926,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0943,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0968,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x096a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2014-01-08bRagexeRE, 2014-01-08cRagexeRE
#if PACKETVER == 20140108
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-01-15cRagexeRE, 2014-01-15dRagexeRE, 2014-01-15eRagexeRE
#if PACKETVER == 20140115
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0865,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0965,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0966,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0865,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0965,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0966,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-01-22aRagexeRE
#if PACKETVER == 20140122
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0863,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08aa,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0925,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0942,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0950,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0955,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0811,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0863,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08aa,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0925,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0942,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0950,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0955,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2014-01-29bRagexeRE
#if PACKETVER == 20140129
- packet(0x0281,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0885,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0885,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-02-05bRagexeRE
#if PACKETVER == 20140205
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0938,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0938,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-02-12aRagexeRE
#if PACKETVER == 20140212
- packet(0x02c4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0369,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0874,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0878,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a0,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a1,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a7,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0919,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0934,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0936,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0952,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0960,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x02c4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0369,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0874,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0878,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a0,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a1,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a7,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0919,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0934,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0936,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0952,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0960,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2014-02-19aRagexeRE, 2014-02-19bRagexeRE
#if PACKETVER == 20140219
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0360,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0802,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0860,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0868,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0927,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0939,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0953,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0961,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0360,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0802,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0860,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0868,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0927,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0939,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0953,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0961,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2014-02-26aRagexeRE, 2014-02-26bRagexeRE
#if PACKETVER == 20140226
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0887,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0894,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0921,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0931,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0941,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0887,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0894,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0921,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0931,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0941,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-03-05aRagexeRE, 2014-03-05bRagexeRE
#if PACKETVER == 20140305
- packet(0x0202,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0934,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0934,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-03-12bRagexeRE
#if PACKETVER == 20140312
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x023b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0889,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0891,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0894,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0948,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0889,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0891,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0894,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0948,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2014-03-19aRagexeRE
#if PACKETVER == 20140319
- packet(0x02c4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07e4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0802,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0811,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0815,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0864,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0866,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0883,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0893,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0933,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0944,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0947,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0955,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x096a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x02c4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07e4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0802,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0811,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0815,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0864,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0866,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0883,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0933,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0944,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0947,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0955,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x096a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2014-03-26cRagexeRE
#if PACKETVER == 20140326
- packet(0x0362,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07ec,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x083c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0867,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0869,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0887,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08aa,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0918,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0969,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0362,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07ec,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x083c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0867,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0869,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0918,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0969,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2014-04-02eRagexeRE, 2014-04-02fRagexeRE
#if PACKETVER == 20140402
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0360,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0364,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0867,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0868,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0882,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0890,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0926,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0933,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x093f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0944,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0360,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0364,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0867,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0868,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0882,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0883,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0890,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0926,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0933,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x093f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0944,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2014-04-09aRagexeRE
#if PACKETVER == 20140409
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0873,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0883,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0884,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0896,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a6,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a7,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0918,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0942,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0947,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0873,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0883,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0884,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0896,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a6,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08a7,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0918,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0942,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0947,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2014-04-16aRagexeRE
#if PACKETVER == 20140416
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-04-23aRagexeRE
#if PACKETVER == 20140423
- packet(0x022d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0811,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x083c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0866,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0890,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0895,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0896,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a8,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x022d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0811,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x083c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0866,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0890,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0895,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0896,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a8,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-04-30aRagexeRE
#if PACKETVER == 20140430
- packet(0x023b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0871,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0884,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0899,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a1,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0953,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0956,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x023b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0871,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0884,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0899,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0956,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2014-05-08bRagexeRE
#if PACKETVER == 20140508
- packet(0x022d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0927,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0932,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0927,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0932,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-05-14bRagexeRE, 2014-05-14cRagexeRE
#if PACKETVER == 20140514
- packet(0x0437,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0865,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0876,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a5,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0921,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0925,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0965,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0437,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0865,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0876,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a5,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0921,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0925,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0965,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2014-05-21aRagexeRE
#if PACKETVER == 20140521
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0968,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0968,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-05-28aRagexeRE
#if PACKETVER == 20140528
- packet(0x0202,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0862,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0875,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0877,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0894,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a8,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0930,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0963,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0966,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0202,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0862,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0875,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0877,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a8,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0930,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0963,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0966,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2014-06-05aRagexeRE
#if PACKETVER == 20140605
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0369,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0921,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0369,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0921,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-06-11bRagexeRE
#if PACKETVER == 20140611
- packet(0x0364,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0838,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0864,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0874,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0878,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0891,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0893,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0894,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a1,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0924,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0950,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0952,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0957,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0958,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0965,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0364,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0838,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0864,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0874,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0878,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0891,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0893,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0894,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a1,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0924,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0950,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0952,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0957,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0958,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0965,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2014-06-18cRagexeRE
#if PACKETVER == 20140618
- packet(0x085d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0861,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0878,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0884,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0886,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0890,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0939,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0945,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0967,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x085d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0861,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0878,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0884,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0886,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0890,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0939,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0945,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0967,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-06-25aRagexeRE
#if PACKETVER == 20140625
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x023b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0815,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0817,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0861,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0897,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a1,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a2,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0959,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0968,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0969,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x023b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0815,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0817,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0861,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0897,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a1,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a2,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0959,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0968,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0969,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-07-02aRagexeRE
#if PACKETVER == 20140702
- packet(0x022d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0438,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x07e4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a0,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0933,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0438,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x07e4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a0,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0933,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-07-09aRagexeRE
#if PACKETVER == 20140709
- packet(0x0364,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0869,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0877,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0879,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0888,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0894,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0897,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0898,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0925,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0931,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0939,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0961,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0364,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0869,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0877,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0879,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0894,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0897,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0898,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0925,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0931,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0939,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0961,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2014-07-16aRagexeRE
#if PACKETVER == 20140716
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0871,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0881,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a2,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0918,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0926,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0938,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0952,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0959,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0871,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0881,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0918,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0926,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0938,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0952,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0959,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2014-07-23aRagexeRE, 2014-07-23bRagexeRE
#if PACKETVER == 20140723
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0819,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x087d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0888,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0891,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0896,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ad,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0927,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0934,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0939,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0945,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0947,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0948,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0960,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0436,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0819,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x087d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0888,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0891,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0896,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ad,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0927,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0934,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0939,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0945,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0947,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0948,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0960,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2014-07-30bRagexeRE
#if PACKETVER == 20140730
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0367,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0437,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07ec,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0802,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0815,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0889,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0892,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0924,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0934,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0367,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0437,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0815,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0889,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0892,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0924,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0934,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-08-06aRagexeRE
#if PACKETVER == 20140806
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0948,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0948,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-08-13aRagexeRE
#if PACKETVER == 20140813
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a7,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0967,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0967,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-08-20aRagexeRE
#if PACKETVER == 20140820
- packet(0x035f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0861,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0869,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0872,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0876,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0899,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a7,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0937,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0951,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0956,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0861,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0869,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0872,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0876,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0899,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a7,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0937,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0951,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0952,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0956,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-08-27aRagexeRE
#if PACKETVER == 20140827
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0943,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0943,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-09-03aRagexeRE
#if PACKETVER == 20140903
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0943,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0945,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0945,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-09-17cRagexeRE
#if PACKETVER == 20140917
- packet(0x022d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0364,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0365,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0367,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0895,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0919,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x091e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0949,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0951,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x095e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0966,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x022d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0364,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0365,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0367,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0895,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0919,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x091e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0949,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0951,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x095e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0966,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-09-24bRagexeRE, 2014-09-24cRagexeRE
#if PACKETVER == 20140924
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0864,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0886,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0894,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0898,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a5,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a7,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0918,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0925,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0926,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0949,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0952,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0864,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0886,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0894,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0898,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a5,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a7,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0918,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0925,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0926,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0949,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0952,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2014-10-01bRagexeRE, 2014-10-01cRagexeRE
#if PACKETVER == 20141001
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0885,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0952,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0885,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0952,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-10-08bRagexeRE, 2014-10-08cRagexeRE
#if PACKETVER == 20141008
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-15bRagexeRE, 2014-10-16aRagexeRE
#if PACKETVER == 20141015 || \
PACKETVER == 20141016
- packet(0x022d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0922,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0922,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-22aRagexeRE
#if PACKETVER == 20141022
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0896,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0899,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08aa,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0896,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0899,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08aa,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-29aRagexeRE
#if PACKETVER == 20141029
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-11-05aRagexeRE, 2014-11-05bRagexeRE
#if PACKETVER == 20141105
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0864,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0865,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0874,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0879,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0892,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x095f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0968,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0864,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0865,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0874,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0879,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0892,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x095f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0968,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-11-12aRagexeRE
#if PACKETVER == 20141112
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0438,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0885,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a0,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a1,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08ab,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0919,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0929,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0943,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0960,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0962,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0438,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0885,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a0,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a1,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08ab,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0919,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0929,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0943,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0960,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0962,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2014-11-19bRagexeRE
#if PACKETVER == 20141119
- packet(0x0202,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0866,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0873,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0887,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0895,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0918,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0921,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0938,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0963,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0866,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0873,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0887,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0895,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0918,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0921,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0938,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0963,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2014-11-26aRagexeRE, 2014-11-26bRagexeRE, 2014-11-26cRagexeRE, 2014-11-26dRagexeRE, 2014-11-26eRagexeRE
#if PACKETVER == 20141126
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0871,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0884,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0920,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0942,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0871,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0920,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0942,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-12-03aRagexeRE
#if PACKETVER == 20141203
- packet(0x0202,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0281,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0861,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0880,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0889,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a5,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08aa,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0936,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0957,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0962,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0202,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0281,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0861,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0880,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0889,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a5,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08aa,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0936,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0957,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0962,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2014-12-10cRagexeRE
#if PACKETVER == 20141210
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ac,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0917,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0927,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0954,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0967,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0885,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08ac,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0917,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0954,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0967,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-12-17aRagexeRE
#if PACKETVER == 20141217
- packet(0x0360,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0879,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0883,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0889,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a1,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ab,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0919,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0924,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0930,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0933,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0939,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0945,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0948,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0960,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0360,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0879,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0883,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0889,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a1,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ab,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0919,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0924,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0930,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0932,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0933,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0939,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0945,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0948,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-12-23cRagexeRE
#if PACKETVER == 20141223
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0438,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0835,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0870,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a3,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ac,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0932,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0945,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0946,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0949,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0953,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0438,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0835,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0870,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a3,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08ac,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0932,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0945,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0946,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0949,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0953,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2014-12-31aRagexeRE
#if PACKETVER == 20141231
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-07aRagexeRE
#if PACKETVER == 20150107
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0895,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0895,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-14aRagexeRE
#if PACKETVER == 20150114
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0955,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0955,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-21aRagexeRE, 2015-01-21bRagexeRE
#if PACKETVER == 20150121
- packet(0x0281,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0918,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0919,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0955,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0959,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0919,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0955,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0959,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-28aRagexeRE
#if PACKETVER == 20150128
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x023b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0368,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0838,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0864,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0874,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0888,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0929,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0963,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0968,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x023b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0838,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0864,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0874,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0888,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0929,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0963,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0968,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2015-02-04cRagexeRE
#if PACKETVER == 20150204
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0966,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0966,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-02-11aRagexeRE
#if PACKETVER == 20150211
- packet(0x023b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0368,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0369,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x07e4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0819,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0862,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0873,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0882,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0883,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0885,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0886,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0919,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0368,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0369,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x07e4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0819,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0862,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0873,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0882,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0883,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0885,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0886,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0919,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2015-02-17aRagexeRE
#if PACKETVER == 20150217
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-02-25aRagexeRE, 2015-02-25bRagexeRE, 2015-02-25cRagexeRE, 2015-02-25dRagexeRE, 2015-02-25eRagexeRE, 2015-02-26aRagexeRE
#if PACKETVER == 20150225 || \
PACKETVER == 20150226
- packet(0x02c4,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0948,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0955,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x02c4,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0948,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0955,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-03-04aRagexeRE, 2015-03-04bRagexeRE
#if PACKETVER == 20150304
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0879,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0879,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0892,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-03-11aRagexeRE, 2015-03-11bRagexeRE
#if PACKETVER == 20150311
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0838,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0896,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a5,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a6,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0928,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0943,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0957,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0958,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0964,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0838,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0896,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a5,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a6,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0928,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0943,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0957,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0958,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0964,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2015-03-18aRagexeRE, 2015-03-18bRagexeRE, 2015-03-18cRagexeRE
#if PACKETVER == 20150318
- packet(0x0202,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x023b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0281,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0802,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0862,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0885,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0928,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0936,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0951,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0960,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x023b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0802,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0862,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0885,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0928,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0936,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0951,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0960,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-03-25bRagexeRE, 2015-03-25cRagexeRE
#if PACKETVER == 20150325
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0365,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0883,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a7,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0919,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0931,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0932,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0938,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0954,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0365,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0883,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a7,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0919,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0931,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0932,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0938,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0954,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2015-04-01bRagexeRE
#if PACKETVER == 20150401
- packet(0x0362,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0437,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x083c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a5,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0924,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0939,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0949,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0964,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0362,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0437,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x083c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a5,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0924,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0939,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0949,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0964,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-04-08aRagexeRE
#if PACKETVER == 20150408
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0865,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0868,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0891,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0922,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0946,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0957,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0959,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0963,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0865,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0868,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0891,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0922,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0946,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0957,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0959,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0963,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2015-04-15aRagexeRE
#if PACKETVER == 20150415
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0802,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0869,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0880,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0898,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a0,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x093c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0946,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0953,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0364,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0802,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0869,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0880,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0898,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a0,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x093c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0941,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0946,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0953,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-04-22aRagexeRE
#if PACKETVER == 20150422
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0955,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0955,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-04-29aRagexeRE
#if PACKETVER == 20150429
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0886,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0894,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0899,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a8,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0943,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0886,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0894,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0899,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0943,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-07bRagexeRE
#if PACKETVER == 20150507
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0887,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0941,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0953,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0955,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0941,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0953,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0955,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-13aRagexeRE
#if PACKETVER == 20150513
- packet(0x022d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x02c4,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a8,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0923,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0924,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0960,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x02c4,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0883,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a8,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0923,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0924,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0960,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-20aRagexeRE
#if PACKETVER == 20150520
- packet(0x0202,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0880,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a2,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0924,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0931,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0936,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0960,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0880,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a2,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0924,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0931,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0936,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x093d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-05-27aRagexeRE
#if PACKETVER == 20150527
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x083c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x083c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-06-03bRagexeRE
#if PACKETVER == 20150603
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0437,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0864,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0867,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0873,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0881,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a1,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0960,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0969,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x096a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0437,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0864,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0867,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0873,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0881,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a1,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0960,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0969,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x096a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2015-06-10aRagexeRE
#if PACKETVER == 20150610
- packet(0x022d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07e4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0872,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0897,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a0,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0925,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0932,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0946,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0949,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0957,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0964,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07e4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0872,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0897,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a0,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ac,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0925,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0932,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0946,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0949,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0957,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0964,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-06-17aRagexeRE, 2015-06-18aRagexeRE
#if PACKETVER == 20150617 || \
PACKETVER == 20150618
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0894,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0362,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-06-24aRagexeRE
#if PACKETVER == 20150624
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0365,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0365,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-07-01bRagexeRE
#if PACKETVER == 20150701
- packet(0x023b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07e4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0883,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0893,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a0,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a4,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a5,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a6,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ad,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0919,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0923,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0928,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0954,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0958,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07e4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0883,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a0,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a4,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a5,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a6,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ad,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0919,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0923,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0928,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0954,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0958,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-07-08bRagexeRE, 2015-07-08cRagexeRE, 2015-07-08dRagexeRE
#if PACKETVER == 20150708
- packet(0x022d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0872,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0872,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-07-15aRagexeRE
#if PACKETVER == 20150715
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0436,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0437,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0873,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0895,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0897,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0899,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0917,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0944,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0436,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0437,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0873,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0895,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0897,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0899,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0917,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0944,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-07-22bRagexeRE
#if PACKETVER == 20150722
- packet(0x023b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0368,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0880,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0899,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0925,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0368,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0811,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0880,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0899,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0925,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2015-07-29aRagexeRE
#if PACKETVER == 20150729
- packet(0x0437,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0870,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0880,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a3,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ad,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0920,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0955,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0961,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0437,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0870,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0880,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ad,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0920,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x093a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0955,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0961,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2015-08-05dRagexeRE
#if PACKETVER == 20150805
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-12aRagexeRE
#if PACKETVER == 20150812
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-19aRagexeRE, 2015-08-19bRagexeRE
#if PACKETVER == 20150819
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0281,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0862,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0865,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0919,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0927,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0967,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x022d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0281,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0865,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0919,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0927,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0967,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-26aRagexeRE, 2015-08-26bRagexeRE
#if PACKETVER == 20150826
- packet(0x0362,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x07ec,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0861,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a0,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a1,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0924,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0951,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0959,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0968,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0969,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0362,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x07ec,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0861,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a0,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a1,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0924,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0945,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0951,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0959,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0968,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0969,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2015-09-02aRagexeRE
#if PACKETVER == 20150902
- packet(0x023b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0367,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x083c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0886,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x088d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0892,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0897,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0923,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0941,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0947,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0953,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x023b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0367,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x083c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0886,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x088d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0892,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0897,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0923,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0941,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0947,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0953,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2015-09-09aRagexeRE
#if PACKETVER == 20150909
- packet(0x023b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0361,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0437,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0871,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0886,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0895,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0941,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0361,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0437,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0871,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0886,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0895,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0941,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-09-16cRagexeRE
#if PACKETVER == 20150916
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0817,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0869,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0873,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0877,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0920,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0924,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0936,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0942,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0948,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0969,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0817,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0869,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0873,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0877,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0920,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0924,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0936,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0942,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0948,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0969,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-09-23bRagexeRE, 2015-09-23eRagexeRE, 2015-09-23fRagexeRE
#if PACKETVER == 20150923
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0817,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0864,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0879,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0892,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0895,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a6,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0936,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0951,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0817,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0864,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0879,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0892,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a6,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0936,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0951,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2015-10-01bRagexeRE
#if PACKETVER == 20151001
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-07aRagexeRE
#if PACKETVER == 20151007
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0961,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0961,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-14bRagexeRE
#if PACKETVER == 20151014
- packet(0x0202,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0838,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0874,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0881,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0883,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0884,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0889,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08aa,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0934,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0944,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0956,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0202,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0838,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0874,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0881,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0883,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0884,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0889,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08aa,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0934,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0944,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0956,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-10-21aRagexeRE, 2015-10-22aRagexeRE
#if PACKETVER == 20151021 || \
PACKETVER == 20151022
- packet(0x023b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-28bRagexeRE, 2015-10-28bRagexeRE_2, 2015-10-28cRagexeRE, 2015-10-28dRagexeRE, 2015-10-29aRagexeRE
#if PACKETVER == 20151028 || \
PACKETVER == 20151029
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-04aRagexeRE
#if PACKETVER == 20151104
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0363,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a3,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a5,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0939,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093a,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0940,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0363,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a5,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0939,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093a,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2015-11-11aRagexeRE
#if PACKETVER == 20151111
- packet(0x02c4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0862,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0942,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0969,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0862,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0942,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0969,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-18aRagexeRE
#if PACKETVER == 20151118
- packet(0x022d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088b,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0925,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0943,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0957,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095c,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088b,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0925,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0943,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095c,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-25bRagexeRE, 2015-11-25cRagexeRE, 2015-11-25dRagexeRE
#if PACKETVER == 20151125
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0438,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0802,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0838,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0863,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0883,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0884,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a9,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0939,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0951,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0959,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0438,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0802,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0838,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0863,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0883,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0884,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a9,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0939,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0951,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0959,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2015-12-02bRagexeRE
#if PACKETVER == 20151202
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-12-09aRagexeRE
#if PACKETVER == 20151209
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07ec,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0811,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085b,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x085d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0861,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0866,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0894,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a1,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0920,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0932,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x093b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0948,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0956,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0964,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07ec,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0811,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085b,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0861,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0866,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0894,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a1,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0920,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0932,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0948,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0956,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0964,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2015-12-16aRagexeRE
#if PACKETVER == 20151216
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0361,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0364,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0865,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a2,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0966,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0968,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0361,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0436,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0865,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a2,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0954,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0966,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0968,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2015-12-23bRagexeRE
#if PACKETVER == 20151223
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0815,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0864,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0866,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0875,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0876,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0881,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0884,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0886,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08aa,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0923,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0965,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0967,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0815,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0864,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0866,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0875,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0876,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0881,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0884,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0886,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08aa,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0923,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0965,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0967,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2015-12-30aRagexeRE
#if PACKETVER == 20151230
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07ec,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0861,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0869,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0897,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0923,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07ec,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0861,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0869,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0897,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0923,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-06aRagexeRE
#if PACKETVER == 20160106
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0878,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0878,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-13aRagexeRE, 2016-01-13bRagexeRE, 2016-01-13bRagexeRE_2, 2016-01-13cRagexeRE
#if PACKETVER == 20160113
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x023b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0864,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0888,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0893,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a6,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0919,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0924,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0930,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0932,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0941,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0967,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x023b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x035f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0864,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0888,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0893,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a6,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0919,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0924,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0930,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0932,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0941,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0967,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2016-01-20aRagexeRE
#if PACKETVER == 20160120
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0865,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0865,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-27aRagexeRE, 2016-01-27aRagexeRE_2, 2016-01-27bRagexeRE
#if PACKETVER == 20160127
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0922,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0922,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-03aRagexeRE
#if PACKETVER == 20160203
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0940,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0947,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0940,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0947,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-11aRagexeRE
#if PACKETVER == 20160211
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0870,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0870,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-17aRagexeRE, 2016-02-17bRagexeRE, 2016-02-17bRagexeRE_2, 2016-02-17cRagexeRE
#if PACKETVER == 20160217
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0864,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0873,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x087a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0899,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a0,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ac,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ad,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0920,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0926,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0941,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0966,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0864,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0873,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x087a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a0,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ac,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ad,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0920,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0926,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0941,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0966,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2016-02-24aRagexeRE, 2016-02-24bRagexeRE
#if PACKETVER == 20160224
- packet(0x022d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0364,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0436,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0861,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0884,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0888,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0929,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0938,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0364,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0436,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0861,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0884,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0888,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0929,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0938,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-02bRagexeRE
#if PACKETVER == 20160302
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0367,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0819,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0864,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0883,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a6,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a9,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0945,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0950,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0968,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0367,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0819,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0864,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0883,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a6,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a9,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0945,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0968,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2016-03-09aRagexeRE
#if PACKETVER == 20160309
- packet(0x023b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0281,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0819,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0838,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x083c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0873,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0920,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0929,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0956,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x023b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0281,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0819,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0838,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x083c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0920,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0932,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0956,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2016-03-16aRagexeRE
#if PACKETVER == 20160316
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-23aRagexeRE, 2016-03-23bRagexeRE
#if PACKETVER == 20160323
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0883,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0926,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0883,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0926,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-30aRagexeRE
#if PACKETVER == 20160330
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0925,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0939,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0925,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0939,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x093b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-06aRagexeRE
#if PACKETVER == 20160406
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0869,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0877,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0879,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0884,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0898,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a9,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ac,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0927,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0934,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0953,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0869,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0877,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0879,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0884,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0892,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0898,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a9,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0927,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0934,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0949,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0953,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2016-04-14aRagexeRE, 2016-04-14bRagexeRE
#if PACKETVER == 20160414
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0880,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0922,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0945,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0953,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0880,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0922,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0945,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0953,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-20aRagexeRE
#if PACKETVER == 20160420
- packet(0x022d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0870,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0874,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a5,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0870,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0874,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a5,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-27aRagexeRE
#if PACKETVER == 20160427
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-04aRagexeRE
#if PACKETVER == 20160504
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0365,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x083c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0898,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0918,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0924,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0941,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0948,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0952,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0969,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x083c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0898,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0918,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0924,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0941,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0948,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0952,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0969,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2016-05-11aRagexeRE, 2016-05-11bRagexeRE
#if PACKETVER == 20160511
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-18aRagexeRE
#if PACKETVER == 20160518
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0874,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0874,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-25aRagexeRE
#if PACKETVER == 20160525
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0945,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0945,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-01aRagexeRE
#if PACKETVER == 20160601
- packet(0x0202,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0870,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0895,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a7,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0924,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0870,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0895,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0924,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-08aRagexeRE, 2016-06-08bRagexeRE
#if PACKETVER == 20160608
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0437,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0802,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0437,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0802,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-15aRagexeRE
#if PACKETVER == 20160615
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x083c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0870,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0888,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0948,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0954,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0961,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x083c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0870,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0888,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0948,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0954,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0961,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2016-06-22aRagexeRE
#if PACKETVER == 20160622
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07e4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0867,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0880,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0887,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0890,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0891,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0892,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0959,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0965,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0969,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07e4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0867,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0880,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0887,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0890,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0891,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0892,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0959,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0965,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0969,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2016-06-29aRagexeRE, 2016-06-30aRagexeRE
#if PACKETVER == 20160629 || \
PACKETVER == 20160630
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x022d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0363,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0861,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0867,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0881,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0925,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0926,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0946,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0948,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0957,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0968,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0969,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x022d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0363,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0861,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0867,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0881,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0925,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0926,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0946,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0948,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0957,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0968,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0969,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2016-07-06cRagexeRE
#if PACKETVER == 20160706
- packet(0x0362,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0860,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0869,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0884,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0886,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0899,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a5,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a8,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0918,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x091b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0924,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0926,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0939,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0945,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0860,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0869,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0884,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0899,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a5,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a8,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0918,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x091b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0924,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0926,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0939,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0945,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2016-07-13aRagexeRE, 2016-07-13bRagexeRE
#if PACKETVER == 20160713
- packet(0x022d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0838,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0877,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0883,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0892,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0931,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0945,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0947,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0957,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x022d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0363,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0838,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0860,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0877,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0883,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0892,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0931,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0945,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0947,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0957,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-07-20aRagexeRE, 2016-07-20bRagexeRE
#if PACKETVER == 20160720
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0365,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07e4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0838,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0883,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08aa,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0917,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0953,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0365,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07e4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0838,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0883,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08aa,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0917,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2016-07-27aRagexeRE, 2016-07-27bRagexeRE
#if PACKETVER == 20160727
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x023b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0436,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07ec,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0869,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0874,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0877,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a4,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a7,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0936,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0949,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0951,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0966,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0436,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07ec,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0869,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0874,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0877,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a4,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a7,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0936,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0949,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0951,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0966,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2016-08-03bRagexeRE
#if PACKETVER == 20160803
- packet(0x0364,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0881,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0888,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0891,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a1,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0929,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0932,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0934,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0959,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0364,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0881,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0888,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0891,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0895,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08a1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0929,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0932,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0934,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0952,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0959,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2016-08-10aRagexeRE
#if PACKETVER == 20160810
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0819,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x085d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0860,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0875,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0879,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0885,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a9,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0926,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0943,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0967,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0819,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x085d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0860,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0875,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0879,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0885,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a9,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0943,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0967,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-08-17aRagexeRE
#if PACKETVER == 20160817
- packet(0x0364,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07e4,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0819,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x083c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0867,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0875,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a5,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a9,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08ab,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ac,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0929,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0930,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0939,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0963,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0364,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07e4,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0819,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x083c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0867,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0875,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a5,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a9,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08ab,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ac,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0929,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0930,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0939,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0963,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-08-24aRagexeRE
#if PACKETVER == 20160824
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-08-31aRagexeRE, 2016-08-31bRagexeRE
#if PACKETVER == 20160831
- packet(0x022d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0874,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0876,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a9,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0938,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0946,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0950,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0954,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0960,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x022d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0874,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a9,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0938,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0946,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0950,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0954,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0960,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2016-09-07aRagexeRE
#if PACKETVER == 20160907
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-09-13aRagexeRE
#if PACKETVER == 20160913
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0865,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0874,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0875,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0889,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0891,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a5,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0949,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0950,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0952,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0963,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0968,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0865,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0874,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0875,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0889,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0891,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0949,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0950,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0952,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0963,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0968,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2016-09-21bRagexeRE
#if PACKETVER == 20160921
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-09-28cRagexeRE, 2016-09-28dRagexeRE
#if PACKETVER == 20160928
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0889,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0897,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a9,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0919,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0927,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0944,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0953,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0957,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0889,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0897,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a9,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0919,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0927,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0944,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0953,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0957,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2016-10-05aRagexeRE
#if PACKETVER == 20161005
- packet(0x0202,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0886,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0891,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08ac,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0918,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0919,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0931,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0932,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0942,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0945,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0202,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0886,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0891,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08ac,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0918,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0919,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0931,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0932,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0942,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0945,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2016-10-12aRagexeRE
#if PACKETVER == 20161012
- packet(0x023b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0369,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07ec,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0819,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0868,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0875,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0880,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0893,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0937,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0939,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0943,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0944,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0962,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0966,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0365,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0369,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07ec,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0819,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0868,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0875,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0880,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0893,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0937,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0939,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0943,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0944,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0962,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0966,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2016-10-19aRagexeRE
#if PACKETVER == 20161019
- packet(0x022d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0361,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0889,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0892,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0361,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0889,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0892,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-10-26bRagexeRE, 2016-10-26cRagexeRE
#if PACKETVER == 20161026
- packet(0x0363,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0891,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0894,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0898,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0926,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0930,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0953,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0962,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0363,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0862,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0886,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0891,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0894,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0898,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0926,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0930,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0953,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0962,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-11-02aRagexeRE, 2016-11-03aRagexeRE
#if PACKETVER == 20161102 || \
PACKETVER == 20161103
- packet(0x0361,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0367,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0802,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x083c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0874,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0886,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a2,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08aa,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0922,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0925,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0936,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0964,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0965,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0966,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0361,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0367,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0802,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x083c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0874,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0886,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a2,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08aa,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0922,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0925,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0936,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0964,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0965,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0966,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2016-11-09aRagexeRE, 2016-11-09bRagexeRE, 2016-11-09cRagexeRE, 2016-11-09dRagexeRE
#if PACKETVER == 20161109
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0362,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0870,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0876,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0881,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0898,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a7,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0937,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0362,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0870,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0876,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0881,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0898,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a7,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0937,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-11-16bRagexeRE, 2016-11-16cRagexeRE
#if PACKETVER == 20161116
- packet(0x0368,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0369,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0835,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0890,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a2,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0925,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0931,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0967,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0368,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0369,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0835,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0885,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0890,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a2,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0925,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0931,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0967,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-11-23aRagexeRE
#if PACKETVER == 20161123
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0861,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0880,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0882,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0926,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0861,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0880,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0882,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0926,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2016-11-30aRagexeRE, 2016-11-30bRagexeRE
#if PACKETVER == 20161130
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-07cRagexeRE, 2016-12-07dRagexeRE, 2016-12-07eRagexeRE
#if PACKETVER == 20161207
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0943,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0965,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0965,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-14bRagexeRE, 2016-12-14cRagexeRE
#if PACKETVER == 20161214
- packet(0x022d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0862,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0887,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0899,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0862,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0887,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0899,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-21aRagexeRE, 2016-12-21bRagexeRE, 2016-12-21cRagexeRE, 2016-12-21dRagexeRE
#if PACKETVER == 20161221
- packet(0x035f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0817,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0866,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0876,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0899,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08aa,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0926,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0965,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x035f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0817,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0866,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0876,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08aa,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0926,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0965,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-12-28aRagexeRE
#if PACKETVER == 20161228
- packet(0x0362,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0865,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0870,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0889,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a3,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a5,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ac,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0934,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0935,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0944,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0362,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0865,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0870,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0889,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a3,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a5,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ac,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0934,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0935,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0944,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2017-01-04bRagexeRE
#if PACKETVER == 20170104
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0896,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0896,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-01-11aRagexeRE
#if PACKETVER == 20170111
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a6,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a6,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-01-18aRagexeRE
#if PACKETVER == 20170118
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0865,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0873,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0927,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0865,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2017-01-25aRagexeRE
#if PACKETVER == 20170125
- packet(0x0438,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0879,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0881,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0895,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0920,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0930,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0943,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0944,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0965,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0968,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0438,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0879,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0881,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0895,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0920,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x092b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0930,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0943,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0944,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0965,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0968,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2017-02-01aRagexeRE
#if PACKETVER == 20170201
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0879,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0881,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0886,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a4,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0919,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0938,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0879,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0881,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0886,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a4,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0919,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0938,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-08aRagexeRE, 2017-02-08bRagexeRE
#if PACKETVER == 20170208
- packet(0x02c4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a1,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0921,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0923,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0932,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0937,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0892,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a1,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0921,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0923,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0932,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0937,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-15aRagexeRE
#if PACKETVER == 20170215
- packet(0x02c4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0876,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0883,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0896,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a8,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0925,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0942,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x02c4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0876,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0883,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a8,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0925,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0942,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2017-02-22aRagexeRE
#if PACKETVER == 20170222
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0866,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0894,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a3,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0943,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0866,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0894,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a3,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0943,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-28aRagexeRE
#if PACKETVER == 20170228
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0876,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0883,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0889,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0893,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a7,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0944,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0948,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0819,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0863,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0876,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0883,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0889,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0893,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a7,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0944,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0948,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2017-03-08bRagexeRE
#if PACKETVER == 20170308
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-03-15cRagexeRE
#if PACKETVER == 20170315
- packet(0x02c4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0360,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0436,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0863,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0884,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0922,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0952,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x02c4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0360,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0436,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0863,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0884,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0922,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0952,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2017-03-22aRagexeRE, 2017-03-22bRagexeRE
#if PACKETVER == 20170322
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-03-29cRagexeRE, 2017-03-29dRagexeRE
#if PACKETVER == 20170329
- packet(0x0281,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0888,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a8,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0926,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0929,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0888,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a8,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0926,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0929,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0949,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-04-05bRagexeRE, 2017-04-05cRagexeRE
#if PACKETVER == 20170405
- packet(0x022d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0281,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0363,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0860,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0865,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0893,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a5,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0281,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0860,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0865,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0893,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a5,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-04-12aRagexeRE
#if PACKETVER == 20170412
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0365,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0869,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0879,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0938,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0942,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0945,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0949,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0959,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0365,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0869,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0879,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0938,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0942,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0945,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0949,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0959,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2017-04-19bRagexeRE
#if PACKETVER == 20170419
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0838,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0872,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0881,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0897,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0920,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0922,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0931,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0935,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0942,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0963,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0965,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0838,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0872,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0881,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0897,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0920,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0922,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0931,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0935,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0942,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0963,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0965,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2017-04-26dRagexeRE
#if PACKETVER == 20170426
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0899,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0927,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0899,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0927,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-05-02dRagexeRE
#if PACKETVER == 20170502
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-05-17aRagexeRE, 2017-05-17bRagexeRE
#if PACKETVER == 20170517
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0367,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0868,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0896,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a2,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a8,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0367,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0868,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0896,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a2,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a8,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2017-05-24aRagexeRE
#if PACKETVER == 20170524
- packet(0x0364,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0866,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0868,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0874,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0882,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0894,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a1,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0923,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0925,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0967,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0968,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0364,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0866,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0868,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0874,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0882,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0894,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a1,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0923,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0925,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0967,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0968,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2017-05-31aRagexeRE
#if PACKETVER == 20170531
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0369,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07ec,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0819,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0868,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0873,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0894,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ac,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0933,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0940,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0945,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0963,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0968,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0369,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07ec,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0819,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0873,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0894,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ac,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0933,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0940,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0945,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0963,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0968,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-06-07bRagexeRE, 2017-06-07cRagexeRE
#if PACKETVER == 20170607
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07e4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0862,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a9,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ab,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0917,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0919,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0925,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0927,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0931,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0934,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0938,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x093d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0944,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0949,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07e4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0862,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a9,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ab,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0917,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0919,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0925,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0927,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0931,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0934,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0938,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x093d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0944,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0949,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2017-06-14bRagexeRE
#if PACKETVER == 20170614
- packet(0x023b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0361,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0364,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0367,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0838,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0866,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0867,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0877,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ad,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0928,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0944,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0963,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x023b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0361,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0364,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0367,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0838,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0866,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0867,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0877,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ad,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0928,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0944,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0963,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2017-06-21aRagexeRE
#if PACKETVER == 20170621
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0365,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0802,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0365,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0802,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0885,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-06-28bRagexeRE
#if PACKETVER == 20170628
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-05aRagexeRE
#if PACKETVER == 20170705
- packet(0x0202,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0886,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0930,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0932,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0934,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0886,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0930,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0932,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0934,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-12bRagexeRE
#if PACKETVER == 20170712
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-19aRagexeRE
#if PACKETVER == 20170719
- packet(0x022d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0367,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0368,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x07e4,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0881,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0882,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0898,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0944,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x022d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0367,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x07e4,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0881,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0882,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0898,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0944,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2017-07-26cRagexeRE
#if PACKETVER == 20170726
- packet(0x0363,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0838,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0873,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0874,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a3,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a7,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0921,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0923,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0943,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0950,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0952,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0954,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0963,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0363,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0369,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0838,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0873,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0874,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a7,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0921,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0923,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0943,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0950,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0952,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0954,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0963,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-08-01aRagexeRE
#if PACKETVER == 20170801
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0281,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0281,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-08-09cRagexeRE
#if PACKETVER == 20170809
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0281,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0364,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0367,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x07e4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0802,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0868,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0880,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0892,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0899,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a3,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a6,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0918,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0931,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0939,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0281,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0364,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0367,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x07e4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0802,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0868,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0880,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0892,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a3,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a6,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0918,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0931,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0939,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2017-08-16cRagexeRE, 2017-08-16dRagexeRE
#if PACKETVER == 20170816
- packet(0x022d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x035f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0438,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0862,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0864,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0881,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0882,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0889,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a9,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08ac,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0921,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0925,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0950,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x022d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x035f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0438,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0862,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0864,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0881,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0882,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0889,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a9,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08ac,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x091c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0921,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0925,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0950,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-08-23aRagexeRE
#if PACKETVER == 20170823
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ac,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-08-30aRagexeRE, 2017-08-30bRagexeRE
#if PACKETVER == 20170830
- packet(0x0281,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x02c4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0925,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0940,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0942,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0943,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0951,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0281,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x02c4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0925,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0940,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0942,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0943,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0951,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-09-06cRagexeRE
#if PACKETVER == 20170906
- packet(0x0202,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0953,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0953,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-09-13bRagexeRE
#if PACKETVER == 20170913
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x035f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0860,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0866,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0891,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0892,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08aa,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ab,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ac,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0920,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0923,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0925,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0927,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x035f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0860,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0866,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0891,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0892,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08aa,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ab,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ac,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0920,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0923,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0925,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0927,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2017-09-20bRagexeRE
#if PACKETVER == 20170920
- packet(0x0369,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0436,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0862,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0865,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0874,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0919,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0921,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0926,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0939,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0945,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0966,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0369,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0436,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0862,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0865,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0874,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0919,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0921,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0926,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0939,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0945,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0961,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0966,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x096a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2017-09-27bRagexeRE, 2017-09-27dRagexeRE
#if PACKETVER == 20170927
- packet(0x02c4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0361,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0875,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0899,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ad,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x091e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0922,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0923,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0942,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0945,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x02c4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0875,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0899,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ad,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x091e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0922,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0923,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0942,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0945,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-10-02cRagexeRE
#if PACKETVER == 20171002
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0928,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0943,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0928,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0943,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-11aRagexeRE, 2017-10-11bRagexeRE
#if PACKETVER == 20171011
- packet(0x023b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0882,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0950,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0882,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0950,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-18aRagexeRE
#if PACKETVER == 20171018
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0938,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-25bRagexeRE, 2017-10-25cRagexeRE, 2017-10-25dRagexeRE, 2017-10-25eRagexeRE
#if PACKETVER == 20171025
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-01bRagexeRE
#if PACKETVER == 20171101
- packet(0x022d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0860,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0876,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0895,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a0,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ab,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0939,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0957,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0966,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x022d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0369,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0860,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0876,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a0,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ab,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0939,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0957,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0966,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-11-08bRagexeRE
#if PACKETVER == 20171108
- packet(0x0202,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07e4,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0819,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0863,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0878,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0884,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0896,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a2,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a9,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0945,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0947,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0949,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0963,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0965,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0967,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0202,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07e4,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0819,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0863,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0878,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0884,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a2,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a9,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0945,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0949,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0963,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0965,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0967,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-11-15aRagexeRE
#if PACKETVER == 20171115
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0365,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0883,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0890,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0365,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0883,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0890,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-22bRagexeRE
#if PACKETVER == 20171122
- packet(0x0281,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x035f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0838,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x083c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0862,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0867,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0877,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0891,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a6,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a9,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0920,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0923,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0945,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0947,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0968,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0281,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0838,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x083c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0862,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0867,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0877,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0891,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a6,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a9,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0920,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0923,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0945,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0947,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0968,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2017-11-29aRagexeRE
#if PACKETVER == 20171129
- packet(0x02c4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0365,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0878,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a5,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0953,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0966,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0365,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0878,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a5,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0953,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0966,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-06aRagexeRE
#if PACKETVER == 20171206
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0897,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a2,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0923,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0936,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0961,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0897,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a2,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0923,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0936,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0961,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-13bRagexeRE
#if PACKETVER == 20171213
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-20aRagexeRE
#if PACKETVER == 20171220
- packet(0x0281,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0369,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0880,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0882,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0899,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a7,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0924,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0929,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0941,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0957,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0964,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0281,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0369,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0880,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0882,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0899,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a7,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0924,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0929,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0941,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0957,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0964,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2017-12-27aRagexeRE
#if PACKETVER == 20171227
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a5,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0888,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a5,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2018-01-03aRagexeRE, 2018-01-03bRagexeRE
#if PACKETVER == 20180103
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0363,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0876,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ac,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0922,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0926,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0948,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0363,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0876,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ac,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0922,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0948,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2018-01-17aRagexeRE
#if PACKETVER == 20180117
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-01-24bRagexeRE
#if PACKETVER == 20180124
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0868,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0890,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0919,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0890,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0919,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-07bRagexeRE
#if PACKETVER == 20180207
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0360,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0950,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0360,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0950,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-13aRagexeRE
#if PACKETVER == 20180213
- packet(0x0369,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0817,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0874,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0882,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0898,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a3,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a9,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0917,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0922,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0924,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0926,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0936,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0943,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0369,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0817,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0874,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0882,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0898,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a3,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a9,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0917,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0922,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0924,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0936,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0943,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2018-02-21aRagexeRE, 2018-02-21bRagexeRE
#if PACKETVER == 20180221
- packet(0x0202,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0838,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0867,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0871,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0880,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0881,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0891,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x089d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0929,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0964,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0202,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0838,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0867,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0871,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0880,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0881,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0891,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x089d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0929,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0964,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2018-03-07bRagexeRE
#if PACKETVER == 20180307
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07e4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0861,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0870,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0877,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0893,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a6,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08aa,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0937,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0939,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0941,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0951,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0954,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0969,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x07e4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0861,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0870,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0877,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0893,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a6,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08aa,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0937,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0939,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0941,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0951,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0954,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0969,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2018-03-21aRagexeRE, 2018-03-28bRagexeRE, 2018-04-04cRagexeRE, 2018-04-18bRagexeRE, 2018-04-25cRagexeRE, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-16cRagexeRE, 2018-05-23aRagexeRE, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20dRagexeRE, 2018-06-20eRagexeRE, 2018-06-21aRagexeRE
@@ -9631,73 +9632,101 @@
PACKETVER == 20180612 || \
PACKETVER == 20180620 || \
PACKETVER == 20180621
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x023b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
-#endif
-
-// 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexeRE, 2018-08-01cRagexeRE, 2018-08-08bRagexeRE, 2018-08-22cRagexeRE
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+#endif
+
+// 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexeRE, 2018-08-01cRagexeRE, 2018-08-08bRagexeRE, 2018-08-22cRagexeRE, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-09-12dRagexeRE, 2018-09-19aRagexeRE, 2018-10-02aRagexeRE, 2018-10-02bRagexeRE, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexeRE, 2018-10-17bRagexeRE, 2018-10-31cRagexeRE, 2018-11-07aRagexeRE, 2018-11-14cRagexeRE, 2018-11-14dRagexeRE, 2018-11-21cRagexeRE, 2018-11-28aRagexeRE, 2018-12-05bRagexeRE, 2018-12-12aRagexeRE, 2018-12-12bRagexeRE, 2018-12-19bRagexeRE, 2018-12-26aRagexeRE, 2019-01-09bRagexeRE, 2019-01-16bRagexeRE, 2019-01-16cRagexeRE, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-20aRagexeRE, 2019-02-27bRagexeRE, 2019-02-28aRagexeRE, 2019-03-06bRagexeRE, 2019-03-06cRagexeRE, 2019-03-20aRagexeRE, 2019-03-22aRagexeRE, 2019-03-27bRagexeRE, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17cRagexeRE, 2019-04-18aRagexeRE
#if PACKETVER == 20180704 || \
PACKETVER == 20180711 || \
PACKETVER == 20180718 || \
PACKETVER == 20180801 || \
PACKETVER == 20180808 || \
- PACKETVER >= 20180822
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x023b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,14,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ PACKETVER == 20180822 || \
+ PACKETVER == 20180829 || \
+ PACKETVER == 20180912 || \
+ PACKETVER == 20180919 || \
+ PACKETVER == 20181002 || \
+ PACKETVER == 20181017 || \
+ PACKETVER == 20181031 || \
+ PACKETVER == 20181107 || \
+ PACKETVER == 20181114 || \
+ PACKETVER == 20181121 || \
+ PACKETVER == 20181128 || \
+ PACKETVER == 20181205 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190109 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190123 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190228 || \
+ PACKETVER == 20190306 || \
+ PACKETVER == 20190320 || \
+ PACKETVER == 20190322 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190417 || \
+ PACKETVER >= 20190418
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14
#endif
diff --git a/src/map/packets_shuffle_zero.h b/src/map/packets_shuffle_zero.h
index 479cf634a..7fd34a51b 100644
--- a/src/map/packets_shuffle_zero.h
+++ b/src/map/packets_shuffle_zero.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
+ * Copyright (C) 2018-2019 Andrei Karas (4144)
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -24,19 +25,19 @@
#define MAP_PACKETS_SHUFFLE_ZERO_H
#ifndef packet
- #define packet(a,b,...)
+ #define packet(a,...)
#endif
/*
* packet syntax
- * - packet(packet_id,length,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
- * - Example: packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18);
+ * - packet(packet_id,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
+ * - Example: packet(0x0072,clif->pWantToConnection,2,6,10,14,18);
*/
/* This file is autogenerated, please do not commit manual changes */
-// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero
+// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero, 2018-08-29aRagexe_zero, 2018-09-05aRagexe_zero, 2018-09-12aRagexe_zero, 2018-09-19aRagexe_zero, 2018-09-28aRagexe_zero, 2018-10-10_2aRagexe_zero, 2018-10-24_2aRagexe_zero
#if PACKETVER == 20171018 || \
PACKETVER == 20171019 || \
PACKETVER == 20171023 || \
@@ -61,238 +62,245 @@
PACKETVER == 20180725 || \
PACKETVER == 20180801 || \
PACKETVER == 20180808 || \
- PACKETVER >= 20180822
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x023b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ PACKETVER == 20180822 || \
+ PACKETVER == 20180829 || \
+ PACKETVER == 20180905 || \
+ PACKETVER == 20180912 || \
+ PACKETVER == 20180919 || \
+ PACKETVER == 20180928 || \
+ PACKETVER == 20181010 || \
+ PACKETVER == 20181024
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2017-11-15aRagexe_zero, 2017-11-15bRagexe_zero, 2017-11-16aRagexe_zero, 2017-11-17aRagexe_zero
#if PACKETVER == 20171115 || \
PACKETVER == 20171116 || \
PACKETVER == 20171117
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0881,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0966,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0881,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0966,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-21aRagexe_zero, 2017-11-22aRagexe_zero
#if PACKETVER == 20171121 || \
PACKETVER == 20171122
- packet(0x0202,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x022d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0892,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0943,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x022d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0892,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-23dRagexe_zero
#if PACKETVER == 20171123
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0882,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a8,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0930,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0935,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0960,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0882,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a8,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0930,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0935,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-27aRagexe_zero, 2017-11-27cRagexe_zero, 2017-11-28aRagexe_zero
#if PACKETVER == 20171127 || \
PACKETVER == 20171128
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-30bRagexe_zero
#if PACKETVER == 20171130
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0864,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0871,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0881,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0884,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0894,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0899,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0925,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0928,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0930,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0931,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0947,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0960,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0965,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0864,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0871,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0881,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0884,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0894,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0925,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0928,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0930,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0931,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0947,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0960,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0965,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2017-12-04bRagexe_zero
#if PACKETVER == 20171204
- packet(0x0281,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0921,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0937,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0921,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0937,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-06aRagexe_zero, 2017-12-06bRagexe_zero, 2017-12-06cRagexe_zero, 2017-12-06dRagexe_zero, 2017-12-08aRagexe_zero, 2017-12-08cRagexe_zero, 2017-12-08dRagexe_zero, 2017-12-09bRagexe_zero, 2017-12-09cRagexe_zero, 2017-12-10aRagexe_zero, 2017-12-11bRagexe_zero, 2017-12-12aRagexe_zero, 2017-12-13aRagexe_zero, 2017-12-13bRagexe_zero, 2017-12-13cRagexe_zero
@@ -303,435 +311,485 @@
PACKETVER == 20171211 || \
PACKETVER == 20171212 || \
PACKETVER == 20171213
- packet(0x0281,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x083c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0862,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0864,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0870,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0878,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x088d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0897,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0934,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0936,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0941,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0959,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0281,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x083c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0862,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0864,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0870,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0878,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x088d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0897,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0934,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0936,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0941,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0959,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2017-12-14cRagexe_zero
#if PACKETVER == 20171214
- packet(0x023b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x02c4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0862,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0864,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0894,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0897,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a5,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ac,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0933,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0951,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0960,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x096a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x023b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x02c4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0862,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0864,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0894,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0897,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a5,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ac,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0933,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0951,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0960,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x096a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-12-20aRagexe_zero, 2017-12-21aRagexe_zero, 2017-12-21bRagexe_zero
#if PACKETVER == 20171220 || \
PACKETVER == 20171221
- packet(0x022d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0281,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0438,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0872,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0899,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a3,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a5,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0921,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0932,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0934,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0937,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0281,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0438,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0872,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0899,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a3,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a5,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0921,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0932,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0934,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0937,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2017-12-27bRagexe_zero, 2017-12-29aRagexe_zero
#if PACKETVER == 20171227 || \
PACKETVER == 20171229
- packet(0x02c4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0871,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0872,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0874,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0876,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0878,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0920,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0925,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0939,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0945,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0946,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0968,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x02c4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0871,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0872,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0874,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0876,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0878,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0894,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0920,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0925,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0939,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0945,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0946,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0968,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2018-01-03aRagexe_zero
#if PACKETVER == 20180103
- packet(0x035f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0360,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07e4,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x083c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0860,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0872,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0896,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0924,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0956,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0958,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0964,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x035f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0360,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07e4,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x083c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0860,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0872,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0896,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0924,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0956,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0958,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0964,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2018-01-17aRagexe_zero
#if PACKETVER == 20180117
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0438,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0884,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0890,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0899,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0929,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0933,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0963,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0438,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0884,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0890,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0899,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0929,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0933,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0963,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2018-01-31dRagexe_zero
#if PACKETVER == 20180131
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0367,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0367,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-07bRagexe_zero
#if PACKETVER == 20180207
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-13aRagexe_zero
#if PACKETVER == 20180213
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0361,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0802,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0868,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0882,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0888,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x088a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0917,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0941,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0942,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0361,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0802,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0868,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0882,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0888,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0917,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0941,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0942,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2018-02-21aRagexe_zero
#if PACKETVER == 20180221
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0362,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0364,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0438,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0817,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0878,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0880,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0884,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0892,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a1,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a3,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0932,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0951,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0952,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0958,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0362,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0364,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0438,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0817,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0878,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0880,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0884,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0892,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a1,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a3,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0932,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0951,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0952,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0958,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2018-02-28bRagexe_zero, 2018-03-07aRagexe_zero, 2018-03-09aRagexe_zero
#if PACKETVER == 20180228 || \
PACKETVER == 20180307 || \
PACKETVER == 20180309
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-03-14nRagexe_zero
#if PACKETVER == 20180314
- packet(0x023b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0438,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07ec,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x083c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0866,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0899,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a1,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0923,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0931,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0946,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0954,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0956,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0958,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x023b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0438,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07ec,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x083c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0866,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0899,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0923,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0931,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0946,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0954,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0956,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0958,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2018-05-11aRagexe_zero, 2018-05-11bRagexe_zero
#if PACKETVER == 20180511
- packet(0x0817,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0880,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0889,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0896,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a5,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0919,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0942,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0955,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0968,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0817,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0880,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0889,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0896,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a5,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0919,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0942,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0955,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0968,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+#endif
+
+// 2018-11-14aRagexe_zero, 2018-11-20aRagexe_zero, 2018-11-28aRagexe_zero, 2018-12-12aRagexe_zero, 2018-12-19aRagexe_zero, 2018-12-26_2aRagexe_zero, 2019-01-16_2aRagexe_zero, 2019-01-17_1aRagexe_zero, 2019-01-30_2aRagexe_zero, 2019-02-13aRagexe_zero, 2019-02-20aRagexe_zero, 2019-02-27aRagexe_zero, 2019-03-13aRagexe_zero, 2019-03-27_2aRagexe_zero, 2019-03-27_3aRagexe_zero, 2019-04-03aRagexe_zero, 2019-04-10bRagexe_zero, 2019-04-24aRagexe_zero, 2019-05-02aRagexe_zero
+#if PACKETVER == 20181114 || \
+ PACKETVER == 20181120 || \
+ PACKETVER == 20181128 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190117 || \
+ PACKETVER == 20190130 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190410 || \
+ PACKETVER == 20190424 || \
+ PACKETVER >= 20190502
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14
#endif
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h
index 852a44cb8..33b7759ce 100644
--- a/src/map/packets_struct.h
+++ b/src/map/packets_struct.h
@@ -25,10 +25,9 @@
#include "common/cbasetypes.h"
#include "common/mmo.h"
+#include "common/packetsstatic_len.h"
// Packet DB
-#define MIN_PACKET_DB 0x0064
-#define MAX_PACKET_DB 0x0F00
#define MAX_PACKET_POS 20
/**
@@ -198,7 +197,9 @@ enum packet_headers {
#else
dropflooritemType = 0x9e,
#endif
-#if PACKETVER >= 20120925
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ inventorylistnormalType = 0xb09,
+#elif PACKETVER >= 20120925
inventorylistnormalType = 0x991,
#elif PACKETVER >= 20080102
inventorylistnormalType = 0x2e8,
@@ -207,7 +208,9 @@ enum packet_headers {
#else
inventorylistnormalType = 0xa3,
#endif
-#if PACKETVER >= 20150226
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ inventorylistequipType = 0xb0a,
+#elif PACKETVER >= 20150226
inventorylistequipType = 0xa0d,
#elif PACKETVER >= 20120925
inventorylistequipType = 0x992,
@@ -218,27 +221,33 @@ enum packet_headers {
#else
inventorylistequipType = 0xa4,
#endif
-#if PACKETVER >= 20120925
- storagelistnormalType = 0x995,
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ storageListNormalType = 0xb09,
+#elif PACKETVER >= 20120925
+ storageListNormalType = 0x995,
#elif PACKETVER >= 20080102
- storagelistnormalType = 0x2ea,
+ storageListNormalType = 0x2ea,
#elif PACKETVER >= 20071002
- storagelistnormalType = 0x295,
+ storageListNormalType = 0x295,
#else
- storagelistnormalType = 0xa5,
+ storageListNormalType = 0xa5,
#endif
-#if PACKETVER >= 20150226
- storagelistequipType = 0xa10,
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ storageListEquipType = 0xb0a,
+#elif PACKETVER >= 20150226
+ storageListEquipType = 0xa10,
#elif PACKETVER >= 20120925
- storagelistequipType = 0x996,
+ storageListEquipType = 0x996,
#elif PACKETVER >= 20080102
- storagelistequipType = 0x2d1,
+ storageListEquipType = 0x2d1,
#elif PACKETVER >= 20071002
- storagelistequipType = 0x296,
+ storageListEquipType = 0x296,
#else
- storagelistequipType = 0xa6,
+ storageListEquipType = 0xa6,
#endif
-#if PACKETVER >= 20120925
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ cartlistnormalType = 0xb09,
+#elif PACKETVER >= 20120925
cartlistnormalType = 0x993,
#elif PACKETVER >= 20080102
cartlistnormalType = 0x2e9,
@@ -247,7 +256,9 @@ enum packet_headers {
#else
cartlistnormalType = 0x123,
#endif
-#if PACKETVER >= 20150226
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ cartlistequipType = 0xb0a,
+#elif PACKETVER >= 20150226
cartlistequipType = 0xa0f,
#elif PACKETVER >= 20120925
cartlistequipType = 0x994,
@@ -297,7 +308,6 @@ enum packet_headers {
monsterhpType = 0x977,
maptypeproperty2Type = 0x99b,
npcmarketresultackType = 0x9d7,
- npcmarketopenType = 0x9d5,
#if PACKETVER >= 20131223 // version probably can be 20131030 [4144]
wisendType = 0x9df,
#else
@@ -312,7 +322,9 @@ enum packet_headers {
achievementUpdateType = 0xa24,
achievementRewardAckType = 0xa26,
#endif // PACKETVER >= 20141016
-#if PACKETVER >= 20150513 // [4144] 0x09f8 handling in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ questListType = 0xaff, ///< ZC_ALL_QUEST_LIST4
+#elif PACKETVER >= 20150513 // [4144] 0x09f8 handling in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE
questListType = 0x9f8, ///< ZC_ALL_QUEST_LIST3
#elif PACKETVER >= 20141022
questListType = 0x97a, ///< ZC_ALL_QUEST_LIST2
@@ -358,20 +370,21 @@ enum packet_headers {
partymemberinfo = 0x01e9,
partyinfo = 0x00fb,
#endif
-#if PACKETVER >= 20120702
- clanBasicInfo = 0x098A, ///< ZC_CLANINFO
-#endif
#if PACKETVER >= 20120716
clanOnlineCount = 0x0988, ///< ZC_NOTIFY_CLAN_CONNECTINFO
clanLeave = 0x0989, ///< ZC_ACK_CLAN_LEAVE
clanMessage = 0x098E, ///< ZC_NOTIFY_CLAN_CHAT
#endif
-#if PACKETVER >= 20150513 // [4144] 0x09f9 handled in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ questAddType = 0xb0c,
+#elif PACKETVER >= 20150513 // [4144] 0x09f9 handled in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE
questAddType = 0x9f9,
#else
questAddType = 0x2b3,
#endif // PACKETVER < 20150513
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ questUpdateType = 0xafe,
+#elif PACKETVER >= 20150513
questUpdateType = 0x9fa,
#else
questUpdateType = 0x2b5,
@@ -404,18 +417,7 @@ enum packet_headers {
#else
buyingStoreUpdateItemType = 0x81b,
#endif
-// probably can works also for < 20141223, but in 3CeaM packet size defined only for 20150513
-#if PACKETVER >= 20150513
- hominfoType = 0x9f7,
-#else
- hominfoType = 0x22e,
-#endif
reqName = 0x95,
-#if PACKETVER >= 20150503 // Confirm this?
- reqNameAllType = 0xA30,
-#else
- reqNameAllType = 0x195,
-#endif
#if PACKETVER_MAIN_NUM >= 20170502 || PACKETVER_RE_NUM >= 20170419 || defined(PACKETVER_ZERO)
skilWarpPointType = 0xabe,
#else
@@ -443,7 +445,7 @@ enum packet_headers {
* structs for data
*/
struct EQUIPSLOTINFO {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 card[4];
#else
uint16 card[4];
@@ -452,7 +454,7 @@ struct EQUIPSLOTINFO {
struct NORMALITEM_INFO {
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -490,7 +492,7 @@ struct ItemOptions {
struct EQUIPITEM_INFO {
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -567,7 +569,7 @@ struct packet_additem {
int16 PacketType;
uint16 Index;
uint16 count;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 nameid;
#else
uint16 nameid;
@@ -601,7 +603,7 @@ struct packet_additem {
struct packet_dropflooritem {
int16 PacketType;
uint32 ITAID;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -713,7 +715,7 @@ struct packet_spawn_unit {
#else
uint32 weapon;
#endif
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 shield;
#endif
uint16 accessory;
@@ -786,7 +788,7 @@ struct packet_unit_walking {
#else
uint32 weapon;
#endif
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 shield;
#endif
uint16 accessory;
@@ -858,7 +860,7 @@ struct packet_idle_unit {
#else
uint32 weapon;
#endif
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 shield;
#endif
uint16 accessory;
@@ -1021,7 +1023,7 @@ struct packet_package_item_announce {
int16 PacketType;
int16 PacketLength;
uint8 type;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ItemID;
#else
uint16 ItemID;
@@ -1029,7 +1031,7 @@ struct packet_package_item_announce {
int8 len;
char Name[NAME_LENGTH];
int8 unknown; // probably unused
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 BoxItemID;
#else
uint16 BoxItemID;
@@ -1041,7 +1043,7 @@ struct packet_item_drop_announce {
int16 PacketType;
int16 PacketLength;
uint8 type;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ItemID;
#else
uint16 ItemID;
@@ -1096,7 +1098,7 @@ struct packet_roulette_open_ack {
int32 Serial;
int8 Step;
int8 Idx;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 AdditionItemID;
#else
uint16 AdditionItemID;
@@ -1134,7 +1136,7 @@ struct packet_roulette_generate_ack {
uint8 Result;
uint16 Step;
uint16 Idx;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 AdditionItemID;
#else
uint16 AdditionItemID;
@@ -1152,7 +1154,7 @@ struct packet_roulette_itemrecv_req {
struct packet_roulette_itemrecv_ack {
int16 PacketType;
uint8 Result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 AdditionItemID;
#else
uint16 AdditionItemID;
@@ -1162,28 +1164,63 @@ struct packet_roulette_itemrecv_ack {
struct packet_itemlist_normal {
int16 PacketType;
int16 PacketLength;
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ uint8 invType;
+#endif
struct NORMALITEM_INFO list[MAX_ITEMLIST];
} __attribute__((packed));
struct packet_itemlist_equip {
int16 PacketType;
int16 PacketLength;
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ uint8 invType;
+#endif
struct EQUIPITEM_INFO list[MAX_ITEMLIST];
} __attribute__((packed));
-struct packet_storelist_normal {
+struct ZC_STORE_ITEMLIST_NORMAL {
int16 PacketType;
int16 PacketLength;
-#if PACKETVER >= 20120925
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ uint8 invType;
+#endif
+#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002
char name[NAME_LENGTH];
#endif
struct NORMALITEM_INFO list[MAX_ITEMLIST];
} __attribute__((packed));
-struct packet_storelist_equip {
+struct ZC_INVENTORY_START {
+ int16 packetType;
+#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ int16 packetLength;
+#endif
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ uint8 invType;
+#endif
+#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ char name[];
+#else
+ char name[NAME_LENGTH];
+#endif
+} __attribute__((packed));
+
+struct ZC_INVENTORY_END {
+ int16 packetType;
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ uint8 invType;
+#endif
+ char flag;
+} __attribute__((packed));
+
+struct ZC_STORE_ITEMLIST_EQUIP {
int16 PacketType;
int16 PacketLength;
-#if PACKETVER >= 20120925
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ uint8 invType;
+#endif
+#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002
char name[NAME_LENGTH];
#endif
struct EQUIPITEM_INFO list[MAX_ITEMLIST];
@@ -1242,6 +1279,7 @@ struct packet_viewequip_ack {
int16 body2;
#endif
uint8 sex;
+ // [4144] need remove MAX_INVENTORY from here
struct EQUIPITEM_INFO list[MAX_INVENTORY];
} __attribute__((packed));
@@ -1322,7 +1360,7 @@ struct packet_npc_market_purchase {
int16 PacketType;
int16 PacketLength;
struct {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -1336,36 +1374,40 @@ struct packet_npc_market_result_ack {
int16 PacketLength;
uint8 result;
struct {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
#endif
uint16 qty;
uint32 price;
+ // [4144] need remove MAX_INVENTORY from here
} list[MAX_INVENTORY];/* assuming MAX_INVENTORY is max since you can't hold more than MAX_INVENTORY items thus cant buy that many at once. */
} __attribute__((packed));
-struct packet_npc_market_open {
- int16 PacketType;
- int16 PacketLength;
- /* inner struct figured by Ind after some annoying hour of debugging (data Thanks to Yommy) */
- struct {
-#if PACKETVER_RE_NUM >= 20180704
- uint32 nameid;
+#if PACKETVER_MAIN_NUM >= 20131120 || PACKETVER_RE_NUM >= 20131106 || defined(PACKETVER_ZERO)
+/* inner struct figured by Ind after some annoying hour of debugging (data Thanks to Yommy) */
+struct PACKET_ZC_NPC_MARKET_OPEN_sub {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 nameid;
#else
- uint16 nameid;
+ uint16 nameid;
#endif
- uint8 type;
- uint32 price;
- uint32 qty;
- uint16 view;
- // It seems that the client doesn't have any hard-coded limit for this list
- // it's possible to send up to 1890 items without dropping a packet that's
- // too large [Panikon]
- } list[1000];/* TODO: whats the actual max of this? */
+ uint8 type;
+ uint32 price;
+ uint32 qty;
+ uint16 weight;
+} __attribute__((packed));
+
+struct PACKET_ZC_NPC_MARKET_OPEN {
+ int16 packetType;
+ int16 packetLength;
+ struct PACKET_ZC_NPC_MARKET_OPEN_sub list[];
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_NPC_MARKET_OPEN, 0x09d5);
+#endif
+
struct packet_wis_end {
int16 PacketType;
int8 result;
@@ -1402,7 +1444,11 @@ struct packet_hotkey {
* MISSION_HUNT_INFO_EX (PACKETVER >= 20150513)
*/
struct packet_mission_info_sub {
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ uint32 huntIdent;
+ uint32 huntIdent2;
+ uint32 mobType;
+#elif PACKETVER >= 20150513
uint32 huntIdent;
uint32 mobType;
#endif
@@ -1472,7 +1518,7 @@ struct PACKET_ZC_ADD_ITEM_TO_MAIL {
int8 result;
int16 index;
int16 count;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -1490,7 +1536,7 @@ struct PACKET_ZC_ADD_ITEM_TO_MAIL {
struct mail_item {
int16 count;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -1739,6 +1785,7 @@ struct PACKET_ZC_GROUP_LIST {
struct PACKET_ZC_GROUP_LIST_SUB members[];
} __attribute__((packed));
+#if PACKETVER_MAIN_NUM >= 20130626 || PACKETVER_RE_NUM >= 20130605 || defined(PACKETVER_ZERO)
struct PACKET_ZC_CLANINFO {
int16 PacketType;
int16 PacketLength;
@@ -1749,6 +1796,8 @@ struct PACKET_ZC_CLANINFO {
uint8 AllyCount;
uint8 AntagonistCount;
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_CLANINFO, 0x098a);
+#endif
struct PACKET_ZC_NOTIFY_CLAN_CONNECTINFO {
int16 PacketType;
@@ -1772,7 +1821,11 @@ struct PACKET_ZC_NOTIFY_CLAN_CHAT {
* PACKET_ZC_MISSION_HUNT_EX (PACKETVER >= 20150513)
*/
struct packet_quest_hunt_sub {
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ uint32 huntIdent;
+ uint32 huntIdent2;
+ uint32 mobType;
+#elif PACKETVER >= 20150513
uint32 huntIdent;
uint32 mobType;
#endif
@@ -1806,7 +1859,10 @@ struct packet_quest_add_header {
*/
struct packet_quest_update_hunt {
uint32 questID;
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ uint32 huntIdent;
+ uint32 huntIdent2;
+#elif PACKETVER >= 20150513
uint32 huntIdent;
#else
uint32 mob_id;
@@ -1859,7 +1915,9 @@ struct PACKET_ZC_FORMATSTRING_MSG_COLOR {
uint16 PacketType;
uint16 PacketLength;
uint16 messageId;
+#if PACKETVER >= 20160406
uint32 color;
+#endif
char messageString[];
} __attribute__((packed));
@@ -1891,7 +1949,7 @@ struct PACKET_ZC_UI_ACTION {
struct PACKET_CZ_PRIVATE_AIRSHIP_REQUEST {
int16 PacketType;
char mapName[MAP_NAME_LENGTH_EXT];
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ItemID;
#else
uint16 ItemID;
@@ -1937,7 +1995,7 @@ struct pet_evolution_items {
struct PACKET_CZ_PET_EVOLUTION {
int16 PacketType;
uint16 PacketLength;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 EvolvedPetEggID;
#else
uint16 EvolvedPetEggID;
@@ -1971,7 +2029,7 @@ struct PACKET_ZC_NOTIFY_PLAYERCHAT {
struct PACKET_ZC_ITEM_ENTRY {
int16 packetType;
uint32 AID;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -1988,7 +2046,7 @@ struct PACKET_ZC_ADD_ITEM_TO_STORE {
int16 packetType;
int16 index;
int32 amount;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2007,7 +2065,7 @@ struct PACKET_ZC_ADD_ITEM_TO_STORE {
struct PACKET_ZC_MVP_GETTING_ITEM {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2017,7 +2075,7 @@ struct PACKET_ZC_MVP_GETTING_ITEM {
struct PACKET_ZC_ACK_TOUSESKILL {
int16 packetType;
uint16 skillId;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
int32 btype;
uint32 itemId;
#else
@@ -2032,7 +2090,7 @@ struct PACKET_ZC_ADD_ITEM_TO_CART {
int16 packetType;
int16 index;
int32 amount;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2051,7 +2109,7 @@ struct PACKET_ZC_ADD_ITEM_TO_CART {
struct PACKET_CZ_REQMAKINGITEM {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
uint32 material[3];
#else
@@ -2063,7 +2121,7 @@ struct PACKET_CZ_REQMAKINGITEM {
struct PACKET_ZC_ACK_REQMAKINGITEM {
int16 packetType;
int16 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2073,7 +2131,7 @@ struct PACKET_ZC_ACK_REQMAKINGITEM {
struct PACKET_ZC_FEED_PET {
int16 packetType;
uint8 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2083,7 +2141,7 @@ struct PACKET_ZC_FEED_PET {
struct PACKET_ZC_FEED_MER {
int16 packetType;
uint8 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2093,7 +2151,7 @@ struct PACKET_ZC_FEED_MER {
struct PACKET_ZC_USE_ITEM_ACK {
int16 packetType;
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
uint32 AID;
#elif PACKETVER >= 3
@@ -2108,7 +2166,7 @@ struct PACKET_ZC_SPRITE_CHANGE {
int16 packetType;
uint32 AID;
uint8 type;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 val;
uint32 val2;
#elif PACKETVER >= 4
@@ -2121,7 +2179,7 @@ struct PACKET_ZC_SPRITE_CHANGE {
struct PACKET_ZC_ADD_EXCHANGE_ITEM {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
uint8 itemType;
int32 amount;
@@ -2144,7 +2202,7 @@ struct PACKET_ZC_ADD_EXCHANGE_ITEM {
struct PACKET_ZC_CASH_TIME_COUNTER {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2155,7 +2213,7 @@ struct PACKET_ZC_CASH_TIME_COUNTER {
struct PACKET_ZC_CASH_ITEM_DELETE {
int16 packetType;
uint16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2165,7 +2223,7 @@ struct PACKET_ZC_CASH_ITEM_DELETE {
struct PACKET_ZC_ITEM_PICKUP_PARTY {
int16 packetType;
uint32 AID;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2180,7 +2238,7 @@ struct PACKET_ZC_ITEM_PICKUP_PARTY {
struct PACKET_ZC_UPDATE_ITEM_FROM_BUYING_STORE {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2199,13 +2257,15 @@ struct PACKET_ZC_UPDATE_ITEM_FROM_BUYING_STORE {
struct PACKET_ZC_ACK_WEAPONREFINE {
int16 packetType;
int32 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
#endif
} __attribute__((packed));
+#if PACKETVER_MAIN_NUM >= 20131230 || PACKETVER_RE_NUM >= 20131230 || defined(PACKETVER_ZERO)
+// PACKET_ZC_PROPERTY_HOMUN2
struct PACKET_ZC_PROPERTY_HOMUN {
int16 packetType;
char name[NAME_LENGTH];
@@ -2214,7 +2274,7 @@ struct PACKET_ZC_PROPERTY_HOMUN {
uint16 level;
uint16 hunger;
uint16 intimacy;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2236,11 +2296,46 @@ struct PACKET_ZC_PROPERTY_HOMUN {
uint16 skillPoints;
uint16 range;
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_PROPERTY_HOMUN, 0x09f7);
+#elif PACKETVER_MAIN_NUM >= 20101005 || PACKETVER_RE_NUM >= 20080827 || defined(PACKETVER_ZERO)
+// PACKET_ZC_PROPERTY_HOMUN1
+struct PACKET_ZC_PROPERTY_HOMUN {
+ int16 packetType;
+ char name[NAME_LENGTH];
+ // Bit field, bit 0 : rename_flag (1 = already renamed), bit 1 : homunc vaporized (1 = true), bit 2 : homunc dead (1 = true)
+ uint8 flags;
+ uint16 level;
+ uint16 hunger;
+ uint16 intimacy;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 itemId;
+#else
+ uint16 itemId;
+#endif
+ uint16 atk2;
+ uint16 matk;
+ uint16 hit;
+ uint16 crit;
+ uint16 def;
+ uint16 mdef;
+ uint16 flee;
+ uint16 amotion;
+ uint16 hp;
+ uint16 maxHp;
+ uint16 sp;
+ uint16 maxSp;
+ uint32 exp;
+ uint32 expNext;
+ uint16 skillPoints;
+ uint16 range;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_PROPERTY_HOMUN, 0x022e);
+#endif
struct PACKET_ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER {
int16 packetType;
uint16 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2250,7 +2345,7 @@ struct PACKET_ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER {
struct PACKET_CZ_REQ_ITEMREPAIR {
int16 packetType;
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2262,7 +2357,7 @@ struct PACKET_CZ_REQ_ITEMREPAIR {
struct PACKET_CZ_REQ_MAKINGITEM {
int16 packetType;
int16 type;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2273,7 +2368,7 @@ struct PACKET_CZ_SSILIST_ITEM_CLICK {
int16 packetType;
uint32 AID;
uint32 storeId;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2281,7 +2376,7 @@ struct PACKET_CZ_SSILIST_ITEM_CLICK {
} __attribute__((packed));
struct PACKET_ZC_ACK_SCHEDULER_CASHITEM_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2302,7 +2397,7 @@ struct PACKET_ZC_PC_PURCHASE_MYITEMLIST_sub {
int16 index;
int16 amount;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2327,7 +2422,7 @@ struct PACKET_ZC_PC_PURCHASE_ITEMLIST_sub {
uint32 price;
uint32 discountPrice;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2342,7 +2437,7 @@ struct PACKET_ZC_PC_PURCHASE_ITEMLIST {
struct PACKET_CZ_PC_PURCHASE_ITEMLIST_sub {
uint16 amount;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2356,7 +2451,7 @@ struct PACKET_CZ_PC_PURCHASE_ITEMLIST {
} __attribute__((packed));
struct PACKET_CZ_REQ_OPEN_BUYING_STORE_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2378,7 +2473,7 @@ struct PACKET_ZC_MYITEMLIST_BUYING_STORE_sub {
uint32 price;
uint16 amount;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2398,7 +2493,7 @@ struct PACKET_ZC_PC_PURCHASE_ITEMLIST_FROMMC_sub {
uint16 amount;
int16 index;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2431,7 +2526,7 @@ struct PACKET_ZC_ACK_ITEMLIST_BUYING_STORE_sub {
uint32 price;
uint16 amount;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2449,7 +2544,7 @@ struct PACKET_ZC_ACK_ITEMLIST_BUYING_STORE {
struct PACKET_CZ_REQ_TRADE_BUYING_STORE_sub {
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2466,7 +2561,7 @@ struct PACKET_CZ_REQ_TRADE_BUYING_STORE {
} __attribute__((packed));
struct PACKET_ZC_MAKABLEITEMLIST_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
uint32 material[3];
#else
@@ -2482,7 +2577,7 @@ struct PACKET_ZC_MAKABLEITEMLIST {
} __attribute__((packed));
struct PACKET_ZC_MAKINGARROW_LIST_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2497,7 +2592,7 @@ struct PACKET_ZC_MAKINGARROW_LIST {
struct PACKET_ZC_REPAIRITEMLIST_sub {
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2514,7 +2609,7 @@ struct PACKET_ZC_REPAIRITEMLIST {
struct PACKET_ZC_NOTIFY_WEAPONITEMLIST_sub {
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2530,7 +2625,7 @@ struct PACKET_ZC_NOTIFY_WEAPONITEMLIST {
} __attribute__((packed));
struct PACKET_ZC_MAKINGITEM_LIST_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2540,7 +2635,7 @@ struct PACKET_ZC_MAKINGITEM_LIST_sub {
struct PACKET_ZC_MAKINGITEM_LIST {
int16 packetType;
int16 packetLength;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 makeItem;
#else
uint16 makeItem;
@@ -2552,7 +2647,7 @@ struct PACKET_ZC_PC_CASH_POINT_ITEMLIST_sub {
uint32 price;
uint32 discountPrice;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2571,7 +2666,7 @@ struct PACKET_ZC_PC_CASH_POINT_ITEMLIST {
struct PACKET_CZ_PC_BUY_CASH_POINT_ITEM_sub {
uint16 amount;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2595,7 +2690,7 @@ struct PACKET_CZ_PC_BUY_CASH_POINT_ITEM {
} __attribute__((packed));
struct PACKET_CZ_SEARCH_STORE_INFO_item {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2620,7 +2715,7 @@ struct PACKET_ZC_SEARCH_STORE_INFO_ACK_sub {
uint32 storeId;
uint32 AID;
char shopName[MESSAGE_SIZE];
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2675,7 +2770,7 @@ struct packet_achievement_update {
struct packet_achievement_reward_ack {
uint16 packet_id;
- uint8 received;
+ uint8 failed;
uint32 ach_id;
} __attribute__((packed));
@@ -2687,17 +2782,46 @@ struct packet_reqname_ack {
} __attribute__((packed));
// ZC_ACK_REQNAMEALL / ZC_ACK_REQNAMEALL2
-struct packet_reqnameall_ack {
+#if PACKETVER_MAIN_NUM >= 20150225 || PACKETVER_RE_NUM >= 20141126 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_ACK_REQNAMEALL {
uint16 packet_id;
int32 gid;
char name[NAME_LENGTH];
char party_name[NAME_LENGTH];
char guild_name[NAME_LENGTH];
char position_name[NAME_LENGTH];
-#if PACKETVER >= 20150503 // Confirm this?
- int32 title_id; // Achievement Title
+ int32 title_id;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_REQNAMEALL, 0x0a30);
+#else
+struct PACKET_ZC_ACK_REQNAMEALL {
+ uint16 packet_id;
+ int32 gid;
+ char name[NAME_LENGTH];
+ char party_name[NAME_LENGTH];
+ char guild_name[NAME_LENGTH];
+ char position_name[NAME_LENGTH];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_REQNAMEALL, 0x0195);
#endif
+
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+struct PACKET_ZC_ACK_REQNAME_TITLE {
+ uint16 packet_id;
+ int32 gid;
+ int32 groupId;
+ char name[NAME_LENGTH];
+ char title[NAME_LENGTH];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_REQNAME_TITLE, 0x0adf);
+#else
+struct PACKET_ZC_ACK_REQNAME_TITLE {
+ uint16 packet_id;
+ int32 gid;
+ char name[NAME_LENGTH];
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_REQNAME_TITLE, 0x0095);
+#endif
struct PACKET_ZC_OVERWEIGHT_PERCENT {
int16 packetType;
@@ -2784,6 +2908,487 @@ struct PACKET_ZC_ACK_LEAVE_GUILD2 {
char reason[40];
} __attribute__((packed));
+struct PACKET_CZ_MEMORIALDUNGEON_COMMAND {
+ int16 packetType;
+ int32 command;
+} __attribute__((packed));
+
+struct PACKET_ZC_REMOVE_EFFECT {
+ int16 packetType;
+ uint32 aid;
+ uint32 effectId;
+} __attribute__((packed));
+
+#if PACKETVER >= 20160525
+struct PACKET_ZC_CAMERA_INFO {
+ int16 packetType;
+ int8 action;
+ float range;
+ float rotation;
+ float latitude;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_CAMERA_INFO, 0x0a78);
+#endif
+
+#if PACKETVER >= 20160525
+struct PACKET_CZ_CAMERA_INFO {
+ int16 packetType;
+ int8 action;
+ float range;
+ float rotation;
+ float latitude;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_CAMERA_INFO, 0x0a77);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181128 || PACKETVER_RE_NUM >= 20181031
+// PACKET_ZC_AUTOSPELLLIST2
+struct PACKET_ZC_AUTOSPELLLIST {
+ int16 packetType;
+ int16 packetLength;
+ int skills[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_AUTOSPELLLIST, 0x0afb);
+#elif PACKETVER_MAIN_NUM >= 20090406 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) || PACKETVER_SAK_NUM >= 20080618
+// PACKET_ZC_AUTOSPELLLIST1
+struct PACKET_ZC_AUTOSPELLLIST {
+ int16 packetType;
+ int skills[7];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_AUTOSPELLLIST, 0x01cd);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20170726 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+#if PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024
+struct PACKET_ZC_ITEM_PREVIEW {
+ int16 packetType;
+ int16 index;
+ int8 isDamaged;
+ int16 refiningLevel;
+ struct EQUIPSLOTINFO slot;
+ struct ItemOptions option_data[MAX_ITEM_OPTIONS];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ITEM_PREVIEW, 0x0b13);
+#else // PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024
+
+struct PACKET_ZC_ITEM_PREVIEW {
+ int16 packetType;
+ int16 index;
+ int16 refiningLevel;
+ struct EQUIPSLOTINFO slot;
+ struct ItemOptions option_data[MAX_ITEM_OPTIONS];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ITEM_PREVIEW, 0x0ab9);
+#endif // PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024
+#endif // PACKETVER_MAIN_NUM >= 20170726 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+
+#if PACKETVER_MAIN_NUM >= 20160831 || PACKETVER_RE_NUM >= 20151118 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_ENCHANT_EQUIPMENT {
+ int16 packetType;
+ int16 wearState;
+ int16 cardSlot;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ int32 itemId;
+#else
+ int16 itemId;
+#endif
+ int8 equipFlag;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ENCHANT_EQUIPMENT, 0x0a3f);
+#endif // PACKETVER_MAIN_NUM >= 20160831 || PACKETVER_RE_NUM >= 20151118 || defined(PACKETVER_ZERO)
+
+#if PACKETVER_MAIN_NUM >= 20170830 || PACKETVER_RE_NUM >= 20170830 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_SERVICE_MESSAGE_COLOR {
+ int16 packetType;
+ int16 packetLength;
+ int32 color;
+ char message[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SERVICE_MESSAGE_COLOR, 0x0adb);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+struct PACKET_CZ_START_USE_SKILL {
+ int16 packetType;
+ int16 skillId;
+ int16 skillLv;
+ uint32 targetId;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_START_USE_SKILL, 0x0b10);
+
+struct PACKET_CZ_STOP_USE_SKILL {
+ int16 packetType;
+ int16 skillId;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_STOP_USE_SKILL, 0x0b11);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+struct PACKET_ZC_INVENTORY_EXPANSION_INFO {
+ int16 packetType;
+ int16 expansionSize;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_INVENTORY_EXPANSION_INFO, 0x0b18);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+struct PACKET_ZC_ACK_INVENTORY_EXPAND {
+ int16 packetType;
+ uint8 result;
+ uint32 itemId;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_INVENTORY_EXPAND, 0x0b15);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+struct PACKET_ZC_ACK_INVENTORY_EXPAND_RESULT {
+ int16 packetType;
+ uint8 result;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_INVENTORY_EXPAND_RESULT, 0x0b17);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+struct PACKET_CZ_INVENTORY_EXPAND {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_INVENTORY_EXPAND, 0x0b14);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+struct PACKET_CZ_INVENTORY_EXPAND_CONFIRMED {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_INVENTORY_EXPAND_CONFIRMED, 0x0b16);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+struct PACKET_CZ_INVENTORY_EXPAND_REJECTED {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_INVENTORY_EXPAND_REJECTED, 0x0b19);
+#endif
+
+struct PACKET_CZ_REQ_REMAINTIME {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_REQ_REMAINTIME, 0x01c0);
+
+struct PACKET_CZ_PARTY_CONFIG {
+ int16 packetType;
+ uint8 refuseInvite;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_PARTY_CONFIG, 0x02c8);
+
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+struct PACKET_ZC_NPC_BARTER_OPEN_sub {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 nameid;
+#else
+ uint16 nameid;
+#endif
+ uint8 type;
+ uint32 amount;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 currencyNameid;
+#else
+ uint16 currencyNameid;
+#endif
+ uint32 currencyAmount;
+ uint32 weight;
+ uint32 index;
+} __attribute__((packed));
+
+struct PACKET_ZC_NPC_BARTER_OPEN {
+ int16 packetType;
+ int16 packetLength;
+ struct PACKET_ZC_NPC_BARTER_OPEN_sub list[];
+} __attribute__((packed));
+
+DEFINE_PACKET_HEADER(ZC_NPC_BARTER_OPEN, 0x0b0e);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+struct PACKET_CZ_NPC_BARTER_CLOSE {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_NPC_BARTER_CLOSE, 0x0b12);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+struct PACKET_CZ_NPC_BARTER_PURCHASE_sub {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 itemId;
+#else
+ uint16 itemId;
+#endif
+ uint32 amount;
+ uint16 invIndex;
+ uint32 shopIndex;
+} __attribute__((packed));
+
+struct PACKET_CZ_NPC_BARTER_PURCHASE {
+ int16 packetType;
+ int16 packetLength;
+ struct PACKET_CZ_NPC_BARTER_PURCHASE_sub list[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_NPC_BARTER_PURCHASE, 0x0b0f);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181212 || PACKETVER_RE_NUM >= 20181212 || PACKETVER_ZERO_NUM >= 20190130
+struct PACKET_ZC_USESKILL_ACK {
+ int16 packetType;
+ uint32 srcId;
+ uint32 dstId;
+ uint16 x;
+ uint16 y;
+ uint16 skillId;
+ uint32 element;
+ uint32 delayTime;
+ uint8 disposable;
+ uint32 unknown;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_USESKILL_ACK, 0x0b1a);
+#elif PACKETVER_MAIN_NUM >= 20091124 || PACKETVER_RE_NUM >= 20091124 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_USESKILL_ACK {
+ int16 packetType;
+ uint32 srcId;
+ uint32 dstId;
+ uint16 x;
+ uint16 y;
+ uint16 skillId;
+ uint32 element;
+ uint32 delayTime;
+ uint8 disposable;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_USESKILL_ACK, 0x07fb);
+#elif PACKETVER_MAIN_NUM >= 20090406 || PACKETVER_SAK_NUM >= 20080618 || PACKETVER_RE_NUM >= 20080827 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_USESKILL_ACK {
+ int16 packetType;
+ uint32 srcId;
+ uint32 dstId;
+ uint16 x;
+ uint16 y;
+ uint16 skillId;
+ uint32 element;
+ uint32 delayTime;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_USESKILL_ACK, 0x013e);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20090406 || PACKETVER_RE_NUM >= 20090408 || PACKETVER_SAK_NUM >= 20090408 || defined(PACKETVER_ZERO)
+struct PACKET_CZ_CLIENT_VERSION {
+ int16 packetType;
+ uint32 clientVersion;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_CLIENT_VERSION, 0x044a);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190227 || PACKETVER_RE_NUM >= 20190220 || PACKETVER_ZERO_NUM >= 20190220
+struct PACKET_CZ_PING {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_PING, 0x0b1c);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190213 || PACKETVER_RE_NUM >= 20190213 || PACKETVER_ZERO_NUM >= 20190130
+struct PACKET_ZC_PING {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_PING, 0x0b1d);
+#endif
+
+#if PACKETVER >= 20160622
+struct PACKET_CZ_COOLDOWN_RESET {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_COOLDOWN_RESET, 0x0a88);
+#endif
+
+#if PACKETVER >= 20151104
+struct PACKET_CZ_STYLE_CLOSE {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_STYLE_CLOSE, 0x0a48);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190403 || PACKETVER_RE_NUM >= 20190320 || PACKETVER_ZERO_NUM >= 20190410
+struct PACKET_ZC_LOAD_CONFIRM {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_LOAD_CONFIRM, 0x0b1b);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20070911 || defined(PACKETVER_RE) || PACKETVER_AD_NUM >= 20070911 || PACKETVER_SAK_NUM >= 20070904 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_PARTY_CONFIG {
+ int16 packetType;
+ uint8 denyPartyInvites;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_PARTY_CONFIG, 0x02c9);
+#endif
+
+struct PACKET_ZC_ROLE_CHANGE {
+ int16 packetType;
+ int32 flag;
+ char name[NAME_LENGTH];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ROLE_CHANGE, 0x00e1);
+
+#if PACKETVER_MAIN_NUM >= 20161019 || PACKETVER_RE_NUM >= 20160921 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_BAN_LIST_sub {
+ int char_id;
+ char message[40];
+} __attribute__((packed));
+
+struct PACKET_ZC_BAN_LIST {
+ int16 packetType;
+ uint16 packetLen;
+ struct PACKET_ZC_BAN_LIST_sub chars[];
+} __attribute__((packed));
+
+DEFINE_PACKET_HEADER(ZC_BAN_LIST, 0x0a87);
+// version unconfirmed
+#elif PACKETVER >= 20100803
+struct PACKET_ZC_BAN_LIST_sub {
+ char char_name[NAME_LENGTH];
+ char message[40];
+} __attribute__((packed));
+
+struct PACKET_ZC_BAN_LIST {
+ int16 packetType;
+ uint16 packetLen;
+ struct PACKET_ZC_BAN_LIST_sub chars[];
+} __attribute__((packed));
+
+DEFINE_PACKET_HEADER(ZC_BAN_LIST, 0x0163);
+#else
+struct PACKET_ZC_BAN_LIST_sub {
+ char char_name[NAME_LENGTH];
+ char account_name[NAME_LENGTH];
+ char message[40];
+} __attribute__((packed));
+
+struct PACKET_ZC_BAN_LIST {
+ int16 packetType;
+ uint16 packetLen;
+ struct PACKET_ZC_BAN_LIST_sub chars[];
+} __attribute__((packed));
+
+DEFINE_PACKET_HEADER(ZC_BAN_LIST, 0x0163);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20141008 || PACKETVER_RE_NUM >= 20140903 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_ACK_CLOSE_ROULETTE {
+ int16 packetType;
+ uint8 result;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_CLOSE_ROULETTE, 0x0a1e);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20120314 || PACKETVER_RE_NUM >= 20120221 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_ACK_MERGE_ITEM {
+ int16 packetType;
+ int16 index;
+ int16 amount;
+ uint8 reason;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_MERGE_ITEM, 0x096f);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20120314 || PACKETVER_RE_NUM >= 20120221 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_MERGE_ITEM_OPEN_sub {
+ int16 index;
+} __attribute__((packed));
+
+struct PACKET_ZC_MERGE_ITEM_OPEN {
+ int16 packetType;
+ uint16 packetLen;
+ struct PACKET_ZC_MERGE_ITEM_OPEN_sub items[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_MERGE_ITEM_OPEN, 0x096d);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20101123 || PACKETVER_RE_NUM >= 20120328 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_SE_PC_BUY_CASHITEM_RESULT {
+ int16 packetType;
+ uint32 itemId; // unused
+ uint16 result;
+ uint32 cashPoints;
+ uint32 kafraPoints;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SE_PC_BUY_CASHITEM_RESULT, 0x0849);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20161130 || PACKETVER_RE_NUM >= 20161109 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_REFINE_OPEN_WINDOW {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_REFINE_OPEN_WINDOW, 0x0aa0);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20161005 || PACKETVER_RE_NUM >= 20161005 || defined(PACKETVER_ZERO)
+struct PACKET_CZ_REFINE_ADD_ITEM {
+ int16 packetType;
+ int16 index;
+};
+DEFINE_PACKET_HEADER(CZ_REFINE_ADD_ITEM, 0x0aa1);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20161130 || PACKETVER_RE_NUM >= 20161109 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_REFINE_ADD_ITEM_SUB {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 itemId;
+#else
+ uint16 itemId;
+#endif
+ int8 chance;
+ int32 zeny;
+} __attribute__((packed));
+
+struct PACKET_ZC_REFINE_ADD_ITEM {
+ int16 packetType;
+ int16 packtLength;
+ int16 itemIndex;
+ int8 blacksmithBlessing;
+ struct PACKET_ZC_REFINE_ADD_ITEM_SUB req[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_REFINE_ADD_ITEM, 0x0aa2);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20161005 || PACKETVER_RE_NUM >= 20161005 || defined(PACKETVER_ZERO)
+struct PACKET_CZ_REFINE_ITEM_REQUEST {
+ int16 packetType;
+ int16 index;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 itemId;
+#else
+ uint16 itemId;
+#endif
+ int8 blacksmithBlessing;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_REFINE_ITEM_REQUEST, 0x0aa3);
+
+struct PACKET_CZ_REFINE_WINDOW_CLOSE {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_REFINE_WINDOW_CLOSE, 0x0aa4);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20170906 || PACKETVER_RE_NUM >= 20170830 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_REFINE_STATUS {
+ int16 packetType;
+ char name[NAME_LENGTH];
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 itemId;
+#else
+ uint16 itemId;
+#endif
+ int8 refine_level;
+ int8 status;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_REFINE_STATUS, 0x0ada);
+#endif
+
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
#pragma pack(pop)
#endif // not NetBSD < 6 / Solaris
diff --git a/src/map/party.c b/src/map/party.c
index e4fb18c23..dc330d92d 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -424,6 +424,12 @@ static int party_invite(struct map_session_data *sd, struct map_session_data *ts
return 0;
}
+ if ((tsd->status.allow_party & 1) != 0) {
+ // party invite blocked by player
+ clif->party_inviteack(sd, tsd->status.name, 5);
+ return 0;
+ }
+
tsd->party_invite=sd->status.party_id;
tsd->party_invite_account=sd->status.account_id;
diff --git a/src/map/pc.c b/src/map/pc.c
index be28f8dad..5416fbec2 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -399,7 +399,7 @@ static int pc_banding(struct map_session_data *sd, uint16 skill_lv)
for( j = 0; j < i; j++ ) {
bsd = map->id2sd(b_sd[j]);
if( bsd != NULL ) {
- status->set_hp(&bsd->bl,hp,0); // Set hp
+ status->set_hp(&bsd->bl, hp, STATUS_HEAL_DEFAULT); // Set hp
if( (sc = status->get_sc(&bsd->bl)) != NULL && sc->data[SC_BANDING] ) {
sc->data[SC_BANDING]->val2 = c; // Set the counter. It doesn't count your self.
status_calc_bl(&bsd->bl, status->sc2scb_flag(SC_BANDING)); // Set atk and def.
@@ -523,10 +523,9 @@ static int pc_setrestartvalue(struct map_session_data *sd, int type)
if (type&1) {
//Normal resurrection
- st->hp = 1; //Otherwise status->heal may fail if dead.
- status->heal(&sd->bl, bst->hp, 0, 1);
+ status->heal(&sd->bl, bst->hp, 0, STATUS_HEAL_FORCED | STATUS_HEAL_ALLOWREVIVE);
if( st->sp < bst->sp )
- status->set_sp(&sd->bl, bst->sp, 1);
+ status->set_sp(&sd->bl, bst->sp, STATUS_HEAL_FORCED);
} else { //Just for saving on the char-server (with values as if respawned)
sd->status.hp = bst->hp;
sd->status.sp = (st->sp < bst->sp) ? bst->sp : st->sp;
@@ -569,7 +568,7 @@ static void pc_rental_expire(struct map_session_data *sd, int i)
int nameid;
nullpo_retv(sd);
- Assert_retv(i >= 0 && i < MAX_INVENTORY);
+ Assert_retv(i >= 0 && i < sd->status.inventorySize);
nameid = sd->status.inventory[i].nameid;
/* Soon to be dropped, we got plans to integrate it with item db */
@@ -638,11 +637,11 @@ static void pc_rental_expire(struct map_session_data *sd, int i)
}
static void pc_inventory_rentals(struct map_session_data *sd)
{
- int i, c = 0;
+ int c = 0;
int64 expire_tick, next_tick = INT64_MAX;
nullpo_retv(sd);
- for( i = 0; i < MAX_INVENTORY; i++ )
+ for (int i = 0; i < sd->status.inventorySize; i++ )
{ // Check for Rentals on Inventory
if( sd->status.inventory[i].nameid == 0 )
continue; // Nothing here
@@ -783,7 +782,7 @@ static int pc_equippoint(struct map_session_data *sd, int n)
int ep = 0;
nullpo_ret(sd);
- Assert_ret(n >= 0 && n < MAX_INVENTORY);
+ Assert_ret(n >= 0 && n < sd->status.inventorySize);
if(!sd->inventory_data[n])
return 0;
@@ -839,11 +838,9 @@ static int pc_item_equippoint(struct map_session_data *sd, struct item_data *id)
static int pc_setinventorydata(struct map_session_data *sd)
{
- int i;
-
nullpo_ret(sd);
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
int id = sd->status.inventory[i].nameid;
sd->inventory_data[i] = id?itemdb->search(id):NULL;
}
@@ -903,7 +900,7 @@ static int pc_setequipindex(struct map_session_data *sd)
for(i=0;i<EQI_MAX;i++)
sd->equip_index[i] = -1;
- for(i=0;i<MAX_INVENTORY;i++) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid <= 0)
continue;
if(sd->status.inventory[i].equip) {
@@ -1074,6 +1071,7 @@ static int pc_isequip(struct map_session_data *sd, int n)
struct item_data *item;
nullpo_ret(sd);
+ Assert_ret(n >= 0 && n < sd->status.inventorySize);
item = sd->inventory_data[n];
@@ -1330,6 +1328,7 @@ static bool pc_authok(struct map_session_data *sd, int login_id2, time_t expirat
sd->bg_queue.client_has_bg_data = 0;
sd->bg_queue.type = 0;
+ VECTOR_INIT(sd->channels);
VECTOR_INIT(sd->script_queues);
VECTOR_INIT(sd->achievement); // Achievements [Smokexyz/Hercules]
VECTOR_INIT(sd->storage.item); // initialize storage item vector.
@@ -1379,6 +1378,7 @@ static bool pc_authok(struct map_session_data *sd, int login_id2, time_t expirat
pc->setpos(sd,sd->status.last_point.map,0,0,CLR_OUTSIGHT);
}
+ clif->inventoryExpansionInfo(sd);
clif->overweight_percent(sd);
clif->authok(sd);
@@ -2075,7 +2075,7 @@ static int pc_disguise(struct map_session_data *sd, int class)
clif->spawn(&sd->bl);
if (class == sd->status.class && pc_iscarton(sd)) {
//It seems the cart info is lost on undisguise.
- clif->cartlist(sd);
+ clif->cartList(sd);
clif->updatestatus(sd,SP_CARTINFO);
}
if (sd->chat_id != 0) {
@@ -2221,11 +2221,12 @@ static int pc_bonus_addeff_onskill(struct s_addeffectonskill *effect, int max, e
return 1;
}
-static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id, short group, int race_mask, int rate)
+static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, int id, bool is_group, int race_mask, int rate)
{
int i;
nullpo_ret(drop);
+ Assert_ret(is_group || id > 0);
//Apply config rate adjustment settings.
if (rate >= 0) { //Absolute drop.
if (battle_config.item_rate_adddrop != 100)
@@ -2240,17 +2241,14 @@ static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id
if (rate > -1)
rate = -1;
}
- for(i = 0; i < max && (drop[i].id || drop[i].group); i++) {
- if (((id && drop[i].id == id) || (group && drop[i].group == group))
- && race_mask != RCMASK_NONE
- ) {
+ for (i = 0; i < max && (drop[i].id != 0 || drop[i].is_group); i++) {
+ if (drop[i].id == id && race_mask != RCMASK_NONE) {
drop[i].race |= race_mask;
if (drop[i].rate > 0 && rate > 0) {
//Both are absolute rates.
if (drop[i].rate < rate)
drop[i].rate = rate;
- } else
- if(drop[i].rate < 0 && rate < 0) {
+ } else if (drop[i].rate < 0 && rate < 0) {
//Both are relative rates.
if (drop[i].rate > rate)
drop[i].rate = rate;
@@ -2264,7 +2262,7 @@ static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id
return 0;
}
drop[i].id = id;
- drop[i].group = group;
+ drop[i].is_group = is_group;
drop[i].race |= race_mask;
drop[i].rate = rate;
return 1;
@@ -3111,7 +3109,7 @@ static int pc_bonus(struct map_session_data *sd, int type, int val)
#endif
case SP_ADD_MONSTER_DROP_CHAINITEM:
if (sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), 0, val, map->race_id2mask(RC_ALL), 10000);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), val, true, map->race_id2mask(RC_ALL), 10000);
break;
case SP_ADDMAXWEIGHT:
if (sd->state.lr_flag != 2)
@@ -3686,7 +3684,7 @@ static int pc_bonus2(struct map_session_data *sd, int type, int type2, int val)
break;
case SP_ADD_MONSTER_DROP_ITEM:
if (sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, map->race_id2mask(RC_ALL), val);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, false, map->race_id2mask(RC_ALL), val);
break;
case SP_SP_LOSS_RATE:
if(sd->state.lr_flag != 2) {
@@ -3892,7 +3890,7 @@ static int pc_bonus2(struct map_session_data *sd, int type, int type2, int val)
break;
}
if (sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), 0, type2, race_mask, 10000);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, true, race_mask, 10000);
}
break;
#ifdef RENEWAL
@@ -3932,12 +3930,12 @@ static int pc_bonus3(struct map_session_data *sd, int type, int type2, int type3
break;
}
if (sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, race_mask, val);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, false, race_mask, val);
}
break;
case SP_ADD_CLASS_DROP_ITEM:
if(sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, -type3, val);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, false, -type3, val);
break;
case SP_AUTOSPELL:
if(sd->state.lr_flag != 2)
@@ -4308,7 +4306,7 @@ static bool pc_can_insert_card_into(struct map_session_data *sd, int idx_card, i
nullpo_ret(sd);
- if (idx_equip < 0 || idx_equip >= MAX_INVENTORY || sd->inventory_data[idx_equip] == NULL)
+ if (idx_equip < 0 || idx_equip >= sd->status.inventorySize || sd->inventory_data[idx_equip] == NULL)
return false; //Invalid item index.
if (sd->status.inventory[idx_equip].nameid <= 0 || sd->status.inventory[idx_equip].amount < 1)
return false; // target item missing
@@ -4342,7 +4340,7 @@ static bool pc_can_insert_card(struct map_session_data *sd, int idx_card)
{
nullpo_ret(sd);
- if (idx_card < 0 || idx_card >= MAX_INVENTORY || sd->inventory_data[idx_card] == NULL)
+ if (idx_card < 0 || idx_card >= sd->status.inventorySize || sd->inventory_data[idx_card] == NULL)
return false; //Invalid card index.
if (sd->status.inventory[idx_card].nameid <= 0 || sd->status.inventory[idx_card].amount < 1)
return false; // target card missing
@@ -4402,8 +4400,6 @@ static int pc_insert_card(struct map_session_data *sd, int idx_card, int idx_equ
static int pc_modifybuyvalue(struct map_session_data *sd, int orig_value)
{
int skill_lv, rate1 = 0, rate2 = 0;
- if (orig_value <= 0)
- return 0;
if ((skill_lv=pc->checkskill(sd,MC_DISCOUNT)) > 0) // merchant discount
rate1 = 5+skill_lv*2-((skill_lv==10)? 1:0);
if ((skill_lv=pc->checkskill(sd,RG_COMPULSION)) > 0) // rogue discount
@@ -4412,8 +4408,9 @@ static int pc_modifybuyvalue(struct map_session_data *sd, int orig_value)
rate1 = rate2;
if (rate1 != 0)
orig_value = apply_percentrate(orig_value, 100-rate1, 100);
- if (orig_value < 1)
- orig_value = 1;
+
+ if (orig_value < battle_config.min_item_buy_price)
+ orig_value = battle_config.min_item_buy_price;
return orig_value;
}
@@ -4423,14 +4420,13 @@ static int pc_modifybuyvalue(struct map_session_data *sd, int orig_value)
static int pc_modifysellvalue(struct map_session_data *sd, int orig_value)
{
int skill_lv, rate = 0;
- if (orig_value <= 0)
- return 0;
if ((skill_lv=pc->checkskill(sd,MC_OVERCHARGE)) > 0) //OverCharge
rate = 5+skill_lv*2-((skill_lv==10)? 1:0);
if (rate != 0)
orig_value = apply_percentrate(orig_value, 100+rate, 100);
- if (orig_value < 1)
- orig_value = 1;
+
+ if (orig_value < battle_config.min_item_sell_price)
+ orig_value = battle_config.min_item_sell_price;
return orig_value;
}
@@ -4440,7 +4436,6 @@ static int pc_modifysellvalue(struct map_session_data *sd, int orig_value)
*------------------------------------------*/
static int pc_checkadditem(struct map_session_data *sd, int nameid, int amount)
{
- int i;
struct item_data* data;
nullpo_ret(sd);
@@ -4456,7 +4451,7 @@ static int pc_checkadditem(struct map_session_data *sd, int nameid, int amount)
if( data->stack.inventory && amount > data->stack.amount )
return ADDITEM_OVERAMOUNT;
- for(i=0;i<MAX_INVENTORY;i++){
+ for(int i = 0; i < sd->status.inventorySize; i++) {
// FIXME: This does not consider the checked item's cards, thus could check a wrong slot for stackability.
if(sd->status.inventory[i].nameid==nameid){
if( amount > MAX_AMOUNT - sd->status.inventory[i].amount || ( data->stack.inventory && amount > data->stack.amount - sd->status.inventory[i].amount ) )
@@ -4474,11 +4469,10 @@ static int pc_checkadditem(struct map_session_data *sd, int nameid, int amount)
*------------------------------------------*/
static int pc_inventoryblank(struct map_session_data *sd)
{
- int i,b;
-
nullpo_ret(sd);
+ int b = 0;
- for(i=0,b=0;i<MAX_INVENTORY;i++){
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid==0)
b++;
}
@@ -4506,14 +4500,15 @@ static int pc_payzeny(struct map_session_data *sd, int zeny, enum e_log_pick_typ
sd->status.zeny -= zeny;
clif->updatestatus(sd,SP_ZENY);
- achievement->validate_zeny(sd, -zeny); // Achievements [Smokexyz/Hercules]
+ if (zeny > 0) {
+ achievement->validate_zeny(sd, -zeny); // Achievements [Smokexyz/Hercules]
+ logs->zeny(sd, type, tsd ? tsd : sd, -zeny);
- if(!tsd) tsd = sd;
- logs->zeny(sd, type, tsd, -zeny);
- if( zeny > 0 && sd->state.showzeny ) {
- char output[255];
- sprintf(output, "Removed %dz.", zeny);
- clif_disp_onlyself(sd, output);
+ if (sd->state.showzeny) {
+ char output[255];
+ sprintf(output, "Removed %dz.", zeny);
+ clif_disp_onlyself(sd, output);
+ }
}
return 0;
@@ -4644,14 +4639,15 @@ static int pc_getzeny(struct map_session_data *sd, int zeny, enum e_log_pick_typ
sd->status.zeny += zeny;
clif->updatestatus(sd,SP_ZENY);
- achievement->validate_zeny(sd, zeny); // Achievements [Smokexyz/Hercules]
+ if (zeny > 0) {
+ achievement->validate_zeny(sd, zeny); // Achievements [Smokexyz/Hercules]
+ logs->zeny(sd, type, tsd ? tsd : sd, zeny);
- if(!tsd) tsd = sd;
- logs->zeny(sd, type, tsd, zeny);
- if( zeny > 0 && sd->state.showzeny ) {
- char output[255];
- sprintf(output, "Gained %dz.", zeny);
- clif_disp_onlyself(sd, output);
+ if (sd->state.showzeny) {
+ char output[255];
+ sprintf(output, "Gained %dz.", zeny);
+ clif_disp_onlyself(sd, output);
+ }
}
return 0;
@@ -4673,8 +4669,8 @@ static int pc_search_inventory(struct map_session_data *sd, int item_id)
int i;
nullpo_retr(INDEX_NOT_FOUND, sd);
- ARR_FIND( 0, MAX_INVENTORY, i, sd->status.inventory[i].nameid == item_id && (sd->status.inventory[i].amount > 0 || item_id == 0) );
- return ( i < MAX_INVENTORY ) ? i : INDEX_NOT_FOUND;
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].nameid == item_id && (sd->status.inventory[i].amount > 0 || item_id == 0));
+ return (i < sd->status.inventorySize) ? i : INDEX_NOT_FOUND;
}
/*==========================================
@@ -4689,7 +4685,7 @@ static int pc_search_inventory(struct map_session_data *sd, int item_id)
* 6 = ?
* 7 = stack limitation
*------------------------------------------*/
-static int pc_additem(struct map_session_data *sd, struct item *item_data, int amount, e_log_pick_type log_type)
+static int pc_additem(struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type)
{
struct item_data *data;
int i;
@@ -4736,11 +4732,11 @@ static int pc_additem(struct map_session_data *sd, struct item *item_data, int a
}
}
- i = MAX_INVENTORY;
+ i = sd->status.inventorySize;
// Stackable | Non Rental
if( itemdb->isstackable2(data) && item_data->expire_time == 0 ) {
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid == item_data->nameid &&
sd->status.inventory[i].bound == item_data->bound &&
sd->status.inventory[i].expire_time == 0 &&
@@ -4755,7 +4751,7 @@ static int pc_additem(struct map_session_data *sd, struct item *item_data, int a
}
}
- if ( i >= MAX_INVENTORY ) {
+ if (i >= sd->status.inventorySize) {
i = pc->search_inventory(sd,0);
if (i == INDEX_NOT_FOUND)
return 4;
@@ -4815,7 +4811,7 @@ static int pc_additem(struct map_session_data *sd, struct item *item_data, int a
static int pc_delitem(struct map_session_data *sd, int n, int amount, int type, short reason, e_log_pick_type log_type)
{
nullpo_retr(1, sd);
- Assert_retr(1, n >= 0 && n < MAX_INVENTORY);
+ Assert_retr(1, n >= 0 && n < sd->status.inventorySize);
if(sd->status.inventory[n].nameid==0 || amount <= 0 || sd->status.inventory[n].amount<amount || sd->inventory_data[n] == NULL)
return 1;
@@ -4849,7 +4845,7 @@ static int pc_dropitem(struct map_session_data *sd, int n, int amount)
{
nullpo_retr(1, sd);
- if(n < 0 || n >= MAX_INVENTORY)
+ if(n < 0 || n >= sd->status.inventorySize)
return 0;
if(amount <= 0)
@@ -4858,7 +4854,7 @@ static int pc_dropitem(struct map_session_data *sd, int n, int amount)
if(sd->status.inventory[n].nameid <= 0 ||
sd->status.inventory[n].amount <= 0 ||
sd->status.inventory[n].amount < amount ||
- sd->state.trading || sd->state.vending ||
+ sd->state.trading || sd->state.vending || sd->state.prevend ||
!sd->inventory_data[n] //pc->delitem would fail on this case.
)
return 0;
@@ -4960,7 +4956,7 @@ static int pc_isUseitem(struct map_session_data *sd, int n)
int nameid;
nullpo_ret(sd);
- Assert_ret(n >= 0 && n < MAX_INVENTORY);
+ Assert_ret(n >= 0 && n < sd->status.inventorySize);
item = sd->inventory_data[n];
nameid = sd->status.inventory[n].nameid;
@@ -5196,7 +5192,7 @@ static int pc_useitem(struct map_session_data *sd, int n)
bool removeItem = false;
nullpo_ret(sd);
- Assert_ret(n >= 0 && n < MAX_INVENTORY);
+ Assert_ret(n >= 0 && n < sd->status.inventorySize);
if (sd->npc_id || sd->state.workinprogress & 1) {
#if PACKETVER >= 20110308
@@ -5323,6 +5319,10 @@ static int pc_useitem(struct map_session_data *sd, int n)
if(sd->catch_target_class != -1) //Abort pet catching.
sd->catch_target_class = -1;
+ // Removes abracadabra/randomize spell flag for delayed consume items or item doesn't get consumed
+ if (sd->inventory_data[n]->flag.delay_consume)
+ sd->state.abra_flag = 0;
+
amount = sd->status.inventory[n].amount;
//Check if the item is to be consumed immediately [Skotlex]
if (sd->inventory_data[n]->flag.delay_consume || sd->inventory_data[n]->flag.keepafteruse)
@@ -5433,7 +5433,7 @@ static int pc_cart_delitem(struct map_session_data *sd, int n, int amount, int t
{
struct item_data * data;
nullpo_retr(1, sd);
- Assert_retr(1, n >= 0 && n < MAX_INVENTORY);
+ Assert_retr(1, n >= 0 && n < MAX_CART);
if( sd->status.cart[n].nameid == 0 || sd->status.cart[n].amount < amount || !(data = itemdb->exists(sd->status.cart[n].nameid)) )
return 1;
@@ -5467,12 +5467,12 @@ static int pc_putitemtocart(struct map_session_data *sd, int idx, int amount)
nullpo_ret(sd);
- if (idx < 0 || idx >= MAX_INVENTORY) //Invalid index check [Skotlex]
+ if (idx < 0 || idx >= sd->status.inventorySize) //Invalid index check [Skotlex]
return 1;
item_data = &sd->status.inventory[idx];
- if( item_data->nameid == 0 || amount < 1 || item_data->amount < amount || sd->state.vending )
+ if (item_data->nameid == 0 || amount < 1 || item_data->amount < amount || sd->state.vending || sd->state.prevend)
return 1;
if( (flag = pc->cart_additem(sd,item_data,amount,LOG_TYPE_NONE)) == 0 )
@@ -5519,10 +5519,10 @@ static int pc_getitemfromcart(struct map_session_data *sd, int idx, int amount)
item_data=&sd->status.cart[idx];
- if(item_data->nameid==0 || amount < 1 || item_data->amount<amount || sd->state.vending )
+ if (item_data->nameid == 0 || amount < 1 || item_data->amount < amount || sd->state.vending || sd->state.prevend)
return 1;
- if((flag = pc->additem(sd,item_data,amount,LOG_TYPE_NONE)) == 0)
+ if ((flag = pc->additem(sd,item_data,amount,LOG_TYPE_NONE)) == 0)
return pc->cart_delitem(sd,idx,amount,0,LOG_TYPE_NONE);
return flag;
@@ -5537,7 +5537,7 @@ static void pc_bound_clear(struct map_session_data *sd, enum e_item_bound_type t
/* both restricted to inventory */
case IBT_PARTY:
case IBT_CHARACTER:
- for( i = 0; i < MAX_INVENTORY; i++ ){
+ for (i = 0; i < sd->status.inventorySize; i++ ) {
if( sd->status.inventory[i].bound == type ) {
pc->delitem(sd, i, sd->status.inventory[i].amount, 0, DELITEM_SKILLUSE, LOG_TYPE_OTHER); // FIXME: is this the correct reason flag?
}
@@ -5549,7 +5549,7 @@ static void pc_bound_clear(struct map_session_data *sd, enum e_item_bound_type t
case IBT_GUILD: {
struct guild_storage *gstor = idb_get(gstorage->db,sd->status.guild_id);
- for( i = 0; i < MAX_INVENTORY; i++ ){
+ for (i = 0; i < sd->status.inventorySize; i++ ) {
if(sd->status.inventory[i].bound == type) {
if( gstor )
gstorage->additem(sd,gstor,&sd->status.inventory[i],sd->status.inventory[i].amount);
@@ -5706,7 +5706,7 @@ static int pc_steal_coin(struct map_session_data *sd, struct block_list *target,
* 1 - Invalid map index.
* 2 - Map not in this map-server, and failed to locate alternate map-server.
*------------------------------------------*/
-static int pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, int y, clr_type clrtype)
+static int pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, int y, enum clr_type clrtype)
{
int16 m;
@@ -5838,8 +5838,11 @@ static int pc_setpos(struct map_session_data *sd, unsigned short map_index, int
vending->close(sd);
}
- if (map->list[sd->bl.m].channel) {
- channel->leave(map->list[sd->bl.m].channel,sd);
+ if (sd->mapindex != 0) {
+ // Only if the character is already on a map
+ if (map->list[sd->bl.m].channel) {
+ channel->leave(map->list[sd->bl.m].channel,sd);
+ }
}
}
@@ -5943,7 +5946,7 @@ static int pc_setpos(struct map_session_data *sd, unsigned short map_index, int
* 0 = fail or FIXME success (from pc->setpos)
* x(1|2) = fail
*------------------------------------------*/
-static int pc_randomwarp(struct map_session_data *sd, clr_type type)
+static int pc_randomwarp(struct map_session_data *sd, enum clr_type type)
{
int x,y,i=0;
int16 m;
@@ -6144,7 +6147,7 @@ static int pc_checkequip(struct map_session_data *sd, int pos)
* Convert's from the client's lame Job ID system
* to the map server's 'makes sense' system. [Skotlex]
*------------------------------------------*/
-static int pc_jobid2mapid(int16 class)
+static int pc_jobid2mapid(int class)
{
switch (class) {
//Novice And 1-1 Jobs
@@ -6286,9 +6289,9 @@ static int pc_jobid2mapid(int16 class)
}
//Reverts the map-style class id to the client-style one.
-static int pc_mapid2jobid(uint16 job, int sex)
+static int pc_mapid2jobid(unsigned int class, int sex)
{
- switch (job) {
+ switch (class) {
//Novice And 1-1 Jobs
case MAPID_NOVICE: return JOB_NOVICE;
case MAPID_SWORDMAN: return JOB_SWORDMAN;
@@ -7942,7 +7945,7 @@ static int pc_skillheal2_bonus(struct map_session_data *sd, uint16 skill_id)
return bonus;
}
-static void pc_respawn(struct map_session_data *sd, clr_type clrtype)
+static void pc_respawn(struct map_session_data *sd, enum clr_type clrtype)
{
if( !pc_isdead(sd) )
return; // not applicable
@@ -8135,7 +8138,7 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
if( battle_config.show_mob_info&4 )
{// update name with new level
- clif->charnameack(0, &md->bl);
+ clif->blname_ack(0, &md->bl);
}
}
src = battle->get_master(src); // Maybe Player Summon
@@ -8287,15 +8290,15 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
if(id == 0)
continue;
if(id == -1){
- int eq_num=0,eq_n[MAX_INVENTORY],k;
+ int eq_num = 0, eq_n[MAX_INVENTORY], k;
memset(eq_n,0,sizeof(eq_n));
- for(i=0;i<MAX_INVENTORY;i++){
+ for(i = 0; i < sd->status.inventorySize; i++) {
if( (type == 1 && !sd->status.inventory[i].equip)
|| (type == 2 && sd->status.inventory[i].equip)
|| type == 3)
{
- ARR_FIND( 0, MAX_INVENTORY, k, eq_n[k] <= 0 );
- if( k < MAX_INVENTORY )
+ ARR_FIND(0, sd->status.inventorySize, k, eq_n[k] <= 0);
+ if (k < sd->status.inventorySize)
eq_n[k] = i;
eq_num++;
@@ -8311,7 +8314,7 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
}
}
else if(id > 0){
- for(i=0;i<MAX_INVENTORY;i++){
+ for( i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid == id
&& rnd()%10000 < per
&& ((type == 1 && !sd->status.inventory[i].equip)
@@ -8827,7 +8830,7 @@ static int pc_itemheal(struct map_session_data *sd, int itemid, int hp, int sp)
}
}
- return status->heal(&sd->bl, hp, sp, 1);
+ return status->heal(&sd->bl, hp, sp, STATUS_HEAL_FORCED);
}
/*==========================================
@@ -9005,6 +9008,13 @@ static int pc_jobchange(struct map_session_data *sd, int class, int upper)
if (sd->disguise != -1)
pc->disguise(sd, -1);
+ // Fix atcommand @jobchange when the player changing from 3rd job having alternate body style into non-3rd job, crashing the client
+ if (pc->has_second_costume(sd) == false) {
+ sd->status.body = 0;
+ sd->vd.body_style = 0;
+ clif->changelook(&sd->bl, LOOK_BODY2, sd->vd.body_style);
+ }
+
status->set_viewdata(&sd->bl, class);
clif->changelook(&sd->bl, LOOK_BASE, sd->vd.class); // move sprite update to prevent client crashes with incompatible equipment [Valaris]
if(sd->vd.cloth_color)
@@ -9198,7 +9208,7 @@ static int pc_setoption(struct map_session_data *sd, int type)
#ifndef NEW_CARTS
if( type&OPTION_CART && !( p_type&OPTION_CART ) ) { //Cart On
- clif->cartlist(sd);
+ clif->cartList(sd);
clif->updatestatus(sd, SP_CARTINFO);
if(pc->checkskill(sd, MC_PUSHCART) < 10)
status_calc_pc(sd,SCO_NONE); //Apply speed penalty.
@@ -9305,7 +9315,7 @@ static int pc_setcart(struct map_session_data *sd, int type)
break;
default:/* everything else is an allowed ID so we can move on */
if( !sd->sc.data[SC_PUSH_CART] ) /* first time, so fill cart data */
- clif->cartlist(sd);
+ clif->cartList(sd);
clif->updatestatus(sd, SP_CARTINFO);
sc_start(NULL,&sd->bl, SC_PUSH_CART, 100, type, 0);
clif->sc_load(&sd->bl, sd->bl.id, AREA, SI_ON_PUSH_CART, type, 0, 0);
@@ -10142,7 +10152,7 @@ static int pc_equipitem(struct map_session_data *sd, int n, int req_pos)
nullpo_ret(sd);
- if( n < 0 || n >= MAX_INVENTORY ) {
+ if (n < 0 || n >= sd->status.inventorySize) {
clif->equipitemack(sd,0,0,EIA_FAIL);
return 0;
}
@@ -10350,7 +10360,7 @@ static int pc_unequipitem(struct map_session_data *sd, int n, int flag)
nullpo_ret(sd);
- if (n < 0 || n >= MAX_INVENTORY) {
+ if (n < 0 || n >= sd->status.inventorySize) {
clif->unequipitemack(sd, 0, 0, UIA_FAIL);
return 0;
}
@@ -10502,7 +10512,7 @@ static int pc_checkitem(struct map_session_data *sd)
int id = 0;
if (sd->itemcheck & PCCHECKITEM_INVENTORY) {
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if ((id = sd->status.inventory[i].nameid) == 0)
continue;
@@ -10582,7 +10592,7 @@ static int pc_checkitem(struct map_session_data *sd)
}
}
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].nameid == 0)
continue;
@@ -10756,11 +10766,14 @@ static int pc_divorce(struct map_session_data *sd)
// Both players online, lets do the divorce manually
sd->status.partner_id = 0;
p_sd->status.partner_id = 0;
- for( i = 0; i < MAX_INVENTORY; i++ )
+ for (i = 0; i < sd->status.inventorySize; i++)
{
- if( sd->status.inventory[i].nameid == WEDDING_RING_M || sd->status.inventory[i].nameid == WEDDING_RING_F )
+ if (sd->status.inventory[i].nameid == WEDDING_RING_M || sd->status.inventory[i].nameid == WEDDING_RING_F)
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_DIVORCE);
- if( p_sd->status.inventory[i].nameid == WEDDING_RING_M || p_sd->status.inventory[i].nameid == WEDDING_RING_F )
+ }
+ for (i = 0; i < p_sd->status.inventorySize; i++)
+ {
+ if (p_sd->status.inventory[i].nameid == WEDDING_RING_M || p_sd->status.inventory[i].nameid == WEDDING_RING_F)
pc->delitem(p_sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_DIVORCE);
}
@@ -10878,7 +10891,7 @@ static void pc_regen(struct map_session_data *sd, unsigned int diff_tick)
}
if (hp > 0 || sp > 0)
- status->heal(&sd->bl, hp, sp, 0);
+ status->heal(&sd->bl, hp, sp, STATUS_HEAL_DEFAULT);
return;
}
@@ -12329,11 +12342,29 @@ static bool pc_has_second_costume(struct map_session_data *sd)
{
nullpo_retr(false, sd);
- if ((sd->job & JOBL_THIRD) != 0)
+// FIXME: JOB_SUPER_NOVICE_E(4190) is not supposed to be 3rd Job. (Issue#2383)
+ if ((sd->job & JOBL_THIRD) != 0 && (sd->job & MAPID_BASEMASK) != MAPID_NOVICE)
return true;
return false;
}
+static bool pc_expandInventory(struct map_session_data *sd, int adjustSize)
+{
+ nullpo_retr(false, sd);
+ const int invSize = sd->status.inventorySize;
+ if (adjustSize > MAX_INVENTORY || invSize + adjustSize <= FIXED_INVENTORY_SIZE || invSize + adjustSize > MAX_INVENTORY) {
+ clif->inventoryExpandResult(sd, EXPAND_INVENTORY_RESULT_MAX_SIZE);
+ return false;
+ }
+ if (pc_isdead(sd) || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->chat_id != 0 || sd->state.trading || sd->state.storage_flag || sd->state.prevend) {
+ clif->inventoryExpandResult(sd, EXPAND_INVENTORY_RESULT_OTHER_WORK);
+ return false;
+ }
+ sd->status.inventorySize += adjustSize;
+ clif->inventoryExpansionInfo(sd);
+ return true;
+}
+
static void do_final_pc(void)
{
@@ -12736,4 +12767,5 @@ void pc_defaults(void)
pc->isDeathPenaltyJob = pc_isDeathPenaltyJob;
pc->has_second_costume = pc_has_second_costume;
+ pc->expandInventory = pc_expandInventory;
}
diff --git a/src/map/pc.h b/src/map/pc.h
index 17a9b8200..7c89f7f32 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -117,22 +117,22 @@ BEGIN_ZEROED_BLOCK; // all the variables within this block get zero'ed in each c
int addrace2[RC2_MAX];
int addsize[3];
struct drain_data {
- short rate;
- short per;
- short value;
+ int rate;
+ int per;
+ int value;
unsigned type:1;
} hp_drain[RC_MAX], sp_drain[RC_MAX];
struct {
- short class_, rate;
+ int class_, rate;
} add_dmg[MAX_PC_BONUS];
struct {
- short flag, rate;
+ int flag, rate;
unsigned char ele;
} addele2[MAX_PC_BONUS];
END_ZEROED_BLOCK;
};
struct s_autospell {
- short id, lv, rate, flag;
+ int id, lv, rate, flag;
int card_id;
bool lock; // bAutoSpellOnSkill: blocks autospell from triggering again, while being executed
};
@@ -147,20 +147,20 @@ struct s_addeffect {
};
struct s_addeffectonskill {
enum sc_type id;
- short rate, skill;
+ int rate, skill;
unsigned char target;
};
struct s_add_drop {
+ bool is_group;
int id;
- short group;
int race, rate;
};
struct s_autobonus {
- short rate,atk_type;
+ int rate,atk_type;
unsigned int duration;
char *bonus_script, *other_script;
int active;
- unsigned short pos;
+ unsigned int pos;
};
enum npc_timeout_type {
NPCT_INPUT = 0,
@@ -219,11 +219,11 @@ struct map_session_data {
unsigned int changemap : 1;
unsigned int callshop : 1; // flag to indicate that a script used callshop; on a shop
short pmap; // Previous map on Map Change
- unsigned short autoloot;
+ unsigned int autoloot;
int autolootid[AUTOLOOTITEM_SIZE]; // [Zephyrus]
- unsigned short autoloottype;
+ unsigned int autoloottype;
unsigned int autolooting : 1; //performance-saver, autolooting state for @alootid
- unsigned short autobonus; //flag to indicate if an autobonus is activated. [Inkfish]
+ unsigned int autobonus; //flag to indicate if an autobonus is activated. [Inkfish]
unsigned int gmaster_flag : 1;
unsigned int prevend : 1;//used to flag wheather you've spent 40sp to open the vending or not.
unsigned int warping : 1;//states whether you're in the middle of a warp processing
@@ -237,6 +237,7 @@ struct map_session_data {
unsigned int standalone : 1;/* [Ind/Hercules <3] */
unsigned int loggingout : 1;
unsigned int warp_clean : 1;
+ unsigned int refine_ui : 1;
} state;
struct {
unsigned char no_weapon_damage, no_magic_damage, no_misc_damage;
@@ -273,6 +274,9 @@ struct map_session_data {
int npc_item_flag; //Marks the npc_id with which you can change equipments during interactions with said npc (see script command enable_itemuse)
int npc_menu; // internal variable, used in npc menu handling
int npc_amount;
+ int npc_amount_min;
+ int npc_amount_max;
+ int npc_input_capped_range;
struct script_state *st;
char npc_str[CHATBOX_SIZE]; // for passing npc input box text to script engine
int npc_timer_id; //For player attached npc timers. [Skotlex]
@@ -288,7 +292,7 @@ struct map_session_data {
int followtimer; // [MouseJstr]
int followtarget;
time_t emotionlasttime; // to limit flood with emotion packets
- short skillitem,skillitemlv;
+ int skillitem,skillitemlv;
uint16 skill_id_old,skill_lv_old;
uint16 skill_id_dance,skill_lv_dance;
short cook_mastery; // range: [0,1999] [Inkfish]
@@ -312,7 +316,7 @@ struct map_session_data {
int16 weapontype; ///< Weapon type considering both hands (@see enum weapon_type).
int16 weapontype1; ///< Weapon type in the right/primary hand (@see enum weapon_type).
int16 weapontype2; ///< Weapon type in the left/secondary hand (@see enum weapon_type).
- short disguise; // [Valaris]
+ int disguise; // [Valaris]
struct weapon_data right_weapon, left_weapon;
BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of status_calc_pc()
@@ -337,9 +341,9 @@ BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of st
int expaddrace[RC_MAX];
int ignore_mdef[RC_MAX];
int ignore_def[RC_MAX];
- short sp_gain_race[RC_MAX];
- short sp_gain_race_attack[RC_MAX];
- short hp_gain_race_attack[RC_MAX];
+ int sp_gain_race[RC_MAX];
+ int sp_gain_race_attack[RC_MAX];
+ int hp_gain_race_attack[RC_MAX];
#ifdef RENEWAL
int race_tolerance[RC_MAX];
#endif
@@ -347,16 +351,16 @@ BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of st
struct s_addeffect addeff[MAX_PC_BONUS], addeff2[MAX_PC_BONUS];
struct s_addeffectonskill addeff3[MAX_PC_BONUS];
struct { //skillatk raises bonus dmg% of skills, skillheal increases heal%, skillblown increases bonus blewcount for some skills.
- unsigned short id;
- short val;
+ unsigned int id;
+ int val;
} skillatk[MAX_PC_BONUS], skillusesprate[MAX_PC_BONUS], skillusesp[MAX_PC_BONUS], skillheal[5], skillheal2[5], skillblown[MAX_PC_BONUS], skillcast[MAX_PC_BONUS], skillcooldown[MAX_PC_BONUS], skillfixcast[MAX_PC_BONUS], skillvarcast[MAX_PC_BONUS], skillfixcastrate[MAX_PC_BONUS];
struct {
- short value;
+ int value;
int rate;
int tick;
} hp_loss, sp_loss, hp_regen, sp_regen;
struct {
- short class_, rate;
+ int class_, rate;
} add_def[MAX_PC_BONUS], add_mdef[MAX_PC_BONUS], add_mdmg[MAX_PC_BONUS];
struct s_add_drop add_drop[MAX_PC_BONUS];
struct {
@@ -364,11 +368,11 @@ BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of st
int rate;
} itemhealrate[MAX_PC_BONUS];
struct {
- short flag, rate;
+ int flag, rate;
unsigned char ele;
} subele2[MAX_PC_BONUS];
struct {
- short value;
+ int value;
int rate, tick;
} def_set_race[RC_MAX], mdef_set_race[RC_MAX];
struct {
@@ -394,17 +398,17 @@ BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of st
int itemhealrate2; // [Epoque] Increase heal rate of all healing items.
int shieldmdef;//royal guard's
unsigned int setitem_hash, setitem_hash2; //Split in 2 because shift operations only work on int ranges. [Skotlex]
- short splash_range, splash_add_range;
- short add_steal_rate;
- short add_heal_rate, add_heal2_rate;
- short sp_gain_value, hp_gain_value, magic_sp_gain_value, magic_hp_gain_value;
- short hp_vanish_rate;
- short hp_vanish_per, hp_vanish_trigger;
- short sp_vanish_rate;
- short sp_vanish_per, sp_vanish_trigger;
- unsigned short unbreakable; // chance to prevent ANY equipment breaking [celest]
- unsigned short unbreakable_equip; //100% break resistance on certain equipment
- unsigned short unstripable_equip;
+ int splash_range, splash_add_range;
+ int add_steal_rate;
+ int add_heal_rate, add_heal2_rate;
+ int sp_gain_value, hp_gain_value, magic_sp_gain_value, magic_hp_gain_value;
+ int hp_vanish_rate;
+ int hp_vanish_per, hp_vanish_trigger;
+ int sp_vanish_rate;
+ int sp_vanish_per, sp_vanish_trigger;
+ unsigned int unbreakable; // chance to prevent ANY equipment breaking [celest]
+ unsigned int unbreakable_equip; //100% break resistance on certain equipment
+ unsigned int unstripable_equip;
int fixcastrate,varcastrate;
int add_fixcast,add_varcast;
int ematk; // matk bonus from equipment
@@ -419,22 +423,22 @@ END_ZEROED_BLOCK;
int matk_rate;
int critical_rate,hit_rate,flee_rate,flee2_rate,def_rate,def2_rate,mdef_rate,mdef2_rate;
int itemid;
- short itemindex; //Used item's index in sd->inventory [Skotlex]
- short catch_target_class; // pet catching, stores a pet class to catch (short now) [zzo]
- short spiritball, spiritball_old;
+ int itemindex; //Used item's index in sd->inventory [Skotlex]
+ int catch_target_class;
+ int spiritball, spiritball_old;
int spirit_timer[MAX_SPIRITBALL];
- short charm_count;
+ int charm_count;
int charm_type;
int charm_timer[MAX_SPIRITCHARM];
unsigned char potion_success_counter; //Potion successes in row counter
unsigned char mission_count; //Stores the bounty kill count for TK_MISSION
- short mission_mobid; //Stores the target mob_id for TK_MISSION
+ int mission_mobid; //Stores the target mob_id for TK_MISSION
int die_counter; //Total number of times you've died
int devotion[MAX_PC_DEVOTION]; //Stores the account IDs of chars devoted to.
int trade_partner;
struct {
struct {
- short index, amount;
+ int index, amount;
} item[10];
int zeny, weight;
} deal;
@@ -465,18 +469,18 @@ END_ZEROED_BLOCK;
struct {
int m; //-1 - none, other: map index corresponding to map name.
- unsigned short index; //map index
+ unsigned int index; //map index
} feel_map[MAX_PC_FEELHATE];// 0 - Sun; 1 - Moon; 2 - Stars
- short hate_mob[MAX_PC_FEELHATE];
+ int hate_mob[MAX_PC_FEELHATE];
int pvp_timer;
- short pvp_point;
- unsigned short pvp_rank, pvp_lastusers;
- unsigned short pvp_won, pvp_lost;
+ int pvp_point;
+ unsigned int pvp_rank, pvp_lastusers;
+ unsigned int pvp_won, pvp_lost;
char eventqueue[MAX_EVENTQUEUE][EVENT_NAME_LENGTH];
int eventtimer[MAX_EVENTTIMER];
- unsigned short eventcount; // [celest]
+ unsigned int eventcount; // [celest]
int change_level_2nd; // job level when changing from 1st to 2nd class [jobchange_level in global_reg_value]
int change_level_3rd; // job level when changing from 2nd to 3rd class [jobchange_level_3rd in global_reg_value]
@@ -557,8 +561,7 @@ END_ZEROED_BLOCK;
int shadowform_id;
/* [Ind/Hercules] */
- struct channel_data **channels;
- unsigned char channel_count;
+ VECTOR_DECL(struct channel_data *) channels;
struct channel_data *gcbind;
unsigned char fontcolor;
int fontcolor_tid;
@@ -661,10 +664,10 @@ END_ZEROED_BLOCK;
#define pc_issit(sd) ( (sd)->vd.dead_sit == 2 )
#define pc_isidle(sd) ( (sd)->chat_id != 0 || (sd)->state.vending || (sd)->state.buyingstore || DIFF_TICK(sockt->last_tick, (sd)->idletime) >= battle->bc->idle_no_share )
#define pc_istrading(sd) ( (sd)->npc_id || (sd)->state.vending || (sd)->state.buyingstore || (sd)->state.trading )
-#define pc_cant_act(sd) ( (sd)->npc_id || (sd)->state.vending || (sd)->state.buyingstore || (sd)->chat_id != 0 || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend )
+#define pc_cant_act(sd) ( (sd)->npc_id || (sd)->state.vending || (sd)->state.buyingstore || (sd)->chat_id != 0 || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend || (sd)->state.refine_ui == 1)
/* equals pc_cant_act except it doesn't check for chat rooms */
-#define pc_cant_act2(sd) ( (sd)->npc_id || (sd)->state.buyingstore || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend )
+#define pc_cant_act2(sd) ( (sd)->npc_id || (sd)->state.buyingstore || ((sd)->sc.opt1 && (sd)->sc.opt1 != OPT1_BURNING) || (sd)->state.trading || (sd)->state.storage_flag || (sd)->state.prevend || (sd)->state.refine_ui == 1)
#define pc_setdir(sd,b,h) ( (sd)->ud.dir = (b) ,(sd)->head_dir = (h) )
#define pc_setchatid(sd,n) ( (sd)->chat_id = (n) )
@@ -770,24 +773,24 @@ END_ZEROED_BLOCK;
#define pc_can_give_bound_items(sd) ( pc_has_permission((sd),PC_PERM_TRADE_BOUND) )
struct skill_tree_requirement {
- short id;
+ int id;
unsigned short idx;
unsigned char lv;
};
struct skill_tree_entry {
- short id;
+ int id;
unsigned short idx;
unsigned char max;
unsigned char joblv;
- short inherited;
+ int inherited;
VECTOR_DECL(struct skill_tree_requirement) need;
}; // Celest
struct sg_data {
- short anger_id;
- short bless_id;
- short comfort_id;
+ int anger_id;
+ int bless_id;
+ int comfort_id;
char feel_var[NAME_LENGTH];
char hate_var[NAME_LENGTH];
bool (*day_func)(void);
@@ -906,7 +909,7 @@ END_ZEROED_BLOCK; /* End */
int (*setrestartvalue) (struct map_session_data *sd,int type);
int (*makesavestatus) (struct map_session_data *sd);
- void (*respawn) (struct map_session_data* sd, clr_type clrtype);
+ void (*respawn) (struct map_session_data* sd, enum clr_type clrtype);
int (*setnewpc) (struct map_session_data *sd, int account_id, int char_id, int login_id1, unsigned int client_tick, int sex, int fd);
bool (*authok) (struct map_session_data *sd, int login_id2, time_t expiration_time, int group_id, const struct mmo_charstatus *st, bool changing_mapservers);
void (*authfail) (struct map_session_data *sd);
@@ -928,16 +931,16 @@ END_ZEROED_BLOCK; /* End */
int (*calc_skilltree_normalize_job) (struct map_session_data *sd);
int (*clean_skilltree) (struct map_session_data *sd);
- int (*setpos) (struct map_session_data* sd, unsigned short map_index, int x, int y, clr_type clrtype);
+ int (*setpos) (struct map_session_data* sd, unsigned short map_index, int x, int y, enum clr_type clrtype);
int (*setsavepoint) (struct map_session_data *sd, short map_index, int x, int y);
- int (*randomwarp) (struct map_session_data *sd,clr_type type);
+ int (*randomwarp) (struct map_session_data *sd, enum clr_type type);
int (*memo) (struct map_session_data* sd, int pos);
int (*checkadditem) (struct map_session_data *sd,int nameid,int amount);
int (*inventoryblank) (struct map_session_data *sd);
int (*search_inventory) (struct map_session_data *sd,int item_id);
int (*payzeny) (struct map_session_data *sd,int zeny, enum e_log_pick_type type, struct map_session_data *tsd);
- int (*additem) (struct map_session_data *sd,struct item *item_data,int amount,e_log_pick_type log_type);
+ int (*additem) (struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type);
int (*getzeny) (struct map_session_data *sd,int zeny, enum e_log_pick_type type, struct map_session_data *tsd);
int (*delitem) (struct map_session_data *sd,int n,int amount,int type, short reason, e_log_pick_type log_type);
@@ -1069,8 +1072,8 @@ END_ZEROED_BLOCK; /* End */
void (*setstand) (struct map_session_data *sd);
int (*candrop) (struct map_session_data *sd,struct item *item);
- int (*jobid2mapid) (int16 class); // Skotlex
- int (*mapid2jobid) (unsigned short class_, int sex); // Skotlex
+ int (*jobid2mapid) (int class); // Skotlex
+ int (*mapid2jobid) (unsigned int class_, int sex); // Skotlex
const char * (*job_name) (int class);
@@ -1125,7 +1128,7 @@ END_ZEROED_BLOCK; /* End */
int (*bonus_autospell_onskill) (struct s_autospell *spell, int max, short src_skill, short id, short lv, short rate, int card_id);
int (*bonus_addeff) (struct s_addeffect* effect, int max, enum sc_type id, int16 rate, int16 arrow_rate, uint8 flag, uint16 duration);
int (*bonus_addeff_onskill) (struct s_addeffectonskill* effect, int max, enum sc_type id, short rate, short skill_id, unsigned char target);
- int (*bonus_item_drop) (struct s_add_drop *drop, const short max, short id, short group, int race, int rate);
+ int (*bonus_item_drop) (struct s_add_drop *drop, const short max, int id, bool is_group, int race, int rate);
void (*calcexp) (struct map_session_data *sd, uint64 *base_exp, uint64 *job_exp, struct block_list *src);
int (*respawn_timer) (int tid, int64 tick, int id, intptr_t data);
int (*jobchange_killclone) (struct block_list *bl, va_list ap);
@@ -1186,6 +1189,7 @@ END_ZEROED_BLOCK; /* End */
bool (*check_basicskill) (struct map_session_data *sd, int level);
bool (*isDeathPenaltyJob) (uint16 job);
bool (*has_second_costume) (struct map_session_data *sd);
+ bool (*expandInventory) (struct map_session_data *sd, int adjustSize);
};
#ifdef HERCULES_CORE
diff --git a/src/map/pet.c b/src/map/pet.c
index cfb3e8253..ce26b6cb1 100644
--- a/src/map/pet.c
+++ b/src/map/pet.c
@@ -94,10 +94,10 @@ static void pet_set_intimate(struct pet_data *pd, int value)
if (value <= 0) {
int i;
- ARR_FIND(0, MAX_INVENTORY, i, sd->status.inventory[i].card[0] == CARD0_PET &&
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].card[0] == CARD0_PET &&
pd->pet.pet_id == MakeDWord(sd->status.inventory[i].card[1], sd->status.inventory[i].card[2]));
- if (i != MAX_INVENTORY) {
+ if (i != sd->status.inventorySize) {
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_EGG);
}
}
@@ -111,8 +111,8 @@ static int pet_create_egg(struct map_session_data *sd, int item_id)
if (!pc->inventoryblank(sd)) return 0; // Inventory full
sd->catch_target_class = pet->db[pet_id].class_;
intif->create_pet(sd->status.account_id, sd->status.char_id,
- (short)pet->db[pet_id].class_,
- (short)mob->db(pet->db[pet_id].class_)->lv,
+ pet->db[pet_id].class_,
+ mob->db(pet->db[pet_id].class_)->lv,
pet->db[pet_id].EggID, 0,
(short)pet->db[pet_id].intimate,
100, 0, 1, pet->db[pet_id].jname);
@@ -251,7 +251,7 @@ static int pet_hungry(int tid, int64 tick, int id, intptr_t data)
pd->pet.hungry--;
/* Pet Autofeed */
- if (battle_config.feature_enable_homun_autofeed != 0) {
+ if (battle_config.feature_enable_pet_autofeed != 0) {
if (pd->petDB->autofeed == 1 && pd->pet.autofeed == 1 && pd->pet.hungry <= 25) {
pet->food(sd, pd);
}
@@ -342,15 +342,30 @@ static int pet_return_egg(struct map_session_data *sd, struct pet_data *pd)
pet->lootitem_drop(pd,sd);
// Pet Evolution
- ARR_FIND(0, MAX_INVENTORY, i, sd->status.inventory[i].card[0] == CARD0_PET &&
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].card[0] == CARD0_PET &&
pd->pet.pet_id == MakeDWord(sd->status.inventory[i].card[1], sd->status.inventory[i].card[2]));
- if (i != MAX_INVENTORY) {
+ if (i != sd->status.inventorySize) {
sd->status.inventory[i].attribute &= ~ATTR_BROKEN;
sd->status.inventory[i].bound = IBT_NONE;
+ } else {
+ // The pet egg wasn't found: it was probably hatched with the old system that deleted the egg.
+ struct item tmp_item = {0};
+ int flag;
+
+ tmp_item.nameid = pd->petDB->EggID;
+ tmp_item.identify = 1;
+ tmp_item.card[0] = CARD0_PET;
+ tmp_item.card[1] = GetWord(pd->pet.pet_id, 0);
+ tmp_item.card[2] = GetWord(pd->pet.pet_id, 1);
+ tmp_item.card[3] = pd->pet.rename_flag;
+ if ((flag = pc->additem(sd, &tmp_item, 1, LOG_TYPE_EGG)) != 0) {
+ clif->additem(sd, 0, 0, flag);
+ map->addflooritem(&sd->bl, &tmp_item, 1, sd->bl.m, sd->bl.x, sd->bl.y, 0, 0, 0, 0, false);
+ }
}
#if PACKETVER >= 20180704
- clif->inventorylist(sd);
+ clif->inventoryList(sd);
clif->send_petdata(sd, pd, 6, 0);
#endif
pd->pet.incubate = 1;
@@ -492,10 +507,10 @@ static int pet_recv_petdata(int account_id, struct s_pet *p, int flag)
if(p->incubate == 1) {
int i;
// Get Egg Index
- ARR_FIND(0, MAX_INVENTORY, i, sd->status.inventory[i].card[0] == CARD0_PET &&
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].card[0] == CARD0_PET &&
p->pet_id == MakeDWord(sd->status.inventory[i].card[1], sd->status.inventory[i].card[2]));
- if(i == MAX_INVENTORY) {
+ if(i == sd->status.inventorySize) {
ShowError("pet_recv_petdata: Hatching pet (%d:%s) aborted, couldn't find egg in inventory for removal!\n",p->pet_id, p->name);
sd->status.pet_id = 0;
return 1;
@@ -527,7 +542,7 @@ static int pet_select_egg(struct map_session_data *sd, int egg_index)
{
nullpo_ret(sd);
- if(egg_index < 0 || egg_index >= MAX_INVENTORY)
+ if (egg_index < 0 || egg_index >= sd->status.inventorySize)
return 0; //Forged packet!
if(sd->status.inventory[egg_index].card[0] == CARD0_PET)
@@ -614,7 +629,7 @@ static int pet_catch_process2(struct map_session_data *sd, int target_id)
* pet_id - Should contain pet id otherwise means failure
* returns true on success
**/
-static bool pet_get_egg(int account_id, short pet_class, int pet_id)
+static bool pet_get_egg(int account_id, int pet_class, int pet_id)
{
struct map_session_data *sd;
struct item tmp_item;
@@ -733,7 +748,7 @@ static int pet_change_name_ack(struct map_session_data *sd, const char *name, in
}
safestrncpy(pd->pet.name, newname, NAME_LENGTH);
aFree(newname);
- clif->charnameack (0,&pd->bl);
+ clif->blname_ack(0,&pd->bl);
pd->pet.rename_flag = 1;
clif->send_petdata(NULL, sd->pd, 3, sd->pd->vd.head_bottom);
clif->send_petstatus(sd);
diff --git a/src/map/pet.h b/src/map/pet.h
index 049816804..2508a70a6 100644
--- a/src/map/pet.h
+++ b/src/map/pet.h
@@ -37,7 +37,7 @@ struct pet_evolve_data {
};
struct s_pet_db {
- short class_;
+ int class_;
char name[NAME_LENGTH],jname[NAME_LENGTH];
int itemID;
int EggID;
@@ -160,7 +160,7 @@ struct pet_interface {
int (*select_egg) (struct map_session_data *sd, int egg_index);
int (*catch_process1) (struct map_session_data *sd, int target_class);
int (*catch_process2) (struct map_session_data *sd, int target_id);
- bool (*get_egg) (int account_id, short pet_class, int pet_id );
+ bool (*get_egg) (int account_id, int pet_class, int pet_id );
int (*unequipitem) (struct map_session_data *sd, struct pet_data *pd);
int (*food) (struct map_session_data *sd, struct pet_data *pd);
int (*ai_sub_hard_lootsearch) (struct block_list *bl, va_list ap);
diff --git a/src/map/quest.c b/src/map/quest.c
index ab0b06974..9540b411d 100644
--- a/src/map/quest.c
+++ b/src/map/quest.c
@@ -30,6 +30,7 @@
#include "map/itemdb.h"
#include "map/log.h"
#include "map/map.h"
+#include "map/mercenary.h"
#include "map/mob.h"
#include "map/npc.h"
#include "map/party.h"
@@ -671,21 +672,22 @@ static int quest_questinfo_validate_icon(int icon)
*/
static void quest_questinfo_refresh(struct map_session_data *sd)
{
- int i;
-
nullpo_retv(sd);
- for (i = 0; i < VECTOR_LENGTH(map->list[sd->bl.m].qi_data); i++) {
- struct questinfo *qi = &VECTOR_INDEX(map->list[sd->bl.m].qi_data, i);
- // Remove the bubbles if one of the conditions is no longer valid.
- if (quest->questinfo_validate(sd, qi) == false) {
+ for (int i = 0; i < VECTOR_LENGTH(map->list[sd->bl.m].qi_list); i++) {
+ struct npc_data *nd = &VECTOR_INDEX(map->list[sd->bl.m].qi_list, i);
+
+ int j;
+ ARR_FIND(0, VECTOR_LENGTH(nd->qi_data), j, quest->questinfo_validate(sd, &VECTOR_INDEX(nd->qi_data, j)) == true);
+ if (j != VECTOR_LENGTH(nd->qi_data)) {
+ struct questinfo *qi = &VECTOR_INDEX(nd->qi_data, j);
+ clif->quest_show_event(sd, &nd->bl, qi->icon, qi->color);
+ } else {
#if PACKETVER >= 20120410
- clif->quest_show_event(sd, &qi->nd->bl, 9999, 0);
+ clif->quest_show_event(sd, &nd->bl, 9999, 0);
#else
- clif->quest_show_event(sd, &qi->nd->bl, 0, 0);
+ clif->quest_show_event(sd, &nd->bl, 0, 0);
#endif
- } else {
- clif->quest_show_event(sd, &qi->nd->bl, qi->icon, qi->color);
}
}
}
@@ -719,6 +721,8 @@ static bool quest_questinfo_validate(struct map_session_data *sd, struct questin
return false;
if (VECTOR_LENGTH(qi->quest_requirement) > 0 && quest->questinfo_validate_quests(sd, qi) == false)
return false;
+ if (qi->mercenary_class != 0 && quest->questinfo_validate_mercenary_class(sd, qi) == false)
+ return false;
return true;
}
@@ -805,18 +809,17 @@ static bool quest_questinfo_validate_joblevel(struct map_session_data *sd, struc
*/
static bool quest_questinfo_validate_items(struct map_session_data *sd, struct questinfo *qi)
{
- int i, idx;
-
nullpo_retr(false, sd);
nullpo_retr(false, qi);
-
- for (i = 0; i < VECTOR_LENGTH(qi->items); i++) {
- struct item *item = &VECTOR_INDEX(qi->items, i);
- idx = pc->search_inventory(sd, item->nameid);
- if (idx == INDEX_NOT_FOUND)
- return false;
- if (sd->status.inventory[idx].amount < item->amount)
+ for (int i = 0; i < VECTOR_LENGTH(qi->items); i++) {
+ struct questinfo_itemreq *item = &VECTOR_INDEX(qi->items, i);
+ int count = 0;
+ for (int j = 0; j < sd->status.inventorySize; j++) {
+ if (sd->status.inventory[j].nameid == item->nameid)
+ count += sd->status.inventory[j].amount;
+ }
+ if (count < item->min || count > item->max)
return false;
}
@@ -887,7 +890,14 @@ static bool quest_questinfo_validate_quests(struct map_session_data *sd, struct
for (i = 0; i < VECTOR_LENGTH(qi->quest_requirement); i++) {
struct questinfo_qreq *quest_requirement = &VECTOR_INDEX(qi->quest_requirement, i);
- if (quest->check(sd, quest_requirement->id, HAVEQUEST) != quest_requirement->state)
+ int quest_progress = quest->check(sd, quest_requirement->id, HAVEQUEST);
+ if (quest_progress == -1)
+ quest_progress = 0;
+ else if (quest_progress == 0 || quest_progress == 1)
+ quest_progress = 1;
+ else
+ quest_progress = 2;
+ if (quest_progress != quest_requirement->state)
return false;
}
@@ -895,23 +905,26 @@ static bool quest_questinfo_validate_quests(struct map_session_data *sd, struct
}
/**
- * Clears the questinfo data vector
+ * Validate mercenary class required for the questinfo
*
- * @param m mapindex.
+ * @param sd session data.
+ * @param qi questinfo data.
*
+ * @retval true if player have a mercenary with the given class.
+ * @retval false if player does NOT have a mercenary with the given class.
*/
-static void quest_questinfo_vector_clear(int m)
+static bool quest_questinfo_validate_mercenary_class(struct map_session_data *sd, struct questinfo *qi)
{
- int i;
+ nullpo_retr(false, sd);
+ nullpo_retr(false, qi);
- Assert_retv(m >= 0 && m < map->count);
+ if (sd->md == NULL)
+ return false;
- for (i = 0; i < VECTOR_LENGTH(map->list[m].qi_data); i++) {
- struct questinfo *qi_data = &VECTOR_INDEX(map->list[m].qi_data, i);
- VECTOR_CLEAR(qi_data->items);
- VECTOR_CLEAR(qi_data->quest_requirement);
- }
- VECTOR_CLEAR(map->list[m].qi_data);
+ if (sd->md->mercenary.class_ != qi->mercenary_class)
+ return false;
+
+ return true;
}
/**
@@ -987,5 +1000,5 @@ void quest_defaults(void)
quest->questinfo_validate_homunculus_level = quest_questinfo_validate_homunculus_level;
quest->questinfo_validate_homunculus_type = quest_questinfo_validate_homunculus_type;
quest->questinfo_validate_quests = quest_questinfo_validate_quests;
- quest->questinfo_vector_clear = quest_questinfo_vector_clear;
+ quest->questinfo_validate_mercenary_class = quest_questinfo_validate_mercenary_class;
}
diff --git a/src/map/quest.h b/src/map/quest.h
index 305a48df1..d60b9b33c 100644
--- a/src/map/quest.h
+++ b/src/map/quest.h
@@ -60,6 +60,39 @@ enum quest_check_type {
HUNTING, ///< Check if the given hunting quest's requirements have been met
};
+struct questinfo_qreq {
+ int id;
+ int state;
+};
+
+struct questinfo_itemreq {
+ int nameid;
+ int min;
+ int max;
+};
+
+struct questinfo {
+ unsigned short icon;
+ unsigned char color;
+ bool hasJob;
+ unsigned int job;/* perhaps a mapid mask would be most flexible? */
+ bool sex_enabled;
+ int sex;
+ struct {
+ int min;
+ int max;
+ } base_level;
+ struct {
+ int min;
+ int max;
+ } job_level;
+ VECTOR_DECL(struct questinfo_itemreq) items;
+ struct s_homunculus homunculus;
+ int homunculus_type;
+ VECTOR_DECL(struct questinfo_qreq) quest_requirement;
+ int mercenary_class;
+};
+
struct quest_interface {
struct quest_db **db_data; ///< Quest database
struct quest_db dummy; ///< Dummy entry for invalid quest lookups
@@ -92,7 +125,7 @@ struct quest_interface {
bool (*questinfo_validate_homunculus_level) (struct map_session_data *sd, struct questinfo *qi);
bool (*questinfo_validate_homunculus_type) (struct map_session_data *sd, struct questinfo *qi);
bool (*questinfo_validate_quests) (struct map_session_data *sd, struct questinfo *qi);
- void (*questinfo_vector_clear) (int m);
+ bool (*questinfo_validate_mercenary_class) (struct map_session_data *sd, struct questinfo *qi);
};
#ifdef HERCULES_CORE
diff --git a/src/map/refine.c b/src/map/refine.c
new file mode 100644
index 000000000..4fe6e73c4
--- /dev/null
+++ b/src/map/refine.c
@@ -0,0 +1,669 @@
+/**
+* This file is part of Hercules.
+* http://herc.ws - http://github.com/HerculesWS/Hercules
+*
+* Copyright (C) 2019 Hercules Dev Team
+*
+* Hercules is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#define HERCULES_CORE
+
+#include "refine.p.h"
+#include "common/cbasetypes.h"
+#include "common/nullpo.h"
+#include "common/random.h"
+#include "common/showmsg.h"
+#include "common/strlib.h"
+#include "common/utils.h"
+#include "map/itemdb.h"
+#include "map/map.h"
+#include "map/pc.h"
+#include "map/script.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/** @file
+* Implementation of the refine interface.
+*/
+
+static struct refine_interface refine_s;
+static struct refine_interface_private refine_p;
+static struct refine_interface_dbs refine_dbs;
+struct refine_interface *refine;
+
+/// @copydoc refine_interface::refinery_refine_request()
+static void refine_refinery_refine_request(struct map_session_data *sd, int item_index, int material_id, bool use_blacksmith_blessing)
+{
+ nullpo_retv(sd);
+
+ if (item_index < 0 || item_index >= sd->status.inventorySize)
+ return;
+
+ if (!refine->p->is_refinable(sd, item_index))
+ return;
+
+ int weapon_level = itemdb_wlv(sd->status.inventory[item_index].nameid);
+ int refine_level = sd->status.inventory[item_index].refine;
+ int i = 0;
+ const struct s_refine_requirement *req = &refine->p->dbs->refine_info[weapon_level].refine_requirements[refine_level];
+ ARR_FIND(0, req->req_count, i, req->req[i].nameid == material_id);
+
+ if (i == req->req_count)
+ return;
+
+ if (use_blacksmith_blessing && req->blacksmith_blessing == 0)
+ return;
+
+ if (sd->status.zeny < req->req[i].cost)
+ return;
+
+ if (use_blacksmith_blessing) {
+ int count = 0;
+ for (int k = 0; k < sd->status.inventorySize; ++k) {
+ if (sd->status.inventory[k].nameid == ITEMID_BLACKSMITH_BLESSING)
+ count += sd->status.inventory[k].amount;
+ }
+
+ if (count < req->blacksmith_blessing)
+ return;
+ }
+
+ int idx;
+ if ((idx = pc->search_inventory(sd, req->req[i].nameid)) == INDEX_NOT_FOUND)
+ return;
+
+ if (use_blacksmith_blessing) {
+ int amount = req->blacksmith_blessing;
+ for (int k = 0; k < sd->status.inventorySize; ++k) {
+ if (sd->status.inventory[k].nameid != ITEMID_BLACKSMITH_BLESSING)
+ continue;
+
+ int delamount = (amount < sd->status.inventory[k].amount) ? amount : sd->status.inventory[k].amount;
+ if (pc->delitem(sd, k, delamount, 0, DELITEM_NORMAL, LOG_TYPE_REFINE) != 0)
+ break;
+
+ amount -= delamount;
+ if (amount == 0)
+ break;
+ }
+ }
+
+ if (pc->delitem(sd, idx, 1, 0, DELITEM_NORMAL, LOG_TYPE_REFINE) != 0)
+ return;
+
+ if (pc->payzeny(sd, req->req[i].cost, LOG_TYPE_REFINE, NULL) != 0)
+ return;
+
+ int refine_chance = refine->get_refine_chance(weapon_level, refine_level, req->req[i].type);
+ if (rnd() % 100 >= refine_chance) {
+ clif->misceffect(&sd->bl, 2);
+
+ int failure_behabior = (use_blacksmith_blessing) ? REFINE_FAILURE_BEHAVIOR_KEEP : req->req[i].failure_behavior;
+ switch (failure_behabior) {
+ case REFINE_FAILURE_BEHAVIOR_KEEP:
+ clif->refine(sd->fd, 1, 0, sd->status.inventory[item_index].refine);
+ refine->refinery_add_item(sd, item_index);
+ break;
+ case REFINE_FAILURE_BEHAVIOR_DOWNGRADE:
+ sd->status.inventory[item_index].refine -= 1;
+ sd->status.inventory[item_index].refine = cap_value(sd->status.inventory[item_index].refine, 0, MAX_REFINE);
+ clif->refine(sd->fd, 2, item_index, sd->status.inventory[item_index].refine);
+ logs->pick_pc(sd, LOG_TYPE_REFINE, 1, &sd->status.inventory[item_index], sd->inventory_data[item_index]);
+ refine->refinery_add_item(sd, item_index);
+ break;
+ case REFINE_FAILURE_BEHAVIOR_DESTROY:
+ default:
+ clif->refine(sd->fd, 1, item_index, sd->status.inventory[item_index].refine);
+ pc->delitem(sd, item_index, 1, 0, DELITEM_FAILREFINE, LOG_TYPE_REFINE);
+ break;
+ }
+
+ if ((req->announce & REFINE_ANNOUNCE_FAILURE) != 0)
+ clif->announce_refine_status(sd, sd->status.inventory[item_index].nameid, sd->status.inventory[item_index].refine, false, ALL_CLIENT);
+ } else {
+ sd->status.inventory[item_index].refine += 1;
+ sd->status.inventory[item_index].refine = cap_value(sd->status.inventory[item_index].refine, 0, MAX_REFINE);
+
+ clif->misceffect(&sd->bl, 3);
+ clif->refine(sd->fd, 0, item_index, sd->status.inventory[item_index].refine);
+ logs->pick_pc(sd, LOG_TYPE_REFINE, 1, &sd->status.inventory[item_index], sd->inventory_data[item_index]);
+ refine->refinery_add_item(sd, item_index);
+
+ if ((req->announce & REFINE_ANNOUNCE_SUCCESS) != 0)
+ clif->announce_refine_status(sd, sd->status.inventory[item_index].nameid, sd->status.inventory[item_index].refine, true, ALL_CLIENT);
+ }
+}
+
+/// @copydoc refine_interface::refinery_add_item()
+static void refine_refinery_add_item(struct map_session_data *sd, int item_index)
+{
+ nullpo_retv(sd);
+
+ if (item_index < 0 || item_index >= sd->status.inventorySize)
+ return;
+
+ if (!refine->p->is_refinable(sd, item_index))
+ return;
+
+ int weapon_level = itemdb_wlv(sd->status.inventory[item_index].nameid);
+ int refine_level = sd->status.inventory[item_index].refine;
+ clif->AddItemRefineryUIAck(sd, item_index, &refine->p->dbs->refine_info[weapon_level].refine_requirements[refine_level]);
+}
+
+/// @copydoc refine_interface_private::is_refinable()
+static bool refine_is_refinable(struct map_session_data *sd, int item_index)
+{
+ nullpo_retr(false, sd);
+ Assert_retr(false, item_index >= 0 && item_index < sd->status.inventorySize);
+
+ if (sd->status.inventory[item_index].nameid == 0)
+ return false;
+
+ struct item_data *itd = itemdb->search(sd->status.inventory[item_index].nameid);
+
+ if (itd == &itemdb->dummy)
+ return false;
+
+ if (itd->type != IT_WEAPON && itd->type != IT_ARMOR)
+ return false;
+
+ if (itd->flag.no_refine == 1)
+ return false;
+
+ if (sd->status.inventory[item_index].identify == 0)
+ return false;
+
+ if (sd->status.inventory[item_index].refine >= MAX_REFINE || sd->status.inventory[item_index].expire_time > 0)
+ return false;
+
+ if ((sd->status.inventory[item_index].attribute & ATTR_BROKEN) != 0)
+ return false;
+
+ return true;
+}
+
+/// @copydoc refine_interface::get_randombonus_max()
+static int refine_get_randombonus_max(enum refine_type equipment_type, int refine_level)
+{
+ Assert_ret((int)equipment_type >= REFINE_TYPE_ARMOR && equipment_type < REFINE_TYPE_MAX);
+ Assert_ret(refine_level > 0 && refine_level <= MAX_REFINE);
+
+ return refine->p->dbs->refine_info[equipment_type].randombonus_max[refine_level - 1];
+}
+
+/// @copydoc refine_interface::get_bonus()
+static int refine_get_bonus(enum refine_type equipment_type, int refine_level)
+{
+ Assert_ret((int)equipment_type >= REFINE_TYPE_ARMOR && equipment_type < REFINE_TYPE_MAX);
+ Assert_ret(refine_level > 0 && refine_level <= MAX_REFINE);
+
+ return refine->p->dbs->refine_info[equipment_type].bonus[refine_level - 1];
+}
+
+/// @copydoc refine_interface::get_refine_chance()
+static int refine_get_refine_chance(enum refine_type wlv, int refine_level, enum refine_chance_type type)
+{
+ Assert_ret((int)wlv >= REFINE_TYPE_ARMOR && wlv < REFINE_TYPE_MAX);
+
+ if (refine_level < 0 || refine_level >= MAX_REFINE)
+ return 0;
+
+ if (type >= REFINE_CHANCE_TYPE_MAX)
+ return 0;
+
+ return refine->p->dbs->refine_info[wlv].chance[type][refine_level];
+}
+
+/// @copydoc refine_interface_private::announce_behavior_string2enum()
+static bool refine_announce_behavior_string2enum(const char *str, unsigned int *result)
+{
+ nullpo_retr(false, str);
+ nullpo_retr(false, result);
+
+ if (strcasecmp(str, "Success") == 0)
+ *result = REFINE_ANNOUNCE_SUCCESS;
+ else if (strcasecmp(str, "Failure") == 0)
+ *result = REFINE_ANNOUNCE_FAILURE;
+ else if (strcasecmp(str, "Always") == 0)
+ *result = REFINE_ANNOUNCE_ALWAYS;
+ else
+ return false;
+
+ return true;
+}
+
+/// @copydoc refine_interface_private::failure_behavior_string2enum()
+static bool refine_failure_behavior_string2enum(const char *str, enum refine_ui_failure_behavior *result)
+{
+ nullpo_retr(false, str);
+ nullpo_retr(false, result);
+
+ if (strcasecmp(str, "Destroy") == 0)
+ *result = REFINE_FAILURE_BEHAVIOR_DESTROY;
+ else if (strcasecmp(str, "Keep") == 0)
+ *result = REFINE_FAILURE_BEHAVIOR_KEEP;
+ else if (strcasecmp(str, "Downgrade") == 0)
+ *result = REFINE_FAILURE_BEHAVIOR_DOWNGRADE;
+ else
+ return false;
+
+ return true;
+}
+
+/// @copydoc refine_interface_private::readdb_refinery_ui_settings_items()
+static bool refine_readdb_refinery_ui_settings_items(const struct config_setting_t *elem, struct s_refine_requirement *req, const char *name, const char *source)
+{
+ nullpo_retr(false, elem);
+ nullpo_retr(false, req);
+ nullpo_retr(false, name);
+ nullpo_retr(false, source);
+ Assert_retr(false, req->req_count < MAX_REFINE_REQUIREMENTS);
+
+ const char *aegis_name = config_setting_name(elem);
+ struct item_data *itd;
+
+ if ((itd = itemdb->search_name(aegis_name)) == NULL) {
+ ShowWarning("refine_readdb_requirements_items: Invalid item '%s' passed to requirements of '%s' in \"%s\" skipping...\n", aegis_name, name, source);
+ return false;
+ }
+
+ for (int i = 0; i < req->req_count; ++i) {
+ if (req->req[i].nameid == itd->nameid) {
+ ShowWarning("refine_readdb_requirements_items: Duplicated item '%s' passed to requirements of '%s' in \"%s\" skipping...\n", aegis_name, name, source);
+ return false;
+ }
+ }
+
+ const char *type_string = NULL;
+ if (libconfig->setting_lookup_string(elem, "Type", &type_string) == CONFIG_FALSE) {
+ ShowWarning("refine_readdb_requirements_items: no type passed to item '%s' of requirements of '%s' in \"%s\" skipping...\n", aegis_name, name, source);
+ return false;
+ }
+
+ int type;
+ if (!script->get_constant(type_string, &type)) {
+ ShowWarning("refine_readdb_requirements_items: invalid type '%s' passed to item '%s' of requirements of '%s' in \"%s\" skipping...\n", type_string, aegis_name, name, source);
+ return false;
+ }
+
+ int cost = 0;
+ if (libconfig->setting_lookup_int(elem, "Cost", &cost) == CONFIG_TRUE) {
+ if (cost < 1) {
+ ShowWarning("refine_readdb_requirements_items: invalid cost value %d passed to item '%s' of requirements of '%s' in \"%s\" defaulting to 0...\n", cost, aegis_name, name, source);
+ cost = 0;
+ }
+ }
+
+ enum refine_ui_failure_behavior behavior = REFINE_FAILURE_BEHAVIOR_DESTROY;
+ const char *behavior_string = NULL;
+ if (libconfig->setting_lookup_string(elem, "FailureBehavior", &behavior_string) != CONFIG_FALSE) {
+ if (!refine->p->failure_behavior_string2enum(behavior_string, &behavior)) {
+ ShowWarning("refine_readdb_requirements_items: invalid failure behavior value %s passed to item '%s' of requirements of '%s' in \"%s\" defaulting to 'Destroy'...\n", behavior_string, aegis_name, name, source);
+ }
+ }
+
+ req->req[req->req_count].nameid = itd->nameid;
+ req->req[req->req_count].type = type;
+ req->req[req->req_count].cost = cost;
+ req->req[req->req_count].failure_behavior = behavior;
+ req->req_count++;
+
+ return true;
+}
+
+/// @copydoc refine_interface_private::readdb_refinery_ui_settings_sub()
+static bool refine_readdb_refinery_ui_settings_sub(const struct config_setting_t *elem, int type, const char *name, const char *source)
+{
+ nullpo_retr(false, elem);
+ nullpo_retr(false, name);
+ nullpo_retr(false, source);
+ Assert_retr(0, type >= REFINE_TYPE_ARMOR && type < REFINE_TYPE_MAX);
+
+ struct config_setting_t *level_t;
+ bool levels[MAX_REFINE] = {0};
+
+ if ((level_t = libconfig->setting_get_member(elem, "Level")) == NULL) {
+ ShowWarning("refine_readdb_requirements_sub: a requirements element missing level field for entry '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ if (config_setting_is_scalar(level_t)) {
+ if (!config_setting_is_number(level_t)) {
+ ShowWarning("refine_readdb_requirements_sub: expected 'Level' field to be an integer '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ int refine_level = libconfig->setting_get_int(level_t);
+ if (refine_level < 1 || refine_level > MAX_REFINE) {
+ ShowWarning("refine_readdb_requirements_sub: Invalid 'Level' given value %d expected a value between %d and %d '%s' in \"%s\" skipping...\n", refine_level, 1, MAX_REFINE, name, source);
+ return false;
+ }
+
+ levels[refine_level - 1] = true;
+ } else if (config_setting_is_aggregate(level_t)) {
+ if (libconfig->setting_length(level_t) != 2) {
+ ShowWarning("refine_readdb_requirements_sub: invalid length for Level array, expected 2 found %d for entry '%s' in \"%s\" skipping...\n", libconfig->setting_length(level_t), name, source);
+ return false;
+ }
+
+ int levels_range[2];
+ const struct config_setting_t *level_entry = NULL;
+ int i = 0,
+ k = 0;
+ while ((level_entry = libconfig->setting_get_elem(level_t, i++)) != NULL) {
+ if (!config_setting_is_number(level_entry)) {
+ ShowWarning("refine_readdb_requirements_sub: expected 'Level' array field to be an integer '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ levels_range[k] = libconfig->setting_get_int(level_entry);
+ if (levels_range[k] < 1 || levels_range[k] > MAX_REFINE) {
+ ShowWarning("refine_readdb_requirements_sub: Invalid 'Level' given value %d expected a value between %d and %d in entry'%s' in \"%s\" skipping...\n", levels_range[k], 1, MAX_REFINE, name, source);
+ return false;
+ }
+
+ ++k;
+ }
+
+ if (!(levels_range[0] < levels_range[1])) {
+ ShowWarning("refine_readdb_requirements_sub: Invalid 'Level' range was given low %d high %d in entry'%s' in \"%s\" skipping...\n", levels_range[0], levels_range[1], name, source);
+ return false;
+ }
+
+ for (i = levels_range[0] - 1; i < levels_range[1]; ++i) {
+ levels[i] = true;
+ }
+ }
+
+ struct s_refine_requirement req = {0};
+ if (libconfig->setting_lookup_int(elem, "BlacksmithBlessing", &req.blacksmith_blessing) == CONFIG_TRUE) {
+ if (req.blacksmith_blessing < 1 || req.blacksmith_blessing > INT8_MAX) {
+ ShowWarning("refine_readdb_requirements_sub: Invalid 'BlacksmithBlessing' amount was given value %d expected a value between %d and %d in entry'%s' in \"%s\" defaulting to 0...\n", req.blacksmith_blessing, 1, INT8_MAX, name, source);
+ req.blacksmith_blessing = 0;
+ }
+ }
+
+ req.announce = 0;
+ const char *announce_behavior = NULL;
+ if (libconfig->setting_lookup_string(elem, "Announce", &announce_behavior) != CONFIG_FALSE) {
+ if (!refine->p->announce_behavior_string2enum(announce_behavior, &req.announce)) {
+ ShowWarning("refine_readdb_requirements_sub: invalid announce behavior value '%s' in entry '%s' in \"%s\" defaulting to not announce...\n", announce_behavior, name, source);
+ }
+ }
+
+ struct config_setting_t *items_t;
+ if ((items_t = libconfig->setting_get_member(elem, "Items")) == NULL) {
+ ShowWarning("refine_readdb_requirements_sub: a requirements element missing Items element for entry '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ if (libconfig->setting_length(items_t) < 1) {
+ ShowWarning("refine_readdb_requirements_sub: an Items element containing no items passed for entry '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ int loaded_items = 0;
+ for (int i = 0; i < libconfig->setting_length(items_t); ++i) {
+ if (req.req_count >= MAX_REFINE_REQUIREMENTS) {
+ ShowWarning("refine_readdb_requirements_sub: Too many items passed to requirements maximum possible items is %d entry '%s' in \"%s\" skipping...\n", MAX_REFINE_REQUIREMENTS, name, source);
+ continue;
+ }
+
+ struct config_setting_t *item_t = libconfig->setting_get_elem(items_t, i);
+
+ if (!refine->p->readdb_refinery_ui_settings_items(item_t, &req, name, source))
+ continue;
+
+ loaded_items++;
+ }
+
+ if (loaded_items == 0) {
+ ShowWarning("refine_readdb_requirements_sub: no valid items for requirements is passed for entry '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ for (int i = 0; i < MAX_REFINE; ++i) {
+ if (!levels[i])
+ continue;
+
+ refine->p->dbs->refine_info[type].refine_requirements[i] = req;
+ }
+
+ return true;
+}
+
+/// @copydoc refine_interface_private::readdb_refinery_ui_settings()
+static int refine_readdb_refinery_ui_settings(const struct config_setting_t *r, int type, const char *name, const char *source)
+{
+ nullpo_retr(0, r);
+ nullpo_retr(0, name);
+ nullpo_retr(0, source);
+ Assert_retr(0, type >= REFINE_TYPE_ARMOR && type < REFINE_TYPE_MAX);
+
+ int i = 0;
+ const struct config_setting_t *elem = NULL;
+ while ((elem = libconfig->setting_get_elem(r, i++)) != NULL) {
+ refine->p->readdb_refinery_ui_settings_sub(elem, type, name, source);
+ }
+
+ int retval = 0;
+ for (i = 0; i < MAX_REFINE; ++i) {
+ if (refine->p->dbs->refine_info[type].refine_requirements[i].req_count > 0)
+ retval++;
+ }
+
+ return retval;
+}
+
+/// @copydoc refine_interface_private::readdb_refine_libconfig_sub()
+static int refine_readdb_refine_libconfig_sub(struct config_setting_t *r, const char *name, const char *source)
+{
+ struct config_setting_t *rate = NULL;
+ int type = REFINE_TYPE_ARMOR, bonus_per_level = 0, rnd_bonus_v = 0, rnd_bonus_lv = 0;
+ char lv[4];
+ nullpo_ret(r);
+ nullpo_ret(name);
+ nullpo_ret(source);
+
+ if (strncmp(name, "Armors", 6) == 0) {
+ type = REFINE_TYPE_ARMOR;
+ } else if (strncmp(name, "WeaponLevel", 11) != 0 || !strspn(&name[strlen(name)-1], "0123456789") || (type = atoi(strncpy(lv, name+11, 2))) == REFINE_TYPE_ARMOR) {
+ ShowError("status_readdb_refine_libconfig_sub: Invalid key name for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+ if (type < REFINE_TYPE_ARMOR || type >= REFINE_TYPE_MAX) {
+ ShowError("status_readdb_refine_libconfig_sub: Out of range level for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ struct config_setting_t *refinery_ui_settings;
+ if ((refinery_ui_settings = libconfig->setting_get_member(r, "RefineryUISettings")) == NULL) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing Requirements for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ if (refine->p->readdb_refinery_ui_settings(refinery_ui_settings, type, name, source) != MAX_REFINE) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Not all refine levels have requrements entry for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ if (!libconfig->setting_lookup_int(r, "StatsPerLevel", &bonus_per_level)) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing StatsPerLevel for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+ if (!libconfig->setting_lookup_int(r, "RandomBonusStartLevel", &rnd_bonus_lv)) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing RandomBonusStartLevel for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+ if (!libconfig->setting_lookup_int(r, "RandomBonusValue", &rnd_bonus_v)) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing RandomBonusValue for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ if ((rate=libconfig->setting_get_member(r, "Rates")) != NULL && config_setting_is_group(rate)) {
+ bool duplicate[MAX_REFINE];
+ int bonus[MAX_REFINE], rnd_bonus[MAX_REFINE];
+ int chance[REFINE_CHANCE_TYPE_MAX][MAX_REFINE];
+
+ memset(&duplicate, 0, sizeof(duplicate));
+ memset(&bonus, 0, sizeof(bonus));
+ memset(&rnd_bonus, 0, sizeof(rnd_bonus));
+
+ for (int i = 0; i < REFINE_CHANCE_TYPE_MAX; i++)
+ for (int j = 0; j < MAX_REFINE; j++)
+ chance[i][j] = 100; // default value for all rates.
+
+ struct config_setting_t *t = NULL;
+ for (int i = 0; (t = libconfig->setting_get_elem(rate, i)) != NULL && config_setting_is_group(t); ++i) {
+ int level = 0, i32;
+ char *rlvl = config_setting_name(t);
+ memset(&lv, 0, sizeof(lv));
+
+ if (!strspn(&rlvl[strlen(rlvl) - 1], "0123456789") || (level = atoi(strncpy(lv, rlvl + 2, 3))) <= 0) {
+ ShowError("status_readdb_refine_libconfig_sub: Invalid refine level format '%s' for entry %s in \"%s\"... skipping.\n", rlvl, name, source);
+ continue;
+ }
+
+ if (level <= 0 || level > MAX_REFINE) {
+ ShowError("status_readdb_refine_libconfig_sub: Out of range refine level '%s' for entry %s in \"%s\"... skipping.\n", rlvl, name, source);
+ continue;
+ }
+
+ level--;
+
+ if (duplicate[level]) {
+ ShowWarning("status_readdb_refine_libconfig_sub: duplicate rate '%s' for entry %s in \"%s\", overwriting previous entry...\n", rlvl, name, source);
+ } else {
+ duplicate[level] = true;
+ }
+
+ if (libconfig->setting_lookup_int(t, "NormalChance", &i32) != 0)
+ chance[REFINE_CHANCE_TYPE_NORMAL][level] = i32;
+ else
+ chance[REFINE_CHANCE_TYPE_NORMAL][level] = 100;
+
+ if (libconfig->setting_lookup_int(t, "EnrichedChance", &i32) != 0)
+ chance[REFINE_CHANCE_TYPE_ENRICHED][level] = i32;
+ else
+ chance[REFINE_CHANCE_TYPE_ENRICHED][level] = level > 10 ? 0 : 100; // enriched ores up to +10 only.
+
+ if (libconfig->setting_lookup_int(t, "EventNormalChance", &i32) != 0)
+ chance[REFINE_CHANCE_TYPE_E_NORMAL][level] = i32;
+ else
+ chance[REFINE_CHANCE_TYPE_E_NORMAL][level] = 100;
+
+ if (libconfig->setting_lookup_int(t, "EventEnrichedChance", &i32) != 0)
+ chance[REFINE_CHANCE_TYPE_E_ENRICHED][level] = i32;
+ else
+ chance[REFINE_CHANCE_TYPE_E_ENRICHED][level] = level > 10 ? 0 : 100; // enriched ores up to +10 only.
+
+ if (libconfig->setting_lookup_int(t, "Bonus", &i32) != 0)
+ bonus[level] += i32;
+
+ if (level >= rnd_bonus_lv - 1)
+ rnd_bonus[level] = rnd_bonus_v * (level - rnd_bonus_lv + 2);
+ }
+ for (int i = 0; i < MAX_REFINE; i++) {
+ refine->p->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_NORMAL][i] = chance[REFINE_CHANCE_TYPE_NORMAL][i];
+ refine->p->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_E_NORMAL][i] = chance[REFINE_CHANCE_TYPE_E_NORMAL][i];
+ refine->p->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_ENRICHED][i] = chance[REFINE_CHANCE_TYPE_ENRICHED][i];
+ refine->p->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_E_ENRICHED][i] = chance[REFINE_CHANCE_TYPE_E_ENRICHED][i];
+ refine->p->dbs->refine_info[type].randombonus_max[i] = rnd_bonus[i];
+ bonus[i] += bonus_per_level + (i > 0 ? bonus[i - 1] : 0);
+ refine->p->dbs->refine_info[type].bonus[i] = bonus[i];
+ }
+ } else {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing refine rates for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ return type + 1;
+}
+
+/// @copydoc refine_interface_private::readdb_refine_libconfig()
+static int refine_readdb_refine_libconfig(const char *filename)
+{
+ nullpo_retr(0, filename);
+
+ bool duplicate[REFINE_TYPE_MAX];
+ struct config_t refine_db_conf;
+ struct config_setting_t *r;
+ char filepath[256];
+ int i = 0, count = 0;
+
+ safesnprintf(filepath, sizeof(filepath), "%s/%s", map->db_path, filename);
+ if (!libconfig->load_file(&refine_db_conf, filepath))
+ return 0;
+
+ memset(&duplicate, 0, sizeof(duplicate));
+
+ while((r = libconfig->setting_get_elem(refine_db_conf.root, i++))) {
+ char *name = config_setting_name(r);
+ int type = refine->p->readdb_refine_libconfig_sub(r, name, filename);
+ if (type != 0) {
+ if (duplicate[type - 1]) {
+ ShowWarning("status_readdb_refine_libconfig: duplicate entry for %s in \"%s\", overwriting previous entry...\n", name, filename);
+ } else {
+ duplicate[type - 1] = true;
+ }
+ count++;
+ }
+ }
+ libconfig->destroy(&refine_db_conf);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filename);
+
+ return count;
+}
+
+/// @copydoc refine_interface::init()
+static int refine_init(bool minimal)
+{
+ if (minimal)
+ return 0;
+
+ refine->p->readdb_refine_libconfig(DBPATH"refine_db.conf");
+ return 0;
+}
+
+/// @copydoc refine_interface::final()
+static void refine_final(void)
+{
+}
+
+void refine_defaults(void)
+{
+ refine = &refine_s;
+ refine->p = &refine_p;
+ refine->p->dbs = &refine_dbs;
+
+ refine->p->readdb_refine_libconfig = refine_readdb_refine_libconfig;
+ refine->p->readdb_refine_libconfig_sub = refine_readdb_refine_libconfig_sub;
+ refine->p->announce_behavior_string2enum = refine_announce_behavior_string2enum;
+ refine->p->failure_behavior_string2enum = refine_failure_behavior_string2enum;
+ refine->p->readdb_refinery_ui_settings_items = refine_readdb_refinery_ui_settings_items;
+ refine->p->readdb_refinery_ui_settings_sub = refine_readdb_refinery_ui_settings_sub;
+ refine->p->readdb_refinery_ui_settings = refine_readdb_refinery_ui_settings;
+ refine->p->is_refinable = refine_is_refinable;
+
+ refine->init = refine_init;
+ refine->final = refine_final;
+ refine->refinery_refine_request = refine_refinery_refine_request;
+ refine->refinery_add_item = refine_refinery_add_item;
+ refine->get_refine_chance = refine_get_refine_chance;
+ refine->get_bonus = refine_get_bonus;
+ refine->get_randombonus_max = refine_get_randombonus_max;
+}
diff --git a/src/map/refine.h b/src/map/refine.h
new file mode 100644
index 000000000..410811e06
--- /dev/null
+++ b/src/map/refine.h
@@ -0,0 +1,148 @@
+/**
+* This file is part of Hercules.
+* http://herc.ws - http://github.com/HerculesWS/Hercules
+*
+* Copyright (C) 2019 Hercules Dev Team
+*
+* Hercules is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MAP_REFINE_H
+#define MAP_REFINE_H
+
+/** @file
+ * Refine Interface.
+ **/
+#include "common/hercules.h"
+#include "common/mmo.h"
+
+/* Defines */
+/**
+* Max Refine available to your server
+* Changing this limit requires edits to refine_db.conf
+**/
+#ifdef RENEWAL
+ #define MAX_REFINE 20
+#else
+ #define MAX_REFINE 10
+#endif
+
+/* Forward Declarations */
+struct refine_interface_private;
+
+/* Enums */
+enum refine_type {
+ REFINE_TYPE_ARMOR = 0,
+ REFINE_TYPE_WEAPON1 = 1,
+ REFINE_TYPE_WEAPON2 = 2,
+ REFINE_TYPE_WEAPON3 = 3,
+ REFINE_TYPE_WEAPON4 = 4,
+#ifndef REFINE_TYPE_MAX
+ REFINE_TYPE_MAX = 5
+#endif
+};
+
+enum refine_chance_type {
+ REFINE_CHANCE_TYPE_NORMAL = 0, // Normal Chance
+ REFINE_CHANCE_TYPE_ENRICHED = 1, // Enriched Ore Chance
+ REFINE_CHANCE_TYPE_E_NORMAL = 2, // Event Normal Ore Chance
+ REFINE_CHANCE_TYPE_E_ENRICHED = 3, // Event Enriched Ore Chance
+ REFINE_CHANCE_TYPE_MAX
+};
+
+enum refine_ui_failure_behavior {
+ REFINE_FAILURE_BEHAVIOR_DESTROY,
+ REFINE_FAILURE_BEHAVIOR_KEEP,
+ REFINE_FAILURE_BEHAVIOR_DOWNGRADE
+};
+
+/* Structure */
+struct s_refine_requirement {
+ int blacksmith_blessing;
+ int req_count;
+ unsigned int announce;
+
+ struct {
+ int nameid;
+ int cost;
+ enum refine_chance_type type;
+ enum refine_ui_failure_behavior failure_behavior;
+ } req[MAX_REFINE_REQUIREMENTS];
+};
+
+/**
+ * Refine Interface
+ **/
+struct refine_interface {
+ struct refine_interface_private *p;
+
+ /**
+ * Initialize refine system
+ * @param minimal sets refine system to minimal mode in which it won't load or initialize itself
+ * @return returns 0 in-case of success 1 otherwise
+ **/
+ int (*init)(bool minimal);
+
+ /**
+ * Finalize refine system
+ **/
+ void (*final)(void);
+
+ /**
+ * Get the chance to upgrade a piece of equipment.
+ * @param wlv The weapon type of the item to refine (see see enum refine_type)
+ * @param refine The target refine level
+ * @return The chance to refine the item, in percent (0~100)
+ **/
+ int (*get_refine_chance) (enum refine_type wlv, int refine_level, enum refine_chance_type type);
+
+ /**
+ * Gets the attack/deffense bonus for the given equipment type and refine level
+ * @param equipment_type the equipment type
+ * @param refine_level the equipment refine level
+ * @return returns the bonus from refine db
+ **/
+ int (*get_bonus) (enum refine_type equipment_type, int refine_level);
+
+ /**
+ * Gets the maximum attack/deffense random bonus for the given equipment type and refine level
+ * @param equipment_type the equipment type
+ * @param refine_level the equipment refine level
+ * @return returns the bonus from refine db
+ **/
+ int(*get_randombonus_max) (enum refine_type equipment_type, int refine_level);
+
+ /**
+ * Validates and send Item addition packet to the client for refinery UI
+ * @param sd player session data.
+ * @param item_index the requested item index in inventory.
+ **/
+ void (*refinery_add_item) (struct map_session_data *sd, int item_index);
+
+ /**
+ * Processes an refine request through Refinery UI
+ * @param sd player session data
+ * @param item_index the index of the requested item
+ * @param material_id the refine material chosen by player
+ * @param use_blacksmith_blessing sets either if blacksmith blessing is requested to be used or not
+ **/
+ void (*refinery_refine_request) (struct map_session_data *sd, int item_index, int material_id, bool use_blacksmith_blessing);
+};
+
+#ifdef HERCULES_CORE
+void refine_defaults(void);
+#endif
+
+HPShared struct refine_interface *refine;
+#endif
diff --git a/src/map/refine.p.h b/src/map/refine.p.h
new file mode 100644
index 000000000..3247d15c9
--- /dev/null
+++ b/src/map/refine.p.h
@@ -0,0 +1,144 @@
+/**
+* This file is part of Hercules.
+* http://herc.ws - http://github.com/HerculesWS/Hercules
+*
+* Copyright (C) 2019 Hercules Dev Team
+*
+* Hercules is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MAP_REFINE_P_H
+#define MAP_REFINE_P_H
+
+/** @file
+ * Private header for the refine interface.
+ **/
+
+#include "refine.h"
+#include "common/conf.h"
+/* Enums */
+enum refine_announce_condition {
+ REFINE_ANNOUNCE_SUCCESS = 0x1,
+ REFINE_ANNOUNCE_FAILURE = 0x2,
+ REFINE_ANNOUNCE_ALWAYS = REFINE_ANNOUNCE_SUCCESS | REFINE_ANNOUNCE_FAILURE,
+};
+
+/* Structures */
+struct s_refine_info {
+ int chance[REFINE_CHANCE_TYPE_MAX][MAX_REFINE]; //< success chance
+ int bonus[MAX_REFINE]; //< cumulative fixed bonus damage
+ int randombonus_max[MAX_REFINE]; //< cumulative maximum random bonus damage
+ struct s_refine_requirement refine_requirements[MAX_REFINE]; //< The requirements used for refinery UI
+};
+
+struct refine_interface_dbs {
+ struct s_refine_info refine_info[REFINE_TYPE_MAX];
+};
+
+/**
+ * Refine Private Interface
+ **/
+struct refine_interface_private {
+ struct refine_interface_dbs *dbs;
+
+ /**
+ * Processes a refine_db.conf entry.
+ *
+ * @param r Libconfig setting entry. It is expected to be valid and it
+ * won't be freed (it is care of the caller to do so if
+ * necessary)
+ * @param n Ordinal number of the entry, to be displayed in case of
+ * validation errors.
+ * @param source Source of the entry (file name), to be displayed in case of
+ * validation errors.
+ * @return # of the validated entry, or 0 in case of failure.
+ **/
+ int (*readdb_refine_libconfig_sub) (struct config_setting_t *r, const char *name, const char *source);
+
+ /**
+ * Reads from a libconfig-formatted refine_db.conf file.
+ *
+ * @param *filename File name, relative to the database path.
+ * @return The number of found entries.
+ **/
+ int (*readdb_refine_libconfig) (const char *filename);
+
+ /**
+ * Converts refine database announce behvaior string to enum refine_announce_condition
+ * @param str the string to convert
+ * @param result pointer to where the converted value will be held
+ * @return true on success, false otherwise.
+ **/
+ bool (*announce_behavior_string2enum) (const char *str, unsigned int *result);
+
+ /**
+ * Converts refine database failure behvaior string to enum refine_ui_failure_behavior
+ * @param str the string to convert
+ * @param result pointer to where the converted value will be held
+ * @return true on success, false otherwise.
+ **/
+ bool (*failure_behavior_string2enum) (const char *str, enum refine_ui_failure_behavior *result);
+
+ /**
+ * Processes a refine_db.conf RefineryUISettings items entry.
+ *
+ * @param elem Libconfig setting entry. It is expected to be valid and it
+ * won't be freed (it is care of the caller to do so if
+ * necessary)
+ * @param req a pointer to requirements struct to fill with the item data
+ * @param name the current element name
+ * @param source Source of the entry (file name), to be displayed in case of
+ * validation errors.
+ * @return true on success, false otherwise.
+ **/
+ bool (*readdb_refinery_ui_settings_items) (const struct config_setting_t *elem, struct s_refine_requirement *req, const char *name, const char *source);
+
+ /**
+ * Processes a refine_db.conf RefineryUISettings entry.
+ *
+ * @param elem Libconfig setting entry. It is expected to be valid and it
+ * won't be freed (it is care of the caller to do so if
+ * necessary)
+ * @param type the type index in refine database to fill the data
+ * @param name the current element name
+ * @param source Source of the entry (file name), to be displayed in case of
+ * validation errors.
+ * @return true on success, false otherwise.
+ **/
+ bool (*readdb_refinery_ui_settings_sub) (const struct config_setting_t *elem, int type, const char *name, const char *source);
+
+ /**
+ * Reads a refine_db.conf RefineryUISettings entry and sends it to be processed.
+ *
+ * @param r Libconfig setting entry. It is expected to be valid and it
+ * won't be freed (it is care of the caller to do so if
+ * necessary)
+ * @param type the type index in refine database to fill the data
+ * @param name the current element name
+ * @param source Source of the entry (file name), to be displayed in case of
+ * validation errors.
+ * @return true on success, false otherwise.
+ **/
+ int (*readdb_refinery_ui_settings) (const struct config_setting_t *r, int type, const char *name, const char *source);
+
+ /**
+ * Checks if a given item in player's inventory is refineable.
+ * @param sd player session data.
+ * @param item_index the item index in player's inventory.
+ * @return true if item is refineable, false otherwise.
+ **/
+ bool (*is_refinable) (struct map_session_data *sd, int item_index);
+};
+
+#endif
diff --git a/src/map/rodex.c b/src/map/rodex.c
index 602754d42..766fdc5ea 100644
--- a/src/map/rodex.c
+++ b/src/map/rodex.c
@@ -83,7 +83,7 @@ static void rodex_add_item(struct map_session_data *sd, int16 idx, int16 amount)
nullpo_retv(sd);
- if (idx < 0 || idx >= MAX_INVENTORY) {
+ if (idx < 0 || idx >= sd->status.inventorySize) {
clif->rodex_add_item_result(sd, idx, amount, RODEX_ADD_ITEM_FATAL_ERROR);
return;
}
@@ -160,7 +160,7 @@ static void rodex_remove_item(struct map_session_data *sd, int16 idx, int16 amou
struct item_data *itd;
nullpo_retv(sd);
- Assert_retv(idx >= 0 && idx < MAX_INVENTORY);
+ Assert_retv(idx >= 0 && idx < sd->status.inventorySize);
for (i = 0; i < RODEX_MAX_ITEM; ++i) {
if (sd->rodex.tmp.items[i].idx == idx)
@@ -204,7 +204,7 @@ static void rodex_remove_item(struct map_session_data *sd, int16 idx, int16 amou
/// @param base_level : Reference to return the character base level, if he exists
/// @param char_id : Reference to return the character id, if he exists
/// @param class : Reference to return the character class id, if he exists
-static void rodex_check_player(struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class)
+static void rodex_check_player(struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class)
{
intif->rodex_checkname(sd, name);
}
@@ -404,12 +404,12 @@ static void rodex_read_mail(struct map_session_data *sd, int64 mail_id)
if (msg->opentype == RODEX_OPENTYPE_RETURN) {
if (msg->sender_read == false) {
- intif->rodex_updatemail(msg->id, 4);
+ intif->rodex_updatemail(sd, msg->id, 0, 4);
msg->sender_read = true;
}
} else {
if (msg->is_read == false) {
- intif->rodex_updatemail(msg->id, 0);
+ intif->rodex_updatemail(sd, msg->id, 0, 0);
msg->is_read = true;
}
}
@@ -430,21 +430,36 @@ static void rodex_delete_mail(struct map_session_data *sd, int64 mail_id)
nullpo_retv(msg);
msg->is_deleted = true;
- intif->rodex_updatemail(msg->id, 3);
+ intif->rodex_updatemail(sd, msg->id, 0, 3);
clif->rodex_delete_mail(sd, msg->opentype, msg->id);
}
+/// give requested zeny from message to player
+static void rodex_getZenyAck(struct map_session_data *sd, int64 mail_id, int8 opentype, int64 zeny)
+{
+ nullpo_retv(sd);
+ if (zeny <= 0) {
+ clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_FATAL_ERROR);
+ return;
+ }
+
+ if (pc->getzeny(sd, (int)zeny, LOG_TYPE_MAIL, NULL) != 0) {
+ clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_FATAL_ERROR);
+ return;
+ }
+
+ clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_SUCCESS);
+}
+
/// Gets attached zeny
/// @param sd : Who's getting
/// @param mail_id : Mail ID that we're getting zeny from
static void rodex_get_zeny(struct map_session_data *sd, int8 opentype, int64 mail_id)
{
- struct rodex_message *msg;
-
nullpo_retv(sd);
- msg = rodex->get_mail(sd, mail_id);
+ struct rodex_message *msg = rodex->get_mail(sd, mail_id);
if (msg == NULL) {
clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_FATAL_ERROR);
@@ -456,16 +471,31 @@ static void rodex_get_zeny(struct map_session_data *sd, int8 opentype, int64 mai
return;
}
- if (pc->getzeny(sd, (int)msg->zeny, LOG_TYPE_MAIL, NULL) != 0) {
- clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_FATAL_ERROR);
- return;
- }
-
msg->type &= ~MAIL_TYPE_ZENY;
msg->zeny = 0;
- intif->rodex_updatemail(mail_id, 1);
+ intif->rodex_updatemail(sd, mail_id, opentype, 1);
+}
- clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_SUCCESS);
+// give requested items from message to player
+static void rodex_getItemsAck(struct map_session_data *sd, int64 mail_id, int8 opentype, int count, const struct rodex_item *items)
+{
+ nullpo_retv(sd);
+ nullpo_retv(items);
+
+ for (int i = 0; i < count; ++i) {
+ const struct item *it = &items[i].item;
+
+ if (it->nameid == 0) {
+ continue;
+ }
+
+ if (pc->additem(sd, it, it->amount, LOG_TYPE_MAIL) != 0) {
+ clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEM_FULL_ERROR);
+ return;
+ }
+ }
+
+ clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEMS_SUCCESS);
}
/// Gets attached item
@@ -473,14 +503,12 @@ static void rodex_get_zeny(struct map_session_data *sd, int8 opentype, int64 mai
/// @param mail_id : Mail ID that we're getting items from
static void rodex_get_items(struct map_session_data *sd, int8 opentype, int64 mail_id)
{
- struct rodex_message *msg;
- int weight = 0;
- int empty_slots = 0, required_slots;
- int i;
-
nullpo_retv(sd);
- msg = rodex->get_mail(sd, mail_id);
+ int weight = 0;
+ int empty_slots = 0;
+
+ struct rodex_message *msg = rodex->get_mail(sd, mail_id);
if (msg == NULL) {
clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEM_FATAL_ERROR);
@@ -492,7 +520,7 @@ static void rodex_get_items(struct map_session_data *sd, int8 opentype, int64 ma
return;
}
- for (i = 0; i < RODEX_MAX_ITEM; ++i) {
+ for (int i = 0; i < RODEX_MAX_ITEM; ++i) {
if (msg->items[i].item.nameid != 0) {
weight += itemdb->search(msg->items[i].item.nameid)->weight * msg->items[i].item.amount;
}
@@ -503,8 +531,8 @@ static void rodex_get_items(struct map_session_data *sd, int8 opentype, int64 ma
return;
}
- required_slots = msg->items_count;
- for (i = 0; i < MAX_INVENTORY; ++i) {
+ int required_slots = msg->items_count;
+ for (int i = 0; i < sd->status.inventorySize; ++i) {
if (sd->status.inventory[i].nameid == 0) {
empty_slots++;
} else if (itemdb->isstackable(sd->status.inventory[i].nameid) == 1) {
@@ -529,27 +557,9 @@ static void rodex_get_items(struct map_session_data *sd, int8 opentype, int64 ma
return;
}
- for (i = 0; i < RODEX_MAX_ITEM; ++i) {
- struct item *it = &msg->items[i].item;
-
- if (it->nameid == 0) {
- continue;
- }
-
- if (pc->additem(sd, it, it->amount, LOG_TYPE_MAIL) != 0) {
- clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEM_FULL_ERROR);
- intif->rodex_updatemail(mail_id, 2);
- return;
- } else {
- memset(it, 0x0, sizeof(*it));
- }
- }
-
msg->type &= ~MAIL_TYPE_ITEM;
msg->items_count = 0;
- intif->rodex_updatemail(mail_id, 2);
-
- clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEMS_SUCCESS);
+ intif->rodex_updatemail(sd, mail_id, opentype, 2);
}
/// Cleans user's RoDEX related data
@@ -668,4 +678,6 @@ void rodex_defaults(void)
rodex->get_zeny = rodex_get_zeny;
rodex->get_items = rodex_get_items;
rodex->clean = rodex_clean;
+ rodex->getZenyAck = rodex_getZenyAck;
+ rodex->getItemsAck = rodex_getItemsAck;
}
diff --git a/src/map/rodex.h b/src/map/rodex.h
index ddf7cb32b..b6e7ca5b7 100644
--- a/src/map/rodex.h
+++ b/src/map/rodex.h
@@ -65,7 +65,7 @@ struct rodex_interface {
void (*refresh) (struct map_session_data *sd, int8 open_type, int64 first_mail_id);
void (*add_item) (struct map_session_data *sd, int16 idx, int16 amount);
void (*remove_item) (struct map_session_data *sd, int16 idx, int16 amount);
- void (*check_player) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class);
+ void (*check_player) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class);
int (*send_mail) (struct map_session_data *sd, const char *receiver_name, const char *body, const char *title, int64 zeny);
void (*send_mail_result) (struct map_session_data *ssd, struct map_session_data *rsd, bool result);
struct rodex_message *(*get_mail) (struct map_session_data *sd, int64 mail_id);
@@ -74,6 +74,8 @@ struct rodex_interface {
void (*get_items) (struct map_session_data *sd, int8 opentype, int64 mail_id);
void (*delete_mail) (struct map_session_data *sd, int64 mail_id);
void (*clean) (struct map_session_data *sd, int8 flag);
+ void (*getZenyAck) (struct map_session_data *sd, int64 mail_id, int8 opentype, int64 zeny);
+ void (*getItemsAck) (struct map_session_data *sd, int64 mail_id, int8 opentype, int count, const struct rodex_item *items);
};
#ifdef HERCULES_CORE
diff --git a/src/map/script.c b/src/map/script.c
index 65ffc1a6d..d9c3660d0 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -52,6 +52,7 @@
#include "map/pet.h"
#include "map/pet.h"
#include "map/quest.h"
+#include "map/refine.h"
#include "map/skill.h"
#include "map/status.h"
#include "map/status.h"
@@ -3316,95 +3317,28 @@ static void set_reg_npcscope_str(struct script_state *st, struct reg_db *n, int6
static void set_reg_pc_ref_str(struct script_state *st, struct reg_db *n, int64 num, const char *name, const char *str)
{
- struct script_reg_str *p = NULL;
- unsigned int index = script_getvaridx(num);
-
- nullpo_retv(n);
-
- if ((p = i64db_get(n->vars, num)) != NULL) {
- if (str[0]) {
- if (p->value) {
- aFree(p->value);
- } else if (index) {
- script->array_update(n, num, false);
- }
- p->value = aStrdup(str);
- } else {
- p->value = NULL;
- if (index) {
- script->array_update(n, num, true);
- }
- }
-
- if (!pc->reg_load) {
- p->flag.update = 1;
- }
- } else if (str[0]) {
- struct DBData prev;
- if (index) {
- script->array_update(n, num, false);
- }
-
- p = ers_alloc(pc->str_reg_ers, struct script_reg_str);
- p->value = aStrdup(str);
+ struct DBIterator *iter = db_iterator(map->pc_db);
- if (!pc->reg_load) {
- p->flag.update = 1;
- }
- p->flag.type = 1;
-
- if(n->vars->put(n->vars, DB->i642key(num), DB->ptr2data(p), &prev)) {
- p = DB->data2ptr(&prev);
- if (p->value) {
- aFree(p->value);
- }
- ers_free(pc->str_reg_ers, p);
+ for (struct map_session_data *sd = dbi_first(iter); dbi_exists(iter); sd = dbi_next(iter)) {
+ if (sd != NULL && n == &sd->regs) {
+ pc->setregistry_str(sd, num, str);
+ break;
}
}
+ dbi_destroy(iter);
}
static void set_reg_pc_ref_num(struct script_state *st, struct reg_db *n, int64 num, const char *name, int val)
{
- struct script_reg_num *p = NULL;
- unsigned int index = script_getvaridx(num);
-
- nullpo_retv(n);
+ struct DBIterator *iter = db_iterator(map->pc_db);
- if ((p = i64db_get(n->vars, num)) != NULL) {
- if (val) {
- if (!p->value && index) {
- script->array_update(n, num, false);
- }
- p->value = val;
- } else {
- p->value = 0;
- if (index) {
- script->array_update(n, num, true);
- }
- }
-
- if (!pc->reg_load) {
- p->flag.update = 1;
- }
- } else if (val) {
- struct DBData prev;
- if (index) {
- script->array_update(n, num, false);
- }
-
- p = ers_alloc(pc->num_reg_ers, struct script_reg_num);
- p->value = val;
-
- if (!pc->reg_load) {
- p->flag.update = 1;
- }
- p->flag.type = 1;
-
- if(n->vars->put(n->vars, DB->i642key(num), DB->ptr2data(p), &prev)) {
- p = DB->data2ptr(&prev);
- ers_free(pc->num_reg_ers, p);
+ for (struct map_session_data *sd = dbi_first(iter); dbi_exists(iter); sd = dbi_next(iter)) {
+ if (sd != NULL && n == &sd->regs) {
+ pc->setregistry(sd, num, val);
+ break;
}
}
+ dbi_destroy(iter);
}
static void set_reg_npcscope_num(struct script_state *st, struct reg_db *n, int64 num, const char *name, int val)
@@ -4688,6 +4622,9 @@ static void run_script_main(struct script_state *st)
nullpo_retv(st);
script->attach_state(st);
+ if (st->state != END && Assert_chk(st->state == RUN || st->state == STOP || st->state == RERUNLINE)) {
+ st->state = END;
+ }
nd = map->id2nd(st->oid);
if( nd && nd->bl.m >= 0 )
@@ -5965,10 +5902,14 @@ static bool script_sprintf_helper(struct script_state *st, int start, struct Str
static BUILDIN(mes)
{
struct map_session_data *sd = script->rid2sd(st);
+
if (sd == NULL)
return true;
- clif->scriptmes(sd, st->oid, script_getstr(st, 2));
+ if (script_hasdata(st, 2))
+ clif->scriptmes(sd, st->oid, script_getstr(st, 2));
+ else
+ clif->scriptmes(sd, st->oid, "");
return true;
}
@@ -6021,6 +5962,19 @@ static BUILDIN(next)
return true;
}
+/// Clears the NPC dialog and continues the script without press next button.
+///
+/// mesclear();
+static BUILDIN(mesclear)
+{
+ struct map_session_data *sd = script->rid2sd(st);
+
+ if (sd != NULL)
+ clif->scriptclear(sd, st->oid);
+
+ return true;
+}
+
/// Ends the script and displays the button 'close' on the npc dialog.
/// The dialog is closed when the button is pressed.
///
@@ -6162,11 +6116,11 @@ static BUILDIN(menu)
sd->state.menu_or_input = 1;
/* menus beyond this length crash the client (see bugreport:6402) */
- if( StrBuf->Length(&buf) >= 2047 ) {
+ if( StrBuf->Length(&buf) >= MAX_MENU_LENGTH - 1 ) {
struct npc_data * nd = map->id2nd(st->oid);
char* menu;
- CREATE(menu, char, 2048);
- safestrncpy(menu, StrBuf->Value(&buf), 2047);
+ CREATE(menu, char, MAX_MENU_LENGTH);
+ safestrncpy(menu, StrBuf->Value(&buf), MAX_MENU_LENGTH - 1);
ShowWarning("NPC Menu too long! (source:%s / length:%d)\n",nd?nd->name:"Unknown",StrBuf->Length(&buf));
clif->scriptmenu(sd, st->oid, menu);
aFree(menu);
@@ -6175,13 +6129,13 @@ static BUILDIN(menu)
StrBuf->Destroy(&buf);
- if( sd->npc_menu >= 0xff )
+ if( sd->npc_menu >= MAX_MENU_OPTIONS )
{// client supports only up to 254 entries; 0 is not used and 255 is reserved for cancel; excess entries are displayed but cause 'uint8' overflow
- ShowWarning("buildin_menu: Too many options specified (current=%d, max=254).\n", sd->npc_menu);
+ ShowWarning("buildin_menu: Too many options specified (current=%d, max=%d).\n", sd->npc_menu, MAX_MENU_OPTIONS - 1);
script->reportsrc(st);
}
}
- else if( sd->npc_menu == 0xff )
+ else if( sd->npc_menu == MAX_MENU_OPTIONS )
{// Cancel was pressed
sd->state.menu_or_input = 0;
st->state = END;
@@ -6263,11 +6217,11 @@ static BUILDIN(select)
sd->state.menu_or_input = 1;
/* menus beyond this length crash the client (see bugreport:6402) */
- if( StrBuf->Length(&buf) >= 2047 ) {
+ if( StrBuf->Length(&buf) >= MAX_MENU_LENGTH - 1 ) {
struct npc_data * nd = map->id2nd(st->oid);
char* menu;
- CREATE(menu, char, 2048);
- safestrncpy(menu, StrBuf->Value(&buf), 2047);
+ CREATE(menu, char, MAX_MENU_LENGTH);
+ safestrncpy(menu, StrBuf->Value(&buf), MAX_MENU_LENGTH - 1);
ShowWarning("NPC Menu too long! (source:%s / length:%d)\n",nd?nd->name:"Unknown",StrBuf->Length(&buf));
clif->scriptmenu(sd, st->oid, menu);
aFree(menu);
@@ -6275,107 +6229,31 @@ static BUILDIN(select)
clif->scriptmenu(sd, st->oid, StrBuf->Value(&buf));
StrBuf->Destroy(&buf);
- if( sd->npc_menu >= 0xff ) {
- ShowWarning("buildin_select: Too many options specified (current=%d, max=254).\n", sd->npc_menu);
+ if( sd->npc_menu >= MAX_MENU_OPTIONS ) {
+ ShowWarning("buildin_select: Too many options specified (current=%d, max=%d).\n", sd->npc_menu, MAX_MENU_OPTIONS - 1);
script->reportsrc(st);
}
- } else if( sd->npc_menu == 0xff ) {// Cancel was pressed
- sd->state.menu_or_input = 0;
- st->state = END;
- } else {// return selected option
- int menu = 0;
-
+ } else if(sd->npc_menu == MAX_MENU_OPTIONS) { // Cancel was pressed
sd->state.menu_or_input = 0;
- for( i = 2; i <= script_lastdata(st); ++i ) {
- text = script_getstr(st, i);
- sd->npc_menu -= script->menu_countoptions(text, sd->npc_menu, &menu);
- if( sd->npc_menu <= 0 )
- break;// entry found
- }
- pc->setreg(sd, script->add_variable("@menu"), menu);
- script_pushint(st, menu);
- st->state = RUN;
- }
- return true;
-}
-
-/// Displays a menu with options and returns the selected option.
-/// Behaves like 'menu' without the target labels, except when cancel is
-/// pressed.
-/// When cancel is pressed, the script continues and 255 is returned.
-///
-/// prompt(<option_text>{,<option_text>,...}) -> <selected_option>
-///
-/// @see menu
-static BUILDIN(prompt)
-{
- int i;
- const char *text;
- struct map_session_data *sd = script->rid2sd(st);
- if (sd == NULL)
- return true;
-
-#ifdef SECURE_NPCTIMEOUT
- sd->npc_idle_type = NPCT_MENU;
-#endif
-
- if( sd->state.menu_or_input == 0 )
- {
- struct StringBuf buf;
-
- StrBuf->Init(&buf);
- sd->npc_menu = 0;
- for( i = 2; i <= script_lastdata(st); ++i )
- {
- text = script_getstr(st, i);
- if( sd->npc_menu > 0 )
- StrBuf->AppendStr(&buf, ":");
- StrBuf->AppendStr(&buf, text);
- sd->npc_menu += script->menu_countoptions(text, 0, NULL);
- }
-
- st->state = RERUNLINE;
- sd->state.menu_or_input = 1;
-
- /* menus beyond this length crash the client (see bugreport:6402) */
- if( StrBuf->Length(&buf) >= 2047 ) {
- struct npc_data * nd = map->id2nd(st->oid);
- char* menu;
- CREATE(menu, char, 2048);
- safestrncpy(menu, StrBuf->Value(&buf), 2047);
- ShowWarning("NPC Menu too long! (source:%s / length:%d)\n",nd?nd->name:"Unknown",StrBuf->Length(&buf));
- clif->scriptmenu(sd, st->oid, menu);
- aFree(menu);
- } else
- clif->scriptmenu(sd, st->oid, StrBuf->Value(&buf));
- StrBuf->Destroy(&buf);
- if( sd->npc_menu >= 0xff )
- {
- ShowWarning("buildin_prompt: Too many options specified (current=%d, max=254).\n", sd->npc_menu);
- script->reportsrc(st);
+ if (strncmp(get_buildin_name(st), "prompt", 6) == 0) {
+ pc->setreg(sd, script->add_variable("@menu"), MAX_MENU_OPTIONS);
+ script_pushint(st, MAX_MENU_OPTIONS); // XXX: we should really be pushing -1 instead
+ st->state = RUN;
+ } else {
+ st->state = END;
}
- }
- else if( sd->npc_menu == 0xff )
- {// Cancel was pressed
- sd->state.menu_or_input = 0;
- pc->setreg(sd, script->add_variable("@menu"), 0xff);
- script_pushint(st, 0xff);
- st->state = RUN;
- }
- else
- {// return selected option
+ } else {// return selected option
int menu = 0;
sd->state.menu_or_input = 0;
- for( i = 2; i <= script_lastdata(st); ++i )
- {
+ for( i = 2; i <= script_lastdata(st); ++i ) {
text = script_getstr(st, i);
sd->npc_menu -= script->menu_countoptions(text, sd->npc_menu, &menu);
if( sd->npc_menu <= 0 )
break;// entry found
}
- pc->setreg(sd, script->add_variable("@menu"), menu);
+ pc->setreg(sd, script->add_variable("@menu"), menu); // TODO: throw a deprecation warning for scripts using @menu
script_pushint(st, menu);
st->state = RUN;
}
@@ -6994,7 +6872,7 @@ static BUILDIN(heal)
hp=script_getnum(st,2);
sp=script_getnum(st,3);
- status->heal(&sd->bl, hp, sp, 1);
+ status->heal(&sd->bl, hp, sp, STATUS_HEAL_FORCED);
return true;
}
/*==========================================
@@ -7083,59 +6961,60 @@ static BUILDIN(jobname)
return true;
}
-/// Get input from the player.
-/// For numeric inputs the value is capped to the range [min,max]. Returns 1 if
-/// the value was higher than 'max', -1 if lower than 'min' and 0 otherwise.
-/// For string inputs it returns 1 if the string was longer than 'max', -1 is
-/// shorter than 'min' and 0 otherwise.
-///
-/// input(<var>{,<min>{,<max>}}) -> <int>
+/*
+ * Get input from the player.
+ * For numeric inputs the value is capped to the range [min,max]. Returns 1 if
+ * the value was higher than 'max', -1 if lower than 'min' and 0 otherwise.
+ * For string inputs it returns 1 if the string was longer than 'max', -1 is
+ * shorter than 'min' and 0 otherwise.
+ *
+ * input(<var>{,<min>{,<max>}}) -> <int>
+ */
static BUILDIN(input)
{
- struct script_data* data;
- int64 uid;
- const char* name;
- int min;
- int max;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
return true;
- data = script_getdata(st,2);
- if( !data_isreference(data) ) {
+ struct script_data *data = script_getdata(st, 2);
+ if (!data_isreference(data)) {
ShowError("script:input: not a variable\n");
script->reportdata(data);
st->state = END;
return false;
}
- uid = reference_getuid(data);
- name = reference_getname(data);
- min = (script_hasdata(st,3) ? script_getnum(st,3) : script->config.input_min_value);
- max = (script_hasdata(st,4) ? script_getnum(st,4) : script->config.input_max_value);
+
+ int64 uid = reference_getuid(data);
+ const char *name = reference_getname(data);
+ int min = (script_hasdata(st, 3) ? script_getnum(st, 3) : script->config.input_min_value);
+ int max = (script_hasdata(st, 4) ? script_getnum(st, 4) : script->config.input_max_value);
#ifdef SECURE_NPCTIMEOUT
sd->npc_idle_type = NPCT_WAIT;
#endif
- if( !sd->state.menu_or_input ) {
+ if (!sd->state.menu_or_input) {
// first invocation, display npc input box
sd->state.menu_or_input = 1;
st->state = RERUNLINE;
- if( is_string_variable(name) )
- clif->scriptinputstr(sd,st->oid);
- else
- clif->scriptinput(sd,st->oid);
+ if (is_string_variable(name)) {
+ clif->scriptinputstr(sd, st->oid);
+ } else {
+ sd->npc_amount_min = min;
+ sd->npc_amount_max = max;
+ clif->scriptinput(sd, st->oid);
+ }
} else {
// take received text/value and store it in the designated variable
sd->state.menu_or_input = 0;
if (is_string_variable(name)) {
int len = (int)strlen(sd->npc_str);
- script->set_reg(st, sd, uid, name, sd->npc_str, script_getref(st,2));
+ script->set_reg(st, sd, uid, name, sd->npc_str, script_getref(st, 2));
script_pushint(st, (len > max ? 1 : len < min ? -1 : 0));
} else {
int amount = sd->npc_amount;
script->set_reg(st, sd, uid, name, (const void *)h64BPTRSIZE(cap_value(amount,min,max)), script_getref(st,2));
- script_pushint(st, (amount > max ? 1 : amount < min ? -1 : 0));
+ script_pushint(st, sd->npc_input_capped_range);
}
st->state = RUN;
}
@@ -7692,7 +7571,6 @@ static BUILDIN(viewpoint)
*------------------------------------------*/
static BUILDIN(countitem)
{
- int nameid, i;
int count = 0;
struct item_data* id = NULL;
@@ -7714,11 +7592,12 @@ static BUILDIN(countitem)
return false;
}
- nameid = id->nameid;
+ int nameid = id->nameid;
- for(i = 0; i < MAX_INVENTORY; i++)
- if(sd->status.inventory[i].nameid == nameid)
+ for (int i = 0; i < sd->status.inventorySize; i++) {
+ if (sd->status.inventory[i].nameid == nameid)
count += sd->status.inventory[i].amount;
+ }
script_pushint(st,count);
return true;
@@ -7732,7 +7611,6 @@ static BUILDIN(countitem2)
{
int nameid, iden, ref, attr, c1, c2, c3, c4;
int count = 0;
- int i;
struct item_data* id = NULL;
struct map_session_data *sd = script->rid2sd(st);
@@ -7762,7 +7640,7 @@ static BUILDIN(countitem2)
c3 = script_getnum(st,8);
c4 = script_getnum(st,9);
- for(i = 0; i < MAX_INVENTORY; i++)
+ for (int i = 0; i < sd->status.inventorySize; i++)
if (sd->status.inventory[i].nameid > 0 && sd->inventory_data[i] != NULL &&
sd->status.inventory[i].amount > 0 && sd->status.inventory[i].nameid == nameid &&
sd->status.inventory[i].identify == iden && sd->status.inventory[i].refine == ref &&
@@ -7777,6 +7655,65 @@ static BUILDIN(countitem2)
}
/*==========================================
+ * countnameditem(item ID, { <Char Name / ID> })
+ * returns number of named items.
+ *------------------------------------------*/
+static BUILDIN(countnameditem)
+{
+ int count = 0;
+ struct item_data* id = NULL;
+ struct map_session_data *sd;
+
+ if (script_hasdata(st, 3)) {
+ if (script_isstringtype(st, 3)) {
+ // Character name was given
+ sd = script->nick2sd(st, script_getstr(st, 3));
+ } else {
+ // Character ID was given
+ sd = script->charid2sd(st, script_getnum(st, 3));
+ }
+ } else {
+ // Use RID by default if no name was provided
+ sd = script->rid2sd(st);
+ }
+
+ // Player not attached
+ if (sd == NULL) {
+ return true;
+ }
+
+ if (script_isstringtype(st, 2)) {
+ // Get item from DB via item name
+ id = itemdb->search_name(script_getstr(st, 2));
+ } else {
+ // Get item from DB via item ID
+ id = itemdb->exists(script_getnum(st, 2));
+ }
+
+ if (id == NULL) {
+ ShowError("buildin_countnameditem: Invalid item '%s'.\n", script_getstr(st, 2)); // returns string, regardless of what it was
+ script_pushint(st, 0);
+ return false;
+ }
+
+ for (int i = 0; i < MAX_INVENTORY; i++) {
+ if (sd->status.inventory[i].nameid > 0 &&
+ sd->inventory_data[i] != NULL &&
+ sd->status.inventory[i].amount > 0 &&
+ sd->status.inventory[i].nameid == id->nameid &&
+ sd->status.inventory[i].card[0] == CARD0_CREATE &&
+ sd->status.inventory[i].card[2] == sd->status.char_id &&
+ sd->status.inventory[i].card[3] == sd->status.char_id >> 16)
+ {
+ count += sd->status.inventory[i].amount;
+ }
+ }
+
+ script_pushint(st, count);
+ return true;
+}
+
+/*==========================================
* Check if item with this amount can fit in inventory
* Checking : weight, stack amount >32k, slots amount >(MAX_INVENTORY)
* Return
@@ -8255,12 +8192,12 @@ static BUILDIN(getnameditem)
}
memset(&item_tmp,0,sizeof(item_tmp));
- item_tmp.nameid=nameid;
- item_tmp.amount=1;
- item_tmp.identify=1;
- item_tmp.card[0]=CARD0_CREATE; //we don't use 255! because for example SIGNED WEAPON shouldn't get TOP10 BS Fame bonus [Lupus]
- item_tmp.card[2]=tsd->status.char_id;
- item_tmp.card[3]=tsd->status.char_id >> 16;
+ item_tmp.nameid = nameid;
+ item_tmp.amount = 1;
+ item_tmp.identify = 1;
+ item_tmp.card[0] = CARD0_CREATE; //we don't use 255! because for example SIGNED WEAPON shouldn't get TOP10 BS Fame bonus [Lupus]
+ item_tmp.card[2] = GetWord(tsd->status.char_id, 0);
+ item_tmp.card[3] = GetWord(tsd->status.char_id, 1);
if(pc->additem(sd,&item_tmp,1,LOG_TYPE_SCRIPT)) {
script_pushint(st,0);
return true; //Failed to add item, we will not drop if they don't fit
@@ -8837,32 +8774,23 @@ static BUILDIN(getcharid)
return true;
}
+
/*==========================================
* returns the GID of an NPC
*------------------------------------------*/
static BUILDIN(getnpcid)
{
- int num = script_getnum(st,2);
- struct npc_data* nd = NULL;
-
- if( script_hasdata(st,3) )
- {// unique npc name
- if( ( nd = npc->name2id(script_getstr(st,3)) ) == NULL )
- {
- ShowError("buildin_getnpcid: No such NPC '%s'.\n", script_getstr(st,3));
- script_pushint(st,0);
- return false;
+ if (script_hasdata(st, 2)) {
+ if (script_isinttype(st, 2)) {
+ // Deprecate old form - getnpcid(<type>{, <"npc name">})
+ ShowWarning("buildin_getnpcid: Use of type is deprecated. Format - getnpcid({<\"npc name\">})\n");
+ script_pushint(st, 0);
+ } else {
+ struct npc_data *nd = npc->name2id(script_getstr(st, 2));
+ script_pushint(st, (nd != NULL) ? nd->bl.id : 0);
}
- }
-
- switch (num) {
- case 0:
- script_pushint(st,nd ? nd->bl.id : st->oid);
- break;
- default:
- ShowError("buildin_getnpcid: invalid parameter (%d).\n", num);
- script_pushint(st,0);
- return false;
+ } else {
+ script_pushint(st, st->oid);
}
return true;
@@ -9296,13 +9224,13 @@ static BUILDIN(getequipname)
*------------------------------------------*/
static BUILDIN(getbrokenid)
{
- int i,num,id=0,brokencounter=0;
+ int num,id=0,brokencounter=0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
return true;
num=script_getnum(st,2);
- for(i=0; i<MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
if ((sd->status.inventory[i].attribute & ATTR_BROKEN) != 0) {
@@ -9329,7 +9257,7 @@ static BUILDIN(getbrokencount)
if (sd == NULL)
return true;
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
if ((sd->status.inventory[i].attribute & ATTR_BROKEN) != 0)
@@ -9346,14 +9274,13 @@ static BUILDIN(getbrokencount)
*------------------------------------------*/
static BUILDIN(repair)
{
- int i,num;
int repaircounter=0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
return true;
- num=script_getnum(st,2);
- for(i=0; i<MAX_INVENTORY; i++) {
+ int num = script_getnum(st, 2);
+ for(int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
if ((sd->status.inventory[i].attribute & ATTR_BROKEN) != 0) {
@@ -9361,7 +9288,7 @@ static BUILDIN(repair)
if(num==repaircounter) {
sd->status.inventory[i].attribute |= ATTR_BROKEN;
sd->status.inventory[i].attribute ^= ATTR_BROKEN;
- clif->equiplist(sd);
+ clif->equipList(sd);
clif->produce_effect(sd, 0, sd->status.inventory[i].nameid);
clif->misceffect(&sd->bl, 3);
break;
@@ -9377,12 +9304,12 @@ static BUILDIN(repair)
*------------------------------------------*/
static BUILDIN(repairall)
{
- int i, repaircounter = 0;
+ int repaircounter = 0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
return true;
- for(i = 0; i < MAX_INVENTORY; i++)
+ for (int i = 0; i < sd->status.inventorySize; i++)
{
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
@@ -9398,7 +9325,7 @@ static BUILDIN(repairall)
if(repaircounter)
{
clif->misceffect(&sd->bl, 3);
- clif->equiplist(sd);
+ clif->equipList(sd);
}
return true;
@@ -9593,7 +9520,7 @@ static BUILDIN(getequippercentrefinery)
if (i >= 0 && sd->status.inventory[i].nameid != 0 && sd->status.inventory[i].refine < MAX_REFINE)
script_pushint(st,
- status->get_refine_chance(itemdb_wlv(sd->status.inventory[i].nameid), (int) sd->status.inventory[i].refine, (enum refine_chance_type) type));
+ refine->get_refine_chance(itemdb_wlv(sd->status.inventory[i].nameid), (int) sd->status.inventory[i].refine, (enum refine_chance_type) type));
else
script_pushint(st, 0);
@@ -9805,6 +9732,25 @@ static BUILDIN(statusup2)
return true;
}
+
+/*==========================================
+* Returns the number of stat points needed to change the specified stat by val.
+* needed_status_point(<type>,<val>); [secretdataz]
+*------------------------------------------*/
+static BUILDIN(needed_status_point)
+{
+ int type = script_getnum(st, 2);
+ int val = script_getnum(st, 3);;
+ struct map_session_data *sd = script->rid2sd(st);
+
+ if (sd == NULL)
+ script_pushint(st, 0);
+ else
+ script_pushint(st, pc->need_status_point(sd, type, val));
+
+ return true;
+}
+
/// See 'doc/item_bonus.txt'
///
/// bonus <bonus type>,<val1>;
@@ -10673,24 +10619,36 @@ static BUILDIN(gettime)
return true;
}
-/*==========================================
+/*
* GetTimeStr("TimeFMT", Length);
- *------------------------------------------*/
+ */
static BUILDIN(gettimestr)
{
char *tmpstr;
const char *fmtstr;
int maxlen;
- time_t now = time(NULL);
+ time_t now;
- fmtstr=script_getstr(st,2);
- maxlen=script_getnum(st,3);
+ fmtstr = script_getstr(st, 2);
+ maxlen = script_getnum(st, 3);
- tmpstr=(char *)aMalloc((maxlen+1)*sizeof(char));
- strftime(tmpstr,maxlen,fmtstr,localtime(&now));
- tmpstr[maxlen]='\0';
+ if (script_hasdata(st, 4)) {
+ int timestamp = script_getnum(st, 4);
+ if (timestamp < 0) {
+ ShowWarning("buildin_gettimestr: UNIX timestamp must be in positive value.\n");
+ return false;
+ }
+
+ now = (time_t)timestamp;
+ } else {
+ now = time(NULL);
+ }
+
+ tmpstr = (char *)aMalloc((maxlen +1)*sizeof(char));
+ strftime(tmpstr, maxlen, fmtstr, localtime(&now));
+ tmpstr[maxlen] = '\0';
- script_pushstr(st,tmpstr);
+ script_pushstr(st, tmpstr);
return true;
}
@@ -10802,7 +10760,7 @@ static BUILDIN(makepet)
if (pet_id >= 0 && sd) {
sd->catch_target_class = pet->db[pet_id].class_;
intif->create_pet(sd->status.account_id, sd->status.char_id,
- (short)pet->db[pet_id].class_, (short)mob->db(pet->db[pet_id].class_)->lv,
+ pet->db[pet_id].class_, mob->db(pet->db[pet_id].class_)->lv,
pet->db[pet_id].EggID, 0, (short)pet->db[pet_id].intimate,
100, 0, 1, pet->db[pet_id].jname);
}
@@ -11100,10 +11058,16 @@ static BUILDIN(killmonster)
int16 m,allflag=0;
mapname=script_getstr(st,2);
event=script_getstr(st,3);
- if(strcmp(event,"All")==0)
+
+ if (strcmpi(event, "all") == 0) {
+ if (strcmp(event, "all") != 0) {
+ ShowWarning("buildin_killmonster: \"%s\" deprecated! Please use \"all\" instead.\n", event);
+ script->reportsrc(st);
+ }
allflag = 1;
- else
+ } else {
script->check_event(st, event);
+ }
if( (m=map->mapname2mapid(mapname))<0 )
return true;
@@ -11164,6 +11128,21 @@ static BUILDIN(killmonsterall)
return true;
}
+static BUILDIN(killmonstergid)
+{
+ int mobgid = script_getnum(st, 2);
+ struct mob_data *md = map->id2md(mobgid);
+
+ if (md == NULL) {
+ ShowWarning("buildin_killmonstergid: Error in finding monster GID '%d' or the target is not a monster.\n", mobgid);
+ return false;
+ }
+
+ md->state.npc_killmonster = 1;
+ status_kill(&md->bl);
+ return true;
+}
+
/*==========================================
* Creates a clone of a player.
* clone map, x, y, event, char_id, master_id, mode, flag, duration
@@ -11439,7 +11418,7 @@ static int buildin_getunits_sub(struct block_list *bl, va_list ap)
(const void *)h64BPTRSIZE(bl->id), ref);
(*count)++;
- return 0;
+ return 1;
}
static int buildin_getunits_sub_pc(struct map_session_data *sd, va_list ap)
@@ -11511,18 +11490,10 @@ static BUILDIN(getunits)
int16 x2 = script_getnum(st, 8);
int16 y2 = script_getnum(st, 9);
- // FIXME: map_foreachinarea does NOT stop iterating when the callback
- // function returns -1. we still limit the array size, but
- // this doesn't break the loop. We need a foreach function
- // that behaves like map_foreachiddb, but for areas
- map->foreachinarea(buildin_getunits_sub, m, x1, y1, x2, y2, type,
+ map->forcountinarea(buildin_getunits_sub, m, x1, y1, x2, y2, limit, type,
st, sd, id, start, &count, limit, name, ref, type);
} else {
- // FIXME: map_foreachinmap does NOT stop iterating when the callback
- // function returns -1. we still limit the array size, but
- // this doesn't break the loop. We need a foreach function
- // that behaves like map_foreachiddb, but for maps
- map->foreachinmap(buildin_getunits_sub, m, type,
+ map->forcountinmap(buildin_getunits_sub, m, limit, type,
st, sd, id, start, &count, limit, name, ref, type);
}
} else {
@@ -11807,6 +11778,18 @@ static BUILDIN(playerattached)
}
/*==========================================
+ * Used by OnTouchNPC: label to return monster GID
+ *------------------------------------------*/
+static BUILDIN(mobattached)
+{
+ if (st->rid == 0 || map->id2md(st->rid) == NULL)
+ script_pushint(st, 0);
+ else
+ script_pushint(st, st->rid);
+ return true;
+}
+
+/*==========================================
*------------------------------------------*/
static BUILDIN(announce)
{
@@ -12331,7 +12314,9 @@ static BUILDIN(sc_end)
}
//This should help status_change_end force disabling the SC in case it has no limit.
- sce->val1 = sce->val2 = sce->val3 = sce->val4 = 0;
+ if (type != SC_BERSERK)
+ sce->val1 = 0; // SC_BERSERK requires skill_lv that's stored in sce->val1 when being removed [KirieZ]
+ sce->val2 = sce->val3 = sce->val4 = 0;
status_change_end(bl, (sc_type)type, INVALID_TIMER);
}
else
@@ -13087,7 +13072,8 @@ enum mapinfo_info {
MAPINFO_ID,
MAPINFO_SIZE_X,
MAPINFO_SIZE_Y,
- MAPINFO_ZONE
+ MAPINFO_ZONE,
+ MAPINFO_NPC_COUNT
};
static BUILDIN(getmapinfo)
@@ -13112,7 +13098,7 @@ static BUILDIN(getmapinfo)
}
if (bl == NULL) {
- ShowError("script:getmapinfo: map not supplied and NPC/PC not attached!\n");
+ ShowError("buildin_getmapinfo: map not supplied and NPC/PC not attached!\n");
script_pushint(st, -3);
return false;
}
@@ -13143,8 +13129,11 @@ static BUILDIN(getmapinfo)
case MAPINFO_ZONE:
script_pushstrcopy(st, map->list[m].zone->name);
break;
+ case MAPINFO_NPC_COUNT:
+ script_pushint(st, map->list[m].npc_num);
+ break;
default:
- ShowError("script:getmapinfo: unknown option in second argument (%u).\n", mode);
+ ShowError("buildin_getmapinfo: unknown option in second argument (%u).\n", mode);
script_pushint(st, -2);
return false;
}
@@ -13950,7 +13939,8 @@ static BUILDIN(failedremovecards)
if (sd->status.inventory[i].card[c] > 0 && itemdb_type(sd->status.inventory[i].card[c]) == IT_CARD) {
cardflag = 1;
- sd->status.inventory[i].card[c] = 0;
+ if (typefail == 1)
+ sd->status.inventory[i].card[c] = 0;
if (typefail == 2) { // add cards to inventory, clear
int flag;
@@ -14476,6 +14466,9 @@ static BUILDIN(getiteminfo)
case ITEMINFO_VIEWSPRITE:
script_pushint(st, it->view_sprite);
break;
+ case ITEMINFO_TRADE:
+ script_pushint(st, it->flag.trade_restriction);
+ break;
default:
ShowError("buildin_getiteminfo: Invalid item type %d.\n", n);
script_pushint(st,-1);
@@ -14742,6 +14735,9 @@ static BUILDIN(setiteminfo)
case ITEMINFO_VIEWSPRITE:
it->view_sprite = value;
break;
+ case ITEMINFO_TRADE:
+ it->flag.trade_restriction = value;
+ break;
default:
ShowError("buildin_setiteminfo: invalid type %d.\n", n);
script_pushint(st,-1);
@@ -14862,47 +14858,55 @@ static BUILDIN(petloot)
* Set arrays with info of all sd inventory :
* @inventorylist_id, @inventorylist_amount, @inventorylist_equip,
* @inventorylist_refine, @inventorylist_identify, @inventorylist_attribute,
- * @inventorylist_card(0..3), @inventorylist_expire
+ * @inventorylist_card(0..3),
+ * @inventorylist_opt_id(0..MAX_ITEM_OPTIONS),
+ * @inventorylist_opt_val(0..MAX_ITEM_OPTIONS),
+ * @inventorylist_opt_param(0..MAX_ITEM_OPTIONS),
+ * @inventorylist_expire, @inventorylist_bound, @inventorylist_favorite,
+ * @inventorylist_idx
* @inventorylist_count = scalar
*------------------------------------------*/
static BUILDIN(getinventorylist)
{
struct map_session_data *sd = script->rid2sd(st);
- char card_var[SCRIPT_VARNAME_LENGTH];
+ char script_var[SCRIPT_VARNAME_LENGTH];
+ int j = 0, k = 0;
- int i,j=0,k;
- if(!sd) return true;
+ if (sd == NULL)
+ return true;
- for(i=0;i<MAX_INVENTORY;i++) {
- if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].amount > 0) {
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_id"), j),sd->status.inventory[i].nameid);
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_amount"), j),sd->status.inventory[i].amount);
- if(sd->status.inventory[i].equip) {
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_equip"), j),pc->equippoint(sd,i));
+ for (int i = 0; i < sd->status.inventorySize; i++) {
+ if (sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].amount > 0) {
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_id"), j), sd->status.inventory[i].nameid);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_amount"), j), sd->status.inventory[i].amount);
+ if (sd->status.inventory[i].equip != 0) {
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_equip"), j), pc->equippoint(sd, i));
} else {
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_equip"), j),0);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_equip"), j), 0);
}
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_refine"), j),sd->status.inventory[i].refine);
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_identify"), j),sd->status.inventory[i].identify);
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_attribute"), j),sd->status.inventory[i].attribute);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_refine"), j), sd->status.inventory[i].refine);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_identify"), j), sd->status.inventory[i].identify);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_attribute"), j), sd->status.inventory[i].attribute);
for (k = 0; k < MAX_SLOTS; k++) {
- sprintf(card_var, "@inventorylist_card%d",k+1);
- pc->setreg(sd,reference_uid(script->add_variable(card_var), j),sd->status.inventory[i].card[k]);
+ sprintf(script_var, "@inventorylist_card%d", k + 1);
+ pc->setreg(sd, reference_uid(script->add_variable(script_var), j), sd->status.inventory[i].card[k]);
}
for (k = 0; k < MAX_ITEM_OPTIONS; k++) {
- sprintf(card_var, "@inventorylist_opt_id%d", k + 1);
- pc->setreg(sd, reference_uid(script->add_variable(card_var), j), sd->status.inventory[i].option[k].index);
- sprintf(card_var, "@inventorylist_opt_val%d", k + 1);
- pc->setreg(sd, reference_uid(script->add_variable(card_var), j), sd->status.inventory[i].option[k].value);
- sprintf(card_var, "@inventorylist_opt_param%d", k + 1);
- pc->setreg(sd, reference_uid(script->add_variable(card_var), j), sd->status.inventory[i].option[k].param);
+ sprintf(script_var, "@inventorylist_opt_id%d", k + 1);
+ pc->setreg(sd, reference_uid(script->add_variable(script_var), j), sd->status.inventory[i].option[k].index);
+ sprintf(script_var, "@inventorylist_opt_val%d", k + 1);
+ pc->setreg(sd, reference_uid(script->add_variable(script_var), j), sd->status.inventory[i].option[k].value);
+ sprintf(script_var, "@inventorylist_opt_param%d", k + 1);
+ pc->setreg(sd, reference_uid(script->add_variable(script_var), j), sd->status.inventory[i].option[k].param);
}
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_expire"), j),sd->status.inventory[i].expire_time);
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_bound"), j),sd->status.inventory[i].bound);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_expire"), j), sd->status.inventory[i].expire_time);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_bound"), j), sd->status.inventory[i].bound);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_favorite"), j), sd->status.inventory[i].favorite);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_idx"), j), i);
j++;
}
}
- pc->setreg(sd,script->add_variable("@inventorylist_count"),j);
+ pc->setreg(sd, script->add_variable("@inventorylist_count"), j);
return true;
}
@@ -14964,10 +14968,9 @@ static BUILDIN(getskilllist)
static BUILDIN(clearitem)
{
struct map_session_data *sd = script->rid2sd(st);
- int i;
if (sd == NULL)
return true;
- for (i=0; i<MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].amount) {
pc->delitem(sd, i, sd->status.inventory[i].amount, 0, DELITEM_NORMAL, LOG_TYPE_SCRIPT);
}
@@ -15424,6 +15427,50 @@ static BUILDIN(specialeffect2)
return true;
}
+static BUILDIN(removespecialeffect)
+{
+ struct block_list *bl = NULL;
+ int type = script_getnum(st, 2);
+ enum send_target target = AREA;
+
+ if (script_hasdata(st, 3)) {
+ target = script_getnum(st, 3);
+ }
+
+ if (script_hasdata(st, 4)) {
+ if (script_isstringtype(st, 4)) {
+ struct npc_data *nd = npc->name2id(script_getstr(st, 4));
+ if (nd != NULL) {
+ bl = &nd->bl;
+ }
+ } else {
+ bl = map->id2bl(script_getnum(st, 4));
+ }
+ } else {
+ bl = map->id2bl(st->oid);
+ }
+
+ if (bl == NULL) {
+ return true;
+ }
+
+ if (target == SELF) {
+ struct map_session_data *sd;
+ if (script_hasdata(st, 5)) {
+ sd = map->id2sd(script_getnum(st, 5));
+ } else {
+ sd = script->rid2sd(st);
+ }
+ if (sd != NULL) {
+ clif->removeSpecialEffect_single(bl, type, &sd->bl);
+ }
+ } else {
+ clif->removeSpecialEffect(bl, type, target);
+ }
+
+ return true;
+}
+
/*==========================================
* Nude [Valaris]
*------------------------------------------*/
@@ -15572,36 +15619,74 @@ static BUILDIN(recovery)
return true;
}
-/*==========================================
- * Get your pet info: getpetinfo(n)
- * n -> 0:pet_id 1:pet_class 2:pet_name
- * 3:friendly 4:hungry, 5: rename flag.
- *------------------------------------------*/
+/*
+ * Get your current pet information
+ */
static BUILDIN(getpetinfo)
{
struct map_session_data *sd = script->rid2sd(st);
- struct pet_data *pd;
- int type=script_getnum(st,2);
+ if (sd == NULL)
+ return true;
- if (sd == NULL || sd->pd == NULL) {
- if (type == 2)
- script_pushconststr(st,"null");
+ struct pet_data *pd = sd->pd;
+ int type = script_getnum(st, 2);
+ if (pd == NULL) {
+ if (type == PETINFO_NAME)
+ script_pushconststr(st, "null");
else
- script_pushint(st,0);
+ script_pushint(st, 0);
return true;
}
- pd = sd->pd;
+
switch(type) {
- case 0: script_pushint(st,pd->pet.pet_id); break;
- case 1: script_pushint(st,pd->pet.class_); break;
- case 2: script_pushstrcopy(st,pd->pet.name); break;
- case 3: script_pushint(st,pd->pet.intimate); break;
- case 4: script_pushint(st,pd->pet.hungry); break;
- case 5: script_pushint(st,pd->pet.rename_flag); break;
- default:
- script_pushint(st,0);
- break;
+ case PETINFO_ID:
+ script_pushint(st, pd->pet.pet_id);
+ break;
+ case PETINFO_CLASS:
+ script_pushint(st, pd->pet.class_);
+ break;
+ case PETINFO_NAME:
+ script_pushstrcopy(st, pd->pet.name);
+ break;
+ case PETINFO_INTIMACY:
+ script_pushint(st, pd->pet.intimate);
+ break;
+ case PETINFO_HUNGRY:
+ script_pushint(st, pd->pet.hungry);
+ break;
+ case PETINFO_RENAME:
+ script_pushint(st, pd->pet.rename_flag);
+ break;
+ case PETINFO_GID:
+ script_pushint(st, pd->bl.id);
+ break;
+ case PETINFO_EGGITEM:
+ script_pushint(st, pd->pet.egg_id);
+ break;
+ case PETINFO_FOODITEM:
+ script_pushint(st, pd->petDB->FoodID);
+ break;
+ case PETINFO_ACCESSORYITEM:
+ script_pushint(st, pd->petDB->AcceID);
+ break;
+ case PETINFO_ACCESSORYFLAG:
+ script_pushint(st, (pd->pet.equip != 0)? 1:0);
+ break;
+ case PETINFO_EVO_EGGID:
+ if (VECTOR_DATA(pd->petDB->evolve_data) != NULL)
+ script_pushint(st, VECTOR_DATA(pd->petDB->evolve_data)->petEggId);
+ else
+ script_pushint(st, 0);
+ break;
+ case PETINFO_AUTOFEED:
+ script_pushint(st, pd->pet.autofeed);
+ break;
+ default:
+ ShowWarning("buildin_getpetinfo: Invalid type %d.\n", type);
+ script_pushint(st, 0);
+ return false;
}
+
return true;
}
@@ -15639,20 +15724,15 @@ static BUILDIN(gethominfo)
return true;
}
-/// Retrieves information about character's mercenary
-/// getmercinfo <type>[,<char id>];
+/*
+ * Retrieves information about character's mercenary
+ * getmercinfo <type>{, <char id> };
+ */
static BUILDIN(getmercinfo)
{
- int type;
- struct map_session_data* sd;
- struct mercenary_data* md;
-
- type = script_getnum(st,2);
-
- if (script_hasdata(st,3)) {
- int char_id = script_getnum(st,3);
-
- if ((sd = script->charid2sd(st, char_id)) == NULL) {
+ struct map_session_data *sd;
+ if (script_hasdata(st, 3)) {
+ if ((sd = script->charid2sd(st, script_getnum(st, 3))) == NULL) {
script_pushnil(st);
return true;
}
@@ -15661,27 +15741,48 @@ static BUILDIN(getmercinfo)
return true;
}
- md = ( sd->status.mer_id && sd->md ) ? sd->md : NULL;
+ struct mercenary_data *md = (sd->status.mer_id && sd->md)? sd->md : NULL;
+ int type = script_getnum(st, 2);
+ if (md == NULL) {
+ if (type == MERCINFO_NAME)
+ script_pushconststr(st, "");
+ else
+ script_pushint(st, 0);
+ return true;
+ }
- switch( type )
- {
- case 0: script_pushint(st,md ? md->mercenary.mercenary_id : 0); break;
- case 1: script_pushint(st,md ? md->mercenary.class_ : 0); break;
- case 2:
- if( md )
- script_pushstrcopy(st,md->db->name);
- else
- script_pushconststr(st,"");
- break;
- case 3: script_pushint(st,md ? mercenary->get_faith(md) : 0); break;
- case 4: script_pushint(st,md ? mercenary->get_calls(md) : 0); break;
- case 5: script_pushint(st,md ? md->mercenary.kill_count : 0); break;
- case 6: script_pushint(st,md ? mercenary->get_lifetime(md) : 0); break;
- case 7: script_pushint(st,md ? md->db->lv : 0); break;
- default:
- ShowError("buildin_getmercinfo: Invalid type %d (char_id=%d).\n", type, sd->status.char_id);
- script_pushnil(st);
- return false;
+ switch (type) {
+ case MERCINFO_ID:
+ script_pushint(st, md->mercenary.mercenary_id);
+ break;
+ case MERCINFO_CLASS:
+ script_pushint(st, md->mercenary.class_);
+ break;
+ case MERCINFO_NAME:
+ script_pushstrcopy(st, md->db->name);
+ break;
+ case MERCINFO_FAITH:
+ script_pushint(st, mercenary->get_faith(md));
+ break;
+ case MERCINFO_CALLS:
+ script_pushint(st, mercenary->get_calls(md));
+ break;
+ case MERCINFO_KILLCOUNT:
+ script_pushint(st, md->mercenary.kill_count);
+ break;
+ case MERCINFO_LIFETIME:
+ script_pushint(st, mercenary->get_lifetime(md));
+ break;
+ case MERCINFO_LEVEL:
+ script_pushint(st, md->db->lv);
+ break;
+ case MERCINFO_GID:
+ script_pushint(st, md->bl.id);
+ break;
+ default:
+ ShowError("buildin_getmercinfo: Invalid type %d (char_id=%d).\n", type, sd->status.char_id);
+ script_pushnil(st);
+ return false;
}
return true;
@@ -15694,19 +15795,18 @@ static BUILDIN(getmercinfo)
*------------------------------------------*/
static BUILDIN(checkequipedcard)
{
- int n,i,c=0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
return true;
- c = script_getnum(st,2);
+ int c = script_getnum(st,2);
- for( i=0; i<MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].amount && sd->inventory_data[i]) {
if (itemdb_isspecial(sd->status.inventory[i].card[0]))
continue;
- for(n=0;n<sd->inventory_data[i]->slot;n++) {
+ for (int n = 0; n < sd->inventory_data[i]->slot; n++) {
if(sd->status.inventory[i].card[n]==c) {
script_pushint(st,1);
return true;
@@ -15782,6 +15882,29 @@ static BUILDIN(message)
return true;
}
+static BUILDIN(servicemessage)
+{
+ struct map_session_data *sd = NULL;
+
+ if (script_hasdata(st, 4)) {
+ if (script_isstringtype(st, 4))
+ sd = script->nick2sd(st, script_getstr(st, 4));
+ else
+ sd = script->id2sd(st, script_getnum(st, 4));
+ } else {
+ sd = script->rid2sd(st);
+ }
+
+ if (sd == NULL)
+ return true;
+
+ const char *message = script_getstr(st, 2);
+ const int color = script_getnum(st, 3);
+ clif->serviceMessageColor(sd, color, message);
+
+ return true;
+}
+
/*==========================================
* npctalk (sends message to surrounding area)
* usage: npctalk("<message>"{, "<npc name>"{, <show_name>}});
@@ -15820,37 +15943,41 @@ static BUILDIN(npctalk)
// change npc walkspeed [Valaris]
static BUILDIN(npcspeed)
{
- struct npc_data* nd;
- int speed;
-
- speed = script_getnum(st,2);
- nd = map->id2nd(st->oid);
+ struct npc_data *nd = map->id2nd(st->oid);
+ int speed = script_getnum(st, 2);
if (nd != NULL) {
unit->bl2ud2(&nd->bl); // ensure nd->ud is safe to edit
+ if (nd->ud == NULL) {
+ ShowWarning("buildin_npcspeed: floating NPC don't have unit data.\n");
+ return false;
+ }
nd->speed = speed;
nd->ud->state.speed_changed = 1;
}
return true;
}
+
// make an npc walk to a position [Valaris]
static BUILDIN(npcwalkto)
{
struct npc_data *nd = map->id2nd(st->oid);
- int x=0,y=0;
-
- x=script_getnum(st,2);
- y=script_getnum(st,3);
+ int x = script_getnum(st, 2);
+ int y = script_getnum(st, 3);
if (nd != NULL) {
unit->bl2ud2(&nd->bl); // ensure nd->ud is safe to edit
+ if (nd->ud == NULL) {
+ ShowWarning("buildin_npcwalkto: floating NPC don't have unit data.\n");
+ return false;
+ }
if (!nd->status.hp) {
status_calc_npc(nd, SCO_FIRST);
} else {
status_calc_npc(nd, SCO_NONE);
}
- unit->walktoxy(&nd->bl,x,y,0);
+ unit->walktoxy(&nd->bl, x, y, 0);
}
return true;
@@ -15862,6 +15989,10 @@ static BUILDIN(npcstop)
if (nd != NULL) {
unit->bl2ud2(&nd->bl); // ensure nd->ud is safe to edit
+ if (nd->ud == NULL) {
+ ShowWarning("buildin_npcstop: floating NPC don't have unit data.\n");
+ return false;
+ }
unit->stop_walking(&nd->bl, STOPWALKING_FLAG_FIXPOS|STOPWALKING_FLAG_NEXTCELL);
}
@@ -16551,9 +16682,9 @@ static BUILDIN(equip)
ShowError("wrong item ID : equipitem(%d)\n",nameid);
return false;
}
- ARR_FIND( 0, MAX_INVENTORY, i, sd->status.inventory[i].nameid == nameid && sd->status.inventory[i].equip == 0 );
- if( i < MAX_INVENTORY )
- pc->equipitem(sd,i,item_data->equip);
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].nameid == nameid && sd->status.inventory[i].equip == 0);
+ if (i < sd->status.inventorySize)
+ pc->equipitem(sd, i, item_data->equip);
return true;
}
@@ -16611,21 +16742,21 @@ static BUILDIN(equip2)
c2 = script_getnum(st, 7);
c3 = script_getnum(st, 8);
- ARR_FIND( 0, MAX_INVENTORY, i,( sd->status.inventory[i].equip == 0 &&
+ ARR_FIND(0, sd->status.inventorySize, i, (sd->status.inventory[i].equip == 0 &&
sd->status.inventory[i].nameid == nameid &&
sd->status.inventory[i].refine == ref &&
sd->status.inventory[i].attribute == attr &&
sd->status.inventory[i].card[0] == c0 &&
sd->status.inventory[i].card[1] == c1 &&
sd->status.inventory[i].card[2] == c2 &&
- sd->status.inventory[i].card[3] == c3 ) );
+ sd->status.inventory[i].card[3] == c3));
- if( i < MAX_INVENTORY ) {
+ if (i < sd->status.inventorySize) {
script_pushint(st,1);
pc->equipitem(sd,i,item_data->equip);
- }
- else
+ } else {
script_pushint(st,0);
+ }
return true;
}
@@ -16812,6 +16943,63 @@ static BUILDIN(getdatatype)
return true;
}
+static BUILDIN(data_to_string)
+{
+ if (script_hasdata(st, 2)) {
+ struct script_data *data = script_getdata(st, 2);
+
+ if (data_isstring(data)) {
+ script_pushcopy(st, 2);
+ } else if (data_isint(data)) {
+ char *str = NULL;
+
+ CREATE(str, char, 20);
+ safesnprintf(str, 20, "%"PRId64"", data->u.num);
+ script_pushstr(st, str);
+ } else if (data_islabel(data)) {
+ const char *str = "";
+
+ // XXX: because all we have is the label pos we can't be sure which
+ // one is the correct label if more than one has the same pos.
+ // We might want to store both the pos and str_data index in
+ // data->u.num, similar to how C_NAME stores both the array
+ // index and str_data index in u.num with bitmasking. This
+ // would also avoid the awkward for() loops as we could
+ // directly access the string with script->get_str().
+
+ if (st->oid) {
+ struct npc_data *nd = map->id2nd(st->oid);
+
+ for (int i = 0; i < nd->u.scr.label_list_num; ++i) {
+ if (nd->u.scr.label_list[i].pos == data->u.num) {
+ str = nd->u.scr.label_list[i].name;
+ break;
+ }
+ }
+ } else {
+ for (int i = LABEL_START; script->str_data[i].next != 0; i = script->str_data[i].next) {
+ if (script->str_data[i].label == data->u.num) {
+ str = script->get_str(i);
+ break;
+ }
+ }
+ }
+
+ script_pushconststr(st, str);
+ } else if (data_isreference(data)) {
+ script_pushstrcopy(st, reference_getname(data));
+ } else {
+ ShowWarning("script:data_to_string: unknown data type!\n");
+ script->reportdata(data);
+ script_pushconststr(st, "");
+ }
+ } else {
+ script_pushconststr(st, ""); // NIL
+ }
+
+ return true;
+}
+
//=======================================================
// chr <int>
//-------------------------------------------------------
@@ -17623,6 +17811,17 @@ static BUILDIN(max)
return true;
}
+static BUILDIN(cap_value)
+{
+ int value = script_getnum(st, 2);
+ int min = script_getnum(st, 3);
+ int max = script_getnum(st, 4);
+
+ script_pushint(st, (int)cap_value(value, min, max));
+
+ return true;
+}
+
static BUILDIN(md5)
{
const char *tmpstr;
@@ -17866,7 +18065,9 @@ static BUILDIN(getd)
id = script->add_variable(varname);
- if (script->str_data[id].type != C_NAME) {
+ if (script->str_data[id].type != C_NAME && // variable
+ script->str_data[id].type != C_PARAM && // param
+ script->str_data[id].type != C_INT) { // constant
ShowError("script:getd: `%s` is already used by something that is not a variable.\n", varname);
st->state = END;
return false;
@@ -18581,6 +18782,10 @@ static BUILDIN(getunittype)
* @param4 Value#2 Optional int value to be passed for certain data types.
* @param5 Value#3 Optional int value to be passed for certain data types.
* @return 1 on success, 0 on failure.
+
+ Note: Please make this script command only modify ONE INTEGER value.
+ If need to modify string type data, or having multiple arguments, please
+ introduce a new script command.
*/
static BUILDIN(setunitdata)
{
@@ -18606,7 +18811,7 @@ static BUILDIN(setunitdata)
return false;
}
- /* Mandatory Argument 3 */
+ /* Mandatory Argument 3. Subject to deprecate. */
if (type == UDT_MAPIDXY) {
if (!script_isstringtype(st, 4)) {
ShowError("buildin_setunitdata: Invalid data type for argument #3.\n");
@@ -18801,6 +19006,20 @@ static BUILDIN(setunitdata)
case UDT_ELELEVEL:
setunitdata_check_bounds(4, 0, CHAR_MAX);
break;
+ case UDT_GROUP:
+ {
+ setunitdata_check_bounds(4, 0, INT_MAX);
+ struct unit_data *ud = unit->bl2ud2(bl);
+ if (ud == NULL) {
+ ShowError("buildin_setunitdata: ud is NULL!\n");
+ script_pushint(st, 0);
+ return false;
+ }
+ ud->groupId = script_getnum(st, 4);
+ clif->blname_ack(0, bl); // Send update to client.
+ script_pushint(st, 1);
+ return true;
+ }
default:
break;
}
@@ -18824,17 +19043,19 @@ static BUILDIN(setunitdata)
break;
case UDT_LEVEL:
md->level = val;
+ if (battle_config.show_mob_info & 4)
+ clif->blname_ack(0, &md->bl);
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
- clif->charnameack(0, &md->bl);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ clif->blname_ack(0, &md->bl);
break;
case UDT_MAXHP:
md->status.max_hp = (unsigned int) val;
- clif->charnameack(0, &md->bl);
+ clif->blname_ack(0, &md->bl);
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
md->status.max_sp = (unsigned int) val;
@@ -18995,13 +19216,13 @@ static BUILDIN(setunitdata)
hd->homunculus.level = (short) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
hd->homunculus.max_hp = val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
hd->homunculus.max_sp = val;
@@ -19134,13 +19355,13 @@ static BUILDIN(setunitdata)
pd->pet.level = (short) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
pd->status.max_hp = (unsigned int) val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
pd->status.max_sp = (unsigned int) val;
@@ -19268,13 +19489,13 @@ static BUILDIN(setunitdata)
mc->base_status.size = (unsigned char) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
mc->base_status.max_hp = (unsigned int) val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
mc->base_status.max_sp = (unsigned int) val;
@@ -19402,13 +19623,13 @@ static BUILDIN(setunitdata)
ed->base_status.size = (unsigned char) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
ed->base_status.max_hp = (unsigned int) val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
ed->base_status.max_sp = (unsigned int) val;
@@ -19534,13 +19755,13 @@ static BUILDIN(setunitdata)
nd->level = (unsigned short) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
nd->status.max_hp = (unsigned int) val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
nd->status.max_sp = (unsigned int) val;
@@ -19698,6 +19919,10 @@ static BUILDIN(setunitdata)
* @param2 DataType Type of Data to be set for the unit.
* @param3 Variable array reference to store data into. (used for UDT_MAPIDXY)
* @return 0 on failure, <value> on success
+
+ Note: Please make this script command only return ONE INTEGER value.
+ If the unit data having multiple arguments, or need to return in array,
+ please introduce a new script command.
*/
static BUILDIN(getunitdata)
{
@@ -19712,7 +19937,7 @@ static BUILDIN(getunitdata)
if (bl == NULL) {
ShowWarning("buildin_getunitdata: Error in finding object with given GID %d!\n", script_getnum(st, 2));
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
@@ -19721,15 +19946,15 @@ static BUILDIN(getunitdata)
/* Type check */
if (type < UDT_TYPE || type >= UDT_MAX) {
ShowError("buildin_getunitdata: Invalid unit data type %d provided.\n", type);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
- /* Argument checks */
+ /* Argument checks. Subject to deprecate */
if (type == UDT_MAPIDXY) {
if (data == NULL || !data_isreference(data)) {
ShowWarning("buildin_getunitdata: Error in argument 3. Please provide a reference variable to store values in.\n");
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
@@ -19739,10 +19964,19 @@ static BUILDIN(getunitdata)
sd = script->rid2sd(st);
if (sd == NULL) {
ShowWarning("buildin_getunitdata: Player not attached! Cannot use player variable %s.\n",name);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return true;// no player attached
}
}
+ } else if (type == UDT_GROUP) {
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud == NULL) {
+ ShowError("buildin_setunitdata: ud is NULL!\n");
+ script_pushint(st, -1);
+ return false;
+ }
+ script_pushint(st, ud->groupId);
+ return true;
}
#define getunitdata_sub(idx__,var__) script->setd_sub(st,NULL,name,(idx__),(void *)h64BPTRSIZE((int)(var__)),data->ref);
@@ -19809,7 +20043,7 @@ static BUILDIN(getunitdata)
case UDT_DMOTION: script_pushint(st, md->status.dmotion); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Mob unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -19866,7 +20100,7 @@ static BUILDIN(getunitdata)
case UDT_INTIMACY: script_pushint(st, hd->homunculus.intimacy); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Homunculus unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -19923,7 +20157,7 @@ static BUILDIN(getunitdata)
case UDT_INTIMACY: script_pushint(st, pd->pet.intimate); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Pet unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -19979,7 +20213,7 @@ static BUILDIN(getunitdata)
case UDT_LIFETIME: script_pushint(st, mc->mercenary.life_time); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Mercenary unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -20033,7 +20267,7 @@ static BUILDIN(getunitdata)
case UDT_MASTERCID: script_pushint(st, ed->elemental.char_id); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Elemental unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -20098,14 +20332,14 @@ static BUILDIN(getunitdata)
case UDT_BODY2: script_pushint(st, nd->vd.body_style); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for NPC unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
break;
default:
ShowError("buildin_getunitdata: Unknown object!\n");
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
} // end of bl->type switch
@@ -20201,7 +20435,47 @@ static BUILDIN(setunitname)
}
script_pushint(st, 1);
- clif->charnameack(0, bl); // Send update to client.
+ clif->blname_ack(0, bl); // Send update to client.
+
+ return true;
+}
+
+static BUILDIN(setunittitle)
+{
+ struct block_list *bl = map->id2bl(script_getnum(st, 2));
+ if (bl == NULL) {
+ ShowWarning("buildin_setunittitle: Error in finding object with given game ID %d!\n", script_getnum(st, 2));
+ return false;
+ }
+
+ struct unit_data *ud = unit->bl2ud2(bl);
+ if (ud == NULL) {
+ ShowWarning("buildin_setunittitle: Error in finding unit_data for given game ID %d!\n", script_getnum(st, 2));
+ return false;
+ }
+
+ safestrncpy(ud->title, script_getstr(st, 3), NAME_LENGTH);
+ clif->blname_ack(0, bl); // Send update to client.
+
+ return true;
+}
+
+static BUILDIN(getunittitle)
+{
+ struct block_list *bl = map->id2bl(script_getnum(st, 2));
+ if (bl == NULL) {
+ ShowWarning("buildin_getunitname: Error in finding object with given game ID %d!\n", script_getnum(st, 2));
+ script_pushconststr(st, "Unknown");
+ return false;
+ }
+
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud == NULL) {
+ ShowWarning("buildin_setunittitle: Error in finding unit_data for given game ID %d!\n", script_getnum(st, 2));
+ return false;
+ }
+
+ script_pushstrcopy(st, ud->title);
return true;
}
@@ -20213,24 +20487,28 @@ static BUILDIN(setunitname)
/// unitwalk(<unit_id>,<target_id>) -> <bool>
static BUILDIN(unitwalk)
{
- struct block_list* bl;
+ struct block_list *bl = map->id2bl(script_getnum(st, 2));
- bl = map->id2bl(script_getnum(st,2));
- if( bl == NULL ) {
+ if (bl == NULL) {
script_pushint(st, 0);
return true;
}
- if( bl->type == BL_NPC ) {
- unit->bl2ud2(bl); // ensure the ((struct npc_data*)bl)->ud is safe to edit
+ if (bl->type == BL_NPC) {
+ struct unit_data *ud = unit->bl2ud2(bl); // ensure the ((struct npc_data*)bl)->ud is safe to edit
+ if (ud == NULL) {
+ ShowWarning("buildin_unitwalk: floating NPC don't have unit data.\n");
+ return false;
+ }
}
- if( script_hasdata(st,4) ) {
- int x = script_getnum(st,3);
- int y = script_getnum(st,4);
- script_pushint(st, unit->walktoxy(bl,x,y,0));// We'll use harder calculations.
- } else {
- int target_id = script_getnum(st,3);
- script_pushint(st, unit->walktobl(bl,map->id2bl(target_id),1,1));
+ if (script_hasdata(st, 4)) {
+ int x = script_getnum(st, 3);
+ int y = script_getnum(st, 4);
+ script_pushint(st, unit->walktoxy(bl, x, y, 0));// We'll use harder calculations.
+ }
+ else {
+ int target_id = script_getnum(st, 3);
+ script_pushint(st, unit->walktobl(bl, map->id2bl(target_id), 1, 1));
}
return true;
@@ -20254,32 +20532,34 @@ static BUILDIN(unitkill)
/// unitwarp(<unit_id>,"<map name>",<x>,<y>) -> <bool>
static BUILDIN(unitwarp)
{
- int unit_id;
+ int unit_id = script_getnum(st, 2);
+ const char *mapname = script_getstr(st, 3);
+ short x = (short)script_getnum(st, 4);
+ short y = (short)script_getnum(st, 5);
int mapid;
- short x;
- short y;
- struct block_list* bl;
- const char *mapname;
-
- unit_id = script_getnum(st,2);
- mapname = script_getstr(st, 3);
- x = (short)script_getnum(st,4);
- y = (short)script_getnum(st,5);
+ struct block_list *bl;
if (!unit_id) //Warp the script's runner
bl = map->id2bl(st->rid);
else
bl = map->id2bl(unit_id);
- if( strcmp(mapname,"this") == 0 )
- mapid = bl?bl->m:-1;
+ if (strcmp(mapname, "this") == 0)
+ mapid = bl ? bl->m : -1;
else
mapid = map->mapname2mapid(mapname);
- if( mapid >= 0 && bl != NULL ) {
- unit->bl2ud2(bl); // ensure ((struct npc_data *)bl)->ud is safe to edit
- script_pushint(st, unit->warp(bl,mapid,x,y,CLR_OUTSIGHT));
- } else {
+ if (mapid >= 0 && bl != NULL) {
+ struct unit_data *ud = unit->bl2ud2(bl); // ensure ((struct npc_data *)bl)->ud is safe to edit
+ if (bl->type == BL_NPC) {
+ if (ud == NULL) {
+ ShowWarning("buildin_unitwarp: floating NPC don't have unit data.\n");
+ return false;
+ }
+ }
+ script_pushint(st, unit->warp(bl, mapid, x, y, CLR_OUTSIGHT));
+ }
+ else {
script_pushint(st, 0);
}
@@ -20350,17 +20630,19 @@ static BUILDIN(unitattack)
/// unitstop <unit_id>;
static BUILDIN(unitstop)
{
- int unit_id;
- struct block_list* bl;
-
- unit_id = script_getnum(st,2);
+ struct block_list *bl = map->id2bl(script_getnum(st, 2));
- bl = map->id2bl(unit_id);
- if( bl != NULL ) {
- unit->bl2ud2(bl); // ensure ((struct npc_data *)bl)->ud is safe to edit
+ if (bl != NULL) {
+ struct unit_data *ud = unit->bl2ud2(bl); // ensure ((struct npc_data *)bl)->ud is safe to edit
+ if (bl->type == BL_NPC) {
+ if (ud == NULL) {
+ ShowWarning("buildin_unitstop: floating NPC don't have unit data.\n");
+ return false;
+ }
+ }
unit->stop_attack(bl);
unit->stop_walking(bl, STOPWALKING_FLAG_NEXTCELL);
- if( bl->type == BL_MOB )
+ if (bl->type == BL_MOB)
BL_UCAST(BL_MOB, bl)->target_id = 0;
}
@@ -20694,7 +20976,7 @@ static BUILDIN(getvariableofpc)
}
if (!sd->regs.vars)
- sd->regs.vars = i64db_alloc(DB_OPT_RELEASE_DATA);
+ sd->regs.vars = i64db_alloc(DB_OPT_BASE);
script->push_val(st->stack, C_NAME, reference_getuid(data), &sd->regs);
return true;
@@ -20851,7 +21133,7 @@ static BUILDIN(mercenary_heal)
hp = script_getnum(st,2);
sp = script_getnum(st,3);
- status->heal(&sd->md->bl, hp, sp, 0);
+ status->heal(&sd->md->bl, hp, sp, STATUS_HEAL_DEFAULT);
return true;
}
@@ -21026,7 +21308,6 @@ static BUILDIN(questinfo)
return false;
}
- qi.nd = nd;
qi.icon = quest->questinfo_validate_icon(icon);
if (script_hasdata(st, 3)) {
int color = script_getnum(st, 3);
@@ -21038,7 +21319,9 @@ static BUILDIN(questinfo)
qi.color = (unsigned char)color;
}
- map->add_questinfo(nd->bl.m, &qi);
+ VECTOR_ENSURE(nd->qi_data, 1, 1);
+ VECTOR_PUSH(nd->qi_data, qi);
+ map->add_questinfo(nd->bl.m, nd);
return true;
}
@@ -21056,15 +21339,12 @@ static BUILDIN(setquestinfo)
return false;
}
- qi = &VECTOR_LAST(map->list[nd->bl.m].qi_data);
+ qi = &VECTOR_LAST(nd->qi_data);
if (qi == NULL) {
ShowWarning("buildin_setquestinfo: no valide questinfo data has been found for this npc.\n");
return false;
}
- if (qi->nd != nd) {
- ShowWarning("buildin_setquestinfo: invalid usage, setquestinfo must be used only after questinfo.\n");
- return false;
- }
+
switch (type) {
case QINFO_JOB:
{
@@ -21114,17 +21394,26 @@ static BUILDIN(setquestinfo)
}
case QINFO_ITEM:
{
- struct item item = { 0 };
+ struct questinfo_itemreq item = { 0 };
item.nameid = script_getnum(st, 3);
- item.amount = script_getnum(st, 4);
+ item.min = script_hasdata(st, 4) ? script_getnum(st, 4) : 0;
+ item.max = script_hasdata(st, 5) ? script_getnum(st, 5) : 0;
if (itemdb->exists(item.nameid) == NULL) {
ShowWarning("buildin_setquestinfo: non existing item (%d) have been given.\n", item.nameid);
return false;
}
- if (item.amount <= 0 || item.amount > MAX_AMOUNT) {
- ShowWarning("buildin_setquestinfo: given amount (%d) must be bigger than 0 and smaller than %d.\n", item.amount, MAX_AMOUNT + 1);
+ if (item.min > item.max) {
+ ShowWarning("buildin_setquestinfo: minimal amount (%d) is bigger than the maximal amount (%d).\n", item.min, item.max);
+ return false;
+ }
+ if (item.min < 0 || item.min > MAX_AMOUNT) {
+ ShowWarning("buildin_setquestinfo: given amount (%d) must be bigger than or equal to 0 and smaller than %d.\n", item.min, MAX_AMOUNT + 1);
+ return false;
+ }
+ if (item.max < 0 || item.max > MAX_AMOUNT) {
+ ShowWarning("buildin_setquestinfo: given amount (%d) must be bigger than or equal to 0 and smaller than %d.\n", item.max, MAX_AMOUNT + 1);
return false;
}
if (VECTOR_LENGTH(qi->items) == 0)
@@ -21177,6 +21466,17 @@ static BUILDIN(setquestinfo)
VECTOR_PUSH(qi->quest_requirement, quest_req);
break;
}
+ case QINFO_MERCENARY_CLASS:
+ {
+ int mer_class = script_getnum(st, 3);
+
+ if (!mercenary->class(mer_class)) {
+ ShowWarning("buildin_setquestinfo: invalid mercenary class given (%d).\n", mer_class);
+ return false;
+ }
+ qi->mercenary_class = mer_class;
+ break;
+ }
default:
ShowWarning("buildin_setquestinfo: invalid type given (%u).\n", type);
return false;
@@ -21330,18 +21630,7 @@ static BUILDIN(showevent)
}
}
-#if PACKETVER >= 20170315
- if (icon < 0 || (icon > 10 && icon != 9999))
- icon = 9999;
-#elif PACKETVER >= 20120410
- if (icon < 0 || (icon > 8 && icon != 9999) || icon == 7)
- icon = 9999; // Default to nothing if icon id is invalid.
-#else
- if (icon < 0 || icon > 7)
- icon = 0;
- else
- icon = icon + 1;
-#endif
+ icon = quest->questinfo_validate_icon(icon);
clif->quest_show_event(sd, &nd->bl, icon, color);
return true;
@@ -21571,7 +21860,7 @@ static BUILDIN(bg_monster_set_team)
mob_stop_attack(md);
mob_stop_walking(md, STOPWALKING_FLAG_NONE);
md->target_id = md->attacked_id = 0;
- clif->charnameack(0, &md->bl);
+ clif->blname_ack(0, &md->bl);
return true;
}
@@ -23623,7 +23912,7 @@ static BUILDIN(bg_create_team)
if( strcmp(map_name,"-") != 0 ) {
map_index = script->mapindexname2id(st,map_name);
if( map_index == 0 ) { // Invalid Map
- script_pushint(st,0);
+ script_pushint(st, -1);
return true;
}
}
@@ -23671,7 +23960,7 @@ static BUILDIN(bg_join_team)
*------------------------------------------*/
static BUILDIN(countbound)
{
- int i, type, j=0, k=0;
+ int type, j=0, k=0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
@@ -23679,7 +23968,7 @@ static BUILDIN(countbound)
type = script_hasdata(st,2)?script_getnum(st,2):0;
- for(i=0;i<MAX_INVENTORY;i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid > 0 && (
(!type && sd->status.inventory[i].bound > 0) ||
(type && sd->status.inventory[i].bound == type)
@@ -23725,20 +24014,21 @@ static BUILDIN(checkbound)
ShowError("script_checkbound: Not a valid bind type! Type=%d\n", bound_type);
}
- ARR_FIND( 0, MAX_INVENTORY, i, (sd->status.inventory[i].nameid == nameid &&
+ ARR_FIND(0, sd->status.inventorySize, i, (sd->status.inventory[i].nameid == nameid &&
( sd->status.inventory[i].refine == (script_hasdata(st,4)? script_getnum(st,4) : sd->status.inventory[i].refine) ) &&
( sd->status.inventory[i].attribute == (script_hasdata(st,5)? script_getnum(st,5) : sd->status.inventory[i].attribute) ) &&
( sd->status.inventory[i].card[0] == (script_hasdata(st,6)? script_getnum(st,6) : sd->status.inventory[i].card[0]) ) &&
( sd->status.inventory[i].card[1] == (script_hasdata(st,7)? script_getnum(st,7) : sd->status.inventory[i].card[1]) ) &&
( sd->status.inventory[i].card[2] == (script_hasdata(st,8)? script_getnum(st,8) : sd->status.inventory[i].card[2]) ) &&
( sd->status.inventory[i].card[3] == (script_hasdata(st,9)? script_getnum(st,9) : sd->status.inventory[i].card[3]) ) &&
- ((sd->status.inventory[i].bound > 0 && !bound_type) || sd->status.inventory[i].bound == bound_type )) );
+ ((sd->status.inventory[i].bound > 0 && !bound_type) || sd->status.inventory[i].bound == bound_type)));
- if( i < MAX_INVENTORY ){
+ if (i < sd->status.inventorySize) {
script_pushint(st, sd->status.inventory[i].bound);
return true;
- } else
+ } else {
script_pushint(st,0);
+ }
return true;
}
@@ -23875,6 +24165,7 @@ static BUILDIN(sellitem)
struct item_data *it;
int i = 0, id = script_getnum(st,2);
int value = 0;
+ int value2 = 0;
int qty = 0;
if( !(nd = map->id2nd(st->oid)) ) {
@@ -23885,19 +24176,45 @@ static BUILDIN(sellitem)
return false;
}
- value = script_hasdata(st,3) ? script_getnum(st, 3) : it->value_buy;
- if( value == -1 )
- value = it->value_buy;
-
- if( !nd->u.scr.shop )
- npc->trader_update(nd->src_id?nd->src_id:nd->bl.id);
- else {/* no need to run this if its empty */
- for( i = 0; i < nd->u.scr.shop->items; i++ ) {
- if( nd->u.scr.shop->item[i].nameid == id )
- break;
+ if (!nd->u.scr.shop) {
+ npc->trader_update(nd->src_id ? nd->src_id : nd->bl.id);
+ if (nd->u.scr.shop->type == NST_BARTER) {
+ if (!script_hasdata(st, 5)) {
+ ShowError("buildin_sellitem: invalid number of parameters for barter-type shop!\n");
+ return false;
+ }
+ value = script_getnum(st, 4);
+ value2 = script_getnum(st, 5);
+ }
+ } else {/* no need to run this if its empty */
+ if (nd->u.scr.shop->type == NST_BARTER) {
+ if (!script_hasdata(st, 5)) {
+ ShowError("buildin_sellitem: invalid number of parameters for barter-type shop!\n");
+ return false;
+ }
+ value = script_getnum(st, 4);
+ value2 = script_getnum(st, 5);
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ const struct npc_item_list *const item = &nd->u.scr.shop->item[i];
+ if (item->nameid == id && item->value == value && item->value2 == value2) {
+ break;
+ }
+ }
+ } else {
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ if (nd->u.scr.shop->item[i].nameid == id) {
+ break;
+ }
+ }
}
}
+ if (nd->u.scr.shop->type != NST_BARTER) {
+ value = script_hasdata(st,3) ? script_getnum(st, 3) : it->value_buy;
+ if( value == -1 )
+ value = it->value_buy;
+ }
+
if( nd->u.scr.shop->type == NST_MARKET ) {
if( !script_hasdata(st,4) || ( qty = script_getnum(st, 4) ) <= 0 ) {
ShowError("buildin_sellitem: invalid 'qty' for market-type shop!\n");
@@ -23910,19 +24227,29 @@ static BUILDIN(sellitem)
it->name, id, value, (int)(value*0.75), it->value_sell, (int)(it->value_sell*1.24), nd->exname, nd->path);
}
- if( i != nd->u.scr.shop->items ) {
+ if (nd->u.scr.shop->type == NST_BARTER) {
+ qty = script_getnum(st, 3);
+ if (qty < -1 || value <= 0 || value2 <= 0) {
+ ShowError("buildin_sellitem: invalid parameters for barter-type shop!\n");
+ return false;
+ }
+ }
+
+ if (i != nd->u.scr.shop->items) {
nd->u.scr.shop->item[i].value = value;
nd->u.scr.shop->item[i].qty = qty;
- if( nd->u.scr.shop->type == NST_MARKET ) /* has been manually updated, make it reflect on sql */
- npc->market_tosql(nd,i);
+ if (nd->u.scr.shop->type == NST_MARKET) /* has been manually updated, make it reflect on sql */
+ npc->market_tosql(nd, i);
+ else if (nd->u.scr.shop->type == NST_BARTER) /* has been manually updated, make it reflect on sql */
+ npc->barter_tosql(nd, i);
} else {
- for( i = 0; i < nd->u.scr.shop->items; i++ ) {
- if( nd->u.scr.shop->item[i].nameid == 0 )
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ if (nd->u.scr.shop->item[i].nameid == 0)
break;
}
- if( i == nd->u.scr.shop->items ) {
- if( nd->u.scr.shop->items == USHRT_MAX ) {
+ if (i == nd->u.scr.shop->items) {
+ if (nd->u.scr.shop->items == USHRT_MAX) {
ShowWarning("buildin_sellitem: Can't add %s (%s/%s), shop list is full!\n", it->name, nd->exname, nd->path);
return false;
}
@@ -23932,6 +24259,7 @@ static BUILDIN(sellitem)
nd->u.scr.shop->item[i].nameid = it->nameid;
nd->u.scr.shop->item[i].value = value;
+ nd->u.scr.shop->item[i].value2 = value2;
nd->u.scr.shop->item[i].qty = qty;
}
@@ -23948,35 +24276,55 @@ static BUILDIN(sellitem)
static BUILDIN(stopselling)
{
struct npc_data *nd;
- int i, id = script_getnum(st,2);
+ int i, id = script_getnum(st, 2);
- if( !(nd = map->id2nd(st->oid)) || !nd->u.scr.shop ) {
+ if (!(nd = map->id2nd(st->oid)) || !nd->u.scr.shop) {
ShowWarning("buildin_stopselling: trying to run without a proper NPC!\n");
return false;
}
- for( i = 0; i < nd->u.scr.shop->items; i++ ) {
- if( nd->u.scr.shop->item[i].nameid == id )
- break;
+ if (nd->u.scr.shop->type == NST_BARTER) {
+ if (!script_hasdata(st, 4)) {
+ ShowError("buildin_stopselling: called with wrong number of arguments\n");
+ return false;
+ }
+ const int id2 = script_getnum(st, 3);
+ const int amount2 = script_getnum(st, 4);
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ const struct npc_item_list *const item = &nd->u.scr.shop->item[i];
+ if (item->nameid == id && item->value == id2 && item->value2 == amount2) {
+ break;
+ }
+ }
+ } else {
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ if (nd->u.scr.shop->item[i].nameid == id) {
+ break;
+ }
+ }
}
- if( i != nd->u.scr.shop->items ) {
+ if (i != nd->u.scr.shop->items) {
int cursor;
- if( nd->u.scr.shop->type == NST_MARKET )
- npc->market_delfromsql(nd,i);
+ if (nd->u.scr.shop->type == NST_MARKET)
+ npc->market_delfromsql(nd, i);
+ if (nd->u.scr.shop->type == NST_BARTER)
+ npc->barter_delfromsql(nd, i);
nd->u.scr.shop->item[i].nameid = 0;
nd->u.scr.shop->item[i].value = 0;
+ nd->u.scr.shop->item[i].value2 = 0;
nd->u.scr.shop->item[i].qty = 0;
- for( i = 0, cursor = 0; i < nd->u.scr.shop->items; i++ ) {
- if( nd->u.scr.shop->item[i].nameid == 0 )
+ for (i = 0, cursor = 0; i < nd->u.scr.shop->items; i++) {
+ if (nd->u.scr.shop->item[i].nameid == 0)
continue;
- if( cursor != i ) {
+ if (cursor != i) {
nd->u.scr.shop->item[cursor].nameid = nd->u.scr.shop->item[i].nameid;
nd->u.scr.shop->item[cursor].value = nd->u.scr.shop->item[i].value;
+ nd->u.scr.shop->item[cursor].value2 = nd->u.scr.shop->item[i].value2;
nd->u.scr.shop->item[cursor].qty = nd->u.scr.shop->item[i].qty;
}
@@ -24042,7 +24390,8 @@ static BUILDIN(tradertype)
nd->u.scr.shop->item[i].value = 0;
nd->u.scr.shop->item[i].qty = 0;
}
- npc->market_delfromsql(nd,USHRT_MAX);
+ npc->market_delfromsql(nd, INT_MAX);
+ npc->barter_delfromsql(nd, INT_MAX);
}
#if PACKETVER < 20131223
@@ -24051,6 +24400,12 @@ static BUILDIN(tradertype)
script->reportsrc(st);
}
#endif
+#if PACKETVER_MAIN_NUM < 20190116 && PACKETVER_RE_NUM < 20190116 && PACKETVER_ZERO_NUM < 20181226
+ if (type == NST_BARTER) {
+ ShowWarning("buildin_tradertype: NST_BARTER is only available with PACKETVER_ZERO_NUM 20181226 or PACKETVER_MAIN_NUM 20190116 or PACKETVER_RE_NUM 20190116 or newer!\n");
+ script->reportsrc(st);
+ }
+#endif
if( nd->u.scr.shop )
nd->u.scr.shop->type = type;
@@ -24094,8 +24449,8 @@ static BUILDIN(shopcount)
} else if ( !nd->u.scr.shop || !nd->u.scr.shop->items ) {
ShowWarning("buildin_shopcount(%d): trying to use without any items!\n",id);
return false;
- } else if ( nd->u.scr.shop->type != NST_MARKET ) {
- ShowWarning("buildin_shopcount(%d): trying to use on a non-NST_MARKET shop!\n",id);
+ } else if (nd->u.scr.shop->type != NST_MARKET && nd->u.scr.shop->type != NST_BARTER) {
+ ShowWarning("buildin_shopcount(%d): trying to use on a non-NST_MARKET and non-NST_BARTER shop!\n",id);
return false;
}
@@ -24196,7 +24551,7 @@ static BUILDIN(showscript)
{
struct block_list *bl = NULL;
const char *msg = script_getstr(st, 2);
- int id = 0;
+ int id = 0, flag = AREA;
if (script_hasdata(st, 3)) {
id = script_getnum(st, 3);
@@ -24208,14 +24563,14 @@ static BUILDIN(showscript)
if (!bl) {
ShowError("buildin_showscript: Script not attached. (id=%d, rid=%d, oid=%d)\n", id, st->rid, st->oid);
- script_pushint(st, 0);
return false;
}
- clif->ShowScript(bl, msg);
-
- script_pushint(st, 1);
-
+ if (script_hasdata(st, 4))
+ if (script_getnum(st, 4) == SELF)
+ flag = SELF;
+
+ clif->ShowScript(bl, msg, flag);
return true;
}
@@ -24325,6 +24680,57 @@ static BUILDIN(getcalendartime)
return true;
}
+enum consolemes_type {
+ CONSOLEMES_DEBUG = 0,
+ CONSOLEMES_ERROR = 1,
+ CONSOLEMES_WARNING = 2,
+ CONSOLEMES_INFO = 3,
+ CONSOLEMES_STATUS = 4,
+ CONSOLEMES_NOTICE = 5,
+};
+
+/*==========================================
+* consolemes(<type>, "text")
+*------------------------------------------*/
+static BUILDIN(consolemes)
+{
+ struct StringBuf buf;
+ StrBuf->Init(&buf);
+ int type = script_hasdata(st, 2) ? script_getnum(st, 2) : 0;
+
+ if (!script->sprintf_helper(st, 3, &buf)) {
+ StrBuf->Destroy(&buf);
+ script_pushint(st, 0);
+ return false;
+ }
+
+ switch (type) {
+ default:
+ case CONSOLEMES_DEBUG:
+ ShowDebug("consolemes: %s\n", StrBuf->Value(&buf));
+ break;
+ case CONSOLEMES_ERROR:
+ ShowError("consolemes: (st->rid: %d) (st->oid: %d) %s\n", st->rid, st->oid, StrBuf->Value(&buf));
+ break;
+ case CONSOLEMES_WARNING:
+ ShowWarning("consolemes: (st->rid: %d) (st->oid: %d) %s\n", st->rid, st->oid, StrBuf->Value(&buf));
+ break;
+ case CONSOLEMES_INFO:
+ ShowInfo("consolemes: %s\n", StrBuf->Value(&buf));
+ break;
+ case CONSOLEMES_STATUS:
+ ShowStatus("consolemes: %s\n", StrBuf->Value(&buf));
+ break;
+ case CONSOLEMES_NOTICE:
+ ShowNotice("consolemes: %s\n", StrBuf->Value(&buf));
+ break;
+ }
+
+ StrBuf->Destroy(&buf);
+ script_pushint(st, 1);
+ return true;
+}
+
/** place holder for the translation macro **/
static BUILDIN(_)
{
@@ -24790,6 +25196,165 @@ static BUILDIN(msgtable2)
return true;
}
+// show/hide camera info
+static BUILDIN(camerainfo)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+
+ clif->camera_showWindow(sd);
+ return true;
+}
+
+// allow change some camera parameters
+static BUILDIN(changecamera)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+
+ enum send_target target = SELF;
+ if (script_hasdata(st, 5)) {
+ target = script_getnum(st, 5);
+ }
+ clif->camera_change(sd, (float)script_getnum(st, 2), (float)script_getnum(st, 3), (float)script_getnum(st, 4), target);
+ return true;
+}
+
+// update preview window to given item
+static BUILDIN(itempreview)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ clif->item_preview(sd, script_getnum(st, 2));
+ return true;
+}
+
+// insert or remove card into equipped item
+static BUILDIN(enchantitem)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ const int pos = script_getnum(st, 2);
+ if ((pos < EQI_ACC_L || pos > EQI_HAND_R) && pos != EQI_AMMO) {
+ ShowError("Wrong equip position: %d\n", pos);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ const int cardId = script_getnum(st, 4);
+ struct item_data *it = itemdb->exists(cardId);
+ if (it == NULL || it->type != IT_CARD) {
+ ShowError("Item id is not card or not exists: %d\n", cardId);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ const int n = sd->equip_index[pos];
+ if (n < 0) {
+ ShowError("Item in equipment slot %d is not equipped\n", pos);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ const int cardSlot = script_getnum(st, 3);
+ if (cardSlot < 0 || cardSlot >= MAX_SLOTS) {
+ ShowError("Wrong card slot %d. Must be in range 0-3.\n", cardSlot);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ const bool res = clif->enchant_equipment(sd, pc->equip_pos[pos], cardSlot, cardId);
+ if (res) {
+ logs->pick_pc(sd, LOG_TYPE_CARD, -1, &sd->status.inventory[n],sd->inventory_data[n]);
+ sd->status.inventory[n].card[cardSlot] = cardId;
+ logs->pick_pc(sd, LOG_TYPE_CARD, 1, &sd->status.inventory[n],sd->inventory_data[n]);
+ status_calc_pc(sd, SCO_NONE);
+ }
+ script_pushint(st, res);
+ return true;
+}
+
+// send ack to inventory expand request
+static BUILDIN(expandInventoryAck)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ int itemId = 0;
+ if (script_hasdata(st, 3)) {
+ itemId = script_getnum(st, 3);
+ }
+ clif->inventoryExpandAck(sd, script_getnum(st, 2), itemId);
+ return true;
+}
+
+// send final ack to inventory expand request
+static BUILDIN(expandInventoryResult)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ clif->inventoryExpandResult(sd, script_getnum(st, 2));
+ return true;
+}
+
+// adjust player inventory size to given value positive or negative
+static BUILDIN(expandInventory)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ script_pushint(st, pc->expandInventory(sd, script_getnum(st, 2)));
+ return true;
+}
+
+// return current player inventory size
+static BUILDIN(getInventorySize)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ script_pushint(st, sd->status.inventorySize);
+ return true;
+}
+
+// force close roulette window if it opened
+static BUILDIN(closeroulette)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ clif->roulette_close(sd);
+ return true;
+}
+
+static BUILDIN(openrefineryui)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+
+ if (sd == NULL) {
+ script_pushint(st, 0);
+ return true;
+ }
+
+ if (battle_config.enable_refinery_ui == 0) {
+ script_pushint(st, 0);
+ return true;
+ }
+
+ clif->OpenRefineryUI(sd);
+ script_pushint(st, 1);
+ return true;
+}
+
/**
* Adds a built-in script function.
*
@@ -24951,14 +25516,15 @@ static void script_parse_builtin(void)
BUILDIN_DEF(__setr,"rv?"),
// NPC interaction
- BUILDIN_DEF(mes,"s"),
- BUILDIN_DEF(mesf,"s*"),
+ BUILDIN_DEF(mes, "?"),
+ BUILDIN_DEF(mesf, "s*"),
BUILDIN_DEF(next,""),
+ BUILDIN_DEF(mesclear,""),
BUILDIN_DEF(close,""),
BUILDIN_DEF(close2,""),
BUILDIN_DEF(menu,"sl*"),
BUILDIN_DEF(select,"s*"), //for future jA script compatibility
- BUILDIN_DEF(prompt,"s*"),
+ BUILDIN_DEF2(select, "prompt", "s*"),
//
BUILDIN_DEF(goto,"l"),
BUILDIN_DEF(callsub,"l*"),
@@ -25002,12 +25568,13 @@ static void script_parse_builtin(void)
BUILDIN_DEF(rand,"i?"),
BUILDIN_DEF(countitem,"v"),
BUILDIN_DEF(countitem2,"viiiiiii"),
+ BUILDIN_DEF(countnameditem,"v?"),
BUILDIN_DEF(checkweight,"vi*"),
BUILDIN_DEF(checkweight2,"rr"),
BUILDIN_DEF(readparam,"i?"),
BUILDIN_DEF(setparam,"ii?"),
BUILDIN_DEF(getcharid,"i?"),
- BUILDIN_DEF(getnpcid,"i?"),
+ BUILDIN_DEF(getnpcid, "?"),
BUILDIN_DEF(getpartyname,"i"),
BUILDIN_DEF(getpartymember,"i?"),
BUILDIN_DEF(getpartyleader,"i?"),
@@ -25035,6 +25602,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(downrefitem,"i?"),
BUILDIN_DEF(statusup,"i"),
BUILDIN_DEF(statusup2,"ii"),
+ BUILDIN_DEF(needed_status_point, "ii"),
BUILDIN_DEF(bonus,"iv"),
BUILDIN_DEF2(bonus,"bonus2","ivi"),
BUILDIN_DEF2(bonus,"bonus3","ivii"),
@@ -25065,7 +25633,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(savepoint,"sii"),
BUILDIN_DEF(gettimetick,"i"),
BUILDIN_DEF(gettime,"i"),
- BUILDIN_DEF(gettimestr,"si"),
+ BUILDIN_DEF(gettimestr, "si?"),
BUILDIN_DEF(openstorage,""),
BUILDIN_DEF(guildopenstorage,""),
BUILDIN_DEF(itemskill,"vi?"),
@@ -25076,6 +25644,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(areamonster,"siiiisii???"),
BUILDIN_DEF(killmonster,"ss?"),
BUILDIN_DEF(killmonsterall,"s?"),
+ BUILDIN_DEF(killmonstergid, "i"),
BUILDIN_DEF(clone,"siisi????"),
BUILDIN_DEF(doevent,"s"),
BUILDIN_DEF(donpcevent,"s"),
@@ -25092,6 +25661,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(attachnpctimer,"?"), // attached the player id to the npc timer [Celest]
BUILDIN_DEF(detachnpctimer,"?"), // detached the player id from the npc timer [Celest]
BUILDIN_DEF(playerattached,""), // returns id of the current attached player. [Skotlex]
+ BUILDIN_DEF(mobattached, ""),
BUILDIN_DEF(announce,"si?????"),
BUILDIN_DEF(mapannounce,"ssi?????"),
BUILDIN_DEF(areaannounce,"siiiisi?????"),
@@ -25110,7 +25680,8 @@ static void script_parse_builtin(void)
BUILDIN_DEF(sc_end,"i?"),
BUILDIN_DEF(getstatus, "i?"),
BUILDIN_DEF(getscrate,"ii?"),
- BUILDIN_DEF(debugmes,"v*"),
+ BUILDIN_DEF_DEPRECATED(debugmes,"v*"),
+ BUILDIN_DEF(consolemes,"iv*"),
BUILDIN_DEF2(catchpet,"pet","i"),
BUILDIN_DEF2(birthpet,"bpet",""),
BUILDIN_DEF(resetlvl,"i"),
@@ -25186,6 +25757,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(skilleffect,"vi"), // skill effect [Celest]
BUILDIN_DEF(npcskilleffect,"viii"), // npc skill effect [Valaris]
BUILDIN_DEF(specialeffect,"i???"), // npc skill effect [Valaris]
+ BUILDIN_DEF(removespecialeffect,"i???"),
BUILDIN_DEF_DEPRECATED(specialeffect2,"i??"), // skill effect on players[Valaris]
BUILDIN_DEF(nude,""), // nude command [Valaris]
BUILDIN_DEF(mapwarp,"ssii??"), // Added by RoVeRT
@@ -25193,6 +25765,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF2(atcommand,"charcommand","s"), // [MouseJstr]
BUILDIN_DEF(movenpc,"sii?"), // [MouseJstr]
BUILDIN_DEF(message,"vs"), // [MouseJstr]
+ BUILDIN_DEF(servicemessage, "si?"),
BUILDIN_DEF(npctalk,"s??"), // [Valaris][Murilo BiO]
BUILDIN_DEF(mobcount,"ss"),
BUILDIN_DEF(getlook,"i"),
@@ -25238,6 +25811,8 @@ static void script_parse_builtin(void)
BUILDIN_DEF(charat,"si"),
BUILDIN_DEF(isstr,"v"),
BUILDIN_DEF(getdatatype, "?"),
+ BUILDIN_DEF(data_to_string, "?"),
+ BUILDIN_DEF2(getd, "string_to_data", "?"),
BUILDIN_DEF(chr,"i"),
BUILDIN_DEF(ord,"s"),
BUILDIN_DEF(setchar,"ssi"),
@@ -25273,13 +25848,14 @@ static void script_parse_builtin(void)
// <--- List of mathematics commands
BUILDIN_DEF(min, "i*"),
BUILDIN_DEF(max, "i*"),
+ BUILDIN_DEF(cap_value, "iii"),
BUILDIN_DEF(md5,"s"),
BUILDIN_DEF(swap,"rr"),
// [zBuffer] List of dynamic var commands --->
BUILDIN_DEF(getd,"s"),
BUILDIN_DEF(setd,"sv"),
// <--- [zBuffer] List of dynamic var commands
- BUILDIN_DEF(petstat,"i"),
+ BUILDIN_DEF_DEPRECATED(petstat, "i"), // Deprecated 2019-03-11
BUILDIN_DEF(callshop,"s?"), // [Skotlex]
BUILDIN_DEF(npcshopitem,"sii*"), // [Lance]
BUILDIN_DEF(npcshopadditem,"sii*"),
@@ -25317,6 +25893,8 @@ static void script_parse_builtin(void)
BUILDIN_DEF(getunitdata,"ii?"),
BUILDIN_DEF(getunitname,"i"),
BUILDIN_DEF(setunitname,"is"),
+ BUILDIN_DEF(getunittitle,"i"),
+ BUILDIN_DEF(setunittitle,"is"),
BUILDIN_DEF(unitwalk,"ii?"),
BUILDIN_DEF(unitkill,"i"),
BUILDIN_DEF(unitwarp,"isii"),
@@ -25447,7 +26025,7 @@ static void script_parse_builtin(void)
//Quest Log System [Inkfish]
BUILDIN_DEF(questinfo, "i?"),
- BUILDIN_DEF(setquestinfo, "i??"),
+ BUILDIN_DEF(setquestinfo, "i???"),
BUILDIN_DEF(setquest, "i?"),
BUILDIN_DEF(erasequest, "i?"),
BUILDIN_DEF(completequest, "i?"),
@@ -25485,8 +26063,8 @@ static void script_parse_builtin(void)
/* New Shop Support */
BUILDIN_DEF(openshop,"?"),
- BUILDIN_DEF(sellitem,"i??"),
- BUILDIN_DEF(stopselling,"i"),
+ BUILDIN_DEF(sellitem,"i???"),
+ BUILDIN_DEF(stopselling,"i??"),
BUILDIN_DEF(setcurrency,"i?"),
BUILDIN_DEF(tradertype,"i"),
BUILDIN_DEF(purchaseok,""),
@@ -25503,7 +26081,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(channelmes, "ss"),
BUILDIN_DEF(addchannelhandler, "ss"),
BUILDIN_DEF(removechannelhandler, "ss"),
- BUILDIN_DEF(showscript, "s?"),
+ BUILDIN_DEF(showscript, "s??"),
BUILDIN_DEF(mergeitem,""),
BUILDIN_DEF(getcalendartime, "ii??"),
@@ -25519,6 +26097,20 @@ static void script_parse_builtin(void)
// -- HatEffect
BUILDIN_DEF(hateffect, "ii"),
+
+ // camera
+ BUILDIN_DEF(camerainfo, ""),
+ BUILDIN_DEF(changecamera, "iii?"),
+
+ BUILDIN_DEF(itempreview, "i"),
+ BUILDIN_DEF(enchantitem, "iii"),
+ BUILDIN_DEF(expandInventoryAck, "i?"),
+ BUILDIN_DEF(expandInventoryResult, "i"),
+ BUILDIN_DEF(expandInventory, "i"),
+ BUILDIN_DEF(getInventorySize, ""),
+
+ BUILDIN_DEF(closeroulette, ""),
+ BUILDIN_DEF(openrefineryui, ""),
};
int i, len = ARRAYLENGTH(BUILDIN);
RECREATE(script->buildin, char *, script->buildin_count + len); // Pre-alloc to speed up
@@ -25558,13 +26150,20 @@ static void script_hardcoded_constants(void)
script->set_constant("MAX_LEVEL",MAX_LEVEL,false, false);
script->set_constant("MAX_STORAGE",MAX_STORAGE,false, false);
script->set_constant("MAX_GUILD_STORAGE",MAX_GUILD_STORAGE,false, false);
- script->set_constant("MAX_CART",MAX_INVENTORY,false, false);
+ script->set_constant("MAX_CART", MAX_CART, false, false);
script->set_constant("MAX_INVENTORY",MAX_INVENTORY,false, false);
+ script->set_constant("FIXED_INVENTORY_SIZE", FIXED_INVENTORY_SIZE, false, false);
script->set_constant("MAX_ZENY",MAX_ZENY,false, false);
script->set_constant("MAX_BANK_ZENY", MAX_BANK_ZENY, false, false);
script->set_constant("MAX_BG_MEMBERS",MAX_BG_MEMBERS,false, false);
script->set_constant("MAX_CHAT_USERS",MAX_CHAT_USERS,false, false);
script->set_constant("MAX_REFINE",MAX_REFINE,false, false);
+ script->set_constant("MAX_ITEM_ID",MAX_ITEM_ID,false, false);
+ script->set_constant("MAX_MENU_OPTIONS", MAX_MENU_OPTIONS, false, false);
+ script->set_constant("MAX_MENU_LENGTH", MAX_MENU_LENGTH, false, false);
+ script->set_constant("MOB_CLONE_START", MOB_CLONE_START, false, false);
+ script->set_constant("MOB_CLONE_END", MOB_CLONE_END, false, false);
+ script->set_constant("MAX_NPC_PER_MAP", MAX_NPC_PER_MAP, false, false);
script->constdb_comment("status options");
script->set_constant("Option_Nothing",OPTION_NOTHING,false, false);
@@ -25815,6 +26414,15 @@ static void script_hardcoded_constants(void)
script->set_constant("MAPINFO_SIZE_X", MAPINFO_SIZE_X, false, false);
script->set_constant("MAPINFO_SIZE_Y", MAPINFO_SIZE_Y, false, false);
script->set_constant("MAPINFO_ZONE", MAPINFO_ZONE, false, false);
+ script->set_constant("MAPINFO_NPC_COUNT", MAPINFO_NPC_COUNT, false, false);
+
+ script->constdb_comment("consolemes options");
+ script->set_constant("CONSOLEMES_DEBUG", CONSOLEMES_DEBUG, false, false);
+ script->set_constant("CONSOLEMES_ERROR", CONSOLEMES_ERROR, false, false);
+ script->set_constant("CONSOLEMES_WARNING", CONSOLEMES_WARNING, false, false);
+ script->set_constant("CONSOLEMES_INFO", CONSOLEMES_INFO, false, false);
+ script->set_constant("CONSOLEMES_STATUS", CONSOLEMES_STATUS, false, false);
+ script->set_constant("CONSOLEMES_NOTICE", CONSOLEMES_NOTICE, false, false);
script->constdb_comment("set/getiteminfo options");
script->set_constant("ITEMINFO_BUYPRICE", ITEMINFO_BUYPRICE, false, false);
@@ -25834,6 +26442,33 @@ static void script_hardcoded_constants(void)
script->set_constant("ITEMINFO_VIEWID", ITEMINFO_VIEWID, false, false);
script->set_constant("ITEMINFO_MATK", ITEMINFO_MATK, false, false);
script->set_constant("ITEMINFO_VIEWSPRITE", ITEMINFO_VIEWSPRITE, false, false);
+ script->set_constant("ITEMINFO_TRADE", ITEMINFO_TRADE, false, false);
+
+ script->constdb_comment("getmercinfo options");
+ script->set_constant("MERCINFO_ID,", MERCINFO_ID, false, false);
+ script->set_constant("MERCINFO_CLASS", MERCINFO_CLASS, false, false);
+ script->set_constant("MERCINFO_NAME", MERCINFO_NAME, false, false);
+ script->set_constant("MERCINFO_FAITH", MERCINFO_FAITH, false, false);
+ script->set_constant("MERCINFO_CALLS", MERCINFO_CALLS, false, false);
+ script->set_constant("MERCINFO_KILLCOUNT", MERCINFO_KILLCOUNT, false, false);
+ script->set_constant("MERCINFO_LIFETIME", MERCINFO_LIFETIME, false, false);
+ script->set_constant("MERCINFO_LEVEL", MERCINFO_LEVEL, false, false);
+ script->set_constant("MERCINFO_GID", MERCINFO_GID, false, false);
+
+ script->constdb_comment("getpetinfo options");
+ script->set_constant("PETINFO_ID", PETINFO_ID, false, false);
+ script->set_constant("PETINFO_CLASS", PETINFO_CLASS, false, false);
+ script->set_constant("PETINFO_NAME", PETINFO_NAME, false, false);
+ script->set_constant("PETINFO_INTIMACY", PETINFO_INTIMACY, false, false);
+ script->set_constant("PETINFO_HUNGRY", PETINFO_HUNGRY, false, false);
+ script->set_constant("PETINFO_RENAME", PETINFO_RENAME, false, false);
+ script->set_constant("PETINFO_GID", PETINFO_GID, false, false);
+ script->set_constant("PETINFO_EGGITEM", PETINFO_EGGITEM, false, false);
+ script->set_constant("PETINFO_FOODITEM", PETINFO_FOODITEM, false, false);
+ script->set_constant("PETINFO_ACCESSORYITEM", PETINFO_ACCESSORYITEM, false, false);
+ script->set_constant("PETINFO_ACCESSORYFLAG", PETINFO_ACCESSORYFLAG, false, false);
+ script->set_constant("PETINFO_EVO_EGGID", PETINFO_EVO_EGGID, false, false);
+ script->set_constant("PETINFO_AUTOFEED", PETINFO_AUTOFEED, false, false);
script->constdb_comment("monster skill states");
script->set_constant("MSS_ANY", MSS_ANY, false, false);
@@ -25917,6 +26552,7 @@ static void script_hardcoded_constants(void)
script->set_constant("QINFO_HOMUN_LEVEL", QINFO_HOMUN_LEVEL, false, false);
script->set_constant("QINFO_HOMUN_TYPE", QINFO_HOMUN_TYPE, false, false);
script->set_constant("QINFO_QUEST", QINFO_QUEST, false, false);
+ script->set_constant("QINFO_MERCENARY_CLASS", QINFO_MERCENARY_CLASS, false, false);
script->constdb_comment("function types");
script->set_constant("FUNCTION_IS_COMMAND", FUNCTION_IS_COMMAND, false, false);
@@ -25924,6 +26560,100 @@ static void script_hardcoded_constants(void)
script->set_constant("FUNCTION_IS_LOCAL", FUNCTION_IS_LOCAL, false, false);
script->set_constant("FUNCTION_IS_LABEL", FUNCTION_IS_LABEL, false, false);
+ script->constdb_comment("item trade restrictions");
+ script->set_constant("ITR_NONE", ITR_NONE, false, false);
+ script->set_constant("ITR_NODROP", ITR_NODROP, false, false);
+ script->set_constant("ITR_NOTRADE", ITR_NOTRADE, false, false);
+ script->set_constant("ITR_PARTNEROVERRIDE", ITR_PARTNEROVERRIDE, false, false);
+ script->set_constant("ITR_NOSELLTONPC", ITR_NOSELLTONPC, false, false);
+ script->set_constant("ITR_NOCART", ITR_NOCART, false, false);
+ script->set_constant("ITR_NOSTORAGE", ITR_NOSTORAGE, false, false);
+ script->set_constant("ITR_NOGSTORAGE", ITR_NOGSTORAGE, false, false);
+ script->set_constant("ITR_NOMAIL", ITR_NOMAIL, false, false);
+ script->set_constant("ITR_NOAUCTION", ITR_NOAUCTION, false, false);
+ script->set_constant("ITR_ALL", ITR_ALL, false, false);
+
+ script->constdb_comment("inventory expand ack responds");
+ script->set_constant("EXPAND_INV_ASK_CONFIRMATION", EXPAND_INVENTORY_ASK_CONFIRMATION, false, false);
+ script->set_constant("EXPAND_INV_FAILED", EXPAND_INVENTORY_FAILED, false, false);
+ script->set_constant("EXPAND_INV_OTHER_WORK", EXPAND_INVENTORY_OTHER_WORK, false, false);
+ script->set_constant("EXPAND_INV_MISSING_ITEM", EXPAND_INVENTORY_MISSING_ITEM, false, false);
+ script->set_constant("EXPAND_INV_MAX_SIZE", EXPAND_INVENTORY_MAX_SIZE, false, false);
+
+ script->constdb_comment("inventory expand final responds");
+ script->set_constant("EXPAND_INV_RESULT_SUCCESS", EXPAND_INVENTORY_RESULT_SUCCESS, false, false);
+ script->set_constant("EXPAND_INV_RESULT_FAILED", EXPAND_INVENTORY_RESULT_FAILED, false, false);
+ script->set_constant("EXPAND_INV_RESULT_OTHER_WORK", EXPAND_INVENTORY_RESULT_OTHER_WORK, false, false);
+ script->set_constant("EXPAND_INV_RESULT_MISSING_ITEM", EXPAND_INVENTORY_RESULT_MISSING_ITEM, false, false);
+ script->set_constant("EXPAND_INV_RESULT_MAX_SIZE", EXPAND_INVENTORY_RESULT_MAX_SIZE, false, false);
+
+ script->constdb_comment("trader type");
+ script->set_constant("NST_ZENY", NST_ZENY, false, false);
+ script->set_constant("NST_CASH", NST_CASH, false, false);
+ script->set_constant("NST_MARKET", NST_MARKET, false, false);
+ script->set_constant("NST_CUSTOM", NST_CUSTOM, false, false);
+ script->set_constant("NST_BARTER", NST_BARTER, false, false);
+
+ script->constdb_comment("script unit data types");
+ script->set_constant("UDT_TYPE", UDT_TYPE, false, false);
+ script->set_constant("UDT_SIZE", UDT_SIZE, false, false);
+ script->set_constant("UDT_LEVEL", UDT_LEVEL, false, false);
+ script->set_constant("UDT_HP", UDT_HP, false, false);
+ script->set_constant("UDT_MAXHP", UDT_MAXHP, false, false);
+ script->set_constant("UDT_SP", UDT_SP, false, false);
+ script->set_constant("UDT_MAXSP", UDT_MAXSP, false, false);
+ script->set_constant("UDT_MASTERAID", UDT_MASTERAID, false, false);
+ script->set_constant("UDT_MASTERCID", UDT_MASTERCID, false, false);
+ script->set_constant("UDT_MAPIDXY", UDT_MAPIDXY, false, true); // for setunitdata use *unitwarp, for getunitdata use *getmapxy
+ script->set_constant("UDT_WALKTOXY", UDT_WALKTOXY, false, true); // use *unitwalk
+ script->set_constant("UDT_SPEED", UDT_SPEED, false, false);
+ script->set_constant("UDT_MODE", UDT_MODE, false, false);
+ script->set_constant("UDT_AI", UDT_AI, false, false);
+ script->set_constant("UDT_SCOPTION", UDT_SCOPTION, false, false);
+ script->set_constant("UDT_SEX", UDT_SEX, false, false);
+ script->set_constant("UDT_CLASS", UDT_CLASS, false, false);
+ script->set_constant("UDT_HAIRSTYLE", UDT_HAIRSTYLE, false, false);
+ script->set_constant("UDT_HAIRCOLOR", UDT_HAIRCOLOR, false, false);
+ script->set_constant("UDT_HEADBOTTOM", UDT_HEADBOTTOM, false, false);
+ script->set_constant("UDT_HEADMIDDLE", UDT_HEADMIDDLE, false, false);
+ script->set_constant("UDT_HEADTOP", UDT_HEADTOP, false, false);
+ script->set_constant("UDT_CLOTHCOLOR", UDT_CLOTHCOLOR, false, false);
+ script->set_constant("UDT_SHIELD", UDT_SHIELD, false, false);
+ script->set_constant("UDT_WEAPON", UDT_WEAPON, false, false);
+ script->set_constant("UDT_LOOKDIR", UDT_LOOKDIR, false, false);
+ script->set_constant("UDT_CANMOVETICK", UDT_CANMOVETICK, false, false);
+ script->set_constant("UDT_STR", UDT_STR, false, false);
+ script->set_constant("UDT_AGI", UDT_AGI, false, false);
+ script->set_constant("UDT_VIT", UDT_VIT, false, false);
+ script->set_constant("UDT_INT", UDT_INT, false, false);
+ script->set_constant("UDT_DEX", UDT_DEX, false, false);
+ script->set_constant("UDT_LUK", UDT_LUK, false, false);
+ script->set_constant("UDT_ATKRANGE", UDT_ATKRANGE, false, false);
+ script->set_constant("UDT_ATKMIN", UDT_ATKMIN, false, false);
+ script->set_constant("UDT_ATKMAX", UDT_ATKMAX, false, false);
+ script->set_constant("UDT_MATKMIN", UDT_MATKMIN, false, false);
+ script->set_constant("UDT_MATKMAX", UDT_MATKMAX, false, false);
+ script->set_constant("UDT_DEF", UDT_DEF, false, false);
+ script->set_constant("UDT_MDEF", UDT_MDEF, false, false);
+ script->set_constant("UDT_HIT", UDT_HIT, false, false);
+ script->set_constant("UDT_FLEE", UDT_FLEE, false, false);
+ script->set_constant("UDT_PDODGE", UDT_PDODGE, false, false);
+ script->set_constant("UDT_CRIT", UDT_CRIT, false, false);
+ script->set_constant("UDT_RACE", UDT_RACE, false, false);
+ script->set_constant("UDT_ELETYPE", UDT_ELETYPE, false, false);
+ script->set_constant("UDT_ELELEVEL", UDT_ELELEVEL, false, false);
+ script->set_constant("UDT_AMOTION", UDT_AMOTION, false, false);
+ script->set_constant("UDT_ADELAY", UDT_ADELAY, false, false);
+ script->set_constant("UDT_DMOTION", UDT_DMOTION, false, false);
+ script->set_constant("UDT_HUNGER", UDT_HUNGER, false, false);
+ script->set_constant("UDT_INTIMACY", UDT_INTIMACY, false, false);
+ script->set_constant("UDT_LIFETIME", UDT_LIFETIME, false, false);
+ script->set_constant("UDT_MERC_KILLCOUNT", UDT_MERC_KILLCOUNT, false, false);
+ script->set_constant("UDT_STATPOINT", UDT_STATPOINT, false, false);
+ script->set_constant("UDT_ROBE", UDT_ROBE, false, false);
+ script->set_constant("UDT_BODY2", UDT_BODY2, false, false);
+ script->set_constant("UDT_GROUP", UDT_GROUP, false, false);
+
script->constdb_comment("Renewal");
#ifdef RENEWAL
script->set_constant("RENEWAL", 1, false, false);
diff --git a/src/map/script.h b/src/map/script.h
index 9c72b793c..4c1cc168d 100644
--- a/src/map/script.h
+++ b/src/map/script.h
@@ -64,6 +64,9 @@ struct item_data;
#define SCRIPT_EQUIP_TABLE_SIZE 20
+#define MAX_MENU_OPTIONS 0xFF
+#define MAX_MENU_LENGTH 0x800
+
//#define SCRIPT_DEBUG_DISP
//#define SCRIPT_DEBUG_DISASM
//#define SCRIPT_DEBUG_HASH
@@ -177,6 +180,8 @@ struct item_data;
#define BUILDIN(x) bool buildin_ ## x (struct script_state* st)
+#define get_buildin_name(st) ( script->get_str((int)(script_getdata((st), 0)->u.num)) )
+
#define script_fetch(st, n, t) do { \
if( script_hasdata((st),(n)) ) \
(t)=script_getnum((st),(n)); \
@@ -426,6 +431,7 @@ enum script_unit_data_types {
UDT_STATPOINT,
UDT_ROBE,
UDT_BODY2,
+ UDT_GROUP,
UDT_MAX
};
@@ -450,11 +456,50 @@ enum script_iteminfo_types {
ITEMINFO_VIEWID,
ITEMINFO_MATK,
ITEMINFO_VIEWSPRITE,
+ ITEMINFO_TRADE,
ITEMINFO_MAX
};
/**
+ * Mercenary Info types.
+ */
+enum script_mercinfo_types {
+ MERCINFO_ID = 0,
+ MERCINFO_CLASS,
+ MERCINFO_NAME,
+ MERCINFO_FAITH,
+ MERCINFO_CALLS,
+ MERCINFO_KILLCOUNT,
+ MERCINFO_LIFETIME,
+ MERCINFO_LEVEL,
+ MERCINFO_GID,
+
+ MERCINFO_MAX
+};
+
+/**
+ * Pet Info types.
+ */
+enum script_petinfo_types {
+ PETINFO_ID = 0,
+ PETINFO_CLASS,
+ PETINFO_NAME,
+ PETINFO_INTIMACY,
+ PETINFO_HUNGRY,
+ PETINFO_RENAME,
+ PETINFO_GID,
+ PETINFO_EGGITEM,
+ PETINFO_FOODITEM,
+ PETINFO_ACCESSORYITEM,
+ PETINFO_ACCESSORYFLAG,
+ PETINFO_EVO_EGGID,
+ PETINFO_AUTOFEED,
+
+ PETINFO_MAX
+};
+
+/**
* Player blocking actions related flags.
*/
enum pcblock_action_flag {
diff --git a/src/map/searchstore.c b/src/map/searchstore.c
index 0c6fa3555..c991e38c4 100644
--- a/src/map/searchstore.c
+++ b/src/map/searchstore.c
@@ -345,7 +345,7 @@ static void searchstore_clearremote(struct map_session_data *sd)
}
/// receives results from a store-specific callback
-static bool searchstore_result(struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine, const struct item_option *option)
+static bool searchstore_result(struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine_level, const struct item_option *option)
{
struct s_search_store_info_item* ssitem;
@@ -364,7 +364,7 @@ static bool searchstore_result(struct map_session_data *sd, unsigned int store_i
ssitem->amount = amount;
ssitem->price = price;
memcpy(ssitem->card, card, sizeof(ssitem->card));
- ssitem->refine = refine;
+ ssitem->refine = refine_level;
memcpy(ssitem->option, option, sizeof(ssitem->option));
return true;
diff --git a/src/map/searchstore.h b/src/map/searchstore.h
index e5ccfd300..71d562679 100644
--- a/src/map/searchstore.h
+++ b/src/map/searchstore.h
@@ -109,7 +109,7 @@ struct searchstore_interface {
void (*click) (struct map_session_data* sd, int account_id, int store_id, int nameid);
bool (*queryremote) (struct map_session_data* sd, int account_id);
void (*clearremote) (struct map_session_data* sd);
- bool (*result) (struct map_session_data* sd, unsigned int store_id, int account_id, const char* store_name, int nameid, unsigned short amount, unsigned int price, const int* card, unsigned char refine, const struct item_option *option);
+ bool (*result) (struct map_session_data* sd, unsigned int store_id, int account_id, const char* store_name, int nameid, unsigned short amount, unsigned int price, const int* card, unsigned char refine_level, const struct item_option *option);
};
#ifdef HERCULES_CORE
diff --git a/src/map/skill.c b/src/map/skill.c
index c5579c2f6..a259829ef 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -44,6 +44,7 @@
#include "map/path.h"
#include "map/pc.h"
#include "map/pet.h"
+#include "map/refine.h"
#include "map/script.h"
#include "map/status.h"
#include "map/unit.h"
@@ -2361,11 +2362,11 @@ static int skill_counter_additional_effect(struct block_list *src, struct block_
) {
// Soul Drain should only work on targeted spells [Skotlex]
if( pc_issit(sd) ) pc->setstand(sd); // Character stuck in attacking animation while 'sitting' fix. [Skotlex]
- if( skill->get_nk(skill_id)&NK_SPLASH && skill->area_temp[1] != bl->id )
+ if (skill->get_nk(skill_id)&NK_SPLASH && skill->area_temp[1] != bl->id) {
;
- else {
+ } else {
clif->skill_nodamage(src,bl,HW_SOULDRAIN,rate,1);
- status->heal(src, 0, status->get_lv(bl)*(95+15*rate)/100, 2);
+ status->heal(src, 0, status->get_lv(bl)*(95+15*rate)/100, STATUS_HEAL_SHOWEFFECT);
}
}
@@ -2388,9 +2389,9 @@ static int skill_counter_additional_effect(struct block_list *src, struct block_
sc->data[SC_SOULLINK]->val3 = 0; //Clear bounced spell check.
}
}
- if( hp || sp ) {
+ if (hp != 0 || sp != 0) {
// updated to force healing to allow healing through berserk
- status->heal(src, hp, sp, battle_config.show_hp_sp_gain ? 3 : 1);
+ status->heal(src, hp, sp, STATUS_HEAL_FORCED | (battle_config.show_hp_sp_gain ? STATUS_HEAL_SHOWEFFECT : STATUS_HEAL_DEFAULT));
}
}
@@ -2588,7 +2589,7 @@ static int skill_break_equip(struct block_list *bl, unsigned short where, int ra
pc->unequipitem(sd, j, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
}
}
- clif->equiplist(sd);
+ clif->equipList(sd);
}
return where; //Return list of pieces broken.
@@ -2892,14 +2893,16 @@ static int skill_attack(int attack_type, struct block_list *src, struct block_li
}
#endif /* MAGIC_REFLECTION_TYPE */
}
- if(sc && sc->data[SC_MAGICROD] && src == dsrc) {
- int sp = skill->get_sp(skill_id,skill_lv);
+ if (sc && sc->data[SC_MAGICROD] && src == dsrc) {
+ int sp = skill->get_sp(skill_id, skill_lv);
dmg.damage = dmg.damage2 = 0;
dmg.dmg_lv = ATK_MISS; //This will prevent skill additional effect from taking effect. [Skotlex]
sp = sp * sc->data[SC_MAGICROD]->val2 / 100;
- if(skill_id == WZ_WATERBALL && skill_lv > 1)
- sp = sp/((skill_lv|1)*(skill_lv|1)); //Estimate SP cost of a single water-ball
- status->heal(bl, 0, sp, 2);
+ if (skill_id == WZ_WATERBALL && skill_lv > 1)
+ sp = sp / ((skill_lv | 1) * (skill_lv | 1)); //Estimate SP cost of a single water-ball
+ status->heal(bl, 0, sp, STATUS_HEAL_SHOWEFFECT);
+ if (battle->bc->magicrod_type == 1)
+ clif->skill_nodamage(bl, bl, SA_MAGICROD, sc->data[SC_MAGICROD]->val1, 1); // Animation used here in eAthena [Wolfie]
}
}
@@ -4138,7 +4141,7 @@ static int skill_activate_reverberation(struct block_list *bl, va_list ap)
if( su->alive && (sg = su->group) != NULL && sg->skill_id == WM_REVERBERATION && sg->unit_id == UNT_REVERBERATION ) {
int64 tick = timer->gettick();
clif->changetraplook(bl,UNT_USED_TRAPS);
- map->foreachinrange(skill->trap_splash, bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, bl, tick);
+ skill->trap_do_splash(bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
su->limit = DIFF_TICK32(tick,sg->tick)+1500;
sg->unit_id = UNT_USED_TRAPS;
}
@@ -4153,10 +4156,9 @@ static int skill_reveal_trap(struct block_list *bl, va_list ap)
Assert_ret(bl->type == BL_SKILL);
su = BL_UCAST(BL_SKILL, bl);
- if (su->alive && su->group && skill->get_inf2(su->group->skill_id)&INF2_TRAP) { //Reveal trap.
- //Change look is not good enough, the client ignores it as an actual trap still. [Skotlex]
- //clif->changetraplook(bl, su->group->unit_id);
- clif->getareachar_skillunit(&su->bl,su,AREA);
+ if (su->alive && su->group && skill->get_inf2(su->group->skill_id) & INF2_HIDDEN_TRAP) { //Reveal trap.
+ su->visible = true;
+ clif->skillunit_update(bl);
return 1;
}
return 0;
@@ -4477,7 +4479,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
if( skill_id == MO_EXTREMITYFIST ) {
mbl = src;
i = 3; // for Asura(from caster)
- status->set_sp(src, 0, 0);
+ status->set_sp(src, 0, STATUS_HEAL_DEFAULT);
status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
status_change_end(src, SC_BLADESTOP, INVALID_TIMER);
#ifdef RENEWAL
@@ -4487,9 +4489,9 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
status_change_end(src, SC_NJ_NEN, INVALID_TIMER);
status_change_end(src, SC_HIDING, INVALID_TIMER);
#ifdef RENEWAL
- status->set_hp(src, max(status_get_max_hp(src)/100, 1), 0);
+ status->set_hp(src, max(status_get_max_hp(src)/100, 1), STATUS_HEAL_DEFAULT);
#else // not RENEWAL
- status->set_hp(src, 1, 0);
+ status->set_hp(src, 1, STATUS_HEAL_DEFAULT);
#endif // RENEWAL
}
dir = map->calc_dir(src,bl->x,bl->y);
@@ -4603,7 +4605,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
heal = skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, sflag);
if (skill_id == NPC_VAMPIRE_GIFT && heal > 0) {
clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
- status->heal(src,heal,0,0);
+ status->heal(src, heal, 0, STATUS_HEAL_DEFAULT);
}
if (skill_id == SU_SCRATCH && status->get_lv(src) >= 30 && (rnd() % 100 < (int)(status->get_lv(src) / 30) + 10)) // TODO: Need activation chance.
skill->addtimerskill(src, tick + skill->get_delay(skill_id, skill_lv), bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag);
@@ -4971,7 +4973,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
src, src, bl, skill_id, skill_lv, tick, flag);
if (heal > 0){
clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
- status->heal(src, heal, 0, 0);
+ status->heal(src, heal, 0, STATUS_HEAL_DEFAULT);
}
}
break;
@@ -5082,7 +5084,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
heal = 0; // Don't absorb heal from Ice Walls or other skill units.
if( heal && rnd()%100 < rate ) {
- status->heal(src, heal, 0, 0);
+ status->heal(src, heal, 0, STATUS_HEAL_DEFAULT);
clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
}
}
@@ -5843,7 +5845,7 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
//When Asura fails... (except when it fails from Fog of Wall)
//Consume SP/spheres
skill->consume_requirement(sd,ud->skill_id, ud->skill_lv,1);
- status->set_sp(src, 0, 0);
+ status->set_sp(src, 0, STATUS_HEAL_DEFAULT);
sc = &sd->sc;
if (sc->count) {
//End states
@@ -6126,7 +6128,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->skill_nodamage (src, bl, skill_id, heal, 1);
if( tsc && tsc->data[SC_AKAITSUKI] && heal && skill_id != HLIF_HEAL )
heal = ~heal + 1;
- heal_get_jobexp = status->heal(bl,heal,0,0);
+ heal_get_jobexp = status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
if(sd && dstsd && heal > 0 && sd != dstsd && battle_config.heal_exp > 0){
heal_get_jobexp = heal_get_jobexp * battle_config.heal_exp / 100;
@@ -6159,8 +6161,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->updatestatus(sd,SP_BASEEXP);
clif->updatestatus(sd,SP_JOBEXP);
}
- status->set_hp(src, 1, 0);
- status->set_sp(src, 0, 0);
+ status->set_hp(src, 1, STATUS_HEAL_DEFAULT);
+ status->set_sp(src, 0, STATUS_HEAL_DEFAULT);
break;
} else if (status->isdead(bl) && flag&1) { //Revive
skill->area_temp[0]++; //Count it in, then fall-through to the Resurrection code.
@@ -6333,7 +6335,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
break;
case SA_INSTANTDEATH:
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
- status->set_hp(bl,1,0);
+ status->set_hp(bl, 1, STATUS_HEAL_DEFAULT);
break;
case SA_QUESTION:
case SA_GRAVITY:
@@ -6911,7 +6913,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if (dstsd && dstsd->charm_type != CHARM_TYPE_NONE && dstsd->charm_count > 0) {
pc->del_charm(dstsd, dstsd->charm_count, dstsd->charm_type);
}
- if (sp) status->heal(src, 0, sp, 3);
+ if (sp != 0)
+ status->heal(src, 0, sp, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src,bl,skill_id,skill_lv,sp?1:0);
}
break;
@@ -7273,7 +7276,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case NV_FIRSTAID:
clif->skill_nodamage(src,bl,skill_id,5,1);
- status->heal(bl,5,0,0);
+ status->heal(bl, 5, 0, STATUS_HEAL_DEFAULT);
break;
case AL_CURE:
@@ -7350,7 +7353,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case MER_SCAPEGOAT:
if( mer && mer->master ) {
- status->heal(&mer->master->bl, mer->battle_status.hp, 0, 2);
+ status->heal(&mer->master->bl, mer->battle_status.hp, 0, STATUS_HEAL_SHOWEFFECT);
status->damage(src, src, mer->battle_status.max_hp, 0, 0, 1);
}
break;
@@ -7667,7 +7670,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if( tsc && tsc->data[SC_EXTREMITYFIST2] )
sp = 0;
#endif
- status->heal(bl,(int)hp,sp,0);
+ status->heal(bl, (int)hp, sp, STATUS_HEAL_DEFAULT);
}
break;
case AM_CP_WEAPON:
@@ -7842,7 +7845,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
sp = skill->get_sp(skill_id,skill_lv);
sp = sp * tsc->data[SC_MAGICROD]->val2 / 100;
if(sp < 1) sp = 1;
- status->heal(bl,0,sp,2);
+ status->heal(bl, 0, sp, STATUS_HEAL_SHOWEFFECT);
status_percent_damage(bl, src, 0, -20, false); //20% max SP damage.
} else {
struct unit_data *ud = unit->bl2ud(bl);
@@ -7874,14 +7877,15 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if (sp) //Recover some of the SP used
sp = sp*(25*(skill_lv-1))/100;
- if(hp || sp)
- status->heal(src, hp, sp, 2);
+ if (hp != 0 || sp != 0)
+ status->heal(src, hp, sp, STATUS_HEAL_SHOWEFFECT);
}
}
break;
case SA_MAGICROD:
- clif->skill_nodamage(src,src,SA_MAGICROD,skill_lv,1);
- sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv));
+ if (battle->bc->magicrod_type == 0)
+ clif->skill_nodamage(src, src, SA_MAGICROD, skill_lv, 1); // Animation used here in official [Wolfie]
+ sc_start(src, bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv));
break;
case SA_AUTOSPELL:
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
@@ -8118,14 +8122,14 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
{
int hp_rate = skill_lv == 0 ? 0 : skill->get_hp_rate(skill_id, skill_lv);
int gain_hp = tstatus->max_hp*abs(hp_rate)/100; // The earned is the same % of the target HP than it cost the caster. [Skotlex]
- clif->skill_nodamage(src,bl,skill_id,status->heal(bl, gain_hp, 0, 0),1);
+ clif->skill_nodamage(src, bl, skill_id, status->heal(bl, gain_hp, 0, STATUS_HEAL_DEFAULT), 1);
}
break;
case WE_FEMALE:
{
int sp_rate = skill_lv == 0 ? 0 : skill->get_sp_rate(skill_id, skill_lv);
int gain_sp = tstatus->max_sp*abs(sp_rate)/100;// The earned is the same % of the target SP than it cost the caster. [Skotlex]
- clif->skill_nodamage(src,bl,skill_id,status->heal(bl, 0, gain_sp, 0),1);
+ clif->skill_nodamage(src, bl, skill_id, status->heal(bl, 0, gain_sp, STATUS_HEAL_DEFAULT), 1);
}
break;
@@ -8165,7 +8169,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
break;
}
clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
- status->heal(bl,0,sp,2);
+ status->heal(bl, 0, sp, STATUS_HEAL_SHOWEFFECT);
}
break;
@@ -8320,7 +8324,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
}
dstmd->state.soul_change_flag = 1;
sp2 = sstatus->max_sp * 3 /100;
- status->heal(src, 0, sp2, 2);
+ status->heal(src, 0, sp2, STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
}
@@ -8332,8 +8336,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if( tsc && tsc->data[SC_EXTREMITYFIST2] )
sp1 = tstatus->sp;
#endif // RENEWAL
- status->set_sp(src, sp2, 3);
- status->set_sp(bl, sp1, 3);
+ status->set_sp(src, sp2, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
+ status->set_sp(bl, sp1, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -8371,7 +8375,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->skill_nodamage(NULL,bl,AL_HEAL,hp,1);
if(sp > 0)
clif->skill_nodamage(NULL,bl,MG_SRECOVERY,sp,1);
- status->heal(bl,hp,sp,0);
+ status->heal(bl, hp, sp, STATUS_HEAL_DEFAULT);
}
break;
// Full Chemical Protection
@@ -8460,7 +8464,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
sc_start(src,bl,SC_INCATKRATE,100,-50,skill->get_time2(skill_id,skill_lv));
break;
case 5: // 2000HP heal, random teleported
- status->heal(src, 2000, 0, 0);
+ status->heal(src, 2000, 0, STATUS_HEAL_DEFAULT);
if( !map_flag_vs(bl->m) )
unit->warp(bl, -1,-1,-1, CLR_TELEPORT);
break;
@@ -8754,7 +8758,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
//Eh? why double skill packet?
clif->skill_nodamage(src,bl,AL_HEAL,hp,1);
clif->skill_nodamage(src,bl,skill_id,hp,1);
- status->heal(bl, hp, 0, 0);
+ status->heal(bl, hp, 0, STATUS_HEAL_DEFAULT);
}
break;
// Homun single-target support skills [orn]
@@ -8901,7 +8905,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
int heal = status_get_max_hp(bl) * 25 / 100;
clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
- status->heal(bl,heal,0,1);
+ status->heal(bl, heal, 0, STATUS_HEAL_FORCED);
status->change_clear_buffs(bl,4);
}
break;
@@ -8955,7 +8959,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
value = status_get_max_hp(bl) * 25 / 100;
status->change_clear_buffs(bl,4);
skill->area_temp[5] &= ~0x20;
- status->heal(bl,value,0,1);
+ status->heal(bl, value, 0, STATUS_HEAL_FORCED);
type = SC_REFRESH;
}else if( skill->area_temp[5]&0x40 ){
skill->area_temp[5] &= ~0x40;
@@ -9140,7 +9144,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->skill_nodamage(bl, bl, skill_id, heal, 1);
if( tsc && tsc->data[SC_AKAITSUKI] && heal )
heal = ~heal + 1;
- status->heal(bl, heal, 0, 1);
+ status->heal(bl, heal, 0, STATUS_HEAL_FORCED);
}
} else if( sd )
party->foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
@@ -9416,7 +9420,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
pc->setmadogear(sd, false);
clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
skill->castend_damage_id(src, src, skill_id, skill_lv, tick, flag);
- status->set_sp(src, 0, 0);
+ status->set_sp(src, 0, STATUS_HEAL_DEFAULT);
}
break;
@@ -9455,7 +9459,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case 5: hp = 23; break;
}
heal = tstatus->max_hp * hp / 100;
- status->heal(bl,heal,0,2);
+ status->heal(bl, heal, 0, STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src, bl, skill_id, skill_lv, heal);
}
break;
@@ -9533,7 +9537,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
int sp = 100 * skill_lv;
if( dstmd ) sp = dstmd->level * 2;
if( status_zap(bl,0,sp) )
- status->heal(src,0,sp/2,3);//What does flag 3 do? [Rytech]
+ status->heal(src, 0, sp / 2, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
}
if ( tsc && tsc->data[SC__UNLUCKY] && skill_id == SC_UNLUCKY) {
//If the target was successfully inflected with the Unlucky status, give 1 of 3 random status's.
@@ -9657,7 +9661,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case 3:
sc_start(src, bl, SC_SHIELDSPELL_REF, 100, opt, INFINITE_DURATION); // HP Recovery
val = sstatus->max_hp * ((status->get_lv(src) / 10) + (shield->refine + 1)) / 100;
- status->heal(bl, val, 0, 2);
+ status->heal(bl, val, 0, STATUS_HEAL_SHOWEFFECT);
status_change_end(bl,SC_SHIELDSPELL_REF,INVALID_TIMER);
break;
}
@@ -9800,7 +9804,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
}
heal = 120 * skill_lv + status_get_max_hp(bl) * (2 + skill_lv) / 100;
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
if( (tsc && tsc->opt1) && (rnd()%100 < ((skill_lv * 5) + (status_get_dex(src) + status->get_lv(src)) / 4) - (1 + (rnd() % 10))) ) {
status_change_end(bl, SC_STONE, INVALID_TIMER);
@@ -9871,7 +9875,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
heal = 1;
status->fixed_revive(bl, heal, 0);
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
- status->set_sp(bl, 0, 0);
+ status->set_sp(bl, 0, STATUS_HEAL_DEFAULT);
}
}
break;
@@ -10208,7 +10212,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
}
e_hp = ed->battle_status.max_hp * 10 / 100;
e_sp = ed->battle_status.max_sp * 10 / 100;
- status->heal(&ed->bl,e_hp,e_sp,3);
+ status->heal(&ed->bl, e_hp, e_sp, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src,&ed->bl,skill_id,skill_lv,1);
}
break;
@@ -10518,7 +10522,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
}
}
heal = 5 * status->get_lv(&hd->bl) + status->base_matk(&hd->bl, &hd->battle_status, status->get_lv(&hd->bl));
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
clif->skill_nodamage(src, src, skill_id, skill_lv, clif->skill_nodamage(src, bl, AL_HEAL, heal, 1));
status->change_start(src, src, type, 1000, skill_lv, 0, 0, 0, skill->get_time(skill_id,skill_lv), SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_FIXEDRATE);
status->change_start(src, bl, type, 1000, skill_lv, 0, 0, 0, skill->get_time(skill_id,skill_lv), SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_FIXEDRATE);
@@ -11040,9 +11044,10 @@ static int skill_castend_pos2(struct block_list *src, int x, int y, uint16 skill
map->foreachinarea(status->change_timer_sub,
src->m, x-r, y-r, x+r,y+r,BL_CHAR,
src,NULL,SC_SIGHT,tick);
- if(battle_config.traps_setting&1)
- map->foreachinarea(skill_reveal_trap,
- src->m, x-r, y-r, x+r, y+r, BL_SKILL);
+ if (battle_config.trap_visibility != 0) {
+ map->foreachinarea(skill_reveal_trap,
+ src->m, x - r, y - r, x + r, y + r, BL_SKILL);
+ }
break;
case SR_RIDEINLIGHTNING:
@@ -12644,7 +12649,7 @@ static int skill_unit_onplace(struct skill_unit *src, struct block_list *bl, int
if (sg->src_id == bl->id)
break; //Does not affect the caster.
clif->changetraplook(&src->bl,UNT_USED_TRAPS);
- map->foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
sg->unit_id = UNT_USED_TRAPS;
sg->limit = DIFF_TICK32(tick,sg->tick) + 1500;
break;
@@ -12759,6 +12764,13 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
ts->tick += sg->interval*(map->count_oncell(bl->m,bl->x,bl->y,BL_CHAR,0)-1);
}
+ if (sg->skill_id == HT_ANKLESNARE
+ || (battle_config.trap_trigger == 1 && skill->get_inf2(sg->skill_id) & INF2_HIDDEN_TRAP)
+ ) {
+ src->visible = true;
+ clif->skillunit_update(&src->bl);
+ }
+
switch (sg->unit_id) {
case UNT_FIREWALL:
case UNT_KAEN: {
@@ -12800,7 +12812,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
clif->skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
if (tsc && tsc->data[SC_AKAITSUKI] && heal)
heal = ~heal + 1;
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
if (diff >= 500)
sg->val1--;
}
@@ -12821,7 +12833,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
if (status->isimmune(bl))
heal = 0;
clif->skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
}
break;
@@ -12911,10 +12923,11 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
clif->fixpos(bl);
}
sg->val2 = bl->id;
- } else
+ } else {
sec = 3000; //Couldn't trap it?
+ }
+
if( sg->unit_id == UNT_ANKLESNARE ) {
- clif->skillunit_update(&src->bl);
/**
* If you're snared from a trap that was invisible this makes the trap be
* visible again -- being you stepped on it (w/o this the trap remains invisible and you go "WTF WHY I CANT MOVE")
@@ -12938,7 +12951,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
}
- map->foreachinrange(skill->trap_splash, &src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl, tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
sg->unit_id = UNT_USED_TRAPS; //Changed ID so it does not invoke a for each in area again.
}
break;
@@ -12969,10 +12982,10 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
case UNT_FREEZINGTRAP:
case UNT_FIREPILLAR_ACTIVE:
case UNT_CLAYMORETRAP:
- if( sg->unit_id == UNT_FIRINGTRAP || sg->unit_id == UNT_ICEBOUNDTRAP || sg->unit_id == UNT_CLAYMORETRAP )
- map->foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag|BL_SKILL|~BCT_SELF, &src->bl,tick);
+ if (sg->unit_id == UNT_FIRINGTRAP || sg->unit_id == UNT_ICEBOUNDTRAP || sg->unit_id == UNT_CLAYMORETRAP)
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag | BL_SKILL | ~BCT_SELF, tick);
else
- map->foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
if (sg->unit_id != UNT_FIREPILLAR_ACTIVE)
clif->changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);
sg->limit=DIFF_TICK32(tick,sg->tick)+1500 +
@@ -13032,7 +13045,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
if( tsc && tsc->data[SC_AKAITSUKI] && heal )
heal = ~heal + 1;
clif->skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
}
}
break;
@@ -13086,7 +13099,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
case 0: // Heal 1~9999 HP
heal = rnd() %9999+1;
clif->skill_nodamage(ss,bl,AL_HEAL,heal,1);
- status->heal(bl,heal,0,0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
break;
case 1: // End all negative status
status->change_clear_buffs(bl,2);
@@ -13203,9 +13216,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
case UNT_GROUNDDRIFT_POISON:
case UNT_GROUNDDRIFT_WATER:
case UNT_GROUNDDRIFT_FIRE:
- map->foreachinrange(skill->trap_splash,&src->bl,
- skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag,
- &src->bl,tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
sg->unit_id = UNT_USED_TRAPS;
//clif->changetraplook(&src->bl, UNT_FIREPILLAR_ACTIVE);
sg->limit=DIFF_TICK32(tick,sg->tick)+1500;
@@ -13233,7 +13244,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
}
hp = tstatus->max_hp * hp / 100;
sp = tstatus->max_sp * sp / 100;
- status->heal(bl, hp, sp, 2);
+ status->heal(bl, hp, sp, STATUS_HEAL_SHOWEFFECT);
sc_start(ss, bl, type, 100, sg->skill_lv, (sg->interval * 3) + 100);
}
// Reveal hidden players every 5 seconds.
@@ -13266,7 +13277,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
case UNT_REVERBERATION:
clif->changetraplook(&src->bl,UNT_USED_TRAPS);
- map->foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
sg->limit = DIFF_TICK32(tick,sg->tick)+1500;
sg->unit_id = UNT_USED_TRAPS;
break;
@@ -13355,7 +13366,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
clif->skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0);
if( tsc && tsc->data[SC_AKAITSUKI] && hp )
hp = ~hp + 1;
- status->heal(bl, hp, 0, 0);
+ status->heal(bl, hp, 0, STATUS_HEAL_DEFAULT);
sc_start(ss, bl, type, 100, sg->skill_lv, sg->interval + 100);
}
break;
@@ -13369,13 +13380,13 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
int hp = tstatus->max_hp / 100; //+1% each 5s
if ((sg->val3) % 5) { //each 5s
if (tstatus->def_ele == skill->get_ele(sg->skill_id,sg->skill_lv)) {
- status->heal(bl, hp, 0, 2);
+ status->heal(bl, hp, 0, STATUS_HEAL_SHOWEFFECT);
} else if( (sg->unit_id == UNT_FIRE_INSIGNIA && tstatus->def_ele == ELE_EARTH)
|| (sg->unit_id == UNT_WATER_INSIGNIA && tstatus->def_ele == ELE_FIRE)
|| (sg->unit_id == UNT_WIND_INSIGNIA && tstatus->def_ele == ELE_WATER)
|| (sg->unit_id == UNT_EARTH_INSIGNIA && tstatus->def_ele == ELE_WIND)
) {
- status->heal(bl, -hp, 0, 0);
+ status->heal(bl, -hp, 0, STATUS_HEAL_DEFAULT);
}
}
sg->val3++; //timer
@@ -14491,8 +14502,8 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s
**/
case AB_ANCILLA:
{
- int count = 0, i;
- for( i = 0; i < MAX_INVENTORY; i ++ )
+ int count = 0;
+ for (int i = 0; i < sd->status.inventorySize; i ++)
if (sd->status.inventory[i].nameid == ITEMID_ANSILA)
count += sd->status.inventory[i].amount;
if( count >= 3 ) {
@@ -16110,7 +16121,7 @@ static void skill_repairweapon(struct map_session_data *sd, int idx)
if (idx == 0xFFFF || idx == -1) // No item selected ('Cancel' clicked)
return;
- if( idx < 0 || idx >= MAX_INVENTORY )
+ if (idx < 0 || idx >= sd->status.inventorySize)
return; //Invalid index??
item = &target_sd->status.inventory[idx];
@@ -16139,7 +16150,7 @@ static void skill_repairweapon(struct map_session_data *sd, int idx)
item->attribute |= ATTR_BROKEN;
item->attribute ^= ATTR_BROKEN; /* clear broken state */
- clif->equiplist(target_sd);
+ clif->equipList(target_sd);
pc->delitem(sd, pc->search_inventory(sd, material), 1, 0, DELITEM_NORMAL, LOG_TYPE_CONSUME); // FIXME: is this the correct reason flag?
@@ -16158,7 +16169,7 @@ static void skill_identify(struct map_session_data *sd, int idx)
nullpo_retv(sd);
sd->state.workinprogress = 0;
- if(idx >= 0 && idx < MAX_INVENTORY) {
+ if (idx >= 0 && idx < sd->status.inventorySize) {
if(sd->status.inventory[idx].nameid > 0 && sd->status.inventory[idx].identify == 0 ){
flag=0;
sd->status.inventory[idx].identify=1;
@@ -16174,7 +16185,7 @@ static void skill_weaponrefine(struct map_session_data *sd, int idx)
{
nullpo_retv(sd);
- if (idx >= 0 && idx < MAX_INVENTORY) {
+ if (idx >= 0 && idx < sd->status.inventorySize) {
struct item *item;
struct item_data *ditem = sd->inventory_data[idx];
item = &sd->status.inventory[idx];
@@ -16202,7 +16213,7 @@ static void skill_weaponrefine(struct map_session_data *sd, int idx)
return;
}
- per = status->get_refine_chance(ditem->wlv, (int)item->refine, REFINE_CHANCE_TYPE_NORMAL) * 10;
+ per = refine->get_refine_chance(ditem->wlv, (int)item->refine, REFINE_CHANCE_TYPE_NORMAL) * 10;
// Aegis leaked formula. [malufett]
if (sd->status.class == JOB_MECHANIC_T)
@@ -16222,7 +16233,7 @@ static void skill_weaponrefine(struct map_session_data *sd, int idx)
}
clif->delitem(sd, idx, 1, DELITEM_NORMAL);
clif->upgrademessage(sd->fd, 0,item->nameid);
- clif->inventorylist(sd);
+ clif->inventoryList(sd);
clif->refine(sd->fd,0,idx,item->refine);
if (ep)
pc->equipitem(sd,idx,ep);
@@ -16630,10 +16641,10 @@ static int skill_detonator(struct block_list *bl, va_list ap)
case UNT_CLAYMORETRAP:
case UNT_FIRINGTRAP:
case UNT_ICEBOUNDTRAP:
- map->foreachinrange(skill->trap_splash,bl,skill->get_splash(su->group->skill_id,su->group->skill_lv),su->group->bl_flag|BL_SKILL|~BCT_SELF,bl,su->group->tick);
+ skill->trap_do_splash(bl, su->group->skill_id, su->group->skill_lv, su->group->bl_flag | BL_SKILL | ~BCT_SELF, su->group->tick);
break;
default:
- map->foreachinrange(skill->trap_splash,bl,skill->get_splash(su->group->skill_id,su->group->skill_lv),su->group->bl_flag,bl,su->group->tick);
+ skill->trap_do_splash(bl, su->group->skill_id, su->group->skill_lv, su->group->bl_flag, su->group->tick);
}
clif->changetraplook(bl, UNT_USED_TRAPS);
su->group->limit = DIFF_TICK32(timer->gettick(),su->group->tick) +
@@ -16766,6 +16777,27 @@ static int skill_chastle_mob_changetarget(struct block_list *bl, va_list ap)
return 0;
}
+/**
+ * Does final adjustments (e.g. count enemies affected by splash) then runs trap splash function (skill_trap_splash).
+ *
+ * @param bl : trap skill unit's bl
+ * @param skill_id : Trap Skill ID
+ * @param skill_lv : Trap Skill Level
+ * @param bl_flag : Flag representing units affected by this trap
+ * @param tick : tick related to this trap
+ */
+static void skill_trap_do_splash(struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick)
+{
+ int enemy_count = 0;
+
+ if (skill->get_nk(skill_id) & NK_SPLASHSPLIT) {
+ enemy_count = map->foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), BL_CHAR, bl, skill_id, skill_lv, tick, BCT_ENEMY, skill->area_sub_count);
+ enemy_count = max(1, enemy_count); // Don't let enemy_count be 0 when spliting trap damage
+ }
+
+ map->foreachinrange(skill->trap_splash, bl, skill->get_splash(skill_id, skill_lv), bl_flag, bl, tick, enemy_count);
+}
+
/*==========================================
*
*------------------------------------------*/
@@ -16776,6 +16808,7 @@ static int skill_trap_splash(struct block_list *bl, va_list ap)
struct skill_unit *src_su = NULL;
struct skill_unit_group *sg;
struct block_list *ss;
+ int enemy_count = va_arg(ap, int);
nullpo_ret(bl);
nullpo_ret(src);
@@ -16870,7 +16903,7 @@ static int skill_trap_splash(struct block_list *bl, va_list ap)
}
/* Fall through */
default:
- skill->attack(skill->get_type(sg->skill_id),ss,src,bl,sg->skill_id,sg->skill_lv,tick,0);
+ skill->attack(skill->get_type(sg->skill_id), ss, src, bl, sg->skill_id, sg->skill_lv, tick, enemy_count);
break;
}
return 1;
@@ -17051,6 +17084,14 @@ static struct skill_unit *skill_initunit(struct skill_unit_group *group, int idx
su->val1=val1;
su->val2 = val2;
su->prev = 0;
+ su->visible = true;
+
+ if (skill->get_inf2(group->skill_id) & INF2_HIDDEN_TRAP
+ && ((battle_config.trap_visibility == 1 && map_flag_vs(group->map)) // invisible in PvP/GvG
+ || battle_config.trap_visibility == 2 // always invisible
+ )) {
+ su->visible = false;
+ }
idb_put(skill->unit_db, su->bl.id, su);
map->addiddb(&su->bl);
@@ -17585,7 +17626,7 @@ static int skill_unit_timer_sub(union DBKey key, struct DBData *data, va_list ap
break;
}
clif->changetraplook(bl,UNT_USED_TRAPS);
- map->foreachinrange(skill->trap_splash, bl, skill->get_splash(group->skill_id, group->skill_lv), group->bl_flag, bl, tick);
+ skill->trap_do_splash(bl, group->skill_id, group->skill_lv, group->bl_flag, tick);
group->limit = DIFF_TICK32(tick,group->tick)+1500;
su->limit = DIFF_TICK32(tick,group->tick)+1500;
group->unit_id = UNT_USED_TRAPS;
@@ -17971,8 +18012,8 @@ static int skill_can_produce_mix(struct map_session_data *sd, int nameid, int tr
if (pc->search_inventory(sd,id) == INDEX_NOT_FOUND)
return 0;
} else {
- int x, y;
- for(y=0,x=0;y<MAX_INVENTORY;y++)
+ int x = 0;
+ for (int y = 0; y < sd->status.inventorySize; y++)
if( sd->status.inventory[y].nameid == id )
x+=sd->status.inventory[y].amount;
if(x<qty*skill->dbs->produce_db[i].mat_amount[j])
@@ -18043,7 +18084,7 @@ static int skill_produce_mix(struct map_session_data *sd, uint16 skill_id, int n
else temp_qty = 1;
if (data->stack.inventory) {
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++ ) {
if( sd->status.inventory[i].nameid == nameid ) {
if( sd->status.inventory[i].amount >= data->stack.amount ) {
#if PACKETVER >= 20090729
@@ -18851,7 +18892,7 @@ static int skill_elementalanalysis(struct map_session_data *sd, uint16 skill_lv,
del_amount -= (del_amount % 10);
add_amount = (skill_lv == 1) ? del_amount * (5 + rnd()%5) : del_amount / 10 ;
- if (idx < 0 || idx >= MAX_INVENTORY
+ if (idx < 0 || idx >= sd->status.inventorySize
|| (nameid = sd->status.inventory[idx].nameid) <= 0
|| del_amount < 0 || del_amount > sd->status.inventory[idx].amount) {
clif->skill_fail(sd, SO_EL_ANALYSIS, USESKILL_FAIL_LEVEL, 0, 0);
@@ -18922,7 +18963,7 @@ static int skill_changematerial(struct map_session_data *sd, const struct itemli
for (k = 0; k < VECTOR_LENGTH(*item_list); k++) {
const struct itemlist_entry *entry = &VECTOR_INDEX(*item_list, k);
int idx = entry->id;
- Assert_ret(idx >= 0 && idx < MAX_INVENTORY);
+ Assert_ret(idx >= 0 && idx < sd->status.inventorySize);
amount = entry->amount;
nameid = sd->status.inventory[idx].nameid;
if (nameid > 0 && sd->status.inventory[idx].identify == 0) {
@@ -18973,7 +19014,7 @@ static int skill_destroy_trap(struct block_list *bl, va_list ap)
case UNT_CLAYMORETRAP:
case UNT_FIRINGTRAP:
case UNT_ICEBOUNDTRAP:
- map->foreachinrange(skill->trap_splash,&su->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag|BL_SKILL|~BCT_SELF, &su->bl,tick);
+ skill->trap_do_splash(&su->bl, sg->skill_id, sg->skill_lv, sg->bl_flag | BL_SKILL | ~BCT_SELF, tick);
break;
case UNT_LANDMINE:
case UNT_BLASTMINE:
@@ -18982,7 +19023,7 @@ static int skill_destroy_trap(struct block_list *bl, va_list ap)
case UNT_FLASHER:
case UNT_FREEZINGTRAP:
case UNT_CLUSTERBOMB:
- map->foreachinrange(skill->trap_splash,&su->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &su->bl,tick);
+ skill->trap_do_splash(&su->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
break;
}
// Traps aren't recovered.
@@ -20216,6 +20257,12 @@ static void skill_validate_skillinfo(struct config_setting_t *conf, struct s_ski
} else {
sk->inf2 &= ~INF2_ALLOW_REPRODUCE;
}
+ } else if (strcmpi(type, "HiddenTrap") == 0) {
+ if (on) {
+ sk->inf2 |= INF2_HIDDEN_TRAP;
+ } else {
+ sk->inf2 &= ~INF2_HIDDEN_TRAP;
+ }
} else if (strcmpi(type, "None") != 0) {
skilldb_invalid_error(type, config_setting_name(t), sk->nameid);
}
@@ -21578,6 +21625,7 @@ void skill_defaults(void)
skill->onskillusage = skill_onskillusage;
skill->cell_overlap = skill_cell_overlap;
skill->timerskill = skill_timerskill;
+ skill->trap_do_splash = skill_trap_do_splash;
skill->trap_splash = skill_trap_splash;
skill->check_condition_mercenary = skill_check_condition_mercenary;
skill->locate_element_field = skill_locate_element_field;
diff --git a/src/map/skill.h b/src/map/skill.h
index 97134224e..5da37d129 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -124,6 +124,7 @@ enum e_skill_inf2 {
INF2_FREE_CAST_REDUCED = 0x10000,
INF2_SHOW_SKILL_SCALE = 0x20000,
INF2_ALLOW_REPRODUCE = 0x40000,
+ INF2_HIDDEN_TRAP = 0x80000, // Traps that are hidden (based on trap_visiblity battle conf)
};
@@ -1806,6 +1807,7 @@ struct skill_unit {
int limit;
int val1,val2;
+ bool visible;
short alive,range;
int prev;
};
@@ -2059,6 +2061,7 @@ struct skill_interface {
int (*onskillusage) (struct map_session_data *sd, struct block_list *bl, uint16 skill_id, int64 tick);
int (*cell_overlap) (struct block_list *bl, va_list ap);
int (*timerskill) (int tid, int64 tick, int id, intptr_t data);
+ void (*trap_do_splash) (struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick);
int (*trap_splash) (struct block_list *bl, va_list ap);
int (*check_condition_mercenary) (struct block_list *bl, int skill_id, int lv, int type);
struct skill_unit_group *(*locate_element_field) (struct block_list *bl);
diff --git a/src/map/status.c b/src/map/status.c
index 2bd3700b3..63e71c9dc 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -38,6 +38,7 @@
#include "map/path.h"
#include "map/pc.h"
#include "map/pet.h"
+#include "map/refine.h"
#include "map/script.h"
#include "map/skill.h"
#include "map/skill.h"
@@ -1240,10 +1241,15 @@ static void status_copy(struct status_data *a, const struct status_data *b)
memcpy((void*)&a->max_hp, (const void*)&b->max_hp, sizeof(struct status_data)-(sizeof(a->hp)+sizeof(a->sp)));
}
-//Sets HP to given value. Flag is the flag passed to status->heal in case
-//final value is higher than current (use 2 to make a healing effect display
-//on players) It will always succeed (overrides Berserk block), but it can't kill.
-static int status_set_hp(struct block_list *bl, unsigned int hp, int flag)
+/**
+ * Sets HP to the given value.
+ *
+ * @param bl The target unit.
+ * @param hp The desired HP value.
+ * @param flag Additional options. @see enum status_heal_flag. STATUS_HEAL_FORCED is always implied.
+ * @return The amount of HP gained.
+ */
+static int status_set_hp(struct block_list *bl, unsigned int hp, enum status_heal_flag flag)
{
struct status_data *st;
if (hp < 1) return 0;
@@ -1254,14 +1260,19 @@ static int status_set_hp(struct block_list *bl, unsigned int hp, int flag)
if (hp > st->max_hp) hp = st->max_hp;
if (hp == st->hp) return 0;
if (hp > st->hp)
- return status->heal(bl, hp - st->hp, 0, 1|flag);
+ return status->heal(bl, hp - st->hp, 0, STATUS_HEAL_FORCED | flag);
return status_zap(bl, st->hp - hp, 0);
}
-//Sets SP to given value. Flag is the flag passed to status->heal in case
-//final value is higher than current (use 2 to make a healing effect display
-//on players)
-static int status_set_sp(struct block_list *bl, unsigned int sp, int flag)
+/**
+ * Sets SP to the given value.
+ *
+ * @param bl The target unit.
+ * @param hp The desired SP value.
+ * @param flag Additional options. @see enum status_heal_flag. STATUS_HEAL_FORCED is always implied.
+ * @return The amount of SP gained.
+ */
+static int status_set_sp(struct block_list *bl, unsigned int sp, enum status_heal_flag flag)
{
struct status_data *st;
@@ -1272,7 +1283,7 @@ static int status_set_sp(struct block_list *bl, unsigned int sp, int flag)
if (sp > st->max_sp) sp = st->max_sp;
if (sp == st->sp) return 0;
if (sp > st->sp)
- return status->heal(bl, 0, sp - st->sp, 1|flag);
+ return status->heal(bl, 0, sp - st->sp, STATUS_HEAL_FORCED | flag);
return status_zap(bl, 0, st->sp - sp);
}
@@ -1304,12 +1315,12 @@ static int status_damage(struct block_list *src, struct block_list *target, int6
sp = 0; //Not a valid SP target.
if (hp < 0) { //Assume absorbed damage.
- status->heal(target, -hp, 0, 1);
+ status->heal(target, -hp, 0, STATUS_HEAL_FORCED);
hp = 0;
}
if (sp < 0) {
- status->heal(target, 0, -sp, 1);
+ status->heal(target, 0, -sp, STATUS_HEAL_FORCED);
sp = 0;
}
@@ -1527,9 +1538,16 @@ static int status_damage(struct block_list *src, struct block_list *target, int6
return (int)(hp+sp);
}
-//Heals a character. If flag&1, this is forced healing (otherwise stuff like Berserk can block it)
-//If flag&2, when the player is healed, show the HP/SP heal effect.
-static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, int flag)
+/**
+ * Heals a character.
+ *
+ * @param bl The target unit.
+ * @param in_hp Amount of HP to recover.
+ * @param in_sp Amount of SP to recover.
+ * @param flag Additional options, @see enum status_heal_flag.
+ * @return The amount of HP + SP healed.
+ */
+static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, enum status_heal_flag flag)
{
struct status_data *st;
struct status_change *sc;
@@ -1538,7 +1556,9 @@ static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, int flag
nullpo_ret(bl);
st = status->get_status_data(bl);
- if (st == &status->dummy || !st->hp)
+ if (st == &status->dummy)
+ return 0;
+ if (st->hp == 0 && (flag & STATUS_HEAL_ALLOWREVIVE) == 0)
return 0;
/* From here onwards, we consider it a 32-type as the client does not support higher and the value doesn't get through percentage modifiers */
@@ -1555,10 +1575,10 @@ static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, int flag
hp = 0;
}
- if(hp) {
- if( sc && sc->data[SC_BERSERK] ) {
- if( flag&1 )
- flag &= ~2;
+ if (hp != 0) {
+ if (sc && sc->data[SC_BERSERK] != NULL) {
+ if ((flag & STATUS_HEAL_FORCED) != 0)
+ flag &= ~STATUS_HEAL_SHOWEFFECT;
else
hp = 0;
}
@@ -1593,7 +1613,7 @@ static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, int flag
// send hp update to client
switch(bl->type) {
- case BL_PC: pc->heal(BL_UCAST(BL_PC, bl), hp, sp, (flag&2) ? 1 : 0); break;
+ case BL_PC: pc->heal(BL_UCAST(BL_PC, bl), hp, sp, (flag & STATUS_HEAL_SHOWEFFECT) != 0 ? 1 : 0); break;
case BL_MOB: mob->heal(BL_UCAST(BL_MOB, bl), hp); break;
case BL_HOM: homun->healed(BL_UCAST(BL_HOM, bl)); break;
case BL_MER: mercenary->heal(BL_UCAST(BL_MER, bl), hp, sp); break;
@@ -1648,18 +1668,18 @@ static int status_percent_change(struct block_list *src, struct block_list *targ
if (flag)
status->damage(src, target, INT_MAX, 0, 0, (!src||src==target?5:1));
else
- status->heal(target, INT_MAX, 0, 0);
+ status->heal(target, INT_MAX, 0, STATUS_HEAL_DEFAULT);
}
if (sp > INT_MAX) {
sp -= INT_MAX;
if (flag)
status->damage(src, target, 0, INT_MAX, 0, (!src||src==target?5:1));
else
- status->heal(target, 0, INT_MAX, 0);
+ status->heal(target, 0, INT_MAX, STATUS_HEAL_DEFAULT);
}
if (flag)
return status->damage(src, target, hp, sp, 0, (!src||src==target?5:1));
- return status->heal(target, hp, sp, 0);
+ return status->heal(target, hp, sp, STATUS_HEAL_DEFAULT);
}
static int status_revive(struct block_list *bl, unsigned char per_hp, unsigned char per_sp)
@@ -2330,6 +2350,51 @@ static unsigned int status_get_base_maxhp(const struct map_session_data *sd, con
return (unsigned int)cap_value(val,0,UINT_MAX);
}
+/**
+ * Calculates the HP that a character will have after death, on respawn.
+ *
+ * @param sd The character to calculate.
+ * @param st The character's status data.
+ */
+static unsigned int status_get_restart_hp(const struct map_session_data *sd, const struct status_data *st)
+{
+ unsigned int hp = 0;
+
+ if (sd->special_state.restart_full_recover)
+ return st->max_hp;
+
+ if ((sd->job & MAPID_BASEMASK) == MAPID_NOVICE && (sd->job & JOBL_2) == 0 && battle_config.restart_hp_rate < 50)
+ hp = st->max_hp / 2;
+ else
+ hp = APPLY_RATE(st->max_hp, battle_config.restart_hp_rate);
+
+ if (hp > 0)
+ return hp;
+
+ return 1;
+}
+
+/**
+ * Calculates the SP that a character will have after death, on respawn.
+ *
+ * @param sd The character to calculate.
+ * @param st The character's status data.
+ */
+static unsigned int status_get_restart_sp(const struct map_session_data *sd, const struct status_data *st)
+{
+ unsigned int sp = 0;
+
+ if (sd->special_state.restart_full_recover)
+ return st->max_sp;
+
+ sp = APPLY_RATE(st->max_sp, battle_config.restart_sp_rate);
+
+ if (sp > 0)
+ return sp;
+
+ return 1; // the minimum for the respawn setting is SP:1
+}
+
static void status_calc_pc_additional(struct map_session_data *sd, enum e_status_calc_opt opt)
{
/* Just used for Plugin to give bonuses. */
@@ -2382,7 +2447,7 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
sd->regen.sregen = &sd->sregen;
sd->regen.ssregen = &sd->ssregen;
sd->weight=0;
- for(i=0;i<MAX_INVENTORY;i++){
+ for (i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid==0 || sd->inventory_data[i] == NULL)
continue;
sd->weight += sd->inventory_data[i]->weight*sd->status.inventory[i].amount;
@@ -2513,18 +2578,18 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
r = 0;
if (r)
- wa->atk2 = status->dbs->refine_info[wlv].bonus[r-1] / 100;
+ wa->atk2 = refine->get_bonus(wlv, r) / 100;
#ifdef RENEWAL
wa->matk += sd->inventory_data[index]->matk;
wa->wlv = wlv;
if( r && sd->weapontype1 != W_BOW ) // renewal magic attack refine bonus
- wa->matk += status->dbs->refine_info[wlv].bonus[r-1] / 100;
+ wa->matk += refine->get_bonus(wlv, r) / 100;
#endif
//Overrefined bonus.
if (r)
- wd->overrefine = status->dbs->refine_info[wlv].randombonus_max[r-1] / 100;
+ wd->overrefine = refine->get_randombonus_max(wlv, r) / 100;
wa->range += sd->inventory_data[index]->range;
if(sd->inventory_data[index]->script) {
@@ -2559,7 +2624,7 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
r = 0;
if (r)
- refinedef += status->dbs->refine_info[REFINE_TYPE_ARMOR].bonus[r-1];
+ refinedef += refine->get_bonus(REFINE_TYPE_ARMOR, r);
if(sd->inventory_data[index]->script) {
if( i == EQI_HAND_L ) //Shield
@@ -2884,20 +2949,8 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
// ----- RESPAWN HP/SP -----
//
//Calc respawn hp and store it on base_status
- if (sd->special_state.restart_full_recover)
- {
- bstatus->hp = bstatus->max_hp;
- bstatus->sp = bstatus->max_sp;
- } else {
- status->calc_pc_recover_hp(sd, bstatus);
- if(!bstatus->hp)
- bstatus->hp = 1;
-
- bstatus->sp = APPLY_RATE(bstatus->max_sp, battle_config.restart_sp_rate);
-
- if( !bstatus->sp ) /* the minimum for the respawn setting is SP:1 */
- bstatus->sp = 1;
- }
+ bstatus->hp = status->get_restart_hp(sd, bstatus);
+ bstatus->sp = status->get_restart_sp(sd, bstatus);
// ----- MISC CALCULATION -----
status->calc_misc(&sd->bl, bstatus, sd->status.base_level);
@@ -3801,7 +3854,7 @@ static void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag
temp = bst->batk - status->base_atk(bl,bst);
if (temp) {
temp += st->batk;
- st->batk = cap_value(temp, 0, USHRT_MAX);
+ st->batk = cap_value(temp, battle_config.batk_min, battle_config.batk_max);
}
st->batk = status->calc_batk(bl, sc, st->batk, true);
}
@@ -4396,7 +4449,7 @@ static int status_base_amotion_pc(struct map_session_data *sd, struct status_dat
return amotion;
}
-static unsigned short status_base_atk(const struct block_list *bl, const struct status_data *st)
+static int status_base_atk(const struct block_list *bl, const struct status_data *st)
{
int flag = 0, str, dex, dstr;
@@ -4453,42 +4506,50 @@ static unsigned short status_base_atk(const struct block_list *bl, const struct
if (bl->type == BL_PC)
str += dex / 5 + st->luk / 5;
#endif // RENEWAL
- return cap_value(str, 0, USHRT_MAX);
+ return cap_value(str, battle_config.batk_min, battle_config.batk_max);
}
-static unsigned short status_base_matk_min(const struct status_data *st)
+static int status_base_matk_min(const struct status_data *st)
{
nullpo_ret(st);
#ifdef RENEWAL
Assert_ret(0);
return 0;
#else // not RENEWAL
- return st->int_ + (st->int_ / 7) * (st->int_ / 7);
+ int matk = st->int_ + (st->int_ / 7) * (st->int_ / 7);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
#endif // RENEWAL
}
-static unsigned short status_base_matk_max(const struct status_data *st)
+static int status_base_matk_max(const struct status_data *st)
{
nullpo_ret(st);
- return st->int_ + (st->int_ / 5)*(st->int_ / 5);
+ int matk = st->int_ + (st->int_ / 5) * (st->int_ / 5);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
}
-static unsigned short status_base_matk(struct block_list *bl, const struct status_data *st, int level)
+static int status_base_matk(struct block_list *bl, const struct status_data *st, int level)
{
#ifdef RENEWAL
nullpo_ret(bl);
nullpo_ret(st);
- switch ( bl->type ) {
+ int matk = 0;
+ switch (bl->type) {
case BL_MOB:
- return st->int_ + level;
+ matk = st->int_ + level;
+ break;
case BL_HOM:
- return status_get_homint(st, BL_UCCAST(BL_HOM, bl)) + level;
+ matk = status_get_homint(st, BL_UCCAST(BL_HOM, bl)) + level;
+ break;
case BL_MER:
- return st->int_ + st->int_ / 5 * st->int_ / 5;
+ matk = st->int_ + st->int_ / 5 * st->int_ / 5;
+ break;
case BL_PC:
default: // temporary until all are formulated
- return st->int_ + (st->int_ / 2) + (st->dex / 5) + (st->luk / 3) + (level / 4);
+ matk = st->int_ + (st->int_ / 2) + (st->dex / 5) + (st->luk / 3) + (level / 4);
+ break;
}
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
#else
Assert_ret(0);
return 0;
@@ -4545,7 +4606,7 @@ static void status_calc_misc(struct block_list *bl, struct status_data *st, int
if ( st->batk ) {
int temp = st->batk + status->base_atk(bl, st);
- st->batk = cap_value(temp, 0, USHRT_MAX);
+ st->batk = cap_value(temp, battle_config.batk_min, battle_config.batk_max);
} else
st->batk = status->base_atk(bl, st);
if ( st->cri ) {
@@ -4942,17 +5003,17 @@ static unsigned short status_calc_luk(struct block_list *bl, struct status_chang
return (unsigned short)cap_value(luk, 0, USHRT_MAX);
}
-static unsigned short status_calc_batk(struct block_list *bl, struct status_change *sc, int batk, bool viewable)
+static int status_calc_batk(struct block_list *bl, struct status_change *sc, int batk, bool viewable)
{
nullpo_ret(bl);
if(!sc || !sc->count)
- return cap_value(batk,0,USHRT_MAX);
+ return cap_value(batk, battle_config.batk_min, battle_config.batk_max);
if( !viewable ){
/* some statuses that are hidden in the status window */
if(sc->data[SC_PLUSATTACKPOWER])
batk += sc->data[SC_PLUSATTACKPOWER]->val1;
- return (unsigned short)cap_value(batk,0,USHRT_MAX);
+ return cap_value(batk, battle_config.batk_min, battle_config.batk_max);
}
#ifndef RENEWAL
if(sc->data[SC_PLUSATTACKPOWER])
@@ -5035,14 +5096,14 @@ static unsigned short status_calc_batk(struct block_list *bl, struct status_chan
if (sc->data[SC_SHRIMP])
batk += batk * sc->data[SC_SHRIMP]->val2 / 100;
- return (unsigned short)cap_value(batk,0,USHRT_MAX);
+ return cap_value(batk, battle_config.batk_min, battle_config.batk_max);
}
-static unsigned short status_calc_watk(struct block_list *bl, struct status_change *sc, int watk, bool viewable)
+static int status_calc_watk(struct block_list *bl, struct status_change *sc, int watk, bool viewable)
{
nullpo_ret(bl);
if(!sc || !sc->count)
- return cap_value(watk,0,USHRT_MAX);
+ return cap_value(watk, battle_config.watk_min, battle_config.watk_max);
if( !viewable ){
/* some statuses that are hidden in the status window */
@@ -5050,7 +5111,7 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
watk -= sc->data[SC_WATER_BARRIER]->val3;
if(sc->data[SC_GENTLETOUCH_CHANGE] && sc->data[SC_GENTLETOUCH_CHANGE]->val2)
watk += sc->data[SC_GENTLETOUCH_CHANGE]->val2;
- return (unsigned short)cap_value(watk,0,USHRT_MAX);
+ return cap_value(watk, battle_config.watk_min, battle_config.watk_max);
}
#ifndef RENEWAL
if(sc->data[SC_IMPOSITIO])
@@ -5128,14 +5189,14 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
if (sc->data[SC_CATNIPPOWDER])
watk -= watk * sc->data[SC_CATNIPPOWDER]->val2 / 100;
- return (unsigned short)cap_value(watk,0,USHRT_MAX);
+ return cap_value(watk, battle_config.watk_min, battle_config.watk_max);
}
-static unsigned short status_calc_ematk(struct block_list *bl, struct status_change *sc, int matk)
+static int status_calc_ematk(struct block_list *bl, struct status_change *sc, int matk)
{
#ifdef RENEWAL
if (!sc || !sc->count)
- return cap_value(matk,0,USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
if (sc->data[SC_PLUSMAGICPOWER])
matk += sc->data[SC_PLUSMAGICPOWER]->val1;
if (sc->data[SC_MATKFOOD])
@@ -5156,22 +5217,22 @@ static unsigned short status_calc_ematk(struct block_list *bl, struct status_cha
matk += 25 * sc->data[SC_IZAYOI]->val1;
if (sc->data[SC_SHRIMP])
matk += matk * sc->data[SC_SHRIMP]->val2 / 100;
- return (unsigned short)cap_value(matk,0,USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
#else
return 0;
#endif
}
-static unsigned short status_calc_matk(struct block_list *bl, struct status_change *sc, int matk, bool viewable)
+static int status_calc_matk(struct block_list *bl, struct status_change *sc, int matk, bool viewable)
{
if (!sc || !sc->count)
- return cap_value(matk,0,USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
if (!viewable) {
/* some statuses that are hidden in the status window */
if (sc->data[SC_MINDBREAKER])
matk += matk * sc->data[SC_MINDBREAKER]->val2 / 100;
- return (unsigned short)cap_value(matk, 0, USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
}
#ifndef RENEWAL
@@ -5229,17 +5290,17 @@ static unsigned short status_calc_matk(struct block_list *bl, struct status_chan
if (sc->data[SC_MAGIC_CANDY])
matk += sc->data[SC_MAGIC_CANDY]->val1;
- return (unsigned short)cap_value(matk, 0, USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
}
-static signed short status_calc_critical(struct block_list *bl, struct status_change *sc, int critical, bool viewable)
+static int status_calc_critical(struct block_list *bl, struct status_change *sc, int critical, bool viewable)
{
if (!sc || !sc->count)
- return cap_value(critical, 10, SHRT_MAX);
+ return cap_value(critical, battle_config.critical_min, battle_config.critical_max);
if (!viewable) {
/* some statuses that are hidden in the status window */
- return (short)cap_value(critical, 10, SHRT_MAX);
+ return cap_value(critical, battle_config.critical_min, battle_config.critical_max);
}
if (sc->data[SC_CRITICALPERCENT])
@@ -5270,20 +5331,20 @@ static signed short status_calc_critical(struct block_list *bl, struct status_ch
if (sc->data[SC_BUCHEDENOEL])
critical += sc->data[SC_BUCHEDENOEL]->val4 * 10;
- return (short)cap_value(critical, 10, SHRT_MAX);
+ return cap_value(critical, battle_config.critical_min, battle_config.critical_max);
}
-static signed short status_calc_hit(struct block_list *bl, struct status_change *sc, int hit, bool viewable)
+static int status_calc_hit(struct block_list *bl, struct status_change *sc, int hit, bool viewable)
{
if (!sc || !sc->count)
- return cap_value(hit, 1, SHRT_MAX);
+ return cap_value(hit, battle_config.hit_min, battle_config.hit_max);
if (!viewable) {
/* some statuses that are hidden in the status window */
if (sc->data[SC_MTF_ASPD])
hit += sc->data[SC_MTF_ASPD]->val2;
- return (short)cap_value(hit, 1, SHRT_MAX);
+ return cap_value(hit, battle_config.hit_min, battle_config.hit_max);
}
if (sc->data[SC_INCHIT])
@@ -5325,26 +5386,26 @@ static signed short status_calc_hit(struct block_list *bl, struct status_change
if (sc->data[SC_BUCHEDENOEL])
hit += sc->data[SC_BUCHEDENOEL]->val3;
- return (short)cap_value(hit, 1, SHRT_MAX);
+ return cap_value(hit, battle_config.hit_min, battle_config.hit_max);
}
-static signed short status_calc_flee(struct block_list *bl, struct status_change *sc, int flee, bool viewable)
+static int status_calc_flee(struct block_list *bl, struct status_change *sc, int flee, bool viewable)
{
nullpo_retr(1, bl);
if (bl->type == BL_PC) {
if (map_flag_gvg2(bl->m))
flee -= flee * battle_config.gvg_flee_penalty / 100;
- else if( map->list[bl->m].flag.battleground )
+ else if (map->list[bl->m].flag.battleground)
flee -= flee * battle_config.bg_flee_penalty / 100;
}
if (!sc || !sc->count)
- return cap_value(flee, 1, SHRT_MAX);
+ return cap_value(flee, battle_config.flee_min, battle_config.flee_max);
if (!viewable) {
/* some statuses that are hidden in the status window */
- return (short)cap_value(flee, 1, SHRT_MAX);
+ return cap_value(flee, battle_config.flee_min, battle_config.flee_max);
}
if (sc->data[SC_INCFLEE])
@@ -5422,17 +5483,17 @@ static signed short status_calc_flee(struct block_list *bl, struct status_change
if (sc->data[SC_MYSTICPOWDER])
flee += sc->data[SC_MYSTICPOWDER]->val2;
- return (short)cap_value(flee, 1, SHRT_MAX);
+ return cap_value(flee, battle_config.flee_min, battle_config.flee_max);
}
-static signed short status_calc_flee2(struct block_list *bl, struct status_change *sc, int flee2, bool viewable)
+static int status_calc_flee2(struct block_list *bl, struct status_change *sc, int flee2, bool viewable)
{
if(!sc || !sc->count)
- return cap_value(flee2,10,SHRT_MAX);
+ return cap_value(flee2, battle_config.flee2_min, battle_config.flee2_max);
if( !viewable ){
/* some statuses that are hidden in the status window */
- return (short)cap_value(flee2,10,SHRT_MAX);
+ return cap_value(flee2, battle_config.flee2_min, battle_config.flee2_max);
}
if(sc->data[SC_PLUSAVOIDVALUE])
@@ -5444,7 +5505,7 @@ static signed short status_calc_flee2(struct block_list *bl, struct status_chang
if (sc->data[SC_FREYJASCROLL])
flee2 += sc->data[SC_FREYJASCROLL]->val2;
- return (short)cap_value(flee2,10,SHRT_MAX);
+ return cap_value(flee2, battle_config.flee2_min, battle_config.flee2_max);
}
static defType status_calc_def(struct block_list *bl, struct status_change *sc, int def, bool viewable)
@@ -7374,6 +7435,9 @@ static int status_get_sc_def(struct block_list *src, struct block_list *bl, enum
case SC_NETHERWORLD:
tick = max(tick, 4000);
break;
+ case SC_SIREN:
+ tick = max(tick, 10000); // Minimum duration 10s
+ break;
default:
//Skills need to trigger even if the duration is reduced below 1ms
tick = max(tick, 1);
@@ -8419,12 +8483,12 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val3 = 0;
val4 = 0;
max_stat = (status->get_lv(bl)-10<50)?status->get_lv(bl)-10:50;
- stat = max(0, max_stat - status2->str ); val3 |= cap_value(stat,0,0xFF)<<16;
- stat = max(0, max_stat - status2->agi ); val3 |= cap_value(stat,0,0xFF)<<8;
- stat = max(0, max_stat - status2->vit ); val3 |= cap_value(stat,0,0xFF);
- stat = max(0, max_stat - status2->int_); val4 |= cap_value(stat,0,0xFF)<<16;
- stat = max(0, max_stat - status2->dex ); val4 |= cap_value(stat,0,0xFF)<<8;
- stat = max(0, max_stat - status2->luk ); val4 |= cap_value(stat,0,0xFF);
+ stat = max(0, max_stat - (int)status2->str ); val3 |= cap_value(stat,0,0xFF)<<16;
+ stat = max(0, max_stat - (int)status2->agi ); val3 |= cap_value(stat,0,0xFF)<<8;
+ stat = max(0, max_stat - (int)status2->vit ); val3 |= cap_value(stat,0,0xFF);
+ stat = max(0, max_stat - (int)status2->int_); val4 |= cap_value(stat,0,0xFF)<<16;
+ stat = max(0, max_stat - (int)status2->dex ); val4 |= cap_value(stat,0,0xFF)<<8;
+ stat = max(0, max_stat - (int)status2->luk ); val4 |= cap_value(stat,0,0xFF);
}
break;
case SC_SWORDREJECT:
@@ -9410,10 +9474,10 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
return 0;
PER( 100 / (status_get_max_hp(bl) / hp), lv );
- status->heal(bl, (!(hp%2) ? (6-lv) *4 / 100 : -(lv*4) / 100), 0, 1);
+ status->heal(bl, (!(hp%2) ? (6-lv) *4 / 100 : -(lv*4) / 100), 0, STATUS_HEAL_FORCED);
PER( 100 / (status_get_max_sp(bl) / sp), lv );
- status->heal(bl, 0,(!(sp%2) ? (6-lv) *3 / 100 : -(lv*3) / 100), 1);
+ status->heal(bl, 0,(!(sp%2) ? (6-lv) *3 / 100 : -(lv*3) / 100), STATUS_HEAL_FORCED);
}
#undef PER
break;
@@ -9646,8 +9710,8 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
switch (type) {
case SC_BERSERK:
if (!(sce->val2)) { //don't heal if already set
- status->heal(bl, st->max_hp, 0, 1); //Do not use percent_heal as this healing must override BERSERK's block.
- status->set_sp(bl, 0, 0); //Damage all SP
+ status->heal(bl, st->max_hp, 0, STATUS_HEAL_FORCED); //Do not use percent_heal as this healing must override BERSERK's block.
+ status->set_sp(bl, 0, STATUS_HEAL_DEFAULT); //Damage all SP
}
sce->val2 = 5 * st->max_hp / 100;
break;
@@ -10557,20 +10621,9 @@ static bool status_is_immune_to_status(struct status_change *sc, enum sc_type ty
if (type >= SC_COMMON_MIN && type <= SC_COMMON_MAX) // Confirmed.
return true; // Immune to status ailements
switch (type) {
- case SC_DEEP_SLEEP:
case SC__CHAOS:
- case SC_BURNING:
- case SC_STUN:
- case SC_SLEEP:
- case SC_CURSE:
case SC_STONE:
- case SC_POISON:
- case SC_BLIND:
- case SC_SILENCE:
- case SC_BLOODING:
- case SC_FREEZE:
case SC_FROSTMISTY:
- case SC_COLD:
case SC_TOXIN:
case SC_PARALYSE:
case SC_VENOMBLEED:
@@ -10586,20 +10639,9 @@ static bool status_is_immune_to_status(struct status_change *sc, enum sc_type ty
if (type >= SC_COMMON_MIN && type <= SC_COMMON_MAX)
return true; // Immune to status ailements
switch (type) {
- case SC_POISON:
- case SC_BLIND:
- case SC_STUN:
- case SC_SILENCE:
case SC__CHAOS:
case SC_STONE:
- case SC_SLEEP:
- case SC_BLOODING:
- case SC_CURSE:
- case SC_BURNING:
case SC_FROSTMISTY:
- case SC_FREEZE:
- case SC_COLD:
- case SC_FEAR:
case SC_TOXIN:
case SC_PARALYSE:
case SC_VENOMBLEED:
@@ -10608,7 +10650,6 @@ static bool status_is_immune_to_status(struct status_change *sc, enum sc_type ty
case SC_PYREXIA:
case SC_OBLIVIONCURSE:
case SC_LEECHESEND:
- case SC_DEEP_SLEEP:
case SC_SATURDAY_NIGHT_FEVER:
case SC__BODYPAINT:
case SC__ENERVATION:
@@ -10996,7 +11037,7 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid,
status_percent_heal(bl, 100, 0);
status_change_end(bl, SC__BLOODYLUST, INVALID_TIMER);
} else if(st->hp > 100 && sce->val2) //If val2 is removed, no HP penalty (dispelled?) [Skotlex]
- status->set_hp(bl, 100, 0);
+ status->set_hp(bl, 100, STATUS_HEAL_DEFAULT);
if(sc->data[SC_ENDURE] && sc->data[SC_ENDURE]->val4 == 2) {
sc->data[SC_ENDURE]->val4 = 0;
status_change_end(bl, SC_ENDURE, INVALID_TIMER);
@@ -11048,8 +11089,8 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid,
if (tid == INVALID_TIMER)
break;
// "lose almost all their HP and SP" on natural expiration.
- status->set_hp(bl, 10, 0);
- status->set_sp(bl, 10, 0);
+ status->set_hp(bl, 10, STATUS_HEAL_DEFAULT);
+ status->set_sp(bl, 10, STATUS_HEAL_DEFAULT);
break;
case SC_AUTOTRADE:
if (tid == INVALID_TIMER)
@@ -11460,8 +11501,8 @@ static int kaahi_heal_timer(int tid, int64 tick, int id, intptr_t data)
hp = st->max_hp - st->hp;
if (hp > sce->val2)
hp = sce->val2;
- if (hp)
- status->heal(bl, hp, 0, 2);
+ if (hp != 0)
+ status->heal(bl, hp, 0, STATUS_HEAL_SHOWEFFECT);
sce->val4 = INVALID_TIMER;
return 1;
}
@@ -11667,7 +11708,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
int hp = 0;
if (st->hp < st->max_hp)
hp = (sce->val1 < 0) ? (int)(sd->status.max_hp * -1 * sce->val1 / 100.) : sce->val1 ;
- status->heal(bl, hp, 0, 2);
+ status->heal(bl, hp, 0, STATUS_HEAL_SHOWEFFECT);
sc_timer_next((sce->val2 * 1000) + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -11816,7 +11857,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
break;
case SC_ABUNDANCE:
if(--(sce->val4) > 0) {
- status->heal(bl,0,60,0);
+ status->heal(bl, 0, 60, STATUS_HEAL_DEFAULT);
sc_timer_next(10000+tick, status->change_timer, bl->id, data);
}
break;
@@ -11932,7 +11973,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
heal = ~heal + 1;
map->freeblock_lock();
- status->heal(bl, heal, 0, 2);
+ status->heal(bl, heal, 0, STATUS_HEAL_SHOWEFFECT);
if( sc->data[type] ) {
sc_timer_next(5000 + tick, status->change_timer, bl->id, data);
}
@@ -12055,7 +12096,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
if ( sc->data[type] ) {
sc_timer_next(1000 + tick, status->change_timer, bl->id, data);
}
- status->heal(src, damage*(5 + 5 * sce->val1)/100, 0, 0); // 5 + 5% per level
+ status->heal(src, damage*(5 + 5 * sce->val1)/100, 0, STATUS_HEAL_DEFAULT); // 5 + 5% per level
map->freeblock_unlock();
return 0;
}
@@ -12072,7 +12113,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
case SC_DEEP_SLEEP:
if( --(sce->val4) >= 0 )
{// Recovers 3% of the player's MaxHP/MaxSP every 2 seconds.
- status->heal(bl, st->max_hp * 3 / 100, st->max_sp * 3 / 100, 2);
+ status->heal(bl, st->max_hp * 3 / 100, st->max_sp * 3 / 100, STATUS_HEAL_SHOWEFFECT);
sc_timer_next(2000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12082,7 +12123,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
if( --(sce->val4) >= 0 ) {
if( !status->charge(bl,0,sce->val3) )
break;
- status->heal(bl, sce->val2, 0, 1);
+ status->heal(bl, sce->val2, 0, STATUS_HEAL_FORCED);
sc_timer_next(1000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12090,7 +12131,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
case SC_SONG_OF_MANA:
if( --(sce->val4) >= 0 ) {
- status->heal(bl,0,sce->val3,3);
+ status->heal(bl, 0, sce->val3, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
sc_timer_next(5000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12284,7 +12325,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
return 0;
case SC_MEIKYOUSISUI:
if( --(sce->val4) > 0 ) {
- status->heal(bl, st->max_hp * (sce->val1+1) / 100, st->max_sp * sce->val1 / 100, 0);
+ status->heal(bl, st->max_hp * (sce->val1+1) / 100, st->max_sp * sce->val1 / 100, STATUS_HEAL_DEFAULT);
sc_timer_next(1000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12320,7 +12361,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
break;
case SC_FRIGG_SONG:
if( --(sce->val4) > 0 ) {
- status->heal(bl, sce->val3, 0, 0);
+ status->heal(bl, sce->val3, 0, STATUS_HEAL_DEFAULT);
sc_timer_next(1000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12476,10 +12517,10 @@ static int status_get_weapon_atk(struct block_list *bl, struct weapon_atk *watk,
if ( bl->type == BL_PC && !(flag & 2) ) {
const struct map_session_data *sd = BL_UCCAST(BL_PC, bl);
- short index = sd->equip_index[EQI_HAND_R], refine;
+ short index = sd->equip_index[EQI_HAND_R], refine_level;
if ( index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON
- && (refine = sd->status.inventory[index].refine) < 16 && refine ) {
- int r = status->dbs->refine_info[watk->wlv].randombonus_max[refine + (4 - watk->wlv)] / 100;
+ && (refine_level = sd->status.inventory[index].refine) < 16 && refine_level) {
+ int r = refine->get_randombonus_max(watk->wlv, refine_level + (4 - watk->wlv) + 1) / 100;
if ( r )
max += (rnd() % 100) % r + 1;
}
@@ -12591,10 +12632,10 @@ static void status_get_matk_sub(struct block_list *bl, int flag, unsigned short
#ifdef RENEWAL
if ( sd && !(flag & 2) ) {
- short index = sd->equip_index[EQI_HAND_R], refine;
+ short index = sd->equip_index[EQI_HAND_R], refine_level;
if ( index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON
- && (refine = sd->status.inventory[index].refine) < 16 && refine ) {
- int r = status->dbs->refine_info[sd->inventory_data[index]->wlv].randombonus_max[refine + (4 - sd->inventory_data[index]->wlv)] / 100;
+ && (refine_level = sd->status.inventory[index].refine) < 16 && refine_level) {
+ int r = refine->get_randombonus_max(sd->inventory_data[index]->wlv, refine_level + (4 - sd->inventory_data[index]->wlv) + 1) / 100;
if ( r )
*matk_max += (rnd() % 100) % r + 1;
}
@@ -12902,7 +12943,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
sregen->tick.hp += val;
while(sregen->tick.hp >= (unsigned int)battle_config.natural_heal_skill_interval) {
sregen->tick.hp -= battle_config.natural_heal_skill_interval;
- if(status->heal(bl, sregen->hp, 0, 3) < sregen->hp) {
+ if (status->heal(bl, sregen->hp, 0, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT) < sregen->hp) {
//Full
flag&=~(RGN_HP|RGN_SHP);
break;
@@ -12917,7 +12958,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
sregen->tick.sp += val;
while(sregen->tick.sp >= (unsigned int)battle_config.natural_heal_skill_interval) {
sregen->tick.sp -= battle_config.natural_heal_skill_interval;
- if(status->heal(bl, 0, sregen->sp, 3) < sregen->sp) {
+ if (status->heal(bl, 0, sregen->sp, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT) < sregen->sp) {
//Full
flag&=~(RGN_SP|RGN_SSP);
break;
@@ -12966,7 +13007,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
val += regen->hp;
regen->tick.hp -= battle_config.natural_healhp_interval;
} while(regen->tick.hp >= (unsigned int)battle_config.natural_healhp_interval);
- if (status->heal(bl, val, 0, 1) < val)
+ if (status->heal(bl, val, 0, STATUS_HEAL_FORCED) < val)
flag&=~RGN_SHP; //full.
}
}
@@ -12985,7 +13026,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
val += regen->sp;
regen->tick.sp -= battle_config.natural_healsp_interval;
} while(regen->tick.sp >= (unsigned int)battle_config.natural_healsp_interval);
- if (status->heal(bl, 0, val, 1) < val)
+ if (status->heal(bl, 0, val, STATUS_HEAL_FORCED) < val)
flag&=~RGN_SSP; //full.
}
}
@@ -13002,7 +13043,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
while(sregen->tick.hp >= (unsigned int)battle_config.natural_heal_skill_interval) {
sregen->tick.hp -= battle_config.natural_heal_skill_interval;
- if(status->heal(bl, sregen->hp, 0, 3) < sregen->hp)
+ if (status->heal(bl, sregen->hp, 0, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT) < sregen->hp)
break; //Full
}
}
@@ -13027,7 +13068,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
}
}
sregen->tick.sp -= battle_config.natural_heal_skill_interval;
- if(status->heal(bl, 0, val, 3) < val)
+ if (status->heal(bl, 0, val, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT) < val)
break; //Full
}
}
@@ -13044,25 +13085,6 @@ static int status_natural_heal_timer(int tid, int64 tick, int id, intptr_t data)
return 0;
}
-/**
- * Get the chance to upgrade a piece of equipment.
- * @param wlv The weapon type of the item to refine (see see enum refine_type)
- * @param refine The target refine level
- * @return The chance to refine the item, in percent (0~100)
- */
-static int status_get_refine_chance(enum refine_type wlv, int refine, enum refine_chance_type type)
-{
- Assert_ret((int)wlv >= REFINE_TYPE_ARMOR && wlv < REFINE_TYPE_MAX);
-
- if (refine < 0 || refine >= MAX_REFINE)
- return 0;
-
- if (type >= REFINE_CHANCE_TYPE_MAX)
- return 0;
-
- return status->dbs->refine_info[wlv].chance[type][refine];
-}
-
static int status_get_sc_type(sc_type type)
{
@@ -13373,171 +13395,6 @@ static bool status_readdb_sizefix(char *fields[], int columns, int current)
return true;
}
-/**
- * Processes a refine_db.conf entry.
- *
- * @param r Libconfig setting entry. It is expected to be valid and it
- * won't be freed (it is care of the caller to do so if
- * necessary)
- * @param n Ordinal number of the entry, to be displayed in case of
- * validation errors.
- * @param source Source of the entry (file name), to be displayed in case of
- * validation errors.
- * @return # of the validated entry, or 0 in case of failure.
- */
-static int status_readdb_refine_libconfig_sub(struct config_setting_t *r, const char *name, const char *source)
-{
- struct config_setting_t *rate = NULL;
- int type = REFINE_TYPE_ARMOR, bonus_per_level = 0, rnd_bonus_v = 0, rnd_bonus_lv = 0;
- char lv[4];
- nullpo_ret(r);
- nullpo_ret(name);
- nullpo_ret(source);
-
- if (strncmp(name, "Armors", 6) == 0) {
- type = REFINE_TYPE_ARMOR;
- } else if (strncmp(name, "WeaponLevel", 11) != 0 || !strspn(&name[strlen(name)-1], "0123456789") || (type = atoi(strncpy(lv, name+11, 2))) == REFINE_TYPE_ARMOR) {
- ShowError("status_readdb_refine_libconfig_sub: Invalid key name for entry '%s' in \"%s\", skipping.\n", name, source);
- return 0;
- }
- if (type < REFINE_TYPE_ARMOR || type >= REFINE_TYPE_MAX) {
- ShowError("status_readdb_refine_libconfig_sub: Out of range level for entry '%s' in \"%s\", skipping.\n", name, source);
- return 0;
- }
- if (!libconfig->setting_lookup_int(r, "StatsPerLevel", &bonus_per_level)) {
- ShowWarning("status_readdb_refine_libconfig_sub: Missing StatsPerLevel for entry '%s' in \"%s\", skipping.\n", name, source);
- return 0;
- }
- if (!libconfig->setting_lookup_int(r, "RandomBonusStartLevel", &rnd_bonus_lv)) {
- ShowWarning("status_readdb_refine_libconfig_sub: Missing RandomBonusStartLevel for entry '%s' in \"%s\", skipping.\n", name, source);
- return 0;
- }
- if (!libconfig->setting_lookup_int(r, "RandomBonusValue", &rnd_bonus_v)) {
- ShowWarning("status_readdb_refine_libconfig_sub: Missing RandomBonusValue for entry '%s' in \"%s\", skipping.\n", name, source);
- return 0;
- }
-
- if ((rate=libconfig->setting_get_member(r, "Rates")) != NULL && config_setting_is_group(rate)) {
- struct config_setting_t *t = NULL;
- bool duplicate[MAX_REFINE];
- int bonus[MAX_REFINE], rnd_bonus[MAX_REFINE];
- int chance[REFINE_CHANCE_TYPE_MAX][MAX_REFINE];
- int i, j;
-
- memset(&duplicate, 0, sizeof(duplicate));
- memset(&bonus, 0, sizeof(bonus));
- memset(&rnd_bonus, 0, sizeof(rnd_bonus));
-
- for (i = 0; i < REFINE_CHANCE_TYPE_MAX; i++)
- for (j = 0; j < MAX_REFINE; j++)
- chance[i][j] = 100; // default value for all rates.
-
- i = 0;
- j = 0;
- while ((t = libconfig->setting_get_elem(rate,i++)) != NULL && config_setting_is_group(t)) {
- int level = 0, i32;
- char *rlvl = config_setting_name(t);
- memset(&lv, 0, sizeof(lv));
-
- if (!strspn(&rlvl[strlen(rlvl) - 1], "0123456789") || (level = atoi(strncpy(lv, rlvl + 2, 3))) <= 0) {
- ShowError("status_readdb_refine_libconfig_sub: Invalid refine level format '%s' for entry %s in \"%s\"... skipping.\n", rlvl, name, source);
- continue;
- }
-
- if (level <= 0 || level > MAX_REFINE) {
- ShowError("status_readdb_refine_libconfig_sub: Out of range refine level '%s' for entry %s in \"%s\"... skipping.\n", rlvl, name, source);
- continue;
- }
-
- level--;
-
- if (duplicate[level]) {
- ShowWarning("status_readdb_refine_libconfig_sub: duplicate rate '%s' for entry %s in \"%s\", overwriting previous entry...\n", rlvl, name, source);
- } else {
- duplicate[level] = true;
- }
-
- if (libconfig->setting_lookup_int(t, "NormalChance", &i32) != 0)
- chance[REFINE_CHANCE_TYPE_NORMAL][level] = i32;
- else
- chance[REFINE_CHANCE_TYPE_NORMAL][level] = 100;
-
- if (libconfig->setting_lookup_int(t, "EnrichedChance", &i32) != 0)
- chance[REFINE_CHANCE_TYPE_ENRICHED][level] = i32;
- else
- chance[REFINE_CHANCE_TYPE_ENRICHED][level] = level > 10 ? 0 : 100; // enriched ores up to +10 only.
-
- if (libconfig->setting_lookup_int(t, "EventNormalChance", &i32) != 0)
- chance[REFINE_CHANCE_TYPE_E_NORMAL][level] = i32;
- else
- chance[REFINE_CHANCE_TYPE_E_NORMAL][level] = 100;
-
- if (libconfig->setting_lookup_int(t, "EventEnrichedChance", &i32) != 0)
- chance[REFINE_CHANCE_TYPE_E_ENRICHED][level] = i32;
- else
- chance[REFINE_CHANCE_TYPE_E_ENRICHED][level] = level > 10 ? 0 : 100; // enriched ores up to +10 only.
-
- if (libconfig->setting_lookup_int(t, "Bonus", &i32) != 0)
- bonus[level] += i32;
-
- if (level >= rnd_bonus_lv - 1)
- rnd_bonus[level] = rnd_bonus_v * (level - rnd_bonus_lv + 2);
- }
- for (i = 0; i < MAX_REFINE; i++) {
- status->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_NORMAL][i] = chance[REFINE_CHANCE_TYPE_NORMAL][i];
- status->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_E_NORMAL][i] = chance[REFINE_CHANCE_TYPE_E_NORMAL][i];
- status->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_ENRICHED][i] = chance[REFINE_CHANCE_TYPE_ENRICHED][i];
- status->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_E_ENRICHED][i] = chance[REFINE_CHANCE_TYPE_E_ENRICHED][i];
- status->dbs->refine_info[type].randombonus_max[i] = rnd_bonus[i];
- bonus[i] += bonus_per_level + (i > 0 ? bonus[i - 1] : 0);
- status->dbs->refine_info[type].bonus[i] = bonus[i];
- }
- } else {
- ShowWarning("status_readdb_refine_libconfig_sub: Missing refine rates for entry '%s' in \"%s\", skipping.\n", name, source);
- return 0;
- }
-
- return type + 1;
-}
-
-/**
- * Reads from a libconfig-formatted refine_db.conf file.
- *
- * @param *filename File name, relative to the database path.
- * @return The number of found entries.
- */
-static int status_readdb_refine_libconfig(const char *filename)
-{
- bool duplicate[REFINE_TYPE_MAX];
- struct config_t refine_db_conf;
- struct config_setting_t *r;
- char filepath[256];
- int i = 0, count = 0;
-
- safesnprintf(filepath, sizeof(filepath), "%s/%s", map->db_path, filename);
- if (!libconfig->load_file(&refine_db_conf, filepath))
- return 0;
-
- memset(&duplicate,0,sizeof(duplicate));
-
- while((r = libconfig->setting_get_elem(refine_db_conf.root,i++))) {
- char *name = config_setting_name(r);
- int type = status->readdb_refine_libconfig_sub(r, name, filename);
- if (type != 0) {
- if (duplicate[type-1]) {
- ShowWarning("status_readdb_refine_libconfig: duplicate entry for %s in \"%s\", overwriting previous entry...\n", name, filename);
- } else {
- duplicate[type-1] = true;
- }
- count++;
- }
- }
- libconfig->destroy(&refine_db_conf);
- ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filename);
-
- return count;
-}
-
static bool status_readdb_scconfig(char *fields[], int columns, int current)
{
int val = 0;
@@ -13595,7 +13452,6 @@ static int status_readdb(void)
//
sv->readdb(map->db_path, "job_db2.txt", ',', 1, 1+MAX_LEVEL, -1, status->readdb_job2);
sv->readdb(map->db_path, DBPATH"size_fix.txt", ',', MAX_SINGLE_WEAPON_TYPE, MAX_SINGLE_WEAPON_TYPE, ARRAYLENGTH(status->dbs->atkmods), status->readdb_sizefix);
- status->readdb_refine_libconfig(DBPATH"refine_db.conf");
sv->readdb(map->db_path, "sc_config.txt", ',', 2, 2, SC_MAX, status->readdb_scconfig);
status->read_job_db();
@@ -13653,7 +13509,6 @@ void status_defaults(void)
status->natural_heal_prev_tick = 0;
status->natural_heal_diff_tick = 0;
/* funcs */
- status->get_refine_chance = status_get_refine_chance;
// for looking up associated data
status->skill2sc = status_skill2sc;
status->sc2skill = status_sc2skill;
@@ -13752,6 +13607,8 @@ void status_defaults(void)
status->base_atk = status_base_atk;
status->get_base_maxhp = status_get_base_maxhp;
status->get_base_maxsp = status_get_base_maxsp;
+ status->get_restart_hp = status_get_restart_hp;
+ status->get_restart_sp = status_get_restart_sp;
status->calc_npc_ = status_calc_npc_;
status->calc_str = status_calc_str;
status->calc_agi = status_calc_agi;
@@ -13785,8 +13642,6 @@ void status_defaults(void)
status->natural_heal_timer = status_natural_heal_timer;
status->readdb_job2 = status_readdb_job2;
status->readdb_sizefix = status_readdb_sizefix;
- status->readdb_refine_libconfig = status_readdb_refine_libconfig;
- status->readdb_refine_libconfig_sub = status_readdb_refine_libconfig_sub;
status->readdb_scconfig = status_readdb_scconfig;
status->read_job_db = status_read_job_db;
status->read_job_db_sub = status_read_job_db_sub;
diff --git a/src/map/status.h b/src/map/status.h
index e7cd5e94c..5f53b715a 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -49,27 +49,6 @@ struct pet_data;
)
/**
- * Max Refine available to your server
- * Changing this limit requires edits to refine_db.txt
- **/
-#ifdef RENEWAL
- #define MAX_REFINE 20
-#else
- #define MAX_REFINE 10
-#endif
-
-enum refine_type {
- REFINE_TYPE_ARMOR = 0,
- REFINE_TYPE_WEAPON1 = 1,
- REFINE_TYPE_WEAPON2 = 2,
- REFINE_TYPE_WEAPON3 = 3,
- REFINE_TYPE_WEAPON4 = 4,
-#ifndef REFINE_TYPE_MAX
- REFINE_TYPE_MAX = 5
-#endif
-};
-
-/**
* SC configuration type
* @see db/sc_config.txt for more information
**/
@@ -99,6 +78,16 @@ enum scstart_flag {
SCFLAG_ALL = SCFLAG_NONE|SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_LOADED|SCFLAG_FIXEDRATE|SCFLAG_NOICON
};
+/**
+ * Flags to be used with status->heal() and related functions.
+ */
+enum status_heal_flag {
+ STATUS_HEAL_DEFAULT = 0x00, ///< Default
+ STATUS_HEAL_FORCED = 0x01, ///< Forced healing (bypassing Berserk and similar)
+ STATUS_HEAL_SHOWEFFECT = 0x02, ///< Show the HP/SP heal effect
+ STATUS_HEAL_ALLOWREVIVE = 0x04, ///< Force resurrection in case of dead targets.
+};
+
// Status changes listing. These code are for use by the server.
typedef enum sc_type {
SC_NONE = -1,
@@ -1900,7 +1889,7 @@ enum e_joint_break
/**
* Mob mode definitions. [Skotlex]
*
- * @see doc/mob_db_mode_list.txt for a description of each mode.
+ * @see doc/mob_db_mode_list.md for a description of each mode.
*/
enum e_mode
{
@@ -2056,29 +2045,27 @@ enum e_status_calc_opt {
//Required because players have two of these, one in status_data
//and another for their left hand weapon.
typedef struct weapon_atk {
- unsigned short atk, atk2;
+ unsigned int atk, atk2;
unsigned short range;
unsigned char ele;
#ifdef RENEWAL
- unsigned short matk;
+ unsigned int matk;
unsigned char wlv;
#endif
} weapon_atk;
//For holding basic status (which can be modified by status changes)
struct status_data {
- unsigned int
+ uint32
hp, sp, // see status_cpy before adding members before hp and sp
- max_hp, max_sp;
- unsigned short
+ max_hp, max_sp,
str, agi, vit, int_, dex, luk,
batk,
matk_min, matk_max,
speed,
- amotion, adelay, dmotion;
- uint32 mode;
- short
- hit, flee, cri, flee2,
+ amotion, adelay, dmotion,
+ mode;
+ int32 hit, flee, cri, flee2,
def2, mdef2,
#ifdef RENEWAL_ASPD
aspd_rate2,
@@ -2239,21 +2226,6 @@ struct status_change {
#define status_calc_elemental(ed, opt) (status->calc_bl_(&(ed)->bl, SCB_ALL, (opt)))
#define status_calc_npc(nd, opt) (status->calc_bl_(&(nd)->bl, SCB_ALL, (opt)))
-enum refine_chance_type {
- REFINE_CHANCE_TYPE_NORMAL = 0, // Normal Chance
- REFINE_CHANCE_TYPE_ENRICHED = 1, // Enriched Ore Chance
- REFINE_CHANCE_TYPE_E_NORMAL = 2, // Event Normal Ore Chance
- REFINE_CHANCE_TYPE_E_ENRICHED = 3, // Event Enriched Ore Chance
- REFINE_CHANCE_TYPE_MAX
-};
-
-// bonus values and upgrade chances for refining equipment
-struct s_refine_info {
- int chance[REFINE_CHANCE_TYPE_MAX][MAX_REFINE]; // success chance
- int bonus[MAX_REFINE]; // cumulative fixed bonus damage
- int randombonus_max[MAX_REFINE]; // cumulative maximum random bonus damage
-};
-
struct s_status_dbs {
BEGIN_ZEROED_BLOCK; /* Everything within this block will be memset to 0 when status_defaults() is executed */
int max_weight_base[CLASS_COUNT];
@@ -2267,8 +2239,6 @@ BEGIN_ZEROED_BLOCK; /* Everything within this block will be memset to 0 when sta
int RelevantBLTypes[SI_MAX]; // "icon" -> enum bl_type (for clif->status_change to identify for which bl types to send packets)
bool DisplayType[SC_MAX];
/* */
- struct s_refine_info refine_info[REFINE_TYPE_MAX];
- /* */
int atkmods[3][MAX_SINGLE_WEAPON_TYPE];//ATK weapon modification for size (size_fix.txt)
char job_bonus[CLASS_COUNT][MAX_LEVEL];
sc_conf_type sc_conf[SC_MAX];
@@ -2297,7 +2267,6 @@ struct status_interface {
int (*init) (bool minimal);
void (*final) (void);
/* funcs */
- int (*get_refine_chance) (enum refine_type wlv, int refine, enum refine_chance_type type);
// for looking up associated data
sc_type (*skill2sc) (int skill_id);
int (*sc2skill) (sc_type sc);
@@ -2309,9 +2278,9 @@ struct status_interface {
int (*charge) (struct block_list* bl, int64 hp, int64 sp);
int (*percent_change) (struct block_list *src,struct block_list *target,signed char hp_rate, signed char sp_rate, int flag);
//Used to set the hp/sp of an object to an absolute value (can't kill)
- int (*set_hp) (struct block_list *bl, unsigned int hp, int flag);
- int (*set_sp) (struct block_list *bl, unsigned int sp, int flag);
- int (*heal) (struct block_list *bl,int64 hp,int64 sp, int flag);
+ int (*set_hp) (struct block_list *bl, unsigned int hp, enum status_heal_flag flag);
+ int (*set_sp) (struct block_list *bl, unsigned int sp, enum status_heal_flag flag);
+ int (*heal) (struct block_list *bl,int64 hp,int64 sp, enum status_heal_flag flag);
int (*revive) (struct block_list *bl, unsigned char per_hp, unsigned char per_sp);
int (*fixed_revive) (struct block_list *bl, unsigned int per_hp, unsigned int per_sp);
struct regen_data * (*get_regen_data) (struct block_list *bl);
@@ -2369,8 +2338,8 @@ struct status_interface {
short (*calc_def2) (struct block_list *bl, struct status_change *sc, int def2, bool viewable);
defType (*calc_mdef) (struct block_list *bl, struct status_change *sc, int mdef, bool viewable);
short (*calc_mdef2) (struct block_list *bl, struct status_change *sc, int mdef2, bool viewable);
- unsigned short (*calc_batk)(struct block_list *bl, struct status_change *sc, int batk, bool viewable);
- unsigned short(*base_matk) (struct block_list *bl, const struct status_data *st, int level);
+ int (*calc_batk)(struct block_list *bl, struct status_change *sc, int batk, bool viewable);
+ int (*base_matk) (struct block_list *bl, const struct status_data *st, int level);
int (*get_weapon_atk) (struct block_list *src, struct weapon_atk *watk, int flag);
int (*get_total_mdef) (struct block_list *src);
int (*get_total_def) (struct block_list *src);
@@ -2381,9 +2350,11 @@ struct status_interface {
void (*initChangeTables) (void);
void (*initDummyData) (void);
int (*base_amotion_pc) (struct map_session_data *sd, struct status_data *st);
- unsigned short (*base_atk) (const struct block_list *bl, const struct status_data *st);
+ int (*base_atk) (const struct block_list *bl, const struct status_data *st);
unsigned int (*get_base_maxhp) (const struct map_session_data *sd, const struct status_data *st);
unsigned int (*get_base_maxsp) (const struct map_session_data *sd, const struct status_data *st);
+ unsigned int (*get_restart_hp) (const struct map_session_data *sd, const struct status_data *st);
+ unsigned int (*get_restart_sp) (const struct map_session_data *sd, const struct status_data *st);
int (*calc_npc_) (struct npc_data *nd, enum e_status_calc_opt opt);
unsigned short (*calc_str) (struct block_list *bl, struct status_change *sc, int str);
unsigned short (*calc_agi) (struct block_list *bl, struct status_change *sc, int agi);
@@ -2391,12 +2362,12 @@ struct status_interface {
unsigned short (*calc_int) (struct block_list *bl, struct status_change *sc, int int_);
unsigned short (*calc_dex) (struct block_list *bl, struct status_change *sc, int dex);
unsigned short (*calc_luk) (struct block_list *bl, struct status_change *sc, int luk);
- unsigned short (*calc_watk) (struct block_list *bl, struct status_change *sc, int watk, bool viewable);
- unsigned short (*calc_matk) (struct block_list *bl, struct status_change *sc, int matk, bool viewable);
- signed short (*calc_hit) (struct block_list *bl, struct status_change *sc, int hit, bool viewable);
- signed short (*calc_critical) (struct block_list *bl, struct status_change *sc, int critical, bool viewable);
- signed short (*calc_flee) (struct block_list *bl, struct status_change *sc, int flee, bool viewable);
- signed short (*calc_flee2) (struct block_list *bl, struct status_change *sc, int flee2, bool viewable);
+ int (*calc_watk) (struct block_list *bl, struct status_change *sc, int watk, bool viewable);
+ int (*calc_matk) (struct block_list *bl, struct status_change *sc, int matk, bool viewable);
+ signed int (*calc_hit) (struct block_list *bl, struct status_change *sc, int hit, bool viewable);
+ signed int (*calc_critical) (struct block_list *bl, struct status_change *sc, int critical, bool viewable);
+ signed int (*calc_flee) (struct block_list *bl, struct status_change *sc, int flee, bool viewable);
+ signed int (*calc_flee2) (struct block_list *bl, struct status_change *sc, int flee2, bool viewable);
unsigned short (*calc_speed) (struct block_list *bl, struct status_change *sc, int speed);
short (*calc_aspd_rate) (struct block_list *bl, struct status_change *sc, int aspd_rate);
unsigned short (*calc_dmotion) (struct block_list *bl, struct status_change *sc, int dmotion);
@@ -2407,7 +2378,7 @@ struct status_interface {
unsigned char (*calc_element) (struct block_list *bl, struct status_change *sc, int element);
unsigned char (*calc_element_lv) (struct block_list *bl, struct status_change *sc, int lv);
uint32 (*calc_mode) (const struct block_list *bl, const struct status_change *sc, uint32 mode);
- unsigned short (*calc_ematk) (struct block_list *bl, struct status_change *sc, int matk);
+ int (*calc_ematk) (struct block_list *bl, struct status_change *sc, int matk);
void (*calc_bl_main) (struct block_list *bl, int flag);
void (*display_add) (struct map_session_data *sd, enum sc_type type, int dval1, int dval2, int dval3);
void (*display_remove) (struct map_session_data *sd, enum sc_type type);
@@ -2415,15 +2386,13 @@ struct status_interface {
int (*natural_heal_timer) (int tid, int64 tick, int id, intptr_t data);
bool (*readdb_job2) (char *fields[], int columns, int current);
bool (*readdb_sizefix) (char *fields[], int columns, int current);
- int (*readdb_refine_libconfig) (const char *filename);
- int (*readdb_refine_libconfig_sub) (struct config_setting_t *r, const char *name, const char *source);
bool (*readdb_scconfig) (char *fields[], int columns, int current);
void (*read_job_db) (void);
void (*read_job_db_sub) (int idx, const char *name, struct config_setting_t *jdb);
void (*set_sc) (uint16 skill_id, sc_type sc, int icon, unsigned int flag);
void (*copy) (struct status_data *a, const struct status_data *b);
- unsigned short (*base_matk_min) (const struct status_data *st);
- unsigned short (*base_matk_max) (const struct status_data *st);
+ int (*base_matk_min) (const struct status_data *st);
+ int (*base_matk_max) (const struct status_data *st);
};
#ifdef HERCULES_CORE
diff --git a/src/map/storage.c b/src/map/storage.c
index ba8dcee3a..90b620f63 100644
--- a/src/map/storage.c
+++ b/src/map/storage.c
@@ -122,8 +122,8 @@ static int storage_storageopen(struct map_session_data *sd)
if (sd->storage.aggregate > 0) {
storage->sortitem(VECTOR_DATA(sd->storage.item), VECTOR_LENGTH(sd->storage.item));
- clif->storagelist(sd, VECTOR_DATA(sd->storage.item), VECTOR_LENGTH(sd->storage.item));
}
+ clif->storageList(sd, VECTOR_DATA(sd->storage.item), VECTOR_LENGTH(sd->storage.item));
clif->updatestorageamount(sd, sd->storage.aggregate, MAX_STORAGE);
return 0;
@@ -285,7 +285,7 @@ static int storage_add_from_inventory(struct map_session_data *sd, int index, in
if (sd->storage.aggregate > MAX_STORAGE)
return 0; // storage full
- if (index < 0 || index >= MAX_INVENTORY)
+ if (index < 0 || index >= sd->status.inventorySize)
return 0;
if (sd->status.inventory[index].nameid <= 0)
@@ -512,7 +512,7 @@ static int storage_guild_storageopen(struct map_session_data *sd)
gstor->storage_status = 1;
sd->state.storage_flag = STORAGE_FLAG_GUILD;
storage->sortitem(gstor->items, ARRAYLENGTH(gstor->items));
- clif->storagelist(sd, gstor->items, ARRAYLENGTH(gstor->items));
+ clif->guildStorageList(sd, gstor->items, ARRAYLENGTH(gstor->items));
clif->updatestorageamount(sd, gstor->storage_amount, MAX_GUILD_STORAGE);
return 0;
}
@@ -623,7 +623,7 @@ static int storage_guild_storageadd(struct map_session_data *sd, int index, int
if( !stor->storage_status || stor->storage_amount > MAX_GUILD_STORAGE )
return 0;
- if( index<0 || index>=MAX_INVENTORY )
+ if (index < 0 || index >= sd->status.inventorySize)
return 0;
if( sd->status.inventory[index].nameid <= 0 )
diff --git a/src/map/stylist.c b/src/map/stylist.c
new file mode 100644
index 000000000..7e7c13bf7
--- /dev/null
+++ b/src/map/stylist.c
@@ -0,0 +1,228 @@
+/**
+* This file is part of Hercules.
+* http://herc.ws - http://github.com/HerculesWS/Hercules
+*
+* Copyright (C) 2018-2019 Hercules Dev Team
+*
+* Hercules is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#define HERCULES_CORE
+
+#include "map/stylist.h"
+
+#include "common/conf.h"
+#include "common/db.h"
+#include "common/memmgr.h"
+#include "common/nullpo.h"
+#include "common/showmsg.h"
+
+#include "map/clif.h"
+#include "map/intif.h"
+#include "map/itemdb.h"
+#include "map/pc.h"
+#include "map/script.h"
+
+static struct stylist_interface stylist_s;
+struct stylist_interface *stylist;
+
+static bool stylist_read_db_libconfig(void)
+{
+ struct config_t stylist_conf;
+ struct config_setting_t *stylist_db = NULL, *it = NULL;
+ const char *config_filename = "db/stylist_db.conf"; // FIXME hardcoded name
+ int i = 0;
+
+ if (!libconfig->load_file(&stylist_conf, config_filename))
+ return false;
+
+ if ((stylist_db = libconfig->setting_get_member(stylist_conf.root, "stylist_db")) == NULL) {
+ ShowError("can't read %s\n", config_filename);
+ return false;
+ }
+
+ stylist->vector_clear();
+
+ while ((it = libconfig->setting_get_elem(stylist_db, i++))) {
+ stylist->read_db_libconfig_sub(it, i - 1, config_filename);
+ }
+
+ libconfig->destroy(&stylist_conf);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", i, config_filename);
+ return true;
+}
+
+static bool stylist_read_db_libconfig_sub(struct config_setting_t *it, int idx, const char *source)
+{
+ struct stylist_data_entry entry = { 0 };
+ int i32 = 0, type = 0;
+ int64 i64 = 0;
+
+ nullpo_ret(it);
+ nullpo_ret(source);
+
+ if (!itemdb->lookup_const(it, "Type", &type) || type >= MAX_STYLIST_TYPE || type < 0) {
+ ShowWarning("stylist_read_db_libconfig_sub: Invalid or missing Type (%d) in \"%s\", entry #%d, skipping.\n", type, source, idx);
+ return false;
+ }
+ if (!itemdb->lookup_const(it, "Id", &i32) || i32 < 0) {
+ ShowWarning("stylist_read_db_libconfig_sub: Invalid or missing Id (%d) in \"%s\", entry #%d, skipping.\n", i32, source, idx);
+ return false;
+ }
+ entry.id = i32;
+
+ if (libconfig->setting_lookup_int64(it, "Zeny", &i64)) {
+ if (i64 > MAX_ZENY) {
+ ShowWarning("stylist_read_db_libconfig_sub: zeny is too big in \"%s\", entry #%d, capping to MAX_ZENY.\n", source, idx);
+ entry.zeny = MAX_ZENY;
+ } else {
+ entry.zeny = (int)i64;
+ }
+ }
+
+ if (itemdb->lookup_const(it, "ItemID", &i32))
+ entry.itemid = i32;
+
+ if (itemdb->lookup_const(it, "BoxItemID", &i32))
+ entry.boxid = i32;
+
+ if (libconfig->setting_lookup_bool(it, "AllowDoram", &i32))
+ entry.allow_doram = (i32 == 0) ? false : true;
+
+ VECTOR_ENSURE(stylist->data[type], 1, 1);
+ VECTOR_PUSH(stylist->data[type], entry);
+ return true;
+}
+
+static bool stylist_validate_requirements(struct map_session_data *sd, int type, int16 idx)
+{
+ struct item it;
+ struct stylist_data_entry *entry;
+
+ nullpo_retr(false, sd);
+ Assert_retr(false, type >= 0 && type < MAX_STYLIST_TYPE);
+ Assert_retr(false, idx >= 0 && idx < VECTOR_LENGTH(stylist->data[type]));
+
+ entry = &VECTOR_INDEX(stylist->data[type], idx);
+
+ if (sd->status.class == JOB_SUMMONER && (entry->allow_doram == false))
+ return false;
+
+ if (entry->id >= 0) {
+ if (entry->zeny != 0) {
+ if (sd->status.zeny < entry->zeny)
+ return false;
+
+ sd->status.zeny -= entry->zeny;
+ clif->updatestatus(sd, SP_ZENY);
+ } else if (entry->itemid != 0) {
+ it.nameid = entry->itemid;
+ it.amount = 1;
+ return script->buildin_delitem_search(sd, &it, false);
+ } else if (entry->boxid != 0) {
+ it.nameid = entry->boxid;
+ it.amount = 1;
+ return script->buildin_delitem_search(sd, &it, false);
+ }
+ return true;
+ }
+ return false;
+}
+
+static void stylist_send_rodexitem(struct map_session_data *sd, int itemid)
+{
+ struct rodex_message msg = { 0 };
+
+ nullpo_retv(sd);
+
+ msg.receiver_id = sd->status.char_id;
+ msg.items[0].item.nameid = itemid;
+ msg.items[0].item.amount = 1;
+ msg.items[0].item.identify = 1;
+ msg.type = MAIL_TYPE_NPC | MAIL_TYPE_ITEM;
+
+ safestrncpy(msg.sender_name, msg_txt(366), NAME_LENGTH);
+ safestrncpy(msg.title, msg_txt(367), RODEX_TITLE_LENGTH);
+ safestrncpy(msg.body, msg_txt(368), MAIL_BODY_LENGTH);
+ msg.send_date = (int)time(NULL);
+ msg.expire_date = (int)time(NULL) + RODEX_EXPIRE;
+
+ intif->rodex_sendmail(&msg);
+}
+
+static void stylist_request_style_change(struct map_session_data *sd, int type, int16 idx, bool isitem)
+{
+ struct stylist_data_entry *entry;
+
+ nullpo_retv(sd);
+ Assert_retv(idx > 0);
+ Assert_retv(type >= 0 && type < MAX_STYLIST_TYPE);
+
+ if ((idx - 1) < VECTOR_LENGTH(stylist->data[type])) {
+ entry = &VECTOR_INDEX(stylist->data[type], idx - 1);
+ if (stylist->validate_requirements(sd, type, idx - 1)) {
+ if (isitem == false)
+ pc->changelook(sd, type, entry->id);
+ else
+ stylist->send_rodexitem(sd, entry->id);
+ }
+ }
+}
+
+static void stylist_vector_init(void)
+{
+ for (int i = 0; i < MAX_STYLIST_TYPE; i++)
+ VECTOR_INIT(stylist->data[i]);
+}
+static void stylist_vector_clear(void)
+{
+ for (int i = 0; i < MAX_STYLIST_TYPE; i++)
+ VECTOR_CLEAR(stylist->data[i]);
+}
+
+static void do_init_stylist(bool minimal)
+{
+ if (minimal)
+ return;
+
+ // Initialize the db
+ stylist->vector_init();
+
+ // Load the db
+ stylist->read_db_libconfig();
+}
+
+static void do_final_stylist(void)
+{
+ // Clear the db
+ stylist->vector_clear();
+}
+
+void stylist_defaults(void)
+{
+ stylist = &stylist_s;
+
+ /* core */
+ stylist->init = do_init_stylist;
+ stylist->final = do_final_stylist;
+ /* */
+ stylist->vector_init = stylist_vector_init;
+ stylist->vector_clear = stylist_vector_clear;
+ /* database */
+ stylist->read_db_libconfig = stylist_read_db_libconfig;
+ stylist->read_db_libconfig_sub = stylist_read_db_libconfig_sub;
+ /* */
+ stylist->request_style_change = stylist_request_style_change;
+ stylist->validate_requirements = stylist_validate_requirements;
+ stylist->send_rodexitem = stylist_send_rodexitem;
+}
diff --git a/src/map/stylist.h b/src/map/stylist.h
new file mode 100644
index 000000000..5bedfefc7
--- /dev/null
+++ b/src/map/stylist.h
@@ -0,0 +1,69 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-2019 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef MAP_STYLIST_H
+#define MAP_STYLIST_H
+
+#include "common/hercules.h"
+#include "map/map.h" // LOOK_MAX
+
+struct map_session_data;
+
+/* Maximum available types for stylist */
+#ifndef MAX_STYLIST_TYPE
+#define MAX_STYLIST_TYPE LOOK_MAX
+#endif
+
+/* Stylist data [Asheraf/Hercules]*/
+struct stylist_data_entry {
+ int16 id;
+ int32 zeny;
+ int itemid;
+ int boxid;
+ bool allow_doram;
+};
+
+/**
+ * stylist.c Interface
+ **/
+struct stylist_interface {
+ VECTOR_DECL(struct stylist_data_entry) data[MAX_STYLIST_TYPE];
+
+ void (*init) (bool minimal);
+ void (*final) (void);
+
+ void (*vector_init) (void);
+ void (*vector_clear) (void);
+
+ bool (*read_db_libconfig) (void);
+ bool (*read_db_libconfig_sub) (struct config_setting_t *it, int idx, const char *source);
+
+ void (*request_style_change) (struct map_session_data *sd, int type, int16 idx, bool isitem);
+ bool (*validate_requirements) (struct map_session_data *sd, int type, int16 idx);
+ void (*send_rodexitem) (struct map_session_data *sd, int itemid);
+
+};
+
+#ifdef HERCULES_CORE
+void stylist_defaults(void);
+#endif // HERCULES_CORE
+
+HPShared struct stylist_interface *stylist; ///< Pointer to the stylist interface.
+
+#endif /* MAP_STYLIST_H */
diff --git a/src/map/trade.c b/src/map/trade.c
index d4f846d19..cef14ffe6 100644
--- a/src/map/trade.c
+++ b/src/map/trade.c
@@ -163,8 +163,8 @@ static void trade_tradeack(struct map_session_data *sd, int type)
}
//Check if you can start trade.
- if (sd->npc_id || sd->state.vending || sd->state.buyingstore || sd->state.storage_flag != STORAGE_FLAG_CLOSED
- || tsd->npc_id || tsd->state.vending || tsd->state.buyingstore || tsd->state.storage_flag != STORAGE_FLAG_CLOSED
+ if (sd->npc_id || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->state.storage_flag != STORAGE_FLAG_CLOSED
+ || tsd->npc_id || tsd->state.vending || tsd->state.prevend || tsd->state.buyingstore || tsd->state.storage_flag != STORAGE_FLAG_CLOSED
) {
//Fail
clif->tradestart(sd, 2);
@@ -209,7 +209,7 @@ static int impossible_trade_check(struct map_session_data *sd)
// remove this part: arrows can be trade and equipped
// re-added! [celest]
// remove equipped items (they can not be trade)
- for (i = 0; i < MAX_INVENTORY; i++)
+ for (i = 0; i < sd->status.inventorySize; i++)
if (inventory[i].nameid > 0 && inventory[i].equip && !(inventory[i].equip & EQP_AMMO))
memset(&inventory[i], 0, sizeof(struct item));
@@ -218,7 +218,7 @@ static int impossible_trade_check(struct map_session_data *sd)
if (!sd->deal.item[i].amount)
continue;
index = sd->deal.item[i].index;
- if (index < 0 || index >= MAX_INVENTORY)
+ if (index < 0 || index >= sd->status.inventorySize)
return 1;
if (inventory[index].amount < sd->deal.item[i].amount) {
// if more than the player have -> hack
@@ -281,9 +281,9 @@ static int trade_check(struct map_session_data *sd, struct map_session_data *tsd
return 0; //qty Exploit?
data = itemdb->search(inventory[n].nameid);
- i = MAX_INVENTORY;
+ i = tsd->status.inventorySize;
if (itemdb->isstackable2(data)) { //Stackable item.
- for(i = 0; i < MAX_INVENTORY; i++)
+ for(i = 0; i < tsd->status.inventorySize; i++)
if (inventory2[i].nameid == inventory[n].nameid &&
inventory2[i].card[0] == inventory[n].card[0] && inventory2[i].card[1] == inventory[n].card[1] &&
inventory2[i].card[2] == inventory[n].card[2] && inventory2[i].card[3] == inventory[n].card[3]) {
@@ -295,9 +295,9 @@ static int trade_check(struct map_session_data *sd, struct map_session_data *tsd
}
}
- if (i == MAX_INVENTORY) {// look for an empty slot.
- for(i = 0; i < MAX_INVENTORY && inventory2[i].nameid; i++);
- if (i == MAX_INVENTORY)
+ if (i == tsd->status.inventorySize) {// look for an empty slot.
+ for (i = 0; i < tsd->status.inventorySize && inventory2[i].nameid; i++);
+ if (i == tsd->status.inventorySize)
return 0;
memcpy(&inventory2[i], &inventory[n], sizeof(struct item));
inventory2[i].amount = amount;
@@ -308,15 +308,15 @@ static int trade_check(struct map_session_data *sd, struct map_session_data *tsd
if (!amount)
continue;
n = tsd->deal.item[trade_i].index;
- if (n < 0 || n >= MAX_INVENTORY)
+ if (n < 0 || n >= tsd->status.inventorySize)
return 0;
if (amount > inventory2[n].amount)
return 0;
// search if it's possible to add item (for full inventory)
data = itemdb->search(inventory2[n].nameid);
- i = MAX_INVENTORY;
+ i = sd->status.inventorySize;
if (itemdb->isstackable2(data)) {
- for(i = 0; i < MAX_INVENTORY; i++)
+ for(i = 0; i < sd->status.inventorySize; i++)
if (inventory[i].nameid == inventory2[n].nameid &&
inventory[i].card[0] == inventory2[n].card[0] && inventory[i].card[1] == inventory2[n].card[1] &&
inventory[i].card[2] == inventory2[n].card[2] && inventory[i].card[3] == inventory2[n].card[3]) {
@@ -327,9 +327,9 @@ static int trade_check(struct map_session_data *sd, struct map_session_data *tsd
break;
}
}
- if (i == MAX_INVENTORY) {
- for(i = 0; i < MAX_INVENTORY && inventory[i].nameid; i++);
- if (i == MAX_INVENTORY)
+ if (i == sd->status.inventorySize) {
+ for(i = 0; i < sd->status.inventorySize && inventory[i].nameid; i++);
+ if (i == sd->status.inventorySize)
return 0;
memcpy(&inventory[i], &inventory2[n], sizeof(struct item));
inventory[i].amount = amount;
@@ -369,7 +369,7 @@ static void trade_tradeadditem(struct map_session_data *sd, short index, short a
index -= 2; // 0 is for zeny, 1 is unknown. Gravity, go figure...
//Item checks...
- if( index < 0 || index >= MAX_INVENTORY )
+ if (index < 0 || index >= sd->status.inventorySize)
return;
if( amount < 0 || amount > sd->status.inventory[index].amount )
return;
diff --git a/src/map/unit.c b/src/map/unit.c
index 9174bdccd..45cb7dffd 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -918,7 +918,7 @@ static int unit_blown(struct block_list *bl, int dx, int dy, int count, int flag
//Warps a unit/ud to a given map/position.
//In the case of players, pc->setpos is used.
//it respects the no warp flags, so it is safe to call this without doing nowarpto/nowarp checks.
-static int unit_warp(struct block_list *bl, short m, short x, short y, clr_type type)
+static int unit_warp(struct block_list *bl, short m, short x, short y, enum clr_type type)
{
struct unit_data *ud;
nullpo_ret(bl);
@@ -957,7 +957,7 @@ static int unit_warp(struct block_list *bl, short m, short x, short y, clr_type
return 2;
}
- } else if (map->getcell(m, bl, x, y, CELL_CHKNOREACH)) {
+ } else if (bl->type != BL_NPC && map->getcell(m, bl, x, y, CELL_CHKNOREACH)) {
//Invalid target cell
ShowWarning("unit_warp: Specified non-walkable target cell: %d (%s) at [%d,%d]\n", m, map->list[m].name, x,y);
@@ -1090,6 +1090,7 @@ static int unit_can_move(struct block_list *bl)
if (sd && (
pc_issit(sd) ||
sd->state.vending ||
+ sd->state.prevend ||
sd->state.buyingstore ||
sd->block_action.move
))
@@ -1836,7 +1837,7 @@ static int unit_set_target(struct unit_data *ud, int target_id)
struct block_list* target;
if (ud->target && (target = map->id2bl(ud->target)) != NULL && (ux = unit->bl2ud(target)) != NULL && ux->target_count > 0)
--ux->target_count;
- if (target_id && (target = map->id2bl(target_id)) != NULL && (ux = unit->bl2ud(target)) != NULL)
+ if (target_id && (target = map->id2bl(target_id)) != NULL && (ux = unit->bl2ud(target)) != NULL && ux->target_count < UCHAR_MAX)
++ux->target_count;
}
@@ -2419,7 +2420,7 @@ static int unit_changeviewsize(struct block_list *bl, short size)
* Otherwise it is assumed bl is being warped.
* On-Kill specific stuff is not performed here, look at status->damage for that.
*------------------------------------------*/
-static int unit_remove_map(struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func)
+static int unit_remove_map(struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func)
{
struct unit_data *ud = unit->bl2ud(bl);
struct status_change *sc = status->get_sc(bl);
@@ -2665,7 +2666,7 @@ static int unit_remove_map(struct block_list *bl, clr_type clrtype, const char *
return 1;
}
-static void unit_remove_map_pc(struct map_session_data *sd, clr_type clrtype)
+static void unit_remove_map_pc(struct map_session_data *sd, enum clr_type clrtype)
{
nullpo_retv(sd);
unit->remove_map(&sd->bl,clrtype,ALC_MARK);
@@ -2697,7 +2698,7 @@ static void unit_free_pc(struct map_session_data *sd)
* Function to free all related resources to the bl
* if unit is on map, it is removed using the clrtype specified
*------------------------------------------*/
-static int unit_free(struct block_list *bl, clr_type clrtype)
+static int unit_free(struct block_list *bl, enum clr_type clrtype)
{
struct unit_data *ud = unit->bl2ud( bl );
nullpo_ret(bl);
@@ -2764,6 +2765,7 @@ static int unit_free(struct block_list *bl, clr_type clrtype)
aFree(sd->instance);
sd->instance = NULL;
}
+ VECTOR_CLEAR(sd->channels);
VECTOR_CLEAR(sd->script_queues);
VECTOR_CLEAR(sd->achievement); // Achievement [Smokexyz/Hercules]
VECTOR_CLEAR(sd->storage.item);
diff --git a/src/map/unit.h b/src/map/unit.h
index 0c1c2405c..3209351e3 100644
--- a/src/map/unit.h
+++ b/src/map/unit.h
@@ -44,6 +44,7 @@ enum unit_stopwalking_flag {
struct unit_data {
struct block_list *bl;
+ char title[NAME_LENGTH];
struct walkpath_data walkpath;
struct skill_timerskill *skilltimerskill[MAX_SKILLTIMERSKILL];
struct skill_unit_group *skillunit[MAX_SKILLUNITGROUP];
@@ -61,6 +62,7 @@ struct unit_data {
int chaserange;
bool stepaction; //Action should be executed on step [Playtester]
int steptimer; //Timer that triggers the action [Playtester]
+ int groupId; // id of client side group (works for npc and may be other) [4144]
uint16 stepskill_id,stepskill_lv; //Remembers skill that should be casted on step [Playtester]
int64 attackabletime;
int64 canact_tick;
@@ -116,7 +118,7 @@ struct unit_interface {
int (*setdir) (struct block_list *bl, unsigned char dir);
uint8 (*getdir) (struct block_list *bl);
int (*blown) (struct block_list *bl, int dx, int dy, int count, int flag);
- int (*warp) (struct block_list *bl, short m, short x, short y, clr_type type);
+ int (*warp) (struct block_list *bl, short m, short x, short y, enum clr_type type);
int (*stop_walking) (struct block_list *bl, int type);
int (*skilluse_id) (struct block_list *src, int target_id, uint16 skill_id, uint16 skill_lv);
int (*step_timer) (int tid, int64 tick, int id, intptr_t data);
@@ -142,10 +144,10 @@ struct unit_interface {
int (*counttargeted) (struct block_list *bl);
int (*fixdamage) (struct block_list *src, struct block_list *target, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2);
int (*changeviewsize) (struct block_list *bl, short size);
- int (*remove_map) (struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func);
- void (*remove_map_pc) (struct map_session_data *sd, clr_type clrtype);
+ int (*remove_map) (struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func);
+ void (*remove_map_pc) (struct map_session_data *sd, enum clr_type clrtype);
void (*free_pc) (struct map_session_data *sd);
- int (*free) (struct block_list *bl, clr_type clrtype);
+ int (*free) (struct block_list *bl, enum clr_type clrtype);
};
#ifdef HERCULES_CORE
diff --git a/src/plugins/HPMHooking.c b/src/plugins/HPMHooking.c
index b477cb5c3..8e7ed4823 100644
--- a/src/plugins/HPMHooking.c
+++ b/src/plugins/HPMHooking.c
@@ -25,6 +25,7 @@
#include "common/memmgr.h"
#include "common/mmo.h"
#include "common/socket.h"
+#include "common/packets.h"
PRAGMA_GCC5(GCC diagnostic push)
PRAGMA_GCC5(GCC diagnostic ignored "-Wdiscarded-qualifiers")
@@ -40,6 +41,8 @@ PRAGMA_GCC5(GCC diagnostic ignored "-Wdiscarded-qualifiers")
#include "login/lclif.p.h"
#include "login/login.h"
#include "login/loginlog.h"
+#include "login/packets_ac_struct.h"
+#include "login/packets_ca_struct.h"
#elif defined (HPMHOOKING_CHAR)
#define HPM_SERVER_TYPE SERVER_TYPE_CHAR
#define HPM_CORE_INCLUDE "HPMHooking/HPMHooking_char.HPMHooksCore.inc"
@@ -103,10 +106,13 @@ PRAGMA_GCC5(GCC diagnostic ignored "-Wdiscarded-qualifiers")
#include "map/pet.h"
#include "map/quest.h"
#include "map/rodex.h"
+#include "map/refine.h"
+#include "map/refine.p.h"
#include "map/script.h"
#include "map/skill.h"
#include "map/status.h"
#include "map/storage.h"
+#include "map/stylist.h"
#include "map/trade.h"
#include "map/unit.h"
#include "common/grfio.h"
diff --git a/src/plugins/HPMHooking.h b/src/plugins/HPMHooking.h
index 44970863c..f94dccac4 100644
--- a/src/plugins/HPMHooking.h
+++ b/src/plugins/HPMHooking.h
@@ -50,11 +50,21 @@ HPExport struct HPMHooking_interface HPMHooking_s;
HPMi->hooking->AddHook(HOOK_TYPE_PRE, #ifname "->" #funcname, (hook), HPMi->pid) \
)
+#define addHookPrePriv(ifname, funcname, hook) ( \
+ (void)((HPMHOOK_pre_PRIV__ ## ifname ## _ ## funcname)0 == (hook)), \
+ HPMi->hooking->AddHook(HOOK_TYPE_PRE, #ifname "->p->" #funcname, (hook), HPMi->pid) \
+ )
+
#define addHookPost(ifname, funcname, hook) ( \
(void)((HPMHOOK_post_ ## ifname ## _ ## funcname)0 == (hook)), \
HPMi->hooking->AddHook(HOOK_TYPE_POST, #ifname "->" #funcname, (hook), HPMi->pid) \
)
+#define addHookPostPriv(ifname, funcname, hook) ( \
+ (void)((HPMHOOK_post_PRIV__ ## ifname ## _ ## funcname)0 == (hook)), \
+ HPMi->hooking->AddHook(HOOK_TYPE_POST, #ifname "->p->" #funcname, (hook), HPMi->pid) \
+ )
+
/* need better names ;/ */
/* will not run the original function after pre-hook processing is complete (other hooks will run) */
#define hookStop() (HPMi->hooking->HookStop(__func__,HPMi->pid))
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index 52c7bb0f6..d8bf3fae9 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -176,8 +176,12 @@ typedef void (*HPMHOOK_pre_achievement_init_titles) (struct map_session_data **s
typedef void (*HPMHOOK_post_achievement_init_titles) (struct map_session_data *sd);
typedef bool (*HPMHOOK_pre_achievement_check_title) (struct map_session_data **sd, int *title_id);
typedef bool (*HPMHOOK_post_achievement_check_title) (bool retVal___, struct map_session_data *sd, int title_id);
-typedef void (*HPMHOOK_pre_achievement_get_rewards) (struct map_session_data **sd, const struct achievement_data **ad);
-typedef void (*HPMHOOK_post_achievement_get_rewards) (struct map_session_data *sd, const struct achievement_data *ad);
+typedef bool (*HPMHOOK_pre_achievement_get_rewards) (struct map_session_data **sd, const struct achievement_data **ad);
+typedef bool (*HPMHOOK_post_achievement_get_rewards) (bool retVal___, struct map_session_data *sd, const struct achievement_data *ad);
+typedef void (*HPMHOOK_pre_achievement_get_rewards_buffs) (struct map_session_data **sd, const struct achievement_data **ad);
+typedef void (*HPMHOOK_post_achievement_get_rewards_buffs) (struct map_session_data *sd, const struct achievement_data *ad);
+typedef void (*HPMHOOK_pre_achievement_get_rewards_items) (struct map_session_data **sd, const struct achievement_data **ad);
+typedef void (*HPMHOOK_post_achievement_get_rewards_items) (struct map_session_data *sd, const struct achievement_data *ad);
#endif // MAP_ACHIEVEMENT_H
#ifdef MAP_ATCOMMAND_H /* atcommand */
typedef void (*HPMHOOK_pre_atcommand_init) (bool *minimal);
@@ -278,6 +282,8 @@ typedef void (*HPMHOOK_pre_battle_drain) (struct map_session_data **sd, struct b
typedef void (*HPMHOOK_post_battle_drain) (struct map_session_data *sd, struct block_list *tbl, int64 rdamage, int64 ldamage, int race, int boss);
typedef void (*HPMHOOK_pre_battle_reflect_damage) (struct block_list **target, struct block_list **src, struct Damage **wd, uint16 *skill_id);
typedef void (*HPMHOOK_post_battle_reflect_damage) (struct block_list *target, struct block_list *src, struct Damage *wd, uint16 skill_id);
+typedef void (*HPMHOOK_pre_battle_reflect_trap) (struct block_list **target, struct block_list **src, struct Damage **md, uint16 *skill_id);
+typedef void (*HPMHOOK_post_battle_reflect_trap) (struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id);
typedef int (*HPMHOOK_pre_battle_attr_ratio) (int *atk_elem, int *def_type, int *def_lv);
typedef int (*HPMHOOK_post_battle_attr_ratio) (int retVal___, int atk_elem, int def_type, int def_lv);
typedef int64 (*HPMHOOK_pre_battle_attr_fix) (struct block_list **src, struct block_list **target, int64 *damage, int *atk_elem, int *def_type, int *def_lv);
@@ -532,8 +538,8 @@ typedef int (*HPMHOOK_pre_chr_memitemdata_to_sql) (const struct item *items[], i
typedef int (*HPMHOOK_post_chr_memitemdata_to_sql) (int retVal___, const struct item items[], int id, enum inventory_table_type table);
typedef int (*HPMHOOK_pre_chr_mmo_gender) (const struct char_session_data **sd, const struct mmo_charstatus **p, char *sex);
typedef int (*HPMHOOK_post_chr_mmo_gender) (int retVal___, const struct char_session_data *sd, const struct mmo_charstatus *p, char sex);
-typedef int (*HPMHOOK_pre_chr_mmo_chars_fromsql) (struct char_session_data **sd, uint8 **buf);
-typedef int (*HPMHOOK_post_chr_mmo_chars_fromsql) (int retVal___, struct char_session_data *sd, uint8 *buf);
+typedef int (*HPMHOOK_pre_chr_mmo_chars_fromsql) (struct char_session_data **sd, uint8 **buf, int **count);
+typedef int (*HPMHOOK_post_chr_mmo_chars_fromsql) (int retVal___, struct char_session_data *sd, uint8 *buf, int *count);
typedef int (*HPMHOOK_pre_chr_mmo_char_fromsql) (int *char_id, struct mmo_charstatus **p, bool *load_everything);
typedef int (*HPMHOOK_post_chr_mmo_char_fromsql) (int retVal___, int char_id, struct mmo_charstatus *p, bool load_everything);
typedef int (*HPMHOOK_pre_chr_mmo_char_sql_init) (void);
@@ -546,16 +552,18 @@ typedef bool (*HPMHOOK_pre_chr_name_exists) (const char **name, const char **esc
typedef bool (*HPMHOOK_post_chr_name_exists) (bool retVal___, const char *name, const char *esc_name);
typedef int (*HPMHOOK_pre_chr_check_char_name) (const char **name, const char **esc_name);
typedef int (*HPMHOOK_post_chr_check_char_name) (int retVal___, const char *name, const char *esc_name);
-typedef int (*HPMHOOK_pre_chr_make_new_char_sql) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, short *starting_job, uint8 *sex);
-typedef int (*HPMHOOK_post_chr_make_new_char_sql) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job, uint8 sex);
+typedef int (*HPMHOOK_pre_chr_make_new_char_sql) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, int *starting_job, uint8 *sex);
+typedef int (*HPMHOOK_post_chr_make_new_char_sql) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_job, uint8 sex);
typedef int (*HPMHOOK_pre_chr_divorce_char_sql) (int *partner_id1, int *partner_id2);
typedef int (*HPMHOOK_post_chr_divorce_char_sql) (int retVal___, int partner_id1, int partner_id2);
typedef int (*HPMHOOK_pre_chr_count_users) (void);
typedef int (*HPMHOOK_post_chr_count_users) (int retVal___);
typedef int (*HPMHOOK_pre_chr_mmo_char_tobuf) (uint8 **buffer, struct mmo_charstatus **p);
typedef int (*HPMHOOK_post_chr_mmo_char_tobuf) (int retVal___, uint8 *buffer, struct mmo_charstatus *p);
-typedef void (*HPMHOOK_pre_chr_mmo_char_send099d) (int *fd, struct char_session_data **sd);
-typedef void (*HPMHOOK_post_chr_mmo_char_send099d) (int fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_send_HC_ACK_CHARINFO_PER_PAGE) (int *fd, struct char_session_data **sd);
+typedef void (*HPMHOOK_post_chr_send_HC_ACK_CHARINFO_PER_PAGE) (int fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail) (int *fd, struct char_session_data **sd);
+typedef void (*HPMHOOK_post_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail) (int fd, struct char_session_data *sd);
typedef void (*HPMHOOK_pre_chr_mmo_char_send_ban_list) (int *fd, struct char_session_data **sd);
typedef void (*HPMHOOK_post_chr_mmo_char_send_ban_list) (int fd, struct char_session_data *sd);
typedef void (*HPMHOOK_pre_chr_mmo_char_send_slots_info) (int *fd, struct char_session_data **sd);
@@ -1154,12 +1162,12 @@ typedef void (*HPMHOOK_pre_clif_package_announce) (struct map_session_data **sd,
typedef void (*HPMHOOK_post_clif_package_announce) (struct map_session_data *sd, int nameid, int containerid);
typedef void (*HPMHOOK_pre_clif_item_drop_announce) (struct map_session_data **sd, int *nameid, char **monsterName);
typedef void (*HPMHOOK_post_clif_item_drop_announce) (struct map_session_data *sd, int nameid, char *monsterName);
-typedef void (*HPMHOOK_pre_clif_clearunit_single) (int *id, clr_type *type, int *fd);
-typedef void (*HPMHOOK_post_clif_clearunit_single) (int id, clr_type type, int fd);
-typedef void (*HPMHOOK_pre_clif_clearunit_area) (struct block_list **bl, clr_type *type);
-typedef void (*HPMHOOK_post_clif_clearunit_area) (struct block_list *bl, clr_type type);
-typedef void (*HPMHOOK_pre_clif_clearunit_delayed) (struct block_list **bl, clr_type *type, int64 *tick);
-typedef void (*HPMHOOK_post_clif_clearunit_delayed) (struct block_list *bl, clr_type type, int64 tick);
+typedef void (*HPMHOOK_pre_clif_clearunit_single) (int *id, enum clr_type *type, int *fd);
+typedef void (*HPMHOOK_post_clif_clearunit_single) (int id, enum clr_type type, int fd);
+typedef void (*HPMHOOK_pre_clif_clearunit_area) (struct block_list **bl, enum clr_type *type);
+typedef void (*HPMHOOK_post_clif_clearunit_area) (struct block_list *bl, enum clr_type type);
+typedef void (*HPMHOOK_pre_clif_clearunit_delayed) (struct block_list **bl, enum clr_type *type, int64 *tick);
+typedef void (*HPMHOOK_post_clif_clearunit_delayed) (struct block_list *bl, enum clr_type type, int64 tick);
typedef void (*HPMHOOK_pre_clif_walkok) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_walkok) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_move) (struct unit_data **ud);
@@ -1320,12 +1328,30 @@ typedef void (*HPMHOOK_pre_clif_status_change) (struct block_list **bl, int *typ
typedef void (*HPMHOOK_post_clif_status_change) (struct block_list *bl, int type, int flag, int tick, int val1, int val2, int val3);
typedef void (*HPMHOOK_pre_clif_insert_card) (struct map_session_data **sd, int *idx_equip, int *idx_card, int *flag);
typedef void (*HPMHOOK_post_clif_insert_card) (struct map_session_data *sd, int idx_equip, int idx_card, int flag);
-typedef void (*HPMHOOK_pre_clif_inventorylist) (struct map_session_data **sd);
-typedef void (*HPMHOOK_post_clif_inventorylist) (struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_clif_equiplist) (struct map_session_data **sd);
-typedef void (*HPMHOOK_post_clif_equiplist) (struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_clif_cartlist) (struct map_session_data **sd);
-typedef void (*HPMHOOK_post_clif_cartlist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_inventoryList) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_inventoryList) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_inventoryItems) (struct map_session_data **sd, enum inventory_type *type);
+typedef void (*HPMHOOK_post_clif_inventoryItems) (struct map_session_data *sd, enum inventory_type type);
+typedef void (*HPMHOOK_pre_clif_equipList) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_equipList) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_equipItems) (struct map_session_data **sd, enum inventory_type *type);
+typedef void (*HPMHOOK_post_clif_equipItems) (struct map_session_data *sd, enum inventory_type type);
+typedef void (*HPMHOOK_pre_clif_cartList) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_cartList) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_cartItems) (struct map_session_data **sd, enum inventory_type *type);
+typedef void (*HPMHOOK_post_clif_cartItems) (struct map_session_data *sd, enum inventory_type type);
+typedef void (*HPMHOOK_pre_clif_inventoryExpansionInfo) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_inventoryExpansionInfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_inventoryExpandAck) (struct map_session_data **sd, enum expand_inventory *result, int *itemId);
+typedef void (*HPMHOOK_post_clif_inventoryExpandAck) (struct map_session_data *sd, enum expand_inventory result, int itemId);
+typedef void (*HPMHOOK_pre_clif_inventoryExpandResult) (struct map_session_data **sd, enum expand_inventory_result *result);
+typedef void (*HPMHOOK_post_clif_inventoryExpandResult) (struct map_session_data *sd, enum expand_inventory_result result);
+typedef void (*HPMHOOK_pre_clif_pInventoryExpansion) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pInventoryExpansion) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pInventoryExpansionConfirmed) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pInventoryExpansionConfirmed) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pInventoryExpansionRejected) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pInventoryExpansionRejected) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_favorite_item) (struct map_session_data **sd, unsigned short *index);
typedef void (*HPMHOOK_post_clif_favorite_item) (struct map_session_data *sd, unsigned short index);
typedef void (*HPMHOOK_pre_clif_clearcart) (int *fd);
@@ -1352,8 +1378,32 @@ typedef void (*HPMHOOK_pre_clif_mvp_noitem) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_mvp_noitem) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_changed_dir) (struct block_list **bl, enum send_target *target);
typedef void (*HPMHOOK_post_clif_changed_dir) (struct block_list *bl, enum send_target target);
-typedef void (*HPMHOOK_pre_clif_charnameack) (int *fd, struct block_list **bl);
-typedef void (*HPMHOOK_post_clif_charnameack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_blname_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_blname_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_pcname_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_pcname_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_homname_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_homname_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_mername_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_mername_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_petname_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_petname_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_npcname_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_npcname_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_mobname_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_mobname_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_mobname_guardian_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_mobname_guardian_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_mobname_additional_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_mobname_additional_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_mobname_normal_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_mobname_normal_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_chatname_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_chatname_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_elemname_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_elemname_ack) (int fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_unknownname_ack) (int *fd, struct block_list **bl);
+typedef void (*HPMHOOK_post_clif_unknownname_ack) (int fd, struct block_list *bl);
typedef void (*HPMHOOK_pre_clif_monster_hp_bar) (struct mob_data **md, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_monster_hp_bar) (struct mob_data *md, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_clif_hpmeter) (struct map_session_data **sd);
@@ -1506,6 +1556,10 @@ typedef void (*HPMHOOK_pre_clif_specialeffect_single) (struct block_list **bl, i
typedef void (*HPMHOOK_post_clif_specialeffect_single) (struct block_list *bl, int type, int fd);
typedef void (*HPMHOOK_pre_clif_specialeffect_value) (struct block_list **bl, int *effect_id, int *num, send_target *target);
typedef void (*HPMHOOK_post_clif_specialeffect_value) (struct block_list *bl, int effect_id, int num, send_target target);
+typedef void (*HPMHOOK_pre_clif_removeSpecialEffect) (struct block_list **bl, int *effectId, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_removeSpecialEffect) (struct block_list *bl, int effectId, enum send_target target);
+typedef void (*HPMHOOK_pre_clif_removeSpecialEffect_single) (struct block_list **bl, int *effectId, struct block_list **targetBl);
+typedef void (*HPMHOOK_post_clif_removeSpecialEffect_single) (struct block_list *bl, int effectId, struct block_list *targetBl);
typedef void (*HPMHOOK_pre_clif_millenniumshield) (struct block_list **bl, short *shields);
typedef void (*HPMHOOK_post_clif_millenniumshield) (struct block_list *bl, short shields);
typedef void (*HPMHOOK_pre_clif_spiritcharm) (struct map_session_data **sd);
@@ -1536,6 +1590,8 @@ typedef void (*HPMHOOK_pre_clif_addchat) (struct chat_data **cd, struct map_sess
typedef void (*HPMHOOK_post_clif_addchat) (struct chat_data *cd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_changechatowner) (struct chat_data **cd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_changechatowner) (struct chat_data *cd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_chatRoleChange) (struct chat_data **cd, struct map_session_data **sd, struct block_list **bl, int *isNotOwner);
+typedef void (*HPMHOOK_post_clif_chatRoleChange) (struct chat_data *cd, struct map_session_data *sd, struct block_list *bl, int isNotOwner);
typedef void (*HPMHOOK_pre_clif_clearchat) (struct chat_data **cd, int *fd);
typedef void (*HPMHOOK_post_clif_clearchat) (struct chat_data *cd, int fd);
typedef void (*HPMHOOK_pre_clif_leavechat) (struct chat_data **cd, struct map_session_data **sd, bool *flag);
@@ -1556,6 +1612,8 @@ typedef void (*HPMHOOK_pre_clif_messagecolor_self) (int *fd, uint32 *color, cons
typedef void (*HPMHOOK_post_clif_messagecolor_self) (int fd, uint32 color, const char *msg);
typedef void (*HPMHOOK_pre_clif_messagecolor) (struct block_list **bl, uint32 *color, const char **msg);
typedef void (*HPMHOOK_post_clif_messagecolor) (struct block_list *bl, uint32 color, const char *msg);
+typedef void (*HPMHOOK_pre_clif_serviceMessageColor) (struct map_session_data **sd, uint32 *color, const char **msg);
+typedef void (*HPMHOOK_post_clif_serviceMessageColor) (struct map_session_data *sd, uint32 color, const char *msg);
typedef void (*HPMHOOK_pre_clif_disp_overhead) (struct block_list **bl, const char **mes, enum send_target *target, struct block_list **target_bl);
typedef void (*HPMHOOK_post_clif_disp_overhead) (struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl);
typedef void (*HPMHOOK_pre_clif_notify_playerchat) (struct block_list **bl, const char **mes);
@@ -1586,8 +1644,8 @@ typedef void (*HPMHOOK_pre_clif_wisall) (struct map_session_data **sd, int *type
typedef void (*HPMHOOK_post_clif_wisall) (struct map_session_data *sd, int type, int flag);
typedef void (*HPMHOOK_pre_clif_PMIgnoreList) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_PMIgnoreList) (struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_clif_ShowScript) (struct block_list **bl, const char **message);
-typedef void (*HPMHOOK_post_clif_ShowScript) (struct block_list *bl, const char *message);
+typedef void (*HPMHOOK_pre_clif_ShowScript) (struct block_list **bl, const char **message, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_ShowScript) (struct block_list *bl, const char *message, enum send_target target);
typedef void (*HPMHOOK_pre_clif_traderequest) (struct map_session_data **sd, const char **name);
typedef void (*HPMHOOK_post_clif_traderequest) (struct map_session_data *sd, const char *name);
typedef void (*HPMHOOK_pre_clif_tradestart) (struct map_session_data **sd, uint8 *type);
@@ -1620,8 +1678,16 @@ typedef void (*HPMHOOK_pre_clif_openvendingAck) (int *fd, int *result);
typedef void (*HPMHOOK_post_clif_openvendingAck) (int fd, int result);
typedef void (*HPMHOOK_pre_clif_vendingreport) (struct map_session_data **sd, int *index, int *amount, uint32 *char_id, int *zeny);
typedef void (*HPMHOOK_post_clif_vendingreport) (struct map_session_data *sd, int index, int amount, uint32 char_id, int zeny);
-typedef void (*HPMHOOK_pre_clif_storagelist) (struct map_session_data **sd, struct item **items, int *items_length);
-typedef void (*HPMHOOK_post_clif_storagelist) (struct map_session_data *sd, struct item *items, int items_length);
+typedef void (*HPMHOOK_pre_clif_storageList) (struct map_session_data **sd, struct item **items, int *items_length);
+typedef void (*HPMHOOK_post_clif_storageList) (struct map_session_data *sd, struct item *items, int items_length);
+typedef void (*HPMHOOK_pre_clif_guildStorageList) (struct map_session_data **sd, struct item **items, int *items_length);
+typedef void (*HPMHOOK_post_clif_guildStorageList) (struct map_session_data *sd, struct item *items, int items_length);
+typedef void (*HPMHOOK_pre_clif_storageItems) (struct map_session_data **sd, enum inventory_type *type, struct item **items, int *items_length);
+typedef void (*HPMHOOK_post_clif_storageItems) (struct map_session_data *sd, enum inventory_type type, struct item *items, int items_length);
+typedef void (*HPMHOOK_pre_clif_inventoryStart) (struct map_session_data **sd, enum inventory_type *type, const char **name);
+typedef void (*HPMHOOK_post_clif_inventoryStart) (struct map_session_data *sd, enum inventory_type type, const char *name);
+typedef void (*HPMHOOK_pre_clif_inventoryEnd) (struct map_session_data **sd, enum inventory_type *type);
+typedef void (*HPMHOOK_post_clif_inventoryEnd) (struct map_session_data *sd, enum inventory_type type);
typedef void (*HPMHOOK_pre_clif_updatestorageamount) (struct map_session_data **sd, int *amount, int *max_amount);
typedef void (*HPMHOOK_post_clif_updatestorageamount) (struct map_session_data *sd, int amount, int max_amount);
typedef void (*HPMHOOK_pre_clif_storageitemadded) (struct map_session_data **sd, struct item **i, int *index, int *amount);
@@ -1982,8 +2048,10 @@ typedef void (*HPMHOOK_pre_clif_npc_market_purchase_ack) (struct map_session_dat
typedef void (*HPMHOOK_post_clif_npc_market_purchase_ack) (struct map_session_data *sd, const struct itemlist *item_list, unsigned char response);
typedef bool (*HPMHOOK_pre_clif_parse_roulette_db) (void);
typedef bool (*HPMHOOK_post_clif_parse_roulette_db) (bool retVal___);
-typedef void (*HPMHOOK_pre_clif_roulette_generate_ack) (struct map_session_data **sd, unsigned char *result, short *stage, short *prizeIdx, int *bonusItemID);
-typedef void (*HPMHOOK_post_clif_roulette_generate_ack) (struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, int bonusItemID);
+typedef void (*HPMHOOK_pre_clif_roulette_generate_ack) (struct map_session_data **sd, enum GENERATE_ROULETTE_ACK *result, short *stage, short *prizeIdx, int *bonusItemID);
+typedef void (*HPMHOOK_post_clif_roulette_generate_ack) (struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID);
+typedef void (*HPMHOOK_pre_clif_roulette_close) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_roulette_close) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_openmergeitem) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_openmergeitem) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_cancelmergeitem) (int *fd, struct map_session_data **sd);
@@ -1992,6 +2060,8 @@ typedef int (*HPMHOOK_pre_clif_comparemergeitem) (const void **a, const void **b
typedef int (*HPMHOOK_post_clif_comparemergeitem) (int retVal___, const void *a, const void *b);
typedef void (*HPMHOOK_pre_clif_ackmergeitems) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_ackmergeitems) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_mergeitems) (int *fd, struct map_session_data **sd, int *index, int *amount, enum mergeitem_reason *reason);
+typedef void (*HPMHOOK_post_clif_mergeitems) (int fd, struct map_session_data *sd, int index, int amount, enum mergeitem_reason reason);
typedef bool (*HPMHOOK_pre_clif_isdisguised) (struct block_list **bl);
typedef bool (*HPMHOOK_post_clif_isdisguised) (bool retVal___, struct block_list *bl);
typedef void (*HPMHOOK_pre_clif_navigate_to) (struct map_session_data **sd, const char **mapname, uint16 *x, uint16 *y, uint8 *flag, bool *hideWindow, uint16 *mob_id);
@@ -2102,8 +2172,14 @@ typedef void (*HPMHOOK_pre_clif_pStatusUp) (int *fd, struct map_session_data **s
typedef void (*HPMHOOK_post_clif_pStatusUp) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pSkillUp) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pSkillUp) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_useSkillToIdReal) (int *fd, struct map_session_data **sd, int *skill_id, int *skill_lv, int *target_id);
+typedef void (*HPMHOOK_post_clif_useSkillToIdReal) (int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id);
typedef void (*HPMHOOK_pre_clif_pUseSkillToId) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pUseSkillToId) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pStartUseSkillToId) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pStartUseSkillToId) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pStopUseSkillToId) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pStopUseSkillToId) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pUseSkillToId_homun) (struct homun_data **hd, struct map_session_data **sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, int *target_id);
typedef void (*HPMHOOK_post_clif_pUseSkillToId_homun) (struct homun_data *hd, struct map_session_data *sd, int64 tick, uint16 skill_id, uint16 skill_lv, int target_id);
typedef void (*HPMHOOK_pre_clif_pUseSkillToId_mercenary) (struct mercenary_data **md, struct map_session_data **sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, int *target_id);
@@ -2430,6 +2506,8 @@ typedef void (*HPMHOOK_pre_clif_pPartyTick) (int *fd, struct map_session_data **
typedef void (*HPMHOOK_post_clif_pPartyTick) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pGuildInvite2) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pGuildInvite2) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_cashShopBuyAck) (int *fd, struct map_session_data **sd, int *itemId, enum CASH_SHOP_BUY_RESULT *result);
+typedef void (*HPMHOOK_post_clif_cashShopBuyAck) (int fd, struct map_session_data *sd, int itemId, enum CASH_SHOP_BUY_RESULT result);
typedef void (*HPMHOOK_pre_clif_pPartyBookingAddFilter) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pPartyBookingAddFilter) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pPartyBookingSubFilter) (int *fd, struct map_session_data **sd);
@@ -2516,8 +2594,8 @@ typedef void (*HPMHOOK_pre_clif_pRodexOpenMailbox) (int *fd, struct map_session_
typedef void (*HPMHOOK_post_clif_pRodexOpenMailbox) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pRodexCheckName) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pRodexCheckName) (int fd, struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_clif_rodex_checkname_result) (struct map_session_data **sd, int *char_id, short *class_, int *base_level, const char **name);
-typedef void (*HPMHOOK_post_clif_rodex_checkname_result) (struct map_session_data *sd, int char_id, short class_, int base_level, const char *name);
+typedef void (*HPMHOOK_pre_clif_rodex_checkname_result) (struct map_session_data **sd, int *char_id, int *class_, int *base_level, const char **name);
+typedef void (*HPMHOOK_post_clif_rodex_checkname_result) (struct map_session_data *sd, int char_id, int class_, int base_level, const char *name);
typedef void (*HPMHOOK_pre_clif_pRodexDeleteMail) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pRodexDeleteMail) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_rodex_delete_mail) (struct map_session_data **sd, int8 *opentype, int64 *mail_id);
@@ -2574,24 +2652,12 @@ typedef void (*HPMHOOK_pre_clif_pPrivateAirshipRequest) (int *fd, struct map_ses
typedef void (*HPMHOOK_post_clif_pPrivateAirshipRequest) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_PrivateAirshipResponse) (struct map_session_data **sd, uint32 *flag);
typedef void (*HPMHOOK_post_clif_PrivateAirshipResponse) (struct map_session_data *sd, uint32 flag);
-typedef void (*HPMHOOK_pre_clif_stylist_vector_init) (void);
-typedef void (*HPMHOOK_post_clif_stylist_vector_init) (void);
-typedef void (*HPMHOOK_pre_clif_stylist_vector_clear) (void);
-typedef void (*HPMHOOK_post_clif_stylist_vector_clear) (void);
-typedef bool (*HPMHOOK_pre_clif_stylist_read_db_libconfig) (void);
-typedef bool (*HPMHOOK_post_clif_stylist_read_db_libconfig) (bool retVal___);
-typedef bool (*HPMHOOK_pre_clif_stylist_read_db_libconfig_sub) (struct config_setting_t **it, int *idx, const char **source);
-typedef bool (*HPMHOOK_post_clif_stylist_read_db_libconfig_sub) (bool retVal___, struct config_setting_t *it, int idx, const char *source);
-typedef bool (*HPMHOOK_pre_clif_style_change_validate_requirements) (struct map_session_data **sd, int *type, int16 *idx);
-typedef bool (*HPMHOOK_post_clif_style_change_validate_requirements) (bool retVal___, struct map_session_data *sd, int type, int16 idx);
-typedef void (*HPMHOOK_pre_clif_stylist_send_rodexitem) (struct map_session_data **sd, int *itemid);
-typedef void (*HPMHOOK_post_clif_stylist_send_rodexitem) (struct map_session_data *sd, int itemid);
typedef void (*HPMHOOK_pre_clif_pReqStyleChange) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pReqStyleChange) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pReqStyleChange2) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pReqStyleChange2) (int fd, struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_clif_cz_req_style_change_sub) (struct map_session_data **sd, int *type, int16 *idx, bool *isitem);
-typedef void (*HPMHOOK_post_clif_cz_req_style_change_sub) (struct map_session_data *sd, int type, int16 idx, bool isitem);
+typedef void (*HPMHOOK_pre_clif_pStyleClose) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pStyleClose) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_style_change_response) (struct map_session_data **sd, enum stylist_shop *flag);
typedef void (*HPMHOOK_post_clif_style_change_response) (struct map_session_data *sd, enum stylist_shop flag);
typedef void (*HPMHOOK_pre_clif_pPetEvolution) (int *fd, struct map_session_data **sd);
@@ -2600,6 +2666,54 @@ typedef void (*HPMHOOK_pre_clif_petEvolutionResult) (int *fd, enum pet_evolution
typedef void (*HPMHOOK_post_clif_petEvolutionResult) (int fd, enum pet_evolution_result result);
typedef void (*HPMHOOK_pre_clif_party_dead_notification) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_party_dead_notification) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMemorialDungeonCommand) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pMemorialDungeonCommand) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_camera_showWindow) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_camera_showWindow) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_camera_change) (struct map_session_data **sd, float *range, float *rotation, float *latitude, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_camera_change) (struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target);
+typedef void (*HPMHOOK_pre_clif_pCameraInfo) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pCameraInfo) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_item_preview) (struct map_session_data **sd, int *n);
+typedef void (*HPMHOOK_post_clif_item_preview) (struct map_session_data *sd, int n);
+typedef bool (*HPMHOOK_pre_clif_enchant_equipment) (struct map_session_data **sd, enum equip_pos *pos, int *cardSlot, int *cardId);
+typedef bool (*HPMHOOK_post_clif_enchant_equipment) (bool retVal___, struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId);
+typedef void (*HPMHOOK_pre_clif_pReqRemainTime) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pReqRemainTime) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_npc_barter_open) (struct map_session_data **sd, struct npc_data **nd);
+typedef void (*HPMHOOK_post_clif_npc_barter_open) (struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_pre_clif_pNPCBarterClosed) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pNPCBarterClosed) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNPCBarterPurchase) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pNPCBarterPurchase) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pClientVersion) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pClientVersion) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPing) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pPing) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_ping) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_ping) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_pingTimer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_clif_pingTimer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+typedef int (*HPMHOOK_pre_clif_pingTimerSub) (struct map_session_data **sd, va_list ap);
+typedef int (*HPMHOOK_post_clif_pingTimerSub) (int retVal___, struct map_session_data *sd, va_list ap);
+typedef void (*HPMHOOK_pre_clif_pResetCooldown) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pResetCooldown) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_loadConfirm) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_loadConfirm) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_send_selforarea) (int *fd, struct block_list **bl, const void **buf, int *len);
+typedef void (*HPMHOOK_post_clif_send_selforarea) (int fd, struct block_list *bl, const void *buf, int len);
+typedef void (*HPMHOOK_pre_clif_OpenRefineryUI) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_OpenRefineryUI) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAddItemRefineryUI) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pAddItemRefineryUI) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_AddItemRefineryUIAck) (struct map_session_data **sd, int *item_index, struct s_refine_requirement **req);
+typedef void (*HPMHOOK_post_clif_AddItemRefineryUIAck) (struct map_session_data *sd, int item_index, struct s_refine_requirement *req);
+typedef void (*HPMHOOK_pre_clif_pRefineryUIClose) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRefineryUIClose) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRefineryUIRefine) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRefineryUIRefine) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_announce_refine_status) (struct map_session_data **sd, int *item_id, int *refine_level, bool *success, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_announce_refine_status) (struct map_session_data *sd, int item_id, int refine_level, bool success, enum send_target target);
#endif // MAP_CLIF_H
#ifdef COMMON_CORE_H /* cmdline */
typedef void (*HPMHOOK_pre_cmdline_init) (void);
@@ -2864,8 +2978,8 @@ typedef int (*HPMHOOK_pre_guild_check_alliance) (int *guild_id1, int *guild_id2,
typedef int (*HPMHOOK_post_guild_check_alliance) (int retVal___, int guild_id1, int guild_id2, int flag);
typedef int (*HPMHOOK_pre_guild_send_memberinfoshort) (struct map_session_data **sd, int *online);
typedef int (*HPMHOOK_post_guild_send_memberinfoshort) (int retVal___, struct map_session_data *sd, int online);
-typedef int (*HPMHOOK_pre_guild_recv_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class, uint32 *last_login);
-typedef int (*HPMHOOK_post_guild_recv_memberinfoshort) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login);
+typedef int (*HPMHOOK_pre_guild_recv_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class, uint32 *last_login);
+typedef int (*HPMHOOK_post_guild_recv_memberinfoshort) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login);
typedef int (*HPMHOOK_pre_guild_change_memberposition) (int *guild_id, int *account_id, int *char_id, short *idx);
typedef int (*HPMHOOK_post_guild_change_memberposition) (int retVal___, int guild_id, int account_id, int char_id, short idx);
typedef int (*HPMHOOK_pre_guild_memberposition_changed) (struct guild **g, int *idx, int *pos);
@@ -3024,8 +3138,8 @@ typedef void (*HPMHOOK_pre_homun_skillup) (struct homun_data **hd, uint16 *skill
typedef void (*HPMHOOK_post_homun_skillup) (struct homun_data *hd, uint16 skill_id);
typedef bool (*HPMHOOK_pre_homun_levelup) (struct homun_data **hd);
typedef bool (*HPMHOOK_post_homun_levelup) (bool retVal___, struct homun_data *hd);
-typedef int (*HPMHOOK_pre_homun_change_class) (struct homun_data **hd, short *class_);
-typedef int (*HPMHOOK_post_homun_change_class) (int retVal___, struct homun_data *hd, short class_);
+typedef int (*HPMHOOK_pre_homun_change_class) (struct homun_data **hd, int *class_);
+typedef int (*HPMHOOK_post_homun_change_class) (int retVal___, struct homun_data *hd, int class_);
typedef bool (*HPMHOOK_pre_homun_evolve) (struct homun_data **hd);
typedef bool (*HPMHOOK_post_homun_evolve) (bool retVal___, struct homun_data *hd);
typedef bool (*HPMHOOK_pre_homun_mutate) (struct homun_data **hd, int *homun_id);
@@ -3126,6 +3240,8 @@ typedef bool (*HPMHOOK_pre_instance_valid) (int *instance_id);
typedef bool (*HPMHOOK_post_instance_valid) (bool retVal___, int instance_id);
typedef int (*HPMHOOK_pre_instance_destroy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
typedef int (*HPMHOOK_post_instance_destroy_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+typedef void (*HPMHOOK_pre_instance_force_destroy) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_instance_force_destroy) (struct map_session_data *sd);
#endif // MAP_INSTANCE_H
#ifdef CHAR_INT_ACHIEVEMENT_H /* inter_achievement */
typedef int (*HPMHOOK_pre_inter_achievement_sql_init) (void);
@@ -3236,8 +3352,8 @@ typedef bool (*HPMHOOK_pre_inter_guild_add_member) (int *guild_id, const struct
typedef bool (*HPMHOOK_post_inter_guild_add_member) (bool retVal___, int guild_id, const struct guild_member *member, int map_fd);
typedef bool (*HPMHOOK_pre_inter_guild_leave) (int *guild_id, int *account_id, int *char_id, int *flag, const char **mes, int *map_fd);
typedef bool (*HPMHOOK_post_inter_guild_leave) (bool retVal___, int guild_id, int account_id, int char_id, int flag, const char *mes, int map_fd);
-typedef bool (*HPMHOOK_pre_inter_guild_update_member_info_short) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
-typedef bool (*HPMHOOK_post_inter_guild_update_member_info_short) (bool retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+typedef bool (*HPMHOOK_pre_inter_guild_update_member_info_short) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
+typedef bool (*HPMHOOK_post_inter_guild_update_member_info_short) (bool retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class);
typedef bool (*HPMHOOK_pre_inter_guild_update_member_info) (int *guild_id, int *account_id, int *char_id, int *type, const char **data, int *len);
typedef bool (*HPMHOOK_post_inter_guild_update_member_info) (bool retVal___, int guild_id, int account_id, int char_id, int type, const char *data, int len);
typedef bool (*HPMHOOK_pre_inter_guild_disband) (int *guild_id);
@@ -3430,8 +3546,8 @@ typedef int (*HPMHOOK_pre_inter_pet_delete_) (int *pet_id);
typedef int (*HPMHOOK_post_inter_pet_delete_) (int retVal___, int pet_id);
typedef int (*HPMHOOK_pre_inter_pet_parse_frommap) (int *fd);
typedef int (*HPMHOOK_post_inter_pet_parse_frommap) (int retVal___, int fd);
-typedef struct s_pet* (*HPMHOOK_pre_inter_pet_create) (int *account_id, int *char_id, short *pet_class, short *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char **pet_name);
-typedef struct s_pet* (*HPMHOOK_post_inter_pet_create) (struct s_pet* retVal___, int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
+typedef struct s_pet* (*HPMHOOK_pre_inter_pet_create) (int *account_id, int *char_id, int *pet_class, int *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char **pet_name);
+typedef struct s_pet* (*HPMHOOK_post_inter_pet_create) (struct s_pet* retVal___, int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
typedef struct s_pet* (*HPMHOOK_pre_inter_pet_load) (int *account_id, int *char_id, int *pet_id);
typedef struct s_pet* (*HPMHOOK_post_inter_pet_load) (struct s_pet* retVal___, int account_id, int char_id, int pet_id);
#endif // CHAR_INT_PET_H
@@ -3460,12 +3576,16 @@ typedef int (*HPMHOOK_pre_inter_rodex_fromsql) (int *char_id, int *account_id, i
typedef int (*HPMHOOK_post_inter_rodex_fromsql) (int retVal___, int char_id, int account_id, int8 opentype, int64 mail_id, struct rodex_maillist *mails);
typedef bool (*HPMHOOK_pre_inter_rodex_hasnew) (int *char_id, int *account_id);
typedef bool (*HPMHOOK_post_inter_rodex_hasnew) (bool retVal___, int char_id, int account_id);
-typedef bool (*HPMHOOK_pre_inter_rodex_checkname) (const char **name, int **target_char_id, short **target_class, int **target_level);
-typedef bool (*HPMHOOK_post_inter_rodex_checkname) (bool retVal___, const char *name, int *target_char_id, short *target_class, int *target_level);
+typedef bool (*HPMHOOK_pre_inter_rodex_checkname) (const char **name, int **target_char_id, int **target_class, int **target_level);
+typedef bool (*HPMHOOK_post_inter_rodex_checkname) (bool retVal___, const char *name, int *target_char_id, int *target_class, int *target_level);
typedef int64 (*HPMHOOK_pre_inter_rodex_savemessage) (struct rodex_message **msg);
typedef int64 (*HPMHOOK_post_inter_rodex_savemessage) (int64 retVal___, struct rodex_message *msg);
-typedef bool (*HPMHOOK_pre_inter_rodex_updatemail) (int64 *mail_id, int8 *flag);
-typedef bool (*HPMHOOK_post_inter_rodex_updatemail) (bool retVal___, int64 mail_id, int8 flag);
+typedef bool (*HPMHOOK_pre_inter_rodex_updatemail) (int *fd, int *account_id, int *char_id, int64 *mail_id, uint8 *opentype, int8 *flag);
+typedef bool (*HPMHOOK_post_inter_rodex_updatemail) (bool retVal___, int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag);
+typedef int64 (*HPMHOOK_pre_inter_rodex_getzeny) (int64 *mail_id);
+typedef int64 (*HPMHOOK_post_inter_rodex_getzeny) (int64 retVal___, int64 mail_id);
+typedef int (*HPMHOOK_pre_inter_rodex_getitems) (int64 *mail_id, struct rodex_item **items);
+typedef int (*HPMHOOK_post_inter_rodex_getitems) (int retVal___, int64 mail_id, struct rodex_item *items);
#endif // CHAR_INT_RODEX_H
#ifdef CHAR_INT_STORAGE_H /* inter_storage */
typedef int (*HPMHOOK_pre_inter_storage_tosql) (int *account_id, const struct storage_data **p);
@@ -3492,8 +3612,8 @@ typedef bool (*HPMHOOK_post_inter_storage_retrieve_bound_items) (bool retVal___,
#ifdef MAP_INTIF_H /* intif */
typedef int (*HPMHOOK_pre_intif_parse) (int *fd);
typedef int (*HPMHOOK_post_intif_parse) (int retVal___, int fd);
-typedef int (*HPMHOOK_pre_intif_create_pet) (int *account_id, int *char_id, short *pet_type, short *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, char **pet_name);
-typedef int (*HPMHOOK_post_intif_create_pet) (int retVal___, int account_id, int char_id, short pet_type, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name);
+typedef int (*HPMHOOK_pre_intif_create_pet) (int *account_id, int *char_id, int *pet_type, int *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, char **pet_name);
+typedef int (*HPMHOOK_post_intif_create_pet) (int retVal___, int account_id, int char_id, int pet_type, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name);
typedef int (*HPMHOOK_pre_intif_broadcast) (const char **mes, int *len, int *type);
typedef int (*HPMHOOK_post_intif_broadcast) (int retVal___, const char *mes, int len, int type);
typedef int (*HPMHOOK_pre_intif_broadcast2) (const char **mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY);
@@ -3542,8 +3662,8 @@ typedef int (*HPMHOOK_pre_intif_guild_addmember) (int *guild_id, struct guild_me
typedef int (*HPMHOOK_post_intif_guild_addmember) (int retVal___, int guild_id, struct guild_member *m);
typedef int (*HPMHOOK_pre_intif_guild_leave) (int *guild_id, int *account_id, int *char_id, int *flag, const char **mes);
typedef int (*HPMHOOK_post_intif_guild_leave) (int retVal___, int guild_id, int account_id, int char_id, int flag, const char *mes);
-typedef int (*HPMHOOK_pre_intif_guild_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
-typedef int (*HPMHOOK_post_intif_guild_memberinfoshort) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+typedef int (*HPMHOOK_pre_intif_guild_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
+typedef int (*HPMHOOK_post_intif_guild_memberinfoshort) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class);
typedef int (*HPMHOOK_pre_intif_guild_break) (int *guild_id);
typedef int (*HPMHOOK_post_intif_guild_break) (int retVal___, int guild_id);
typedef int (*HPMHOOK_pre_intif_guild_message) (int *guild_id, int *account_id, const char **mes, int *len);
@@ -3632,12 +3752,16 @@ typedef int (*HPMHOOK_pre_intif_rodex_requestinbox) (int *char_id, int *account_
typedef int (*HPMHOOK_post_intif_rodex_requestinbox) (int retVal___, int char_id, int account_id, int8 flag, int8 opentype, int64 mail_id);
typedef int (*HPMHOOK_pre_intif_rodex_checkhasnew) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_intif_rodex_checkhasnew) (int retVal___, struct map_session_data *sd);
-typedef int (*HPMHOOK_pre_intif_rodex_updatemail) (int64 *mail_id, int8 *flag);
-typedef int (*HPMHOOK_post_intif_rodex_updatemail) (int retVal___, int64 mail_id, int8 flag);
+typedef int (*HPMHOOK_pre_intif_rodex_updatemail) (struct map_session_data **sd, int64 *mail_id, uint8 *opentype, int8 *flag);
+typedef int (*HPMHOOK_post_intif_rodex_updatemail) (int retVal___, struct map_session_data *sd, int64 mail_id, uint8 opentype, int8 flag);
typedef int (*HPMHOOK_pre_intif_rodex_sendmail) (struct rodex_message **msg);
typedef int (*HPMHOOK_post_intif_rodex_sendmail) (int retVal___, struct rodex_message *msg);
typedef int (*HPMHOOK_pre_intif_rodex_checkname) (struct map_session_data **sd, const char **name);
typedef int (*HPMHOOK_post_intif_rodex_checkname) (int retVal___, struct map_session_data *sd, const char *name);
+typedef void (*HPMHOOK_pre_intif_pGetZenyAck) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGetZenyAck) (int fd);
+typedef void (*HPMHOOK_pre_intif_pGetItemsAck) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGetItemsAck) (int fd);
typedef int (*HPMHOOK_pre_intif_clan_kickoffline) (int *clan_id, int *kick_interval);
typedef int (*HPMHOOK_post_intif_clan_kickoffline) (int retVal___, int clan_id, int kick_interval);
typedef int (*HPMHOOK_pre_intif_clan_membercount) (int *clan_id, int *kick_interval);
@@ -3980,6 +4104,8 @@ typedef bool (*HPMHOOK_pre_itemdb_lookup_const) (const struct config_setting_t *
typedef bool (*HPMHOOK_post_itemdb_lookup_const) (bool retVal___, const struct config_setting_t *it, const char *name, int *value);
typedef bool (*HPMHOOK_pre_itemdb_lookup_const_mask) (const struct config_setting_t **it, const char **name, int **value);
typedef bool (*HPMHOOK_post_itemdb_lookup_const_mask) (bool retVal___, const struct config_setting_t *it, const char *name, int *value);
+typedef int (*HPMHOOK_pre_itemdb_addname_sub) (union DBKey *key, struct DBData **data, va_list ap);
+typedef int (*HPMHOOK_post_itemdb_addname_sub) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
#endif // MAP_ITEMDB_H
#ifdef LOGIN_LOGIN_H /* lchrif */
typedef void (*HPMHOOK_pre_lchrif_server_init) (int *id);
@@ -4038,6 +4164,10 @@ typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_SSO_LOGIN_REQ) (
typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_SSO_LOGIN_REQ) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_LOGIN_OTP) (int *fd, struct login_session_data **sd);
typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_LOGIN_OTP) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_ACK_MOBILE_OTP) (int *fd, struct login_session_data **sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_ACK_MOBILE_OTP) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_OTP_CODE) (int *fd, struct login_session_data **sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_OTP_CODE) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_REQ_HASH) (int *fd, struct login_session_data **sd);
typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_REQ_HASH) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_CHARSERVERCONNECT) (int *fd, struct login_session_data **sd);
@@ -4224,8 +4354,8 @@ typedef char (*HPMHOOK_pre_logs_picktype2char) (e_log_pick_type *type);
typedef char (*HPMHOOK_post_logs_picktype2char) (char retVal___, e_log_pick_type type);
typedef char (*HPMHOOK_pre_logs_chattype2char) (e_log_chat_type *type);
typedef char (*HPMHOOK_post_logs_chattype2char) (char retVal___, e_log_chat_type type);
-typedef bool (*HPMHOOK_pre_logs_should_log_item) (int *nameid, int *amount, int *refine, struct item_data **id);
-typedef bool (*HPMHOOK_post_logs_should_log_item) (bool retVal___, int nameid, int amount, int refine, struct item_data *id);
+typedef bool (*HPMHOOK_pre_logs_should_log_item) (int *nameid, int *amount, int *refine_level, struct item_data **id);
+typedef bool (*HPMHOOK_post_logs_should_log_item) (bool retVal___, int nameid, int amount, int refine_level, struct item_data *id);
#endif // MAP_LOG_H
#ifdef LOGIN_LOGIN_H /* login */
typedef int (*HPMHOOK_pre_login_mmo_auth) (struct login_session_data **sd, bool *isServer);
@@ -4320,6 +4450,8 @@ typedef bool (*HPMHOOK_pre_login_client_login) (int *fd, struct login_session_da
typedef bool (*HPMHOOK_post_login_client_login) (bool retVal___, int fd, struct login_session_data *sd);
typedef bool (*HPMHOOK_pre_login_client_login_otp) (int *fd, struct login_session_data **sd);
typedef bool (*HPMHOOK_post_login_client_login_otp) (bool retVal___, int fd, struct login_session_data *sd);
+typedef void (*HPMHOOK_pre_login_client_login_mobile_otp_request) (int *fd, struct login_session_data **sd);
+typedef void (*HPMHOOK_post_login_client_login_mobile_otp_request) (int fd, struct login_session_data *sd);
typedef void (*HPMHOOK_pre_login_char_server_connection_status) (int *fd, struct login_session_data **sd, uint8 *status);
typedef void (*HPMHOOK_post_login_char_server_connection_status) (int fd, struct login_session_data *sd, uint8 status);
typedef void (*HPMHOOK_pre_login_parse_request_connection) (int *fd, struct login_session_data **sd, const char **ip, uint32 *ipl);
@@ -4424,6 +4556,8 @@ typedef void (*HPMHOOK_pre_map_zone_init) (void);
typedef void (*HPMHOOK_post_map_zone_init) (void);
typedef void (*HPMHOOK_pre_map_zone_remove) (int *m);
typedef void (*HPMHOOK_post_map_zone_remove) (int m);
+typedef void (*HPMHOOK_pre_map_zone_remove_all) (int *m);
+typedef void (*HPMHOOK_post_map_zone_remove_all) (int m);
typedef void (*HPMHOOK_pre_map_zone_apply) (int *m, struct map_zone_data **zone, const char **start, const char **buffer, const char **filepath);
typedef void (*HPMHOOK_post_map_zone_apply) (int m, struct map_zone_data *zone, const char *start, const char *buffer, const char *filepath);
typedef void (*HPMHOOK_pre_map_zone_change) (int *m, struct map_zone_data **zone, const char **start, const char **buffer, const char **filepath);
@@ -4682,8 +4816,8 @@ typedef void (*HPMHOOK_pre_map_update_cell_bl) (struct block_list **bl, bool *in
typedef void (*HPMHOOK_post_map_update_cell_bl) (struct block_list *bl, bool increase);
typedef int (*HPMHOOK_pre_map_get_new_bonus_id) (void);
typedef int (*HPMHOOK_post_map_get_new_bonus_id) (int retVal___);
-typedef void (*HPMHOOK_pre_map_add_questinfo) (int *m, struct questinfo **qi);
-typedef void (*HPMHOOK_post_map_add_questinfo) (int m, struct questinfo *qi);
+typedef bool (*HPMHOOK_pre_map_add_questinfo) (int *m, struct npc_data **nd);
+typedef bool (*HPMHOOK_post_map_add_questinfo) (bool retVal___, int m, struct npc_data *nd);
typedef bool (*HPMHOOK_pre_map_remove_questinfo) (int *m, struct npc_data **nd);
typedef bool (*HPMHOOK_post_map_remove_questinfo) (bool retVal___, int m, struct npc_data *nd);
typedef struct map_zone_data* (*HPMHOOK_pre_map_merge_zone) (struct map_zone_data **main, struct map_zone_data **other);
@@ -4802,8 +4936,8 @@ typedef int (*HPMHOOK_pre_mapif_parse_GuildAddMember) (int *fd, int *guild_id, c
typedef int (*HPMHOOK_post_mapif_parse_GuildAddMember) (int retVal___, int fd, int guild_id, const struct guild_member *m);
typedef int (*HPMHOOK_pre_mapif_parse_GuildLeave) (int *fd, int *guild_id, int *account_id, int *char_id, int *flag, const char **mes);
typedef int (*HPMHOOK_post_mapif_parse_GuildLeave) (int retVal___, int fd, int guild_id, int account_id, int char_id, int flag, const char *mes);
-typedef int (*HPMHOOK_pre_mapif_parse_GuildChangeMemberInfoShort) (int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
-typedef int (*HPMHOOK_post_mapif_parse_GuildChangeMemberInfoShort) (int retVal___, int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildChangeMemberInfoShort) (int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
+typedef int (*HPMHOOK_post_mapif_parse_GuildChangeMemberInfoShort) (int retVal___, int fd, int guild_id, int account_id, int char_id, int online, int lv, int class);
typedef int (*HPMHOOK_pre_mapif_parse_BreakGuild) (int *fd, int *guild_id);
typedef int (*HPMHOOK_post_mapif_parse_BreakGuild) (int retVal___, int fd, int guild_id);
typedef int (*HPMHOOK_pre_mapif_parse_GuildMessage) (int *fd, int *guild_id, int *account_id, const char **mes, int *len);
@@ -4968,8 +5102,12 @@ typedef void (*HPMHOOK_pre_mapif_rodex_send) (int *fd, int *sender_id, int *rece
typedef void (*HPMHOOK_post_mapif_rodex_send) (int fd, int sender_id, int receiver_id, int receiver_accountid, bool result);
typedef void (*HPMHOOK_pre_mapif_parse_rodex_checkname) (int *fd);
typedef void (*HPMHOOK_post_mapif_parse_rodex_checkname) (int fd);
-typedef void (*HPMHOOK_pre_mapif_rodex_checkname) (int *fd, int *reqchar_id, int *target_char_id, short *target_class, int *target_level, char **name);
-typedef void (*HPMHOOK_post_mapif_rodex_checkname) (int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name);
+typedef void (*HPMHOOK_pre_mapif_rodex_checkname) (int *fd, int *reqchar_id, int *target_char_id, int *target_class, int *target_level, char **name);
+typedef void (*HPMHOOK_post_mapif_rodex_checkname) (int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name);
+typedef void (*HPMHOOK_pre_mapif_rodex_getzenyack) (int *fd, int *char_id, int64 *mail_id, uint8 *opentype, int64 *zeny);
+typedef void (*HPMHOOK_post_mapif_rodex_getzenyack) (int fd, int char_id, int64 mail_id, uint8 opentype, int64 zeny);
+typedef void (*HPMHOOK_pre_mapif_rodex_getitemsack) (int *fd, int *char_id, int64 *mail_id, uint8 *opentype, int *count, const struct rodex_item **items);
+typedef void (*HPMHOOK_post_mapif_rodex_getitemsack) (int fd, int char_id, int64 mail_id, uint8 opentype, int count, const struct rodex_item *items);
typedef int (*HPMHOOK_pre_mapif_load_guild_storage) (int *fd, int *account_id, int *guild_id, char *flag);
typedef int (*HPMHOOK_post_mapif_load_guild_storage) (int retVal___, int fd, int account_id, int guild_id, char flag);
typedef int (*HPMHOOK_pre_mapif_save_guild_storage_ack) (int *fd, int *account_id, int *guild_id, int *fail);
@@ -5246,8 +5384,10 @@ typedef int (*HPMHOOK_pre_mob_ai_lazy) (int *tid, int64 *tick, int *id, intptr_t
typedef int (*HPMHOOK_post_mob_ai_lazy) (int retVal___, int tid, int64 tick, int id, intptr_t data);
typedef int (*HPMHOOK_pre_mob_ai_hard) (int *tid, int64 *tick, int *id, intptr_t *data);
typedef int (*HPMHOOK_post_mob_ai_hard) (int retVal___, int tid, int64 tick, int id, intptr_t data);
-typedef struct item_drop* (*HPMHOOK_pre_mob_setdropitem) (int *nameid, int *qty, struct item_data **data);
-typedef struct item_drop* (*HPMHOOK_post_mob_setdropitem) (struct item_drop* retVal___, int nameid, int qty, struct item_data *data);
+typedef void (*HPMHOOK_pre_mob_setdropitem_options) (struct item **item, struct optdrop_group **options);
+typedef void (*HPMHOOK_post_mob_setdropitem_options) (struct item *item, struct optdrop_group *options);
+typedef struct item_drop* (*HPMHOOK_pre_mob_setdropitem) (int *nameid, struct optdrop_group **options, int *qty, struct item_data **data);
+typedef struct item_drop* (*HPMHOOK_post_mob_setdropitem) (struct item_drop* retVal___, int nameid, struct optdrop_group *options, int qty, struct item_data *data);
typedef struct item_drop* (*HPMHOOK_pre_mob_setlootitem) (struct item **item);
typedef struct item_drop* (*HPMHOOK_post_mob_setlootitem) (struct item_drop* retVal___, struct item *item);
typedef int (*HPMHOOK_pre_mob_delay_item_drop) (int *tid, int64 *tick, int *id, intptr_t *data);
@@ -5312,6 +5452,14 @@ typedef unsigned int (*HPMHOOK_pre_mob_drop_adjust) (int *baserate, int *rate_ad
typedef unsigned int (*HPMHOOK_post_mob_drop_adjust) (unsigned int retVal___, int baserate, int rate_adjust, unsigned short rate_min, unsigned short rate_max);
typedef void (*HPMHOOK_pre_mob_item_dropratio_adjust) (int *nameid, int *mob_id, int **rate_adjust);
typedef void (*HPMHOOK_post_mob_item_dropratio_adjust) (int nameid, int mob_id, int *rate_adjust);
+typedef bool (*HPMHOOK_pre_mob_read_optdrops_option) (struct config_setting_t **option, struct optdrop_group_optslot **entry, int **idx, bool **calc_rate, int *slot, const char **group);
+typedef bool (*HPMHOOK_post_mob_read_optdrops_option) (bool retVal___, struct config_setting_t *option, struct optdrop_group_optslot *entry, int *idx, bool *calc_rate, int slot, const char *group);
+typedef bool (*HPMHOOK_pre_mob_read_optdrops_optslot) (struct config_setting_t **optslot, int *n, int *group_id, const char **group);
+typedef bool (*HPMHOOK_post_mob_read_optdrops_optslot) (bool retVal___, struct config_setting_t *optslot, int n, int group_id, const char *group);
+typedef bool (*HPMHOOK_pre_mob_read_optdrops_group) (struct config_setting_t **group, int *n);
+typedef bool (*HPMHOOK_post_mob_read_optdrops_group) (bool retVal___, struct config_setting_t *group, int n);
+typedef bool (*HPMHOOK_pre_mob_read_optdrops_db) (void);
+typedef bool (*HPMHOOK_post_mob_read_optdrops_db) (bool retVal___);
typedef void (*HPMHOOK_pre_mob_readdb) (void);
typedef void (*HPMHOOK_post_mob_readdb) (void);
typedef bool (*HPMHOOK_pre_mob_lookup_const) (const struct config_setting_t **it, const char **name, int **value);
@@ -5332,6 +5480,8 @@ typedef void (*HPMHOOK_pre_mob_read_db_mvpdrops_sub) (struct mob_db **entry, str
typedef void (*HPMHOOK_post_mob_read_db_mvpdrops_sub) (struct mob_db *entry, struct config_setting_t *t);
typedef uint32 (*HPMHOOK_pre_mob_read_db_mode_sub) (struct mob_db **entry, struct config_setting_t **t);
typedef uint32 (*HPMHOOK_post_mob_read_db_mode_sub) (uint32 retVal___, struct mob_db *entry, struct config_setting_t *t);
+typedef struct optdrop_group* (*HPMHOOK_pre_mob_read_db_drops_option) (struct mob_db **entry, const char **item_name, struct config_setting_t **drop, int **drop_rate);
+typedef struct optdrop_group* (*HPMHOOK_post_mob_read_db_drops_option) (struct optdrop_group* retVal___, struct mob_db *entry, const char *item_name, struct config_setting_t *drop, int *drop_rate);
typedef void (*HPMHOOK_pre_mob_read_db_stats_sub) (struct mob_db **entry, struct config_setting_t **t);
typedef void (*HPMHOOK_post_mob_read_db_stats_sub) (struct mob_db *entry, struct config_setting_t *t);
typedef void (*HPMHOOK_pre_mob_name_constants) (void);
@@ -5362,6 +5512,8 @@ typedef int (*HPMHOOK_pre_mob_final_ratio_sub) (union DBKey *key, struct DBData
typedef int (*HPMHOOK_post_mob_final_ratio_sub) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
typedef void (*HPMHOOK_pre_mob_destroy_mob_db) (int *index);
typedef void (*HPMHOOK_post_mob_destroy_mob_db) (int index);
+typedef void (*HPMHOOK_pre_mob_destroy_drop_groups) (void);
+typedef void (*HPMHOOK_post_mob_destroy_drop_groups) (void);
typedef bool (*HPMHOOK_pre_mob_skill_db_libconfig) (const char **filename, bool *ignore_missing);
typedef bool (*HPMHOOK_post_mob_skill_db_libconfig) (bool retVal___, const char *filename, bool ignore_missing);
typedef bool (*HPMHOOK_pre_mob_skill_db_libconfig_sub) (struct config_setting_t **it, int *n);
@@ -5536,8 +5688,8 @@ typedef int (*HPMHOOK_pre_npc_parseview) (const char **w4, const char **start, c
typedef int (*HPMHOOK_post_npc_parseview) (int retVal___, const char *w4, const char *start, const char *buffer, const char *filepath);
typedef bool (*HPMHOOK_pre_npc_viewisid) (const char **viewid);
typedef bool (*HPMHOOK_post_npc_viewisid) (bool retVal___, const char *viewid);
-typedef struct npc_data* (*HPMHOOK_pre_npc_create_npc) (enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int16 *class_);
-typedef struct npc_data* (*HPMHOOK_post_npc_create_npc) (struct npc_data* retVal___, enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_);
+typedef struct npc_data* (*HPMHOOK_pre_npc_create_npc) (enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int *class_);
+typedef struct npc_data* (*HPMHOOK_post_npc_create_npc) (struct npc_data* retVal___, enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_);
typedef struct npc_data* (*HPMHOOK_pre_npc_add_warp) (char **name, short *from_mapid, short *from_x, short *from_y, short *xs, short *ys, unsigned short *to_mapindex, short *to_x, short *to_y);
typedef struct npc_data* (*HPMHOOK_post_npc_add_warp) (struct npc_data* retVal___, char *name, short from_mapid, short from_x, short from_y, short xs, short ys, unsigned short to_mapindex, short to_x, short to_y);
typedef const char* (*HPMHOOK_pre_npc_parse_warp) (const char **w1, const char **w2, const char **w3, const char **w4, const char **start, const char **buffer, const char **filepath, int **retval);
@@ -5576,8 +5728,8 @@ typedef void (*HPMHOOK_pre_npc_movenpc) (struct npc_data **nd, int16 *x, int16 *
typedef void (*HPMHOOK_post_npc_movenpc) (struct npc_data *nd, int16 x, int16 y);
typedef void (*HPMHOOK_pre_npc_setdisplayname) (struct npc_data **nd, const char **newname);
typedef void (*HPMHOOK_post_npc_setdisplayname) (struct npc_data *nd, const char *newname);
-typedef void (*HPMHOOK_pre_npc_setclass) (struct npc_data **nd, short *class_);
-typedef void (*HPMHOOK_post_npc_setclass) (struct npc_data *nd, short class_);
+typedef void (*HPMHOOK_pre_npc_setclass) (struct npc_data **nd, int *class_);
+typedef void (*HPMHOOK_post_npc_setclass) (struct npc_data *nd, int class_);
typedef int (*HPMHOOK_pre_npc_do_atcmd_event) (struct map_session_data **sd, const char **command, const char **message, const char **eventname);
typedef int (*HPMHOOK_post_npc_do_atcmd_event) (int retVal___, struct map_session_data *sd, const char *command, const char *message, const char *eventname);
typedef const char* (*HPMHOOK_pre_npc_parse_function) (const char **w1, const char **w2, const char **w3, const char **w4, const char **start, const char **buffer, const char **filepath, int **retval);
@@ -5618,20 +5770,32 @@ typedef void (*HPMHOOK_pre_npc_trader_update) (int *master);
typedef void (*HPMHOOK_post_npc_trader_update) (int master);
typedef int (*HPMHOOK_pre_npc_market_buylist) (struct map_session_data **sd, struct itemlist **item_list);
typedef int (*HPMHOOK_post_npc_market_buylist) (int retVal___, struct map_session_data *sd, struct itemlist *item_list);
+typedef int (*HPMHOOK_pre_npc_barter_buylist) (struct map_session_data **sd, struct barteritemlist **item_list);
+typedef int (*HPMHOOK_post_npc_barter_buylist) (int retVal___, struct map_session_data *sd, struct barteritemlist *item_list);
typedef bool (*HPMHOOK_pre_npc_trader_open) (struct map_session_data **sd, struct npc_data **nd);
typedef bool (*HPMHOOK_post_npc_trader_open) (bool retVal___, struct map_session_data *sd, struct npc_data *nd);
typedef void (*HPMHOOK_pre_npc_market_fromsql) (void);
typedef void (*HPMHOOK_post_npc_market_fromsql) (void);
-typedef void (*HPMHOOK_pre_npc_market_tosql) (struct npc_data **nd, unsigned short *index);
-typedef void (*HPMHOOK_post_npc_market_tosql) (struct npc_data *nd, unsigned short index);
-typedef void (*HPMHOOK_pre_npc_market_delfromsql) (struct npc_data **nd, unsigned short *index);
-typedef void (*HPMHOOK_post_npc_market_delfromsql) (struct npc_data *nd, unsigned short index);
-typedef void (*HPMHOOK_pre_npc_market_delfromsql_sub) (const char **npcname, unsigned short *index);
-typedef void (*HPMHOOK_post_npc_market_delfromsql_sub) (const char *npcname, unsigned short index);
+typedef void (*HPMHOOK_pre_npc_market_tosql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_market_tosql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_market_delfromsql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_market_delfromsql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_market_delfromsql_sub) (const char **npcname, int *index);
+typedef void (*HPMHOOK_post_npc_market_delfromsql_sub) (const char *npcname, int index);
+typedef void (*HPMHOOK_pre_npc_barter_fromsql) (void);
+typedef void (*HPMHOOK_post_npc_barter_fromsql) (void);
+typedef void (*HPMHOOK_pre_npc_barter_tosql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_barter_tosql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_barter_delfromsql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_barter_delfromsql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_barter_delfromsql_sub) (const char **npcname, int *itemId, int *itemId2, int *amount2);
+typedef void (*HPMHOOK_post_npc_barter_delfromsql_sub) (const char *npcname, int itemId, int itemId2, int amount2);
typedef bool (*HPMHOOK_pre_npc_db_checkid) (const int *id);
typedef bool (*HPMHOOK_post_npc_db_checkid) (bool retVal___, const int id);
typedef void (*HPMHOOK_pre_npc_refresh) (struct npc_data **nd);
typedef void (*HPMHOOK_post_npc_refresh) (struct npc_data *nd);
+typedef void (*HPMHOOK_pre_npc_questinfo_clear) (struct npc_data **nd);
+typedef void (*HPMHOOK_post_npc_questinfo_clear) (struct npc_data *nd);
typedef int (*HPMHOOK_pre_npc_secure_timeout_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
typedef int (*HPMHOOK_post_npc_secure_timeout_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
#endif // MAP_NPC_H
@@ -5639,6 +5803,16 @@ typedef int (*HPMHOOK_post_npc_secure_timeout_timer) (int retVal___, int tid, in
typedef void (*HPMHOOK_pre_nullpo_assert_report) (const char **file, int *line, const char **func, const char **targetname, const char **title);
typedef void (*HPMHOOK_post_nullpo_assert_report) (const char *file, int line, const char *func, const char *targetname, const char *title);
#endif // COMMON_NULLPO_H
+#ifdef COMMON_PACKETS_H /* packets */
+typedef void (*HPMHOOK_pre_packets_init) (void);
+typedef void (*HPMHOOK_post_packets_init) (void);
+typedef void (*HPMHOOK_pre_packets_final) (void);
+typedef void (*HPMHOOK_post_packets_final) (void);
+typedef void (*HPMHOOK_pre_packets_addLens) (void);
+typedef void (*HPMHOOK_post_packets_addLens) (void);
+typedef void (*HPMHOOK_pre_packets_addLen) (int *id, int *len);
+typedef void (*HPMHOOK_post_packets_addLen) (int id, int len);
+#endif // COMMON_PACKETS_H
#ifdef MAP_PARTY_H /* party */
typedef void (*HPMHOOK_pre_party_init) (bool *minimal);
typedef void (*HPMHOOK_post_party_init) (bool minimal);
@@ -5802,8 +5976,8 @@ typedef int (*HPMHOOK_pre_pc_setrestartvalue) (struct map_session_data **sd, int
typedef int (*HPMHOOK_post_pc_setrestartvalue) (int retVal___, struct map_session_data *sd, int type);
typedef int (*HPMHOOK_pre_pc_makesavestatus) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_makesavestatus) (int retVal___, struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_pc_respawn) (struct map_session_data **sd, clr_type *clrtype);
-typedef void (*HPMHOOK_post_pc_respawn) (struct map_session_data *sd, clr_type clrtype);
+typedef void (*HPMHOOK_pre_pc_respawn) (struct map_session_data **sd, enum clr_type *clrtype);
+typedef void (*HPMHOOK_post_pc_respawn) (struct map_session_data *sd, enum clr_type clrtype);
typedef int (*HPMHOOK_pre_pc_setnewpc) (struct map_session_data **sd, int *account_id, int *char_id, int *login_id1, unsigned int *client_tick, int *sex, int *fd);
typedef int (*HPMHOOK_post_pc_setnewpc) (int retVal___, struct map_session_data *sd, int account_id, int char_id, int login_id1, unsigned int client_tick, int sex, int fd);
typedef bool (*HPMHOOK_pre_pc_authok) (struct map_session_data **sd, int *login_id2, time_t *expiration_time, int *group_id, const struct mmo_charstatus **st, bool *changing_mapservers);
@@ -5838,12 +6012,12 @@ typedef int (*HPMHOOK_pre_pc_calc_skilltree_normalize_job) (struct map_session_d
typedef int (*HPMHOOK_post_pc_calc_skilltree_normalize_job) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_clean_skilltree) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_clean_skilltree) (int retVal___, struct map_session_data *sd);
-typedef int (*HPMHOOK_pre_pc_setpos) (struct map_session_data **sd, unsigned short *map_index, int *x, int *y, clr_type *clrtype);
-typedef int (*HPMHOOK_post_pc_setpos) (int retVal___, struct map_session_data *sd, unsigned short map_index, int x, int y, clr_type clrtype);
+typedef int (*HPMHOOK_pre_pc_setpos) (struct map_session_data **sd, unsigned short *map_index, int *x, int *y, enum clr_type *clrtype);
+typedef int (*HPMHOOK_post_pc_setpos) (int retVal___, struct map_session_data *sd, unsigned short map_index, int x, int y, enum clr_type clrtype);
typedef int (*HPMHOOK_pre_pc_setsavepoint) (struct map_session_data **sd, short *map_index, int *x, int *y);
typedef int (*HPMHOOK_post_pc_setsavepoint) (int retVal___, struct map_session_data *sd, short map_index, int x, int y);
-typedef int (*HPMHOOK_pre_pc_randomwarp) (struct map_session_data **sd, clr_type *type);
-typedef int (*HPMHOOK_post_pc_randomwarp) (int retVal___, struct map_session_data *sd, clr_type type);
+typedef int (*HPMHOOK_pre_pc_randomwarp) (struct map_session_data **sd, enum clr_type *type);
+typedef int (*HPMHOOK_post_pc_randomwarp) (int retVal___, struct map_session_data *sd, enum clr_type type);
typedef int (*HPMHOOK_pre_pc_memo) (struct map_session_data **sd, int *pos);
typedef int (*HPMHOOK_post_pc_memo) (int retVal___, struct map_session_data *sd, int pos);
typedef int (*HPMHOOK_pre_pc_checkadditem) (struct map_session_data **sd, int *nameid, int *amount);
@@ -5854,8 +6028,8 @@ typedef int (*HPMHOOK_pre_pc_search_inventory) (struct map_session_data **sd, in
typedef int (*HPMHOOK_post_pc_search_inventory) (int retVal___, struct map_session_data *sd, int item_id);
typedef int (*HPMHOOK_pre_pc_payzeny) (struct map_session_data **sd, int *zeny, enum e_log_pick_type *type, struct map_session_data **tsd);
typedef int (*HPMHOOK_post_pc_payzeny) (int retVal___, struct map_session_data *sd, int zeny, enum e_log_pick_type type, struct map_session_data *tsd);
-typedef int (*HPMHOOK_pre_pc_additem) (struct map_session_data **sd, struct item **item_data, int *amount, e_log_pick_type *log_type);
-typedef int (*HPMHOOK_post_pc_additem) (int retVal___, struct map_session_data *sd, struct item *item_data, int amount, e_log_pick_type log_type);
+typedef int (*HPMHOOK_pre_pc_additem) (struct map_session_data **sd, const struct item **item_data, int *amount, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_post_pc_additem) (int retVal___, struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type);
typedef int (*HPMHOOK_pre_pc_getzeny) (struct map_session_data **sd, int *zeny, enum e_log_pick_type *type, struct map_session_data **tsd);
typedef int (*HPMHOOK_post_pc_getzeny) (int retVal___, struct map_session_data *sd, int zeny, enum e_log_pick_type type, struct map_session_data *tsd);
typedef int (*HPMHOOK_pre_pc_delitem) (struct map_session_data **sd, int *n, int *amount, int *type, short *reason, e_log_pick_type *log_type);
@@ -6074,10 +6248,10 @@ typedef void (*HPMHOOK_pre_pc_setstand) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_pc_setstand) (struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_candrop) (struct map_session_data **sd, struct item **item);
typedef int (*HPMHOOK_post_pc_candrop) (int retVal___, struct map_session_data *sd, struct item *item);
-typedef int (*HPMHOOK_pre_pc_jobid2mapid) (int16 *class);
-typedef int (*HPMHOOK_post_pc_jobid2mapid) (int retVal___, int16 class);
-typedef int (*HPMHOOK_pre_pc_mapid2jobid) (unsigned short *class_, int *sex);
-typedef int (*HPMHOOK_post_pc_mapid2jobid) (int retVal___, unsigned short class_, int sex);
+typedef int (*HPMHOOK_pre_pc_jobid2mapid) (int *class);
+typedef int (*HPMHOOK_post_pc_jobid2mapid) (int retVal___, int class);
+typedef int (*HPMHOOK_pre_pc_mapid2jobid) (unsigned int *class_, int *sex);
+typedef int (*HPMHOOK_post_pc_mapid2jobid) (int retVal___, unsigned int class_, int sex);
typedef const char* (*HPMHOOK_pre_pc_job_name) (int *class);
typedef const char* (*HPMHOOK_post_pc_job_name) (const char* retVal___, int class);
typedef void (*HPMHOOK_pre_pc_setinvincibletimer) (struct map_session_data **sd, int *val);
@@ -6160,8 +6334,8 @@ typedef int (*HPMHOOK_pre_pc_bonus_addeff) (struct s_addeffect **effect, int *ma
typedef int (*HPMHOOK_post_pc_bonus_addeff) (int retVal___, struct s_addeffect *effect, int max, enum sc_type id, int16 rate, int16 arrow_rate, uint8 flag, uint16 duration);
typedef int (*HPMHOOK_pre_pc_bonus_addeff_onskill) (struct s_addeffectonskill **effect, int *max, enum sc_type *id, short *rate, short *skill_id, unsigned char *target);
typedef int (*HPMHOOK_post_pc_bonus_addeff_onskill) (int retVal___, struct s_addeffectonskill *effect, int max, enum sc_type id, short rate, short skill_id, unsigned char target);
-typedef int (*HPMHOOK_pre_pc_bonus_item_drop) (struct s_add_drop **drop, const short *max, short *id, short *group, int *race, int *rate);
-typedef int (*HPMHOOK_post_pc_bonus_item_drop) (int retVal___, struct s_add_drop *drop, const short max, short id, short group, int race, int rate);
+typedef int (*HPMHOOK_pre_pc_bonus_item_drop) (struct s_add_drop **drop, const short *max, int *id, bool *is_group, int *race, int *rate);
+typedef int (*HPMHOOK_post_pc_bonus_item_drop) (int retVal___, struct s_add_drop *drop, const short max, int id, bool is_group, int race, int rate);
typedef void (*HPMHOOK_pre_pc_calcexp) (struct map_session_data **sd, uint64 **base_exp, uint64 **job_exp, struct block_list **src);
typedef void (*HPMHOOK_post_pc_calcexp) (struct map_session_data *sd, uint64 *base_exp, uint64 *job_exp, struct block_list *src);
typedef int (*HPMHOOK_pre_pc_respawn_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
@@ -6256,6 +6430,8 @@ typedef bool (*HPMHOOK_pre_pc_isDeathPenaltyJob) (uint16 *job);
typedef bool (*HPMHOOK_post_pc_isDeathPenaltyJob) (bool retVal___, uint16 job);
typedef bool (*HPMHOOK_pre_pc_has_second_costume) (struct map_session_data **sd);
typedef bool (*HPMHOOK_post_pc_has_second_costume) (bool retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_pc_expandInventory) (struct map_session_data **sd, int *adjustSize);
+typedef bool (*HPMHOOK_post_pc_expandInventory) (bool retVal___, struct map_session_data *sd, int adjustSize);
#endif // MAP_PC_H
#ifdef MAP_NPC_H /* libpcre */
typedef pcre* (*HPMHOOK_pre_libpcre_compile) (const char **pattern, int *options, const char ***errptr, int **erroffset, const unsigned char **tableptr);
@@ -6316,8 +6492,8 @@ typedef int (*HPMHOOK_pre_pet_catch_process1) (struct map_session_data **sd, int
typedef int (*HPMHOOK_post_pet_catch_process1) (int retVal___, struct map_session_data *sd, int target_class);
typedef int (*HPMHOOK_pre_pet_catch_process2) (struct map_session_data **sd, int *target_id);
typedef int (*HPMHOOK_post_pet_catch_process2) (int retVal___, struct map_session_data *sd, int target_id);
-typedef bool (*HPMHOOK_pre_pet_get_egg) (int *account_id, short *pet_class, int *pet_id);
-typedef bool (*HPMHOOK_post_pet_get_egg) (bool retVal___, int account_id, short pet_class, int pet_id);
+typedef bool (*HPMHOOK_pre_pet_get_egg) (int *account_id, int *pet_class, int *pet_id);
+typedef bool (*HPMHOOK_post_pet_get_egg) (bool retVal___, int account_id, int pet_class, int pet_id);
typedef int (*HPMHOOK_pre_pet_unequipitem) (struct map_session_data **sd, struct pet_data **pd);
typedef int (*HPMHOOK_post_pet_unequipitem) (int retVal___, struct map_session_data *sd, struct pet_data *pd);
typedef int (*HPMHOOK_pre_pet_food) (struct map_session_data **sd, struct pet_data **pd);
@@ -6450,9 +6626,43 @@ typedef bool (*HPMHOOK_pre_quest_questinfo_validate_homunculus_type) (struct map
typedef bool (*HPMHOOK_post_quest_questinfo_validate_homunculus_type) (bool retVal___, struct map_session_data *sd, struct questinfo *qi);
typedef bool (*HPMHOOK_pre_quest_questinfo_validate_quests) (struct map_session_data **sd, struct questinfo **qi);
typedef bool (*HPMHOOK_post_quest_questinfo_validate_quests) (bool retVal___, struct map_session_data *sd, struct questinfo *qi);
-typedef void (*HPMHOOK_pre_quest_questinfo_vector_clear) (int *m);
-typedef void (*HPMHOOK_post_quest_questinfo_vector_clear) (int m);
+typedef bool (*HPMHOOK_pre_quest_questinfo_validate_mercenary_class) (struct map_session_data **sd, struct questinfo **qi);
+typedef bool (*HPMHOOK_post_quest_questinfo_validate_mercenary_class) (bool retVal___, struct map_session_data *sd, struct questinfo *qi);
#endif // MAP_QUEST_H
+#ifdef MAP_REFINE_H /* refine */
+typedef int (*HPMHOOK_pre_refine_init) (bool *minimal);
+typedef int (*HPMHOOK_post_refine_init) (int retVal___, bool minimal);
+typedef void (*HPMHOOK_pre_refine_final) (void);
+typedef void (*HPMHOOK_post_refine_final) (void);
+typedef int (*HPMHOOK_pre_refine_get_refine_chance) (enum refine_type *wlv, int *refine_level, enum refine_chance_type *type);
+typedef int (*HPMHOOK_post_refine_get_refine_chance) (int retVal___, enum refine_type wlv, int refine_level, enum refine_chance_type type);
+typedef int (*HPMHOOK_pre_refine_get_bonus) (enum refine_type *equipment_type, int *refine_level);
+typedef int (*HPMHOOK_post_refine_get_bonus) (int retVal___, enum refine_type equipment_type, int refine_level);
+typedef int (*HPMHOOK_pre_refine_get_randombonus_max) (enum refine_type *equipment_type, int *refine_level);
+typedef int (*HPMHOOK_post_refine_get_randombonus_max) (int retVal___, enum refine_type equipment_type, int refine_level);
+typedef void (*HPMHOOK_pre_refine_refinery_add_item) (struct map_session_data **sd, int *item_index);
+typedef void (*HPMHOOK_post_refine_refinery_add_item) (struct map_session_data *sd, int item_index);
+typedef void (*HPMHOOK_pre_refine_refinery_refine_request) (struct map_session_data **sd, int *item_index, int *material_id, bool *use_blacksmith_blessing);
+typedef void (*HPMHOOK_post_refine_refinery_refine_request) (struct map_session_data *sd, int item_index, int material_id, bool use_blacksmith_blessing);
+#endif // MAP_REFINE_H
+#ifdef MAP_REFINE_P_H /* PRIV__refine */
+typedef int (*HPMHOOK_pre_PRIV__refine_readdb_refine_libconfig_sub) (struct config_setting_t **r, const char **name, const char **source);
+typedef int (*HPMHOOK_post_PRIV__refine_readdb_refine_libconfig_sub) (int retVal___, struct config_setting_t *r, const char *name, const char *source);
+typedef int (*HPMHOOK_pre_PRIV__refine_readdb_refine_libconfig) (const char **filename);
+typedef int (*HPMHOOK_post_PRIV__refine_readdb_refine_libconfig) (int retVal___, const char *filename);
+typedef bool (*HPMHOOK_pre_PRIV__refine_announce_behavior_string2enum) (const char **str, unsigned int **result);
+typedef bool (*HPMHOOK_post_PRIV__refine_announce_behavior_string2enum) (bool retVal___, const char *str, unsigned int *result);
+typedef bool (*HPMHOOK_pre_PRIV__refine_failure_behavior_string2enum) (const char **str, enum refine_ui_failure_behavior **result);
+typedef bool (*HPMHOOK_post_PRIV__refine_failure_behavior_string2enum) (bool retVal___, const char *str, enum refine_ui_failure_behavior *result);
+typedef bool (*HPMHOOK_pre_PRIV__refine_readdb_refinery_ui_settings_items) (const struct config_setting_t **elem, struct s_refine_requirement **req, const char **name, const char **source);
+typedef bool (*HPMHOOK_post_PRIV__refine_readdb_refinery_ui_settings_items) (bool retVal___, const struct config_setting_t *elem, struct s_refine_requirement *req, const char *name, const char *source);
+typedef bool (*HPMHOOK_pre_PRIV__refine_readdb_refinery_ui_settings_sub) (const struct config_setting_t **elem, int *type, const char **name, const char **source);
+typedef bool (*HPMHOOK_post_PRIV__refine_readdb_refinery_ui_settings_sub) (bool retVal___, const struct config_setting_t *elem, int type, const char *name, const char *source);
+typedef int (*HPMHOOK_pre_PRIV__refine_readdb_refinery_ui_settings) (const struct config_setting_t **r, int *type, const char **name, const char **source);
+typedef int (*HPMHOOK_post_PRIV__refine_readdb_refinery_ui_settings) (int retVal___, const struct config_setting_t *r, int type, const char *name, const char *source);
+typedef bool (*HPMHOOK_pre_PRIV__refine_is_refinable) (struct map_session_data **sd, int *item_index);
+typedef bool (*HPMHOOK_post_PRIV__refine_is_refinable) (bool retVal___, struct map_session_data *sd, int item_index);
+#endif // MAP_REFINE_P_H
#ifdef COMMON_RANDOM_H /* rnd */
typedef void (*HPMHOOK_pre_rnd_init) (void);
typedef void (*HPMHOOK_post_rnd_init) (void);
@@ -6488,8 +6698,8 @@ typedef void (*HPMHOOK_pre_rodex_add_item) (struct map_session_data **sd, int16
typedef void (*HPMHOOK_post_rodex_add_item) (struct map_session_data *sd, int16 idx, int16 amount);
typedef void (*HPMHOOK_pre_rodex_remove_item) (struct map_session_data **sd, int16 *idx, int16 *amount);
typedef void (*HPMHOOK_post_rodex_remove_item) (struct map_session_data *sd, int16 idx, int16 amount);
-typedef void (*HPMHOOK_pre_rodex_check_player) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, short **class);
-typedef void (*HPMHOOK_post_rodex_check_player) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class);
+typedef void (*HPMHOOK_pre_rodex_check_player) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, int **class);
+typedef void (*HPMHOOK_post_rodex_check_player) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class);
typedef int (*HPMHOOK_pre_rodex_send_mail) (struct map_session_data **sd, const char **receiver_name, const char **body, const char **title, int64 *zeny);
typedef int (*HPMHOOK_post_rodex_send_mail) (int retVal___, struct map_session_data *sd, const char *receiver_name, const char *body, const char *title, int64 zeny);
typedef void (*HPMHOOK_pre_rodex_send_mail_result) (struct map_session_data **ssd, struct map_session_data **rsd, bool *result);
@@ -6506,6 +6716,10 @@ typedef void (*HPMHOOK_pre_rodex_delete_mail) (struct map_session_data **sd, int
typedef void (*HPMHOOK_post_rodex_delete_mail) (struct map_session_data *sd, int64 mail_id);
typedef void (*HPMHOOK_pre_rodex_clean) (struct map_session_data **sd, int8 *flag);
typedef void (*HPMHOOK_post_rodex_clean) (struct map_session_data *sd, int8 flag);
+typedef void (*HPMHOOK_pre_rodex_getZenyAck) (struct map_session_data **sd, int64 *mail_id, int8 *opentype, int64 *zeny);
+typedef void (*HPMHOOK_post_rodex_getZenyAck) (struct map_session_data *sd, int64 mail_id, int8 opentype, int64 zeny);
+typedef void (*HPMHOOK_pre_rodex_getItemsAck) (struct map_session_data **sd, int64 *mail_id, int8 *opentype, int *count, const struct rodex_item **items);
+typedef void (*HPMHOOK_post_rodex_getItemsAck) (struct map_session_data *sd, int64 mail_id, int8 opentype, int count, const struct rodex_item *items);
#endif // MAP_RODEX_H
#ifdef MAP_SCRIPT_H /* script */
typedef void (*HPMHOOK_pre_script_init) (bool *minimal);
@@ -6896,8 +7110,8 @@ typedef bool (*HPMHOOK_pre_searchstore_queryremote) (struct map_session_data **s
typedef bool (*HPMHOOK_post_searchstore_queryremote) (bool retVal___, struct map_session_data *sd, int account_id);
typedef void (*HPMHOOK_pre_searchstore_clearremote) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_searchstore_clearremote) (struct map_session_data *sd);
-typedef bool (*HPMHOOK_pre_searchstore_result) (struct map_session_data **sd, unsigned int *store_id, int *account_id, const char **store_name, int *nameid, unsigned short *amount, unsigned int *price, const int **card, unsigned char *refine, const struct item_option **option);
-typedef bool (*HPMHOOK_post_searchstore_result) (bool retVal___, struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine, const struct item_option *option);
+typedef bool (*HPMHOOK_pre_searchstore_result) (struct map_session_data **sd, unsigned int *store_id, int *account_id, const char **store_name, int *nameid, unsigned short *amount, unsigned int *price, const int **card, unsigned char *refine_level, const struct item_option **option);
+typedef bool (*HPMHOOK_post_searchstore_result) (bool retVal___, struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine_level, const struct item_option *option);
#endif // MAP_SEARCHSTORE_H
#ifdef COMMON_SHOWMSG_H /* showmsg */
typedef void (*HPMHOOK_pre_showmsg_init) (void);
@@ -7168,6 +7382,8 @@ typedef int (*HPMHOOK_pre_skill_cell_overlap) (struct block_list **bl, va_list a
typedef int (*HPMHOOK_post_skill_cell_overlap) (int retVal___, struct block_list *bl, va_list ap);
typedef int (*HPMHOOK_pre_skill_timerskill) (int *tid, int64 *tick, int *id, intptr_t *data);
typedef int (*HPMHOOK_post_skill_timerskill) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+typedef void (*HPMHOOK_pre_skill_trap_do_splash) (struct block_list **bl, uint16 *skill_id, uint16 *skill_lv, int *bl_flag, int64 *tick);
+typedef void (*HPMHOOK_post_skill_trap_do_splash) (struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick);
typedef int (*HPMHOOK_pre_skill_trap_splash) (struct block_list **bl, va_list ap);
typedef int (*HPMHOOK_post_skill_trap_splash) (int retVal___, struct block_list *bl, va_list ap);
typedef int (*HPMHOOK_pre_skill_check_condition_mercenary) (struct block_list **bl, int *skill_id, int *lv, int *type);
@@ -7414,12 +7630,16 @@ typedef int (*HPMHOOK_pre_sockt_realloc_fifo) (int *fd, unsigned int *rfifo_size
typedef int (*HPMHOOK_post_sockt_realloc_fifo) (int retVal___, int fd, unsigned int rfifo_size, unsigned int wfifo_size);
typedef int (*HPMHOOK_pre_sockt_realloc_writefifo) (int *fd, size_t *addition);
typedef int (*HPMHOOK_post_sockt_realloc_writefifo) (int retVal___, int fd, size_t addition);
-typedef int (*HPMHOOK_pre_sockt_wfifoset) (int *fd, size_t *len);
-typedef int (*HPMHOOK_post_sockt_wfifoset) (int retVal___, int fd, size_t len);
+typedef int (*HPMHOOK_pre_sockt_wfifoset) (int *fd, size_t *len, bool *validate);
+typedef int (*HPMHOOK_post_sockt_wfifoset) (int retVal___, int fd, size_t len, bool validate);
+typedef void (*HPMHOOK_pre_sockt_wfifohead) (int *fd, size_t *len);
+typedef void (*HPMHOOK_post_sockt_wfifohead) (int fd, size_t len);
typedef int (*HPMHOOK_pre_sockt_rfifoskip) (int *fd, size_t *len);
typedef int (*HPMHOOK_post_sockt_rfifoskip) (int retVal___, int fd, size_t len);
typedef void (*HPMHOOK_pre_sockt_close) (int *fd);
typedef void (*HPMHOOK_post_sockt_close) (int fd);
+typedef void (*HPMHOOK_pre_sockt_validateWfifo) (int *fd, size_t *len);
+typedef void (*HPMHOOK_post_sockt_validateWfifo) (int fd, size_t len);
typedef bool (*HPMHOOK_pre_sockt_session_is_valid) (int *fd);
typedef bool (*HPMHOOK_post_sockt_session_is_valid) (bool retVal___, int fd);
typedef bool (*HPMHOOK_pre_sockt_session_is_active) (int *fd);
@@ -7428,6 +7648,8 @@ typedef void (*HPMHOOK_pre_sockt_flush) (int *fd);
typedef void (*HPMHOOK_post_sockt_flush) (int fd);
typedef void (*HPMHOOK_pre_sockt_flush_fifos) (void);
typedef void (*HPMHOOK_post_sockt_flush_fifos) (void);
+typedef int (*HPMHOOK_pre_sockt_connect_client) (int *listen_fd);
+typedef int (*HPMHOOK_post_sockt_connect_client) (int retVal___, int listen_fd);
typedef void (*HPMHOOK_pre_sockt_set_nonblocking) (int *fd, unsigned long *yes);
typedef void (*HPMHOOK_post_sockt_set_nonblocking) (int fd, unsigned long yes);
typedef void (*HPMHOOK_pre_sockt_set_defaultparse) (ParseFunc *defaultparse);
@@ -7526,8 +7748,6 @@ typedef int (*HPMHOOK_pre_status_init) (bool *minimal);
typedef int (*HPMHOOK_post_status_init) (int retVal___, bool minimal);
typedef void (*HPMHOOK_pre_status_final) (void);
typedef void (*HPMHOOK_post_status_final) (void);
-typedef int (*HPMHOOK_pre_status_get_refine_chance) (enum refine_type *wlv, int *refine, enum refine_chance_type *type);
-typedef int (*HPMHOOK_post_status_get_refine_chance) (int retVal___, enum refine_type wlv, int refine, enum refine_chance_type type);
typedef sc_type (*HPMHOOK_pre_status_skill2sc) (int *skill_id);
typedef sc_type (*HPMHOOK_post_status_skill2sc) (sc_type retVal___, int skill_id);
typedef int (*HPMHOOK_pre_status_sc2skill) (sc_type *sc);
@@ -7544,12 +7764,12 @@ typedef int (*HPMHOOK_pre_status_charge) (struct block_list **bl, int64 *hp, int
typedef int (*HPMHOOK_post_status_charge) (int retVal___, struct block_list *bl, int64 hp, int64 sp);
typedef int (*HPMHOOK_pre_status_percent_change) (struct block_list **src, struct block_list **target, signed char *hp_rate, signed char *sp_rate, int *flag);
typedef int (*HPMHOOK_post_status_percent_change) (int retVal___, struct block_list *src, struct block_list *target, signed char hp_rate, signed char sp_rate, int flag);
-typedef int (*HPMHOOK_pre_status_set_hp) (struct block_list **bl, unsigned int *hp, int *flag);
-typedef int (*HPMHOOK_post_status_set_hp) (int retVal___, struct block_list *bl, unsigned int hp, int flag);
-typedef int (*HPMHOOK_pre_status_set_sp) (struct block_list **bl, unsigned int *sp, int *flag);
-typedef int (*HPMHOOK_post_status_set_sp) (int retVal___, struct block_list *bl, unsigned int sp, int flag);
-typedef int (*HPMHOOK_pre_status_heal) (struct block_list **bl, int64 *hp, int64 *sp, int *flag);
-typedef int (*HPMHOOK_post_status_heal) (int retVal___, struct block_list *bl, int64 hp, int64 sp, int flag);
+typedef int (*HPMHOOK_pre_status_set_hp) (struct block_list **bl, unsigned int *hp, enum status_heal_flag *flag);
+typedef int (*HPMHOOK_post_status_set_hp) (int retVal___, struct block_list *bl, unsigned int hp, enum status_heal_flag flag);
+typedef int (*HPMHOOK_pre_status_set_sp) (struct block_list **bl, unsigned int *sp, enum status_heal_flag *flag);
+typedef int (*HPMHOOK_post_status_set_sp) (int retVal___, struct block_list *bl, unsigned int sp, enum status_heal_flag flag);
+typedef int (*HPMHOOK_pre_status_heal) (struct block_list **bl, int64 *hp, int64 *sp, enum status_heal_flag *flag);
+typedef int (*HPMHOOK_post_status_heal) (int retVal___, struct block_list *bl, int64 hp, int64 sp, enum status_heal_flag flag);
typedef int (*HPMHOOK_pre_status_revive) (struct block_list **bl, unsigned char *per_hp, unsigned char *per_sp);
typedef int (*HPMHOOK_post_status_revive) (int retVal___, struct block_list *bl, unsigned char per_hp, unsigned char per_sp);
typedef int (*HPMHOOK_pre_status_fixed_revive) (struct block_list **bl, unsigned int *per_hp, unsigned int *per_sp);
@@ -7664,10 +7884,10 @@ typedef defType (*HPMHOOK_pre_status_calc_mdef) (struct block_list **bl, struct
typedef defType (*HPMHOOK_post_status_calc_mdef) (defType retVal___, struct block_list *bl, struct status_change *sc, int mdef, bool viewable);
typedef short (*HPMHOOK_pre_status_calc_mdef2) (struct block_list **bl, struct status_change **sc, int *mdef2, bool *viewable);
typedef short (*HPMHOOK_post_status_calc_mdef2) (short retVal___, struct block_list *bl, struct status_change *sc, int mdef2, bool viewable);
-typedef unsigned short (*HPMHOOK_pre_status_calc_batk) (struct block_list **bl, struct status_change **sc, int *batk, bool *viewable);
-typedef unsigned short (*HPMHOOK_post_status_calc_batk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int batk, bool viewable);
-typedef unsigned short (*HPMHOOK_pre_status_base_matk) (struct block_list **bl, const struct status_data **st, int *level);
-typedef unsigned short (*HPMHOOK_post_status_base_matk) (unsigned short retVal___, struct block_list *bl, const struct status_data *st, int level);
+typedef int (*HPMHOOK_pre_status_calc_batk) (struct block_list **bl, struct status_change **sc, int *batk, bool *viewable);
+typedef int (*HPMHOOK_post_status_calc_batk) (int retVal___, struct block_list *bl, struct status_change *sc, int batk, bool viewable);
+typedef int (*HPMHOOK_pre_status_base_matk) (struct block_list **bl, const struct status_data **st, int *level);
+typedef int (*HPMHOOK_post_status_base_matk) (int retVal___, struct block_list *bl, const struct status_data *st, int level);
typedef int (*HPMHOOK_pre_status_get_weapon_atk) (struct block_list **src, struct weapon_atk **watk, int *flag);
typedef int (*HPMHOOK_post_status_get_weapon_atk) (int retVal___, struct block_list *src, struct weapon_atk *watk, int flag);
typedef int (*HPMHOOK_pre_status_get_total_mdef) (struct block_list **src);
@@ -7686,12 +7906,16 @@ typedef void (*HPMHOOK_pre_status_initDummyData) (void);
typedef void (*HPMHOOK_post_status_initDummyData) (void);
typedef int (*HPMHOOK_pre_status_base_amotion_pc) (struct map_session_data **sd, struct status_data **st);
typedef int (*HPMHOOK_post_status_base_amotion_pc) (int retVal___, struct map_session_data *sd, struct status_data *st);
-typedef unsigned short (*HPMHOOK_pre_status_base_atk) (const struct block_list **bl, const struct status_data **st);
-typedef unsigned short (*HPMHOOK_post_status_base_atk) (unsigned short retVal___, const struct block_list *bl, const struct status_data *st);
+typedef int (*HPMHOOK_pre_status_base_atk) (const struct block_list **bl, const struct status_data **st);
+typedef int (*HPMHOOK_post_status_base_atk) (int retVal___, const struct block_list *bl, const struct status_data *st);
typedef unsigned int (*HPMHOOK_pre_status_get_base_maxhp) (const struct map_session_data **sd, const struct status_data **st);
typedef unsigned int (*HPMHOOK_post_status_get_base_maxhp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
typedef unsigned int (*HPMHOOK_pre_status_get_base_maxsp) (const struct map_session_data **sd, const struct status_data **st);
typedef unsigned int (*HPMHOOK_post_status_get_base_maxsp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+typedef unsigned int (*HPMHOOK_pre_status_get_restart_hp) (const struct map_session_data **sd, const struct status_data **st);
+typedef unsigned int (*HPMHOOK_post_status_get_restart_hp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+typedef unsigned int (*HPMHOOK_pre_status_get_restart_sp) (const struct map_session_data **sd, const struct status_data **st);
+typedef unsigned int (*HPMHOOK_post_status_get_restart_sp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
typedef int (*HPMHOOK_pre_status_calc_npc_) (struct npc_data **nd, enum e_status_calc_opt *opt);
typedef int (*HPMHOOK_post_status_calc_npc_) (int retVal___, struct npc_data *nd, enum e_status_calc_opt opt);
typedef unsigned short (*HPMHOOK_pre_status_calc_str) (struct block_list **bl, struct status_change **sc, int *str);
@@ -7706,18 +7930,18 @@ typedef unsigned short (*HPMHOOK_pre_status_calc_dex) (struct block_list **bl, s
typedef unsigned short (*HPMHOOK_post_status_calc_dex) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int dex);
typedef unsigned short (*HPMHOOK_pre_status_calc_luk) (struct block_list **bl, struct status_change **sc, int *luk);
typedef unsigned short (*HPMHOOK_post_status_calc_luk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int luk);
-typedef unsigned short (*HPMHOOK_pre_status_calc_watk) (struct block_list **bl, struct status_change **sc, int *watk, bool *viewable);
-typedef unsigned short (*HPMHOOK_post_status_calc_watk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int watk, bool viewable);
-typedef unsigned short (*HPMHOOK_pre_status_calc_matk) (struct block_list **bl, struct status_change **sc, int *matk, bool *viewable);
-typedef unsigned short (*HPMHOOK_post_status_calc_matk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int matk, bool viewable);
-typedef signed short (*HPMHOOK_pre_status_calc_hit) (struct block_list **bl, struct status_change **sc, int *hit, bool *viewable);
-typedef signed short (*HPMHOOK_post_status_calc_hit) (signed short retVal___, struct block_list *bl, struct status_change *sc, int hit, bool viewable);
-typedef signed short (*HPMHOOK_pre_status_calc_critical) (struct block_list **bl, struct status_change **sc, int *critical, bool *viewable);
-typedef signed short (*HPMHOOK_post_status_calc_critical) (signed short retVal___, struct block_list *bl, struct status_change *sc, int critical, bool viewable);
-typedef signed short (*HPMHOOK_pre_status_calc_flee) (struct block_list **bl, struct status_change **sc, int *flee, bool *viewable);
-typedef signed short (*HPMHOOK_post_status_calc_flee) (signed short retVal___, struct block_list *bl, struct status_change *sc, int flee, bool viewable);
-typedef signed short (*HPMHOOK_pre_status_calc_flee2) (struct block_list **bl, struct status_change **sc, int *flee2, bool *viewable);
-typedef signed short (*HPMHOOK_post_status_calc_flee2) (signed short retVal___, struct block_list *bl, struct status_change *sc, int flee2, bool viewable);
+typedef int (*HPMHOOK_pre_status_calc_watk) (struct block_list **bl, struct status_change **sc, int *watk, bool *viewable);
+typedef int (*HPMHOOK_post_status_calc_watk) (int retVal___, struct block_list *bl, struct status_change *sc, int watk, bool viewable);
+typedef int (*HPMHOOK_pre_status_calc_matk) (struct block_list **bl, struct status_change **sc, int *matk, bool *viewable);
+typedef int (*HPMHOOK_post_status_calc_matk) (int retVal___, struct block_list *bl, struct status_change *sc, int matk, bool viewable);
+typedef signed int (*HPMHOOK_pre_status_calc_hit) (struct block_list **bl, struct status_change **sc, int *hit, bool *viewable);
+typedef signed int (*HPMHOOK_post_status_calc_hit) (signed int retVal___, struct block_list *bl, struct status_change *sc, int hit, bool viewable);
+typedef signed int (*HPMHOOK_pre_status_calc_critical) (struct block_list **bl, struct status_change **sc, int *critical, bool *viewable);
+typedef signed int (*HPMHOOK_post_status_calc_critical) (signed int retVal___, struct block_list *bl, struct status_change *sc, int critical, bool viewable);
+typedef signed int (*HPMHOOK_pre_status_calc_flee) (struct block_list **bl, struct status_change **sc, int *flee, bool *viewable);
+typedef signed int (*HPMHOOK_post_status_calc_flee) (signed int retVal___, struct block_list *bl, struct status_change *sc, int flee, bool viewable);
+typedef signed int (*HPMHOOK_pre_status_calc_flee2) (struct block_list **bl, struct status_change **sc, int *flee2, bool *viewable);
+typedef signed int (*HPMHOOK_post_status_calc_flee2) (signed int retVal___, struct block_list *bl, struct status_change *sc, int flee2, bool viewable);
typedef unsigned short (*HPMHOOK_pre_status_calc_speed) (struct block_list **bl, struct status_change **sc, int *speed);
typedef unsigned short (*HPMHOOK_post_status_calc_speed) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int speed);
typedef short (*HPMHOOK_pre_status_calc_aspd_rate) (struct block_list **bl, struct status_change **sc, int *aspd_rate);
@@ -7738,8 +7962,8 @@ typedef unsigned char (*HPMHOOK_pre_status_calc_element_lv) (struct block_list *
typedef unsigned char (*HPMHOOK_post_status_calc_element_lv) (unsigned char retVal___, struct block_list *bl, struct status_change *sc, int lv);
typedef uint32 (*HPMHOOK_pre_status_calc_mode) (const struct block_list **bl, const struct status_change **sc, uint32 *mode);
typedef uint32 (*HPMHOOK_post_status_calc_mode) (uint32 retVal___, const struct block_list *bl, const struct status_change *sc, uint32 mode);
-typedef unsigned short (*HPMHOOK_pre_status_calc_ematk) (struct block_list **bl, struct status_change **sc, int *matk);
-typedef unsigned short (*HPMHOOK_post_status_calc_ematk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int matk);
+typedef int (*HPMHOOK_pre_status_calc_ematk) (struct block_list **bl, struct status_change **sc, int *matk);
+typedef int (*HPMHOOK_post_status_calc_ematk) (int retVal___, struct block_list *bl, struct status_change *sc, int matk);
typedef void (*HPMHOOK_pre_status_calc_bl_main) (struct block_list **bl, int *flag);
typedef void (*HPMHOOK_post_status_calc_bl_main) (struct block_list *bl, int flag);
typedef void (*HPMHOOK_pre_status_display_add) (struct map_session_data **sd, enum sc_type *type, int *dval1, int *dval2, int *dval3);
@@ -7754,10 +7978,6 @@ typedef bool (*HPMHOOK_pre_status_readdb_job2) (char **fields[], int *columns, i
typedef bool (*HPMHOOK_post_status_readdb_job2) (bool retVal___, char *fields[], int columns, int current);
typedef bool (*HPMHOOK_pre_status_readdb_sizefix) (char **fields[], int *columns, int *current);
typedef bool (*HPMHOOK_post_status_readdb_sizefix) (bool retVal___, char *fields[], int columns, int current);
-typedef int (*HPMHOOK_pre_status_readdb_refine_libconfig) (const char **filename);
-typedef int (*HPMHOOK_post_status_readdb_refine_libconfig) (int retVal___, const char *filename);
-typedef int (*HPMHOOK_pre_status_readdb_refine_libconfig_sub) (struct config_setting_t **r, const char **name, const char **source);
-typedef int (*HPMHOOK_post_status_readdb_refine_libconfig_sub) (int retVal___, struct config_setting_t *r, const char *name, const char *source);
typedef bool (*HPMHOOK_pre_status_readdb_scconfig) (char **fields[], int *columns, int *current);
typedef bool (*HPMHOOK_post_status_readdb_scconfig) (bool retVal___, char *fields[], int columns, int current);
typedef void (*HPMHOOK_pre_status_read_job_db) (void);
@@ -7768,10 +7988,10 @@ typedef void (*HPMHOOK_pre_status_set_sc) (uint16 *skill_id, sc_type *sc, int *i
typedef void (*HPMHOOK_post_status_set_sc) (uint16 skill_id, sc_type sc, int icon, unsigned int flag);
typedef void (*HPMHOOK_pre_status_copy) (struct status_data **a, const struct status_data **b);
typedef void (*HPMHOOK_post_status_copy) (struct status_data *a, const struct status_data *b);
-typedef unsigned short (*HPMHOOK_pre_status_base_matk_min) (const struct status_data **st);
-typedef unsigned short (*HPMHOOK_post_status_base_matk_min) (unsigned short retVal___, const struct status_data *st);
-typedef unsigned short (*HPMHOOK_pre_status_base_matk_max) (const struct status_data **st);
-typedef unsigned short (*HPMHOOK_post_status_base_matk_max) (unsigned short retVal___, const struct status_data *st);
+typedef int (*HPMHOOK_pre_status_base_matk_min) (const struct status_data **st);
+typedef int (*HPMHOOK_post_status_base_matk_min) (int retVal___, const struct status_data *st);
+typedef int (*HPMHOOK_pre_status_base_matk_max) (const struct status_data **st);
+typedef int (*HPMHOOK_post_status_base_matk_max) (int retVal___, const struct status_data *st);
#endif // MAP_STATUS_H
#ifdef MAP_STORAGE_H /* storage */
typedef void (*HPMHOOK_pre_storage_reconnect) (void);
@@ -7855,6 +8075,26 @@ typedef int (*HPMHOOK_post_strlib_strline_) (int retVal___, const char *str, siz
typedef bool (*HPMHOOK_pre_strlib_bin2hex_) (char **output, const unsigned char **input, size_t *count);
typedef bool (*HPMHOOK_post_strlib_bin2hex_) (bool retVal___, char *output, const unsigned char *input, size_t count);
#endif // COMMON_STRLIB_H
+#ifdef MAP_STYLIST_H /* stylist */
+typedef void (*HPMHOOK_pre_stylist_init) (bool *minimal);
+typedef void (*HPMHOOK_post_stylist_init) (bool minimal);
+typedef void (*HPMHOOK_pre_stylist_final) (void);
+typedef void (*HPMHOOK_post_stylist_final) (void);
+typedef void (*HPMHOOK_pre_stylist_vector_init) (void);
+typedef void (*HPMHOOK_post_stylist_vector_init) (void);
+typedef void (*HPMHOOK_pre_stylist_vector_clear) (void);
+typedef void (*HPMHOOK_post_stylist_vector_clear) (void);
+typedef bool (*HPMHOOK_pre_stylist_read_db_libconfig) (void);
+typedef bool (*HPMHOOK_post_stylist_read_db_libconfig) (bool retVal___);
+typedef bool (*HPMHOOK_pre_stylist_read_db_libconfig_sub) (struct config_setting_t **it, int *idx, const char **source);
+typedef bool (*HPMHOOK_post_stylist_read_db_libconfig_sub) (bool retVal___, struct config_setting_t *it, int idx, const char *source);
+typedef void (*HPMHOOK_pre_stylist_request_style_change) (struct map_session_data **sd, int *type, int16 *idx, bool *isitem);
+typedef void (*HPMHOOK_post_stylist_request_style_change) (struct map_session_data *sd, int type, int16 idx, bool isitem);
+typedef bool (*HPMHOOK_pre_stylist_validate_requirements) (struct map_session_data **sd, int *type, int16 *idx);
+typedef bool (*HPMHOOK_post_stylist_validate_requirements) (bool retVal___, struct map_session_data *sd, int type, int16 idx);
+typedef void (*HPMHOOK_pre_stylist_send_rodexitem) (struct map_session_data **sd, int *itemid);
+typedef void (*HPMHOOK_post_stylist_send_rodexitem) (struct map_session_data *sd, int itemid);
+#endif // MAP_STYLIST_H
#ifdef COMMON_STRLIB_H /* sv */
typedef int (*HPMHOOK_pre_sv_parse_next) (struct s_svstate **svstate);
typedef int (*HPMHOOK_post_sv_parse_next) (int retVal___, struct s_svstate *svstate);
@@ -8020,8 +8260,8 @@ typedef uint8 (*HPMHOOK_pre_unit_getdir) (struct block_list **bl);
typedef uint8 (*HPMHOOK_post_unit_getdir) (uint8 retVal___, struct block_list *bl);
typedef int (*HPMHOOK_pre_unit_blown) (struct block_list **bl, int *dx, int *dy, int *count, int *flag);
typedef int (*HPMHOOK_post_unit_blown) (int retVal___, struct block_list *bl, int dx, int dy, int count, int flag);
-typedef int (*HPMHOOK_pre_unit_warp) (struct block_list **bl, short *m, short *x, short *y, clr_type *type);
-typedef int (*HPMHOOK_post_unit_warp) (int retVal___, struct block_list *bl, short m, short x, short y, clr_type type);
+typedef int (*HPMHOOK_pre_unit_warp) (struct block_list **bl, short *m, short *x, short *y, enum clr_type *type);
+typedef int (*HPMHOOK_post_unit_warp) (int retVal___, struct block_list *bl, short m, short x, short y, enum clr_type type);
typedef int (*HPMHOOK_pre_unit_stop_walking) (struct block_list **bl, int *type);
typedef int (*HPMHOOK_post_unit_stop_walking) (int retVal___, struct block_list *bl, int type);
typedef int (*HPMHOOK_pre_unit_skilluse_id) (struct block_list **src, int *target_id, uint16 *skill_id, uint16 *skill_lv);
@@ -8072,14 +8312,14 @@ typedef int (*HPMHOOK_pre_unit_fixdamage) (struct block_list **src, struct block
typedef int (*HPMHOOK_post_unit_fixdamage) (int retVal___, struct block_list *src, struct block_list *target, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2);
typedef int (*HPMHOOK_pre_unit_changeviewsize) (struct block_list **bl, short *size);
typedef int (*HPMHOOK_post_unit_changeviewsize) (int retVal___, struct block_list *bl, short size);
-typedef int (*HPMHOOK_pre_unit_remove_map) (struct block_list **bl, clr_type *clrtype, const char **file, int *line, const char **func);
-typedef int (*HPMHOOK_post_unit_remove_map) (int retVal___, struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func);
-typedef void (*HPMHOOK_pre_unit_remove_map_pc) (struct map_session_data **sd, clr_type *clrtype);
-typedef void (*HPMHOOK_post_unit_remove_map_pc) (struct map_session_data *sd, clr_type clrtype);
+typedef int (*HPMHOOK_pre_unit_remove_map) (struct block_list **bl, enum clr_type *clrtype, const char **file, int *line, const char **func);
+typedef int (*HPMHOOK_post_unit_remove_map) (int retVal___, struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func);
+typedef void (*HPMHOOK_pre_unit_remove_map_pc) (struct map_session_data **sd, enum clr_type *clrtype);
+typedef void (*HPMHOOK_post_unit_remove_map_pc) (struct map_session_data *sd, enum clr_type clrtype);
typedef void (*HPMHOOK_pre_unit_free_pc) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_unit_free_pc) (struct map_session_data *sd);
-typedef int (*HPMHOOK_pre_unit_free) (struct block_list **bl, clr_type *clrtype);
-typedef int (*HPMHOOK_post_unit_free) (int retVal___, struct block_list *bl, clr_type clrtype);
+typedef int (*HPMHOOK_pre_unit_free) (struct block_list **bl, enum clr_type *clrtype);
+typedef int (*HPMHOOK_post_unit_free) (int retVal___, struct block_list *bl, enum clr_type clrtype);
#endif // MAP_UNIT_H
#ifdef MAP_VENDING_H /* vending */
typedef void (*HPMHOOK_pre_vending_init) (bool *minimal);
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
index 2b0291453..9302a8d19 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -90,8 +90,10 @@ struct {
struct HPMHookPoint *HP_chr_count_users_post;
struct HPMHookPoint *HP_chr_mmo_char_tobuf_pre;
struct HPMHookPoint *HP_chr_mmo_char_tobuf_post;
- struct HPMHookPoint *HP_chr_mmo_char_send099d_pre;
- struct HPMHookPoint *HP_chr_mmo_char_send099d_post;
+ struct HPMHookPoint *HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre;
+ struct HPMHookPoint *HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post;
+ struct HPMHookPoint *HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre;
+ struct HPMHookPoint *HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post;
struct HPMHookPoint *HP_chr_mmo_char_send_ban_list_pre;
struct HPMHookPoint *HP_chr_mmo_char_send_ban_list_post;
struct HPMHookPoint *HP_chr_mmo_char_send_slots_info_pre;
@@ -762,6 +764,10 @@ struct {
struct HPMHookPoint *HP_inter_rodex_savemessage_post;
struct HPMHookPoint *HP_inter_rodex_updatemail_pre;
struct HPMHookPoint *HP_inter_rodex_updatemail_post;
+ struct HPMHookPoint *HP_inter_rodex_getzeny_pre;
+ struct HPMHookPoint *HP_inter_rodex_getzeny_post;
+ struct HPMHookPoint *HP_inter_rodex_getitems_pre;
+ struct HPMHookPoint *HP_inter_rodex_getitems_post;
struct HPMHookPoint *HP_inter_storage_tosql_pre;
struct HPMHookPoint *HP_inter_storage_tosql_post;
struct HPMHookPoint *HP_inter_storage_fromsql_pre;
@@ -1222,6 +1228,10 @@ struct {
struct HPMHookPoint *HP_mapif_parse_rodex_checkname_post;
struct HPMHookPoint *HP_mapif_rodex_checkname_pre;
struct HPMHookPoint *HP_mapif_rodex_checkname_post;
+ struct HPMHookPoint *HP_mapif_rodex_getzenyack_pre;
+ struct HPMHookPoint *HP_mapif_rodex_getzenyack_post;
+ struct HPMHookPoint *HP_mapif_rodex_getitemsack_pre;
+ struct HPMHookPoint *HP_mapif_rodex_getitemsack_post;
struct HPMHookPoint *HP_mapif_load_guild_storage_pre;
struct HPMHookPoint *HP_mapif_load_guild_storage_post;
struct HPMHookPoint *HP_mapif_save_guild_storage_ack_pre;
@@ -1322,6 +1332,14 @@ struct {
struct HPMHookPoint *HP_mutex_cond_broadcast_post;
struct HPMHookPoint *HP_nullpo_assert_report_pre;
struct HPMHookPoint *HP_nullpo_assert_report_post;
+ struct HPMHookPoint *HP_packets_init_pre;
+ struct HPMHookPoint *HP_packets_init_post;
+ struct HPMHookPoint *HP_packets_final_pre;
+ struct HPMHookPoint *HP_packets_final_post;
+ struct HPMHookPoint *HP_packets_addLens_pre;
+ struct HPMHookPoint *HP_packets_addLens_post;
+ struct HPMHookPoint *HP_packets_addLen_pre;
+ struct HPMHookPoint *HP_packets_addLen_post;
struct HPMHookPoint *HP_pincode_handle_pre;
struct HPMHookPoint *HP_pincode_handle_post;
struct HPMHookPoint *HP_pincode_decrypt_pre;
@@ -1396,10 +1414,14 @@ struct {
struct HPMHookPoint *HP_sockt_realloc_writefifo_post;
struct HPMHookPoint *HP_sockt_wfifoset_pre;
struct HPMHookPoint *HP_sockt_wfifoset_post;
+ struct HPMHookPoint *HP_sockt_wfifohead_pre;
+ struct HPMHookPoint *HP_sockt_wfifohead_post;
struct HPMHookPoint *HP_sockt_rfifoskip_pre;
struct HPMHookPoint *HP_sockt_rfifoskip_post;
struct HPMHookPoint *HP_sockt_close_pre;
struct HPMHookPoint *HP_sockt_close_post;
+ struct HPMHookPoint *HP_sockt_validateWfifo_pre;
+ struct HPMHookPoint *HP_sockt_validateWfifo_post;
struct HPMHookPoint *HP_sockt_session_is_valid_pre;
struct HPMHookPoint *HP_sockt_session_is_valid_post;
struct HPMHookPoint *HP_sockt_session_is_active_pre;
@@ -1408,6 +1430,8 @@ struct {
struct HPMHookPoint *HP_sockt_flush_post;
struct HPMHookPoint *HP_sockt_flush_fifos_pre;
struct HPMHookPoint *HP_sockt_flush_fifos_post;
+ struct HPMHookPoint *HP_sockt_connect_client_pre;
+ struct HPMHookPoint *HP_sockt_connect_client_post;
struct HPMHookPoint *HP_sockt_set_nonblocking_pre;
struct HPMHookPoint *HP_sockt_set_nonblocking_post;
struct HPMHookPoint *HP_sockt_set_defaultparse_pre;
@@ -1713,8 +1737,10 @@ struct {
int HP_chr_count_users_post;
int HP_chr_mmo_char_tobuf_pre;
int HP_chr_mmo_char_tobuf_post;
- int HP_chr_mmo_char_send099d_pre;
- int HP_chr_mmo_char_send099d_post;
+ int HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre;
+ int HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post;
+ int HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre;
+ int HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post;
int HP_chr_mmo_char_send_ban_list_pre;
int HP_chr_mmo_char_send_ban_list_post;
int HP_chr_mmo_char_send_slots_info_pre;
@@ -2385,6 +2411,10 @@ struct {
int HP_inter_rodex_savemessage_post;
int HP_inter_rodex_updatemail_pre;
int HP_inter_rodex_updatemail_post;
+ int HP_inter_rodex_getzeny_pre;
+ int HP_inter_rodex_getzeny_post;
+ int HP_inter_rodex_getitems_pre;
+ int HP_inter_rodex_getitems_post;
int HP_inter_storage_tosql_pre;
int HP_inter_storage_tosql_post;
int HP_inter_storage_fromsql_pre;
@@ -2845,6 +2875,10 @@ struct {
int HP_mapif_parse_rodex_checkname_post;
int HP_mapif_rodex_checkname_pre;
int HP_mapif_rodex_checkname_post;
+ int HP_mapif_rodex_getzenyack_pre;
+ int HP_mapif_rodex_getzenyack_post;
+ int HP_mapif_rodex_getitemsack_pre;
+ int HP_mapif_rodex_getitemsack_post;
int HP_mapif_load_guild_storage_pre;
int HP_mapif_load_guild_storage_post;
int HP_mapif_save_guild_storage_ack_pre;
@@ -2945,6 +2979,14 @@ struct {
int HP_mutex_cond_broadcast_post;
int HP_nullpo_assert_report_pre;
int HP_nullpo_assert_report_post;
+ int HP_packets_init_pre;
+ int HP_packets_init_post;
+ int HP_packets_final_pre;
+ int HP_packets_final_post;
+ int HP_packets_addLens_pre;
+ int HP_packets_addLens_post;
+ int HP_packets_addLen_pre;
+ int HP_packets_addLen_post;
int HP_pincode_handle_pre;
int HP_pincode_handle_post;
int HP_pincode_decrypt_pre;
@@ -3019,10 +3061,14 @@ struct {
int HP_sockt_realloc_writefifo_post;
int HP_sockt_wfifoset_pre;
int HP_sockt_wfifoset_post;
+ int HP_sockt_wfifohead_pre;
+ int HP_sockt_wfifohead_post;
int HP_sockt_rfifoskip_pre;
int HP_sockt_rfifoskip_post;
int HP_sockt_close_pre;
int HP_sockt_close_post;
+ int HP_sockt_validateWfifo_pre;
+ int HP_sockt_validateWfifo_post;
int HP_sockt_session_is_valid_pre;
int HP_sockt_session_is_valid_post;
int HP_sockt_session_is_active_pre;
@@ -3031,6 +3077,8 @@ struct {
int HP_sockt_flush_post;
int HP_sockt_flush_fifos_pre;
int HP_sockt_flush_fifos_post;
+ int HP_sockt_connect_client_pre;
+ int HP_sockt_connect_client_post;
int HP_sockt_set_nonblocking_pre;
int HP_sockt_set_nonblocking_post;
int HP_sockt_set_defaultparse_pre;
@@ -3301,6 +3349,7 @@ struct {
struct md5_interface md5;
struct mutex_interface mutex;
struct nullpo_interface nullpo;
+ struct packets_interface packets;
struct pincode_interface pincode;
struct rnd_interface rnd;
struct showmsg_interface showmsg;
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
index cb6ae1bb8..60162c1a8 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -60,7 +60,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(chr->divorce_char_sql, HP_chr_divorce_char_sql) },
{ HP_POP(chr->count_users, HP_chr_count_users) },
{ HP_POP(chr->mmo_char_tobuf, HP_chr_mmo_char_tobuf) },
- { HP_POP(chr->mmo_char_send099d, HP_chr_mmo_char_send099d) },
+ { HP_POP(chr->send_HC_ACK_CHARINFO_PER_PAGE, HP_chr_send_HC_ACK_CHARINFO_PER_PAGE) },
+ { HP_POP(chr->send_HC_ACK_CHARINFO_PER_PAGE_tail, HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail) },
{ HP_POP(chr->mmo_char_send_ban_list, HP_chr_mmo_char_send_ban_list) },
{ HP_POP(chr->mmo_char_send_slots_info, HP_chr_mmo_char_send_slots_info) },
{ HP_POP(chr->mmo_char_send_characters, HP_chr_mmo_char_send_characters) },
@@ -415,6 +416,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(inter_rodex->checkname, HP_inter_rodex_checkname) },
{ HP_POP(inter_rodex->savemessage, HP_inter_rodex_savemessage) },
{ HP_POP(inter_rodex->updatemail, HP_inter_rodex_updatemail) },
+ { HP_POP(inter_rodex->getzeny, HP_inter_rodex_getzeny) },
+ { HP_POP(inter_rodex->getitems, HP_inter_rodex_getitems) },
/* inter_storage_interface */
{ HP_POP(inter_storage->tosql, HP_inter_storage_tosql) },
{ HP_POP(inter_storage->fromsql, HP_inter_storage_fromsql) },
@@ -649,6 +652,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mapif->rodex_send, HP_mapif_rodex_send) },
{ HP_POP(mapif->parse_rodex_checkname, HP_mapif_parse_rodex_checkname) },
{ HP_POP(mapif->rodex_checkname, HP_mapif_rodex_checkname) },
+ { HP_POP(mapif->rodex_getzenyack, HP_mapif_rodex_getzenyack) },
+ { HP_POP(mapif->rodex_getitemsack, HP_mapif_rodex_getitemsack) },
{ HP_POP(mapif->load_guild_storage, HP_mapif_load_guild_storage) },
{ HP_POP(mapif->save_guild_storage_ack, HP_mapif_save_guild_storage_ack) },
{ HP_POP(mapif->parse_LoadGuildStorage, HP_mapif_parse_LoadGuildStorage) },
@@ -703,6 +708,11 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mutex->cond_broadcast, HP_mutex_cond_broadcast) },
/* nullpo_interface */
{ HP_POP(nullpo->assert_report, HP_nullpo_assert_report) },
+/* packets_interface */
+ { HP_POP(packets->init, HP_packets_init) },
+ { HP_POP(packets->final, HP_packets_final) },
+ { HP_POP(packets->addLens, HP_packets_addLens) },
+ { HP_POP(packets->addLen, HP_packets_addLen) },
/* pincode_interface */
{ HP_POP(pincode->handle, HP_pincode_handle) },
{ HP_POP(pincode->decrypt, HP_pincode_decrypt) },
@@ -744,12 +754,15 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(sockt->realloc_fifo, HP_sockt_realloc_fifo) },
{ HP_POP(sockt->realloc_writefifo, HP_sockt_realloc_writefifo) },
{ HP_POP(sockt->wfifoset, HP_sockt_wfifoset) },
+ { HP_POP(sockt->wfifohead, HP_sockt_wfifohead) },
{ HP_POP(sockt->rfifoskip, HP_sockt_rfifoskip) },
{ HP_POP(sockt->close, HP_sockt_close) },
+ { HP_POP(sockt->validateWfifo, HP_sockt_validateWfifo) },
{ HP_POP(sockt->session_is_valid, HP_sockt_session_is_valid) },
{ HP_POP(sockt->session_is_active, HP_sockt_session_is_active) },
{ HP_POP(sockt->flush, HP_sockt_flush) },
{ HP_POP(sockt->flush_fifos, HP_sockt_flush_fifos) },
+ { HP_POP(sockt->connect_client, HP_sockt_connect_client) },
{ HP_POP(sockt->set_nonblocking, HP_sockt_set_nonblocking) },
{ HP_POP(sockt->set_defaultparse, HP_sockt_set_defaultparse) },
{ HP_POP(sockt->host2ip, HP_sockt_host2ip) },
diff --git a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
index 767c7d24e..2b7e25e5d 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -609,15 +609,15 @@ int HP_chr_mmo_gender(const struct char_session_data *sd, const struct mmo_chars
}
return retVal___;
}
-int HP_chr_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf) {
+int HP_chr_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf, int *count) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_chr_mmo_chars_fromsql_pre > 0) {
- int (*preHookFunc) (struct char_session_data **sd, uint8 **buf);
+ int (*preHookFunc) (struct char_session_data **sd, uint8 **buf, int **count);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_mmo_chars_fromsql_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_chr_mmo_chars_fromsql_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &buf);
+ retVal___ = preHookFunc(&sd, &buf, &count);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -625,13 +625,13 @@ int HP_chr_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf) {
}
}
{
- retVal___ = HPMHooks.source.chr.mmo_chars_fromsql(sd, buf);
+ retVal___ = HPMHooks.source.chr.mmo_chars_fromsql(sd, buf, count);
}
if (HPMHooks.count.HP_chr_mmo_chars_fromsql_post > 0) {
- int (*postHookFunc) (int retVal___, struct char_session_data *sd, uint8 *buf);
+ int (*postHookFunc) (int retVal___, struct char_session_data *sd, uint8 *buf, int *count);
for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_mmo_chars_fromsql_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_chr_mmo_chars_fromsql_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, buf);
+ retVal___ = postHookFunc(retVal___, sd, buf, count);
}
}
return retVal___;
@@ -798,11 +798,11 @@ int HP_chr_check_char_name(const char *name, const char *esc_name) {
}
return retVal___;
}
-int HP_chr_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job, uint8 sex) {
+int HP_chr_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_job, uint8 sex) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_chr_make_new_char_sql_pre > 0) {
- int (*preHookFunc) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, short *starting_job, uint8 *sex);
+ int (*preHookFunc) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, int *starting_job, uint8 *sex);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_make_new_char_sql_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_chr_make_new_char_sql_pre[hIndex].func;
@@ -817,7 +817,7 @@ int HP_chr_make_new_char_sql(struct char_session_data *sd, const char *name_, in
retVal___ = HPMHooks.source.chr.make_new_char_sql(sd, name_, str, agi, vit, int_, dex, luk, slot, hair_color, hair_style, starting_job, sex);
}
if (HPMHooks.count.HP_chr_make_new_char_sql_post > 0) {
- int (*postHookFunc) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job, uint8 sex);
+ int (*postHookFunc) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_job, uint8 sex);
for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_make_new_char_sql_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_chr_make_new_char_sql_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, name_, str, agi, vit, int_, dex, luk, slot, hair_color, hair_style, starting_job, sex);
@@ -906,13 +906,13 @@ int HP_chr_mmo_char_tobuf(uint8 *buffer, struct mmo_charstatus *p) {
}
return retVal___;
}
-void HP_chr_mmo_char_send099d(int fd, struct char_session_data *sd) {
+void HP_chr_send_HC_ACK_CHARINFO_PER_PAGE(int fd, struct char_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_chr_mmo_char_send099d_pre > 0) {
+ if (HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre > 0) {
void (*preHookFunc) (int *fd, struct char_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_mmo_char_send099d_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_chr_mmo_char_send099d_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -921,12 +921,38 @@ void HP_chr_mmo_char_send099d(int fd, struct char_session_data *sd) {
}
}
{
- HPMHooks.source.chr.mmo_char_send099d(fd, sd);
+ HPMHooks.source.chr.send_HC_ACK_CHARINFO_PER_PAGE(fd, sd);
}
- if (HPMHooks.count.HP_chr_mmo_char_send099d_post > 0) {
+ if (HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post > 0) {
void (*postHookFunc) (int fd, struct char_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_mmo_char_send099d_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_chr_mmo_char_send099d_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail(int fd, struct char_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre > 0) {
+ void (*preHookFunc) (int *fd, struct char_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.chr.send_HC_ACK_CHARINFO_PER_PAGE_tail(fd, sd);
+ }
+ if (HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post > 0) {
+ void (*postHookFunc) (int fd, struct char_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post[hIndex].func;
postHookFunc(fd, sd);
}
}
@@ -7005,11 +7031,11 @@ bool HP_inter_guild_leave(int guild_id, int account_id, int char_id, int flag, c
}
return retVal___;
}
-bool HP_inter_guild_update_member_info_short(int guild_id, int account_id, int char_id, int online, int lv, int16 class) {
+bool HP_inter_guild_update_member_info_short(int guild_id, int account_id, int char_id, int online, int lv, int class) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_inter_guild_update_member_info_short_pre > 0) {
- bool (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
+ bool (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_guild_update_member_info_short_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_guild_update_member_info_short_pre[hIndex].func;
@@ -7024,7 +7050,7 @@ bool HP_inter_guild_update_member_info_short(int guild_id, int account_id, int c
retVal___ = HPMHooks.source.inter_guild.update_member_info_short(guild_id, account_id, char_id, online, lv, class);
}
if (HPMHooks.count.HP_inter_guild_update_member_info_short_post > 0) {
- bool (*postHookFunc) (bool retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ bool (*postHookFunc) (bool retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_guild_update_member_info_short_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_inter_guild_update_member_info_short_post[hIndex].func;
retVal___ = postHookFunc(retVal___, guild_id, account_id, char_id, online, lv, class);
@@ -9472,11 +9498,11 @@ int HP_inter_pet_parse_frommap(int fd) {
}
return retVal___;
}
-struct s_pet* HP_inter_pet_create(int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name) {
+struct s_pet* HP_inter_pet_create(int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name) {
int hIndex = 0;
struct s_pet* retVal___ = NULL;
if (HPMHooks.count.HP_inter_pet_create_pre > 0) {
- struct s_pet* (*preHookFunc) (int *account_id, int *char_id, short *pet_class, short *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char **pet_name);
+ struct s_pet* (*preHookFunc) (int *account_id, int *char_id, int *pet_class, int *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char **pet_name);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_pet_create_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_pet_create_pre[hIndex].func;
@@ -9491,7 +9517,7 @@ struct s_pet* HP_inter_pet_create(int account_id, int char_id, short pet_class,
retVal___ = HPMHooks.source.inter_pet.create(account_id, char_id, pet_class, pet_lv, pet_egg_id, pet_equip, intimate, hungry, rename_flag, incubate, pet_name);
}
if (HPMHooks.count.HP_inter_pet_create_post > 0) {
- struct s_pet* (*postHookFunc) (struct s_pet* retVal___, int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
+ struct s_pet* (*postHookFunc) (struct s_pet* retVal___, int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_pet_create_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_inter_pet_create_post[hIndex].func;
retVal___ = postHookFunc(retVal___, account_id, char_id, pet_class, pet_lv, pet_egg_id, pet_equip, intimate, hungry, rename_flag, incubate, pet_name);
@@ -9824,11 +9850,11 @@ bool HP_inter_rodex_hasnew(int char_id, int account_id) {
}
return retVal___;
}
-bool HP_inter_rodex_checkname(const char *name, int *target_char_id, short *target_class, int *target_level) {
+bool HP_inter_rodex_checkname(const char *name, int *target_char_id, int *target_class, int *target_level) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_inter_rodex_checkname_pre > 0) {
- bool (*preHookFunc) (const char **name, int **target_char_id, short **target_class, int **target_level);
+ bool (*preHookFunc) (const char **name, int **target_char_id, int **target_class, int **target_level);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_checkname_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_rodex_checkname_pre[hIndex].func;
@@ -9843,7 +9869,7 @@ bool HP_inter_rodex_checkname(const char *name, int *target_char_id, short *targ
retVal___ = HPMHooks.source.inter_rodex.checkname(name, target_char_id, target_class, target_level);
}
if (HPMHooks.count.HP_inter_rodex_checkname_post > 0) {
- bool (*postHookFunc) (bool retVal___, const char *name, int *target_char_id, short *target_class, int *target_level);
+ bool (*postHookFunc) (bool retVal___, const char *name, int *target_char_id, int *target_class, int *target_level);
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_checkname_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_inter_rodex_checkname_post[hIndex].func;
retVal___ = postHookFunc(retVal___, name, target_char_id, target_class, target_level);
@@ -9878,15 +9904,15 @@ int64 HP_inter_rodex_savemessage(struct rodex_message *msg) {
}
return retVal___;
}
-bool HP_inter_rodex_updatemail(int64 mail_id, int8 flag) {
+bool HP_inter_rodex_updatemail(int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_inter_rodex_updatemail_pre > 0) {
- bool (*preHookFunc) (int64 *mail_id, int8 *flag);
+ bool (*preHookFunc) (int *fd, int *account_id, int *char_id, int64 *mail_id, uint8 *opentype, int8 *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_updatemail_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_rodex_updatemail_pre[hIndex].func;
- retVal___ = preHookFunc(&mail_id, &flag);
+ retVal___ = preHookFunc(&fd, &account_id, &char_id, &mail_id, &opentype, &flag);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -9894,13 +9920,67 @@ bool HP_inter_rodex_updatemail(int64 mail_id, int8 flag) {
}
}
{
- retVal___ = HPMHooks.source.inter_rodex.updatemail(mail_id, flag);
+ retVal___ = HPMHooks.source.inter_rodex.updatemail(fd, account_id, char_id, mail_id, opentype, flag);
}
if (HPMHooks.count.HP_inter_rodex_updatemail_post > 0) {
- bool (*postHookFunc) (bool retVal___, int64 mail_id, int8 flag);
+ bool (*postHookFunc) (bool retVal___, int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_updatemail_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_inter_rodex_updatemail_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, mail_id, flag);
+ retVal___ = postHookFunc(retVal___, fd, account_id, char_id, mail_id, opentype, flag);
+ }
+ }
+ return retVal___;
+}
+int64 HP_inter_rodex_getzeny(int64 mail_id) {
+ int hIndex = 0;
+ int64 retVal___ = 0;
+ if (HPMHooks.count.HP_inter_rodex_getzeny_pre > 0) {
+ int64 (*preHookFunc) (int64 *mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_getzeny_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_rodex_getzeny_pre[hIndex].func;
+ retVal___ = preHookFunc(&mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_rodex.getzeny(mail_id);
+ }
+ if (HPMHooks.count.HP_inter_rodex_getzeny_post > 0) {
+ int64 (*postHookFunc) (int64 retVal___, int64 mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_getzeny_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_rodex_getzeny_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, mail_id);
+ }
+ }
+ return retVal___;
+}
+int HP_inter_rodex_getitems(int64 mail_id, struct rodex_item *items) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_inter_rodex_getitems_pre > 0) {
+ int (*preHookFunc) (int64 *mail_id, struct rodex_item **items);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_getitems_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_rodex_getitems_pre[hIndex].func;
+ retVal___ = preHookFunc(&mail_id, &items);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_rodex.getitems(mail_id, items);
+ }
+ if (HPMHooks.count.HP_inter_rodex_getitems_post > 0) {
+ int (*postHookFunc) (int retVal___, int64 mail_id, struct rodex_item *items);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_getitems_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_rodex_getitems_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, mail_id, items);
}
}
return retVal___;
@@ -13796,11 +13876,11 @@ int HP_mapif_parse_GuildLeave(int fd, int guild_id, int account_id, int char_id,
}
return retVal___;
}
-int HP_mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class) {
+int HP_mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_id, int char_id, int online, int lv, int class) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_mapif_parse_GuildChangeMemberInfoShort_pre > 0) {
- int (*preHookFunc) (int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
+ int (*preHookFunc) (int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_GuildChangeMemberInfoShort_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_mapif_parse_GuildChangeMemberInfoShort_pre[hIndex].func;
@@ -13815,7 +13895,7 @@ int HP_mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_
retVal___ = HPMHooks.source.mapif.parse_GuildChangeMemberInfoShort(fd, guild_id, account_id, char_id, online, lv, class);
}
if (HPMHooks.count.HP_mapif_parse_GuildChangeMemberInfoShort_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ int (*postHookFunc) (int retVal___, int fd, int guild_id, int account_id, int char_id, int online, int lv, int class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_GuildChangeMemberInfoShort_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_mapif_parse_GuildChangeMemberInfoShort_post[hIndex].func;
retVal___ = postHookFunc(retVal___, fd, guild_id, account_id, char_id, online, lv, class);
@@ -15995,10 +16075,10 @@ void HP_mapif_parse_rodex_checkname(int fd) {
}
return;
}
-void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name) {
+void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name) {
int hIndex = 0;
if (HPMHooks.count.HP_mapif_rodex_checkname_pre > 0) {
- void (*preHookFunc) (int *fd, int *reqchar_id, int *target_char_id, short *target_class, int *target_level, char **name);
+ void (*preHookFunc) (int *fd, int *reqchar_id, int *target_char_id, int *target_class, int *target_level, char **name);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_checkname_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_mapif_rodex_checkname_pre[hIndex].func;
@@ -16013,7 +16093,7 @@ void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, short
HPMHooks.source.mapif.rodex_checkname(fd, reqchar_id, target_char_id, target_class, target_level, name);
}
if (HPMHooks.count.HP_mapif_rodex_checkname_post > 0) {
- void (*postHookFunc) (int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name);
+ void (*postHookFunc) (int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name);
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_checkname_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_mapif_rodex_checkname_post[hIndex].func;
postHookFunc(fd, reqchar_id, target_char_id, target_class, target_level, name);
@@ -16021,6 +16101,58 @@ void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, short
}
return;
}
+void HP_mapif_rodex_getzenyack(int fd, int char_id, int64 mail_id, uint8 opentype, int64 zeny) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mapif_rodex_getzenyack_pre > 0) {
+ void (*preHookFunc) (int *fd, int *char_id, int64 *mail_id, uint8 *opentype, int64 *zeny);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_getzenyack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_rodex_getzenyack_pre[hIndex].func;
+ preHookFunc(&fd, &char_id, &mail_id, &opentype, &zeny);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mapif.rodex_getzenyack(fd, char_id, mail_id, opentype, zeny);
+ }
+ if (HPMHooks.count.HP_mapif_rodex_getzenyack_post > 0) {
+ void (*postHookFunc) (int fd, int char_id, int64 mail_id, uint8 opentype, int64 zeny);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_getzenyack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_rodex_getzenyack_post[hIndex].func;
+ postHookFunc(fd, char_id, mail_id, opentype, zeny);
+ }
+ }
+ return;
+}
+void HP_mapif_rodex_getitemsack(int fd, int char_id, int64 mail_id, uint8 opentype, int count, const struct rodex_item *items) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mapif_rodex_getitemsack_pre > 0) {
+ void (*preHookFunc) (int *fd, int *char_id, int64 *mail_id, uint8 *opentype, int *count, const struct rodex_item **items);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_getitemsack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_rodex_getitemsack_pre[hIndex].func;
+ preHookFunc(&fd, &char_id, &mail_id, &opentype, &count, &items);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mapif.rodex_getitemsack(fd, char_id, mail_id, opentype, count, items);
+ }
+ if (HPMHooks.count.HP_mapif_rodex_getitemsack_post > 0) {
+ void (*postHookFunc) (int fd, int char_id, int64 mail_id, uint8 opentype, int count, const struct rodex_item *items);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_getitemsack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_rodex_getitemsack_post[hIndex].func;
+ postHookFunc(fd, char_id, mail_id, opentype, count, items);
+ }
+ }
+ return;
+}
int HP_mapif_load_guild_storage(int fd, int account_id, int guild_id, char flag) {
int hIndex = 0;
int retVal___ = 0;
@@ -17357,6 +17489,111 @@ void HP_nullpo_assert_report(const char *file, int line, const char *func, const
}
return;
}
+/* packets_interface */
+void HP_packets_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.init();
+ }
+ if (HPMHooks.count.HP_packets_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.final();
+ }
+ if (HPMHooks.count.HP_packets_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLens(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLens_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLens_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLens();
+ }
+ if (HPMHooks.count.HP_packets_addLens_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLens_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLen(int id, int len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLen_pre > 0) {
+ void (*preHookFunc) (int *id, int *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLen_pre[hIndex].func;
+ preHookFunc(&id, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLen(id, len);
+ }
+ if (HPMHooks.count.HP_packets_addLen_post > 0) {
+ void (*postHookFunc) (int id, int len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLen_post[hIndex].func;
+ postHookFunc(id, len);
+ }
+ }
+ return;
+}
/* pincode_interface */
void HP_pincode_handle(int fd, struct char_session_data *sd) {
int hIndex = 0;
@@ -18317,15 +18554,15 @@ int HP_sockt_realloc_writefifo(int fd, size_t addition) {
}
return retVal___;
}
-int HP_sockt_wfifoset(int fd, size_t len) {
+int HP_sockt_wfifoset(int fd, size_t len, bool validate) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_sockt_wfifoset_pre > 0) {
- int (*preHookFunc) (int *fd, size_t *len);
+ int (*preHookFunc) (int *fd, size_t *len, bool *validate);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_sockt_wfifoset_pre[hIndex].func;
- retVal___ = preHookFunc(&fd, &len);
+ retVal___ = preHookFunc(&fd, &len, &validate);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -18333,17 +18570,43 @@ int HP_sockt_wfifoset(int fd, size_t len) {
}
}
{
- retVal___ = HPMHooks.source.sockt.wfifoset(fd, len);
+ retVal___ = HPMHooks.source.sockt.wfifoset(fd, len, validate);
}
if (HPMHooks.count.HP_sockt_wfifoset_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, size_t len);
+ int (*postHookFunc) (int retVal___, int fd, size_t len, bool validate);
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_sockt_wfifoset_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd, len);
+ retVal___ = postHookFunc(retVal___, fd, len, validate);
}
}
return retVal___;
}
+void HP_sockt_wfifohead(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_wfifohead_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_wfifohead_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.wfifohead(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_wfifohead_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_wfifohead_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
int HP_sockt_rfifoskip(int fd, size_t len) {
int hIndex = 0;
int retVal___ = 0;
@@ -18397,6 +18660,32 @@ void HP_sockt_close(int fd) {
}
return;
}
+void HP_sockt_validateWfifo(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_validateWfifo_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_validateWfifo_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.validateWfifo(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_validateWfifo_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_validateWfifo_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
bool HP_sockt_session_is_valid(int fd) {
int hIndex = 0;
bool retVal___ = false;
@@ -18503,6 +18792,33 @@ void HP_sockt_flush_fifos(void) {
}
return;
}
+int HP_sockt_connect_client(int listen_fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_sockt_connect_client_pre > 0) {
+ int (*preHookFunc) (int *listen_fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_connect_client_pre[hIndex].func;
+ retVal___ = preHookFunc(&listen_fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.sockt.connect_client(listen_fd);
+ }
+ if (HPMHooks.count.HP_sockt_connect_client_post > 0) {
+ int (*postHookFunc) (int retVal___, int listen_fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_connect_client_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, listen_fd);
+ }
+ }
+ return retVal___;
+}
void HP_sockt_set_nonblocking(int fd, unsigned long yes) {
int hIndex = 0;
if (HPMHooks.count.HP_sockt_set_nonblocking_pre > 0) {
diff --git a/src/plugins/HPMHooking/HPMHooking_char.sources.inc b/src/plugins/HPMHooking/HPMHooking_char.sources.inc
index 0d69cd755..973f8aff3 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.sources.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -54,6 +54,7 @@ HPMHooks.source.mapindex = *mapindex;
HPMHooks.source.md5 = *md5;
HPMHooks.source.mutex = *mutex;
HPMHooks.source.nullpo = *nullpo;
+HPMHooks.source.packets = *packets;
HPMHooks.source.pincode = *pincode;
HPMHooks.source.rnd = *rnd;
HPMHooks.source.showmsg = *showmsg;
diff --git a/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
index 5300ca3a6..ba0fe05c2 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -204,6 +204,10 @@ struct {
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_SSO_LOGIN_REQ_post;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_LOGIN_OTP_pre;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_LOGIN_OTP_post;
+ struct HPMHookPoint *HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre;
+ struct HPMHookPoint *HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post;
+ struct HPMHookPoint *HP_PRIV__lclif_parse_CA_OTP_CODE_pre;
+ struct HPMHookPoint *HP_PRIV__lclif_parse_CA_OTP_CODE_post;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_REQ_HASH_pre;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_REQ_HASH_post;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_pre;
@@ -436,6 +440,8 @@ struct {
struct HPMHookPoint *HP_login_client_login_post;
struct HPMHookPoint *HP_login_client_login_otp_pre;
struct HPMHookPoint *HP_login_client_login_otp_post;
+ struct HPMHookPoint *HP_login_client_login_mobile_otp_request_pre;
+ struct HPMHookPoint *HP_login_client_login_mobile_otp_request_post;
struct HPMHookPoint *HP_login_char_server_connection_status_pre;
struct HPMHookPoint *HP_login_char_server_connection_status_post;
struct HPMHookPoint *HP_login_parse_request_connection_pre;
@@ -512,6 +518,14 @@ struct {
struct HPMHookPoint *HP_mutex_cond_broadcast_post;
struct HPMHookPoint *HP_nullpo_assert_report_pre;
struct HPMHookPoint *HP_nullpo_assert_report_post;
+ struct HPMHookPoint *HP_packets_init_pre;
+ struct HPMHookPoint *HP_packets_init_post;
+ struct HPMHookPoint *HP_packets_final_pre;
+ struct HPMHookPoint *HP_packets_final_post;
+ struct HPMHookPoint *HP_packets_addLens_pre;
+ struct HPMHookPoint *HP_packets_addLens_post;
+ struct HPMHookPoint *HP_packets_addLen_pre;
+ struct HPMHookPoint *HP_packets_addLen_post;
struct HPMHookPoint *HP_rnd_init_pre;
struct HPMHookPoint *HP_rnd_init_post;
struct HPMHookPoint *HP_rnd_final_pre;
@@ -554,10 +568,14 @@ struct {
struct HPMHookPoint *HP_sockt_realloc_writefifo_post;
struct HPMHookPoint *HP_sockt_wfifoset_pre;
struct HPMHookPoint *HP_sockt_wfifoset_post;
+ struct HPMHookPoint *HP_sockt_wfifohead_pre;
+ struct HPMHookPoint *HP_sockt_wfifohead_post;
struct HPMHookPoint *HP_sockt_rfifoskip_pre;
struct HPMHookPoint *HP_sockt_rfifoskip_post;
struct HPMHookPoint *HP_sockt_close_pre;
struct HPMHookPoint *HP_sockt_close_post;
+ struct HPMHookPoint *HP_sockt_validateWfifo_pre;
+ struct HPMHookPoint *HP_sockt_validateWfifo_post;
struct HPMHookPoint *HP_sockt_session_is_valid_pre;
struct HPMHookPoint *HP_sockt_session_is_valid_post;
struct HPMHookPoint *HP_sockt_session_is_active_pre;
@@ -566,6 +584,8 @@ struct {
struct HPMHookPoint *HP_sockt_flush_post;
struct HPMHookPoint *HP_sockt_flush_fifos_pre;
struct HPMHookPoint *HP_sockt_flush_fifos_post;
+ struct HPMHookPoint *HP_sockt_connect_client_pre;
+ struct HPMHookPoint *HP_sockt_connect_client_post;
struct HPMHookPoint *HP_sockt_set_nonblocking_pre;
struct HPMHookPoint *HP_sockt_set_nonblocking_post;
struct HPMHookPoint *HP_sockt_set_defaultparse_pre;
@@ -985,6 +1005,10 @@ struct {
int HP_PRIV__lclif_parse_CA_SSO_LOGIN_REQ_post;
int HP_PRIV__lclif_parse_CA_LOGIN_OTP_pre;
int HP_PRIV__lclif_parse_CA_LOGIN_OTP_post;
+ int HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre;
+ int HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post;
+ int HP_PRIV__lclif_parse_CA_OTP_CODE_pre;
+ int HP_PRIV__lclif_parse_CA_OTP_CODE_post;
int HP_PRIV__lclif_parse_CA_REQ_HASH_pre;
int HP_PRIV__lclif_parse_CA_REQ_HASH_post;
int HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_pre;
@@ -1217,6 +1241,8 @@ struct {
int HP_login_client_login_post;
int HP_login_client_login_otp_pre;
int HP_login_client_login_otp_post;
+ int HP_login_client_login_mobile_otp_request_pre;
+ int HP_login_client_login_mobile_otp_request_post;
int HP_login_char_server_connection_status_pre;
int HP_login_char_server_connection_status_post;
int HP_login_parse_request_connection_pre;
@@ -1293,6 +1319,14 @@ struct {
int HP_mutex_cond_broadcast_post;
int HP_nullpo_assert_report_pre;
int HP_nullpo_assert_report_post;
+ int HP_packets_init_pre;
+ int HP_packets_init_post;
+ int HP_packets_final_pre;
+ int HP_packets_final_post;
+ int HP_packets_addLens_pre;
+ int HP_packets_addLens_post;
+ int HP_packets_addLen_pre;
+ int HP_packets_addLen_post;
int HP_rnd_init_pre;
int HP_rnd_init_post;
int HP_rnd_final_pre;
@@ -1335,10 +1369,14 @@ struct {
int HP_sockt_realloc_writefifo_post;
int HP_sockt_wfifoset_pre;
int HP_sockt_wfifoset_post;
+ int HP_sockt_wfifohead_pre;
+ int HP_sockt_wfifohead_post;
int HP_sockt_rfifoskip_pre;
int HP_sockt_rfifoskip_post;
int HP_sockt_close_pre;
int HP_sockt_close_post;
+ int HP_sockt_validateWfifo_pre;
+ int HP_sockt_validateWfifo_post;
int HP_sockt_session_is_valid_pre;
int HP_sockt_session_is_valid_post;
int HP_sockt_session_is_active_pre;
@@ -1347,6 +1385,8 @@ struct {
int HP_sockt_flush_post;
int HP_sockt_flush_fifos_pre;
int HP_sockt_flush_fifos_post;
+ int HP_sockt_connect_client_pre;
+ int HP_sockt_connect_client_post;
int HP_sockt_set_nonblocking_pre;
int HP_sockt_set_nonblocking_post;
int HP_sockt_set_defaultparse_pre;
@@ -1605,6 +1645,7 @@ struct {
struct md5_interface md5;
struct mutex_interface mutex;
struct nullpo_interface nullpo;
+ struct packets_interface packets;
struct rnd_interface rnd;
struct showmsg_interface showmsg;
struct socket_interface sockt;
diff --git a/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
index 6eb2e8121..1e3548621 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -126,6 +126,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(lclif->p->parse_CA_LOGIN_HAN, HP_PRIV__lclif_parse_CA_LOGIN_HAN) },
{ HP_POP(lclif->p->parse_CA_SSO_LOGIN_REQ, HP_PRIV__lclif_parse_CA_SSO_LOGIN_REQ) },
{ HP_POP(lclif->p->parse_CA_LOGIN_OTP, HP_PRIV__lclif_parse_CA_LOGIN_OTP) },
+ { HP_POP(lclif->p->parse_CA_ACK_MOBILE_OTP, HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP) },
+ { HP_POP(lclif->p->parse_CA_OTP_CODE, HP_PRIV__lclif_parse_CA_OTP_CODE) },
{ HP_POP(lclif->p->parse_CA_REQ_HASH, HP_PRIV__lclif_parse_CA_REQ_HASH) },
{ HP_POP(lclif->p->parse_CA_CHARSERVERCONNECT, HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT) },
/* libconfig_interface */
@@ -244,6 +246,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(login->auth_failed, HP_login_auth_failed) },
{ HP_POP(login->client_login, HP_login_client_login) },
{ HP_POP(login->client_login_otp, HP_login_client_login_otp) },
+ { HP_POP(login->client_login_mobile_otp_request, HP_login_client_login_mobile_otp_request) },
{ HP_POP(login->char_server_connection_status, HP_login_char_server_connection_status) },
{ HP_POP(login->parse_request_connection, HP_login_parse_request_connection) },
{ HP_POP(login->config_set_defaults, HP_login_config_set_defaults) },
@@ -286,6 +289,11 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mutex->cond_broadcast, HP_mutex_cond_broadcast) },
/* nullpo_interface */
{ HP_POP(nullpo->assert_report, HP_nullpo_assert_report) },
+/* packets_interface */
+ { HP_POP(packets->init, HP_packets_init) },
+ { HP_POP(packets->final, HP_packets_final) },
+ { HP_POP(packets->addLens, HP_packets_addLens) },
+ { HP_POP(packets->addLen, HP_packets_addLen) },
/* rnd_interface */
{ HP_POP(rnd->init, HP_rnd_init) },
{ HP_POP(rnd->final, HP_rnd_final) },
@@ -310,12 +318,15 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(sockt->realloc_fifo, HP_sockt_realloc_fifo) },
{ HP_POP(sockt->realloc_writefifo, HP_sockt_realloc_writefifo) },
{ HP_POP(sockt->wfifoset, HP_sockt_wfifoset) },
+ { HP_POP(sockt->wfifohead, HP_sockt_wfifohead) },
{ HP_POP(sockt->rfifoskip, HP_sockt_rfifoskip) },
{ HP_POP(sockt->close, HP_sockt_close) },
+ { HP_POP(sockt->validateWfifo, HP_sockt_validateWfifo) },
{ HP_POP(sockt->session_is_valid, HP_sockt_session_is_valid) },
{ HP_POP(sockt->session_is_active, HP_sockt_session_is_active) },
{ HP_POP(sockt->flush, HP_sockt_flush) },
{ HP_POP(sockt->flush_fifos, HP_sockt_flush_fifos) },
+ { HP_POP(sockt->connect_client, HP_sockt_connect_client) },
{ HP_POP(sockt->set_nonblocking, HP_sockt_set_nonblocking) },
{ HP_POP(sockt->set_defaultparse, HP_sockt_set_defaultparse) },
{ HP_POP(sockt->host2ip, HP_sockt_host2ip) },
diff --git a/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc
index e432da70d..080fb75ff 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -2409,6 +2409,60 @@ enum parsefunc_rcode HP_PRIV__lclif_parse_CA_LOGIN_OTP(int fd, struct login_sess
}
return retVal___;
}
+enum parsefunc_rcode HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP(int fd, struct login_session_data *sd) {
+ int hIndex = 0;
+ enum parsefunc_rcode retVal___ = PACKET_UNKNOWN;
+ if (HPMHooks.count.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre > 0) {
+ enum parsefunc_rcode (*preHookFunc) (int *fd, struct login_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__lclif.parse_CA_ACK_MOBILE_OTP(fd, sd);
+ }
+ if (HPMHooks.count.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post > 0) {
+ enum parsefunc_rcode (*postHookFunc) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd, sd);
+ }
+ }
+ return retVal___;
+}
+enum parsefunc_rcode HP_PRIV__lclif_parse_CA_OTP_CODE(int fd, struct login_session_data *sd) {
+ int hIndex = 0;
+ enum parsefunc_rcode retVal___ = PACKET_UNKNOWN;
+ if (HPMHooks.count.HP_PRIV__lclif_parse_CA_OTP_CODE_pre > 0) {
+ enum parsefunc_rcode (*preHookFunc) (int *fd, struct login_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__lclif_parse_CA_OTP_CODE_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__lclif_parse_CA_OTP_CODE_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__lclif.parse_CA_OTP_CODE(fd, sd);
+ }
+ if (HPMHooks.count.HP_PRIV__lclif_parse_CA_OTP_CODE_post > 0) {
+ enum parsefunc_rcode (*postHookFunc) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__lclif_parse_CA_OTP_CODE_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__lclif_parse_CA_OTP_CODE_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd, sd);
+ }
+ }
+ return retVal___;
+}
enum parsefunc_rcode HP_PRIV__lclif_parse_CA_REQ_HASH(int fd, struct login_session_data *sd) {
int hIndex = 0;
enum parsefunc_rcode retVal___ = PACKET_UNKNOWN;
@@ -5521,6 +5575,32 @@ bool HP_login_client_login_otp(int fd, struct login_session_data *sd) {
}
return retVal___;
}
+void HP_login_client_login_mobile_otp_request(int fd, struct login_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_login_client_login_mobile_otp_request_pre > 0) {
+ void (*preHookFunc) (int *fd, struct login_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_login_client_login_mobile_otp_request_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_login_client_login_mobile_otp_request_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.login.client_login_mobile_otp_request(fd, sd);
+ }
+ if (HPMHooks.count.HP_login_client_login_mobile_otp_request_post > 0) {
+ void (*postHookFunc) (int fd, struct login_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_login_client_login_mobile_otp_request_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_login_client_login_mobile_otp_request_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
void HP_login_char_server_connection_status(int fd, struct login_session_data *sd, uint8 status) {
int hIndex = 0;
if (HPMHooks.count.HP_login_char_server_connection_status_pre > 0) {
@@ -6532,6 +6612,111 @@ void HP_nullpo_assert_report(const char *file, int line, const char *func, const
}
return;
}
+/* packets_interface */
+void HP_packets_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.init();
+ }
+ if (HPMHooks.count.HP_packets_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.final();
+ }
+ if (HPMHooks.count.HP_packets_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLens(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLens_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLens_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLens();
+ }
+ if (HPMHooks.count.HP_packets_addLens_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLens_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLen(int id, int len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLen_pre > 0) {
+ void (*preHookFunc) (int *id, int *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLen_pre[hIndex].func;
+ preHookFunc(&id, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLen(id, len);
+ }
+ if (HPMHooks.count.HP_packets_addLen_post > 0) {
+ void (*postHookFunc) (int id, int len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLen_post[hIndex].func;
+ postHookFunc(id, len);
+ }
+ }
+ return;
+}
/* rnd_interface */
void HP_rnd_init(void) {
int hIndex = 0;
@@ -7072,15 +7257,15 @@ int HP_sockt_realloc_writefifo(int fd, size_t addition) {
}
return retVal___;
}
-int HP_sockt_wfifoset(int fd, size_t len) {
+int HP_sockt_wfifoset(int fd, size_t len, bool validate) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_sockt_wfifoset_pre > 0) {
- int (*preHookFunc) (int *fd, size_t *len);
+ int (*preHookFunc) (int *fd, size_t *len, bool *validate);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_sockt_wfifoset_pre[hIndex].func;
- retVal___ = preHookFunc(&fd, &len);
+ retVal___ = preHookFunc(&fd, &len, &validate);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -7088,17 +7273,43 @@ int HP_sockt_wfifoset(int fd, size_t len) {
}
}
{
- retVal___ = HPMHooks.source.sockt.wfifoset(fd, len);
+ retVal___ = HPMHooks.source.sockt.wfifoset(fd, len, validate);
}
if (HPMHooks.count.HP_sockt_wfifoset_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, size_t len);
+ int (*postHookFunc) (int retVal___, int fd, size_t len, bool validate);
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_sockt_wfifoset_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd, len);
+ retVal___ = postHookFunc(retVal___, fd, len, validate);
}
}
return retVal___;
}
+void HP_sockt_wfifohead(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_wfifohead_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_wfifohead_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.wfifohead(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_wfifohead_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_wfifohead_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
int HP_sockt_rfifoskip(int fd, size_t len) {
int hIndex = 0;
int retVal___ = 0;
@@ -7152,6 +7363,32 @@ void HP_sockt_close(int fd) {
}
return;
}
+void HP_sockt_validateWfifo(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_validateWfifo_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_validateWfifo_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.validateWfifo(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_validateWfifo_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_validateWfifo_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
bool HP_sockt_session_is_valid(int fd) {
int hIndex = 0;
bool retVal___ = false;
@@ -7258,6 +7495,33 @@ void HP_sockt_flush_fifos(void) {
}
return;
}
+int HP_sockt_connect_client(int listen_fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_sockt_connect_client_pre > 0) {
+ int (*preHookFunc) (int *listen_fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_connect_client_pre[hIndex].func;
+ retVal___ = preHookFunc(&listen_fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.sockt.connect_client(listen_fd);
+ }
+ if (HPMHooks.count.HP_sockt_connect_client_post > 0) {
+ int (*postHookFunc) (int retVal___, int listen_fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_connect_client_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, listen_fd);
+ }
+ }
+ return retVal___;
+}
void HP_sockt_set_nonblocking(int fd, unsigned long yes) {
int hIndex = 0;
if (HPMHooks.count.HP_sockt_set_nonblocking_pre > 0) {
diff --git a/src/plugins/HPMHooking/HPMHooking_login.sources.inc b/src/plugins/HPMHooking/HPMHooking_login.sources.inc
index 78c506043..510cb8bc4 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.sources.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -42,6 +42,7 @@ HPMHooks.source.loginlog = *loginlog;
HPMHooks.source.md5 = *md5;
HPMHooks.source.mutex = *mutex;
HPMHooks.source.nullpo = *nullpo;
+HPMHooks.source.packets = *packets;
HPMHooks.source.rnd = *rnd;
HPMHooks.source.showmsg = *showmsg;
HPMHooks.source.sockt = *sockt;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 457bf90fe..1044b7592 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -136,6 +136,10 @@ struct {
struct HPMHookPoint *HP_achievement_check_title_post;
struct HPMHookPoint *HP_achievement_get_rewards_pre;
struct HPMHookPoint *HP_achievement_get_rewards_post;
+ struct HPMHookPoint *HP_achievement_get_rewards_buffs_pre;
+ struct HPMHookPoint *HP_achievement_get_rewards_buffs_post;
+ struct HPMHookPoint *HP_achievement_get_rewards_items_pre;
+ struct HPMHookPoint *HP_achievement_get_rewards_items_post;
struct HPMHookPoint *HP_atcommand_init_pre;
struct HPMHookPoint *HP_atcommand_init_post;
struct HPMHookPoint *HP_atcommand_final_pre;
@@ -232,6 +236,8 @@ struct {
struct HPMHookPoint *HP_battle_drain_post;
struct HPMHookPoint *HP_battle_reflect_damage_pre;
struct HPMHookPoint *HP_battle_reflect_damage_post;
+ struct HPMHookPoint *HP_battle_reflect_trap_pre;
+ struct HPMHookPoint *HP_battle_reflect_trap_post;
struct HPMHookPoint *HP_battle_attr_ratio_pre;
struct HPMHookPoint *HP_battle_attr_ratio_post;
struct HPMHookPoint *HP_battle_attr_fix_pre;
@@ -912,12 +918,30 @@ struct {
struct HPMHookPoint *HP_clif_status_change_post;
struct HPMHookPoint *HP_clif_insert_card_pre;
struct HPMHookPoint *HP_clif_insert_card_post;
- struct HPMHookPoint *HP_clif_inventorylist_pre;
- struct HPMHookPoint *HP_clif_inventorylist_post;
- struct HPMHookPoint *HP_clif_equiplist_pre;
- struct HPMHookPoint *HP_clif_equiplist_post;
- struct HPMHookPoint *HP_clif_cartlist_pre;
- struct HPMHookPoint *HP_clif_cartlist_post;
+ struct HPMHookPoint *HP_clif_inventoryList_pre;
+ struct HPMHookPoint *HP_clif_inventoryList_post;
+ struct HPMHookPoint *HP_clif_inventoryItems_pre;
+ struct HPMHookPoint *HP_clif_inventoryItems_post;
+ struct HPMHookPoint *HP_clif_equipList_pre;
+ struct HPMHookPoint *HP_clif_equipList_post;
+ struct HPMHookPoint *HP_clif_equipItems_pre;
+ struct HPMHookPoint *HP_clif_equipItems_post;
+ struct HPMHookPoint *HP_clif_cartList_pre;
+ struct HPMHookPoint *HP_clif_cartList_post;
+ struct HPMHookPoint *HP_clif_cartItems_pre;
+ struct HPMHookPoint *HP_clif_cartItems_post;
+ struct HPMHookPoint *HP_clif_inventoryExpansionInfo_pre;
+ struct HPMHookPoint *HP_clif_inventoryExpansionInfo_post;
+ struct HPMHookPoint *HP_clif_inventoryExpandAck_pre;
+ struct HPMHookPoint *HP_clif_inventoryExpandAck_post;
+ struct HPMHookPoint *HP_clif_inventoryExpandResult_pre;
+ struct HPMHookPoint *HP_clif_inventoryExpandResult_post;
+ struct HPMHookPoint *HP_clif_pInventoryExpansion_pre;
+ struct HPMHookPoint *HP_clif_pInventoryExpansion_post;
+ struct HPMHookPoint *HP_clif_pInventoryExpansionConfirmed_pre;
+ struct HPMHookPoint *HP_clif_pInventoryExpansionConfirmed_post;
+ struct HPMHookPoint *HP_clif_pInventoryExpansionRejected_pre;
+ struct HPMHookPoint *HP_clif_pInventoryExpansionRejected_post;
struct HPMHookPoint *HP_clif_favorite_item_pre;
struct HPMHookPoint *HP_clif_favorite_item_post;
struct HPMHookPoint *HP_clif_clearcart_pre;
@@ -944,8 +968,32 @@ struct {
struct HPMHookPoint *HP_clif_mvp_noitem_post;
struct HPMHookPoint *HP_clif_changed_dir_pre;
struct HPMHookPoint *HP_clif_changed_dir_post;
- struct HPMHookPoint *HP_clif_charnameack_pre;
- struct HPMHookPoint *HP_clif_charnameack_post;
+ struct HPMHookPoint *HP_clif_blname_ack_pre;
+ struct HPMHookPoint *HP_clif_blname_ack_post;
+ struct HPMHookPoint *HP_clif_pcname_ack_pre;
+ struct HPMHookPoint *HP_clif_pcname_ack_post;
+ struct HPMHookPoint *HP_clif_homname_ack_pre;
+ struct HPMHookPoint *HP_clif_homname_ack_post;
+ struct HPMHookPoint *HP_clif_mername_ack_pre;
+ struct HPMHookPoint *HP_clif_mername_ack_post;
+ struct HPMHookPoint *HP_clif_petname_ack_pre;
+ struct HPMHookPoint *HP_clif_petname_ack_post;
+ struct HPMHookPoint *HP_clif_npcname_ack_pre;
+ struct HPMHookPoint *HP_clif_npcname_ack_post;
+ struct HPMHookPoint *HP_clif_mobname_ack_pre;
+ struct HPMHookPoint *HP_clif_mobname_ack_post;
+ struct HPMHookPoint *HP_clif_mobname_guardian_ack_pre;
+ struct HPMHookPoint *HP_clif_mobname_guardian_ack_post;
+ struct HPMHookPoint *HP_clif_mobname_additional_ack_pre;
+ struct HPMHookPoint *HP_clif_mobname_additional_ack_post;
+ struct HPMHookPoint *HP_clif_mobname_normal_ack_pre;
+ struct HPMHookPoint *HP_clif_mobname_normal_ack_post;
+ struct HPMHookPoint *HP_clif_chatname_ack_pre;
+ struct HPMHookPoint *HP_clif_chatname_ack_post;
+ struct HPMHookPoint *HP_clif_elemname_ack_pre;
+ struct HPMHookPoint *HP_clif_elemname_ack_post;
+ struct HPMHookPoint *HP_clif_unknownname_ack_pre;
+ struct HPMHookPoint *HP_clif_unknownname_ack_post;
struct HPMHookPoint *HP_clif_monster_hp_bar_pre;
struct HPMHookPoint *HP_clif_monster_hp_bar_post;
struct HPMHookPoint *HP_clif_hpmeter_pre;
@@ -1098,6 +1146,10 @@ struct {
struct HPMHookPoint *HP_clif_specialeffect_single_post;
struct HPMHookPoint *HP_clif_specialeffect_value_pre;
struct HPMHookPoint *HP_clif_specialeffect_value_post;
+ struct HPMHookPoint *HP_clif_removeSpecialEffect_pre;
+ struct HPMHookPoint *HP_clif_removeSpecialEffect_post;
+ struct HPMHookPoint *HP_clif_removeSpecialEffect_single_pre;
+ struct HPMHookPoint *HP_clif_removeSpecialEffect_single_post;
struct HPMHookPoint *HP_clif_millenniumshield_pre;
struct HPMHookPoint *HP_clif_millenniumshield_post;
struct HPMHookPoint *HP_clif_spiritcharm_pre;
@@ -1128,6 +1180,8 @@ struct {
struct HPMHookPoint *HP_clif_addchat_post;
struct HPMHookPoint *HP_clif_changechatowner_pre;
struct HPMHookPoint *HP_clif_changechatowner_post;
+ struct HPMHookPoint *HP_clif_chatRoleChange_pre;
+ struct HPMHookPoint *HP_clif_chatRoleChange_post;
struct HPMHookPoint *HP_clif_clearchat_pre;
struct HPMHookPoint *HP_clif_clearchat_post;
struct HPMHookPoint *HP_clif_leavechat_pre;
@@ -1148,6 +1202,8 @@ struct {
struct HPMHookPoint *HP_clif_messagecolor_self_post;
struct HPMHookPoint *HP_clif_messagecolor_pre;
struct HPMHookPoint *HP_clif_messagecolor_post;
+ struct HPMHookPoint *HP_clif_serviceMessageColor_pre;
+ struct HPMHookPoint *HP_clif_serviceMessageColor_post;
struct HPMHookPoint *HP_clif_disp_overhead_pre;
struct HPMHookPoint *HP_clif_disp_overhead_post;
struct HPMHookPoint *HP_clif_notify_playerchat_pre;
@@ -1212,8 +1268,16 @@ struct {
struct HPMHookPoint *HP_clif_openvendingAck_post;
struct HPMHookPoint *HP_clif_vendingreport_pre;
struct HPMHookPoint *HP_clif_vendingreport_post;
- struct HPMHookPoint *HP_clif_storagelist_pre;
- struct HPMHookPoint *HP_clif_storagelist_post;
+ struct HPMHookPoint *HP_clif_storageList_pre;
+ struct HPMHookPoint *HP_clif_storageList_post;
+ struct HPMHookPoint *HP_clif_guildStorageList_pre;
+ struct HPMHookPoint *HP_clif_guildStorageList_post;
+ struct HPMHookPoint *HP_clif_storageItems_pre;
+ struct HPMHookPoint *HP_clif_storageItems_post;
+ struct HPMHookPoint *HP_clif_inventoryStart_pre;
+ struct HPMHookPoint *HP_clif_inventoryStart_post;
+ struct HPMHookPoint *HP_clif_inventoryEnd_pre;
+ struct HPMHookPoint *HP_clif_inventoryEnd_post;
struct HPMHookPoint *HP_clif_updatestorageamount_pre;
struct HPMHookPoint *HP_clif_updatestorageamount_post;
struct HPMHookPoint *HP_clif_storageitemadded_pre;
@@ -1576,6 +1640,8 @@ struct {
struct HPMHookPoint *HP_clif_parse_roulette_db_post;
struct HPMHookPoint *HP_clif_roulette_generate_ack_pre;
struct HPMHookPoint *HP_clif_roulette_generate_ack_post;
+ struct HPMHookPoint *HP_clif_roulette_close_pre;
+ struct HPMHookPoint *HP_clif_roulette_close_post;
struct HPMHookPoint *HP_clif_openmergeitem_pre;
struct HPMHookPoint *HP_clif_openmergeitem_post;
struct HPMHookPoint *HP_clif_cancelmergeitem_pre;
@@ -1584,6 +1650,8 @@ struct {
struct HPMHookPoint *HP_clif_comparemergeitem_post;
struct HPMHookPoint *HP_clif_ackmergeitems_pre;
struct HPMHookPoint *HP_clif_ackmergeitems_post;
+ struct HPMHookPoint *HP_clif_mergeitems_pre;
+ struct HPMHookPoint *HP_clif_mergeitems_post;
struct HPMHookPoint *HP_clif_isdisguised_pre;
struct HPMHookPoint *HP_clif_isdisguised_post;
struct HPMHookPoint *HP_clif_navigate_to_pre;
@@ -1694,8 +1762,14 @@ struct {
struct HPMHookPoint *HP_clif_pStatusUp_post;
struct HPMHookPoint *HP_clif_pSkillUp_pre;
struct HPMHookPoint *HP_clif_pSkillUp_post;
+ struct HPMHookPoint *HP_clif_useSkillToIdReal_pre;
+ struct HPMHookPoint *HP_clif_useSkillToIdReal_post;
struct HPMHookPoint *HP_clif_pUseSkillToId_pre;
struct HPMHookPoint *HP_clif_pUseSkillToId_post;
+ struct HPMHookPoint *HP_clif_pStartUseSkillToId_pre;
+ struct HPMHookPoint *HP_clif_pStartUseSkillToId_post;
+ struct HPMHookPoint *HP_clif_pStopUseSkillToId_pre;
+ struct HPMHookPoint *HP_clif_pStopUseSkillToId_post;
struct HPMHookPoint *HP_clif_pUseSkillToId_homun_pre;
struct HPMHookPoint *HP_clif_pUseSkillToId_homun_post;
struct HPMHookPoint *HP_clif_pUseSkillToId_mercenary_pre;
@@ -2022,6 +2096,8 @@ struct {
struct HPMHookPoint *HP_clif_pPartyTick_post;
struct HPMHookPoint *HP_clif_pGuildInvite2_pre;
struct HPMHookPoint *HP_clif_pGuildInvite2_post;
+ struct HPMHookPoint *HP_clif_cashShopBuyAck_pre;
+ struct HPMHookPoint *HP_clif_cashShopBuyAck_post;
struct HPMHookPoint *HP_clif_pPartyBookingAddFilter_pre;
struct HPMHookPoint *HP_clif_pPartyBookingAddFilter_post;
struct HPMHookPoint *HP_clif_pPartyBookingSubFilter_pre;
@@ -2166,24 +2242,12 @@ struct {
struct HPMHookPoint *HP_clif_pPrivateAirshipRequest_post;
struct HPMHookPoint *HP_clif_PrivateAirshipResponse_pre;
struct HPMHookPoint *HP_clif_PrivateAirshipResponse_post;
- struct HPMHookPoint *HP_clif_stylist_vector_init_pre;
- struct HPMHookPoint *HP_clif_stylist_vector_init_post;
- struct HPMHookPoint *HP_clif_stylist_vector_clear_pre;
- struct HPMHookPoint *HP_clif_stylist_vector_clear_post;
- struct HPMHookPoint *HP_clif_stylist_read_db_libconfig_pre;
- struct HPMHookPoint *HP_clif_stylist_read_db_libconfig_post;
- struct HPMHookPoint *HP_clif_stylist_read_db_libconfig_sub_pre;
- struct HPMHookPoint *HP_clif_stylist_read_db_libconfig_sub_post;
- struct HPMHookPoint *HP_clif_style_change_validate_requirements_pre;
- struct HPMHookPoint *HP_clif_style_change_validate_requirements_post;
- struct HPMHookPoint *HP_clif_stylist_send_rodexitem_pre;
- struct HPMHookPoint *HP_clif_stylist_send_rodexitem_post;
struct HPMHookPoint *HP_clif_pReqStyleChange_pre;
struct HPMHookPoint *HP_clif_pReqStyleChange_post;
struct HPMHookPoint *HP_clif_pReqStyleChange2_pre;
struct HPMHookPoint *HP_clif_pReqStyleChange2_post;
- struct HPMHookPoint *HP_clif_cz_req_style_change_sub_pre;
- struct HPMHookPoint *HP_clif_cz_req_style_change_sub_post;
+ struct HPMHookPoint *HP_clif_pStyleClose_pre;
+ struct HPMHookPoint *HP_clif_pStyleClose_post;
struct HPMHookPoint *HP_clif_style_change_response_pre;
struct HPMHookPoint *HP_clif_style_change_response_post;
struct HPMHookPoint *HP_clif_pPetEvolution_pre;
@@ -2192,6 +2256,54 @@ struct {
struct HPMHookPoint *HP_clif_petEvolutionResult_post;
struct HPMHookPoint *HP_clif_party_dead_notification_pre;
struct HPMHookPoint *HP_clif_party_dead_notification_post;
+ struct HPMHookPoint *HP_clif_pMemorialDungeonCommand_pre;
+ struct HPMHookPoint *HP_clif_pMemorialDungeonCommand_post;
+ struct HPMHookPoint *HP_clif_camera_showWindow_pre;
+ struct HPMHookPoint *HP_clif_camera_showWindow_post;
+ struct HPMHookPoint *HP_clif_camera_change_pre;
+ struct HPMHookPoint *HP_clif_camera_change_post;
+ struct HPMHookPoint *HP_clif_pCameraInfo_pre;
+ struct HPMHookPoint *HP_clif_pCameraInfo_post;
+ struct HPMHookPoint *HP_clif_item_preview_pre;
+ struct HPMHookPoint *HP_clif_item_preview_post;
+ struct HPMHookPoint *HP_clif_enchant_equipment_pre;
+ struct HPMHookPoint *HP_clif_enchant_equipment_post;
+ struct HPMHookPoint *HP_clif_pReqRemainTime_pre;
+ struct HPMHookPoint *HP_clif_pReqRemainTime_post;
+ struct HPMHookPoint *HP_clif_npc_barter_open_pre;
+ struct HPMHookPoint *HP_clif_npc_barter_open_post;
+ struct HPMHookPoint *HP_clif_pNPCBarterClosed_pre;
+ struct HPMHookPoint *HP_clif_pNPCBarterClosed_post;
+ struct HPMHookPoint *HP_clif_pNPCBarterPurchase_pre;
+ struct HPMHookPoint *HP_clif_pNPCBarterPurchase_post;
+ struct HPMHookPoint *HP_clif_pClientVersion_pre;
+ struct HPMHookPoint *HP_clif_pClientVersion_post;
+ struct HPMHookPoint *HP_clif_pPing_pre;
+ struct HPMHookPoint *HP_clif_pPing_post;
+ struct HPMHookPoint *HP_clif_ping_pre;
+ struct HPMHookPoint *HP_clif_ping_post;
+ struct HPMHookPoint *HP_clif_pingTimer_pre;
+ struct HPMHookPoint *HP_clif_pingTimer_post;
+ struct HPMHookPoint *HP_clif_pingTimerSub_pre;
+ struct HPMHookPoint *HP_clif_pingTimerSub_post;
+ struct HPMHookPoint *HP_clif_pResetCooldown_pre;
+ struct HPMHookPoint *HP_clif_pResetCooldown_post;
+ struct HPMHookPoint *HP_clif_loadConfirm_pre;
+ struct HPMHookPoint *HP_clif_loadConfirm_post;
+ struct HPMHookPoint *HP_clif_send_selforarea_pre;
+ struct HPMHookPoint *HP_clif_send_selforarea_post;
+ struct HPMHookPoint *HP_clif_OpenRefineryUI_pre;
+ struct HPMHookPoint *HP_clif_OpenRefineryUI_post;
+ struct HPMHookPoint *HP_clif_pAddItemRefineryUI_pre;
+ struct HPMHookPoint *HP_clif_pAddItemRefineryUI_post;
+ struct HPMHookPoint *HP_clif_AddItemRefineryUIAck_pre;
+ struct HPMHookPoint *HP_clif_AddItemRefineryUIAck_post;
+ struct HPMHookPoint *HP_clif_pRefineryUIClose_pre;
+ struct HPMHookPoint *HP_clif_pRefineryUIClose_post;
+ struct HPMHookPoint *HP_clif_pRefineryUIRefine_pre;
+ struct HPMHookPoint *HP_clif_pRefineryUIRefine_post;
+ struct HPMHookPoint *HP_clif_announce_refine_status_pre;
+ struct HPMHookPoint *HP_clif_announce_refine_status_post;
struct HPMHookPoint *HP_cmdline_init_pre;
struct HPMHookPoint *HP_cmdline_init_post;
struct HPMHookPoint *HP_cmdline_final_pre;
@@ -2686,6 +2798,8 @@ struct {
struct HPMHookPoint *HP_instance_valid_post;
struct HPMHookPoint *HP_instance_destroy_timer_pre;
struct HPMHookPoint *HP_instance_destroy_timer_post;
+ struct HPMHookPoint *HP_instance_force_destroy_pre;
+ struct HPMHookPoint *HP_instance_force_destroy_post;
struct HPMHookPoint *HP_intif_parse_pre;
struct HPMHookPoint *HP_intif_parse_post;
struct HPMHookPoint *HP_intif_create_pet_pre;
@@ -2834,6 +2948,10 @@ struct {
struct HPMHookPoint *HP_intif_rodex_sendmail_post;
struct HPMHookPoint *HP_intif_rodex_checkname_pre;
struct HPMHookPoint *HP_intif_rodex_checkname_post;
+ struct HPMHookPoint *HP_intif_pGetZenyAck_pre;
+ struct HPMHookPoint *HP_intif_pGetZenyAck_post;
+ struct HPMHookPoint *HP_intif_pGetItemsAck_pre;
+ struct HPMHookPoint *HP_intif_pGetItemsAck_post;
struct HPMHookPoint *HP_intif_clan_kickoffline_pre;
struct HPMHookPoint *HP_intif_clan_kickoffline_post;
struct HPMHookPoint *HP_intif_clan_membercount_pre;
@@ -3152,6 +3270,8 @@ struct {
struct HPMHookPoint *HP_itemdb_lookup_const_post;
struct HPMHookPoint *HP_itemdb_lookup_const_mask_pre;
struct HPMHookPoint *HP_itemdb_lookup_const_mask_post;
+ struct HPMHookPoint *HP_itemdb_addname_sub_pre;
+ struct HPMHookPoint *HP_itemdb_addname_sub_post;
struct HPMHookPoint *HP_libconfig_read_pre;
struct HPMHookPoint *HP_libconfig_read_post;
struct HPMHookPoint *HP_libconfig_write_pre;
@@ -3354,6 +3474,8 @@ struct {
struct HPMHookPoint *HP_map_zone_init_post;
struct HPMHookPoint *HP_map_zone_remove_pre;
struct HPMHookPoint *HP_map_zone_remove_post;
+ struct HPMHookPoint *HP_map_zone_remove_all_pre;
+ struct HPMHookPoint *HP_map_zone_remove_all_post;
struct HPMHookPoint *HP_map_zone_apply_pre;
struct HPMHookPoint *HP_map_zone_apply_post;
struct HPMHookPoint *HP_map_zone_change_pre;
@@ -3830,6 +3952,8 @@ struct {
struct HPMHookPoint *HP_mob_ai_lazy_post;
struct HPMHookPoint *HP_mob_ai_hard_pre;
struct HPMHookPoint *HP_mob_ai_hard_post;
+ struct HPMHookPoint *HP_mob_setdropitem_options_pre;
+ struct HPMHookPoint *HP_mob_setdropitem_options_post;
struct HPMHookPoint *HP_mob_setdropitem_pre;
struct HPMHookPoint *HP_mob_setdropitem_post;
struct HPMHookPoint *HP_mob_setlootitem_pre;
@@ -3896,6 +4020,14 @@ struct {
struct HPMHookPoint *HP_mob_drop_adjust_post;
struct HPMHookPoint *HP_mob_item_dropratio_adjust_pre;
struct HPMHookPoint *HP_mob_item_dropratio_adjust_post;
+ struct HPMHookPoint *HP_mob_read_optdrops_option_pre;
+ struct HPMHookPoint *HP_mob_read_optdrops_option_post;
+ struct HPMHookPoint *HP_mob_read_optdrops_optslot_pre;
+ struct HPMHookPoint *HP_mob_read_optdrops_optslot_post;
+ struct HPMHookPoint *HP_mob_read_optdrops_group_pre;
+ struct HPMHookPoint *HP_mob_read_optdrops_group_post;
+ struct HPMHookPoint *HP_mob_read_optdrops_db_pre;
+ struct HPMHookPoint *HP_mob_read_optdrops_db_post;
struct HPMHookPoint *HP_mob_readdb_pre;
struct HPMHookPoint *HP_mob_readdb_post;
struct HPMHookPoint *HP_mob_lookup_const_pre;
@@ -3916,6 +4048,8 @@ struct {
struct HPMHookPoint *HP_mob_read_db_mvpdrops_sub_post;
struct HPMHookPoint *HP_mob_read_db_mode_sub_pre;
struct HPMHookPoint *HP_mob_read_db_mode_sub_post;
+ struct HPMHookPoint *HP_mob_read_db_drops_option_pre;
+ struct HPMHookPoint *HP_mob_read_db_drops_option_post;
struct HPMHookPoint *HP_mob_read_db_stats_sub_pre;
struct HPMHookPoint *HP_mob_read_db_stats_sub_post;
struct HPMHookPoint *HP_mob_name_constants_pre;
@@ -3946,6 +4080,8 @@ struct {
struct HPMHookPoint *HP_mob_final_ratio_sub_post;
struct HPMHookPoint *HP_mob_destroy_mob_db_pre;
struct HPMHookPoint *HP_mob_destroy_mob_db_post;
+ struct HPMHookPoint *HP_mob_destroy_drop_groups_pre;
+ struct HPMHookPoint *HP_mob_destroy_drop_groups_post;
struct HPMHookPoint *HP_mob_skill_db_libconfig_pre;
struct HPMHookPoint *HP_mob_skill_db_libconfig_post;
struct HPMHookPoint *HP_mob_skill_db_libconfig_sub_pre;
@@ -4196,6 +4332,8 @@ struct {
struct HPMHookPoint *HP_npc_trader_update_post;
struct HPMHookPoint *HP_npc_market_buylist_pre;
struct HPMHookPoint *HP_npc_market_buylist_post;
+ struct HPMHookPoint *HP_npc_barter_buylist_pre;
+ struct HPMHookPoint *HP_npc_barter_buylist_post;
struct HPMHookPoint *HP_npc_trader_open_pre;
struct HPMHookPoint *HP_npc_trader_open_post;
struct HPMHookPoint *HP_npc_market_fromsql_pre;
@@ -4206,14 +4344,32 @@ struct {
struct HPMHookPoint *HP_npc_market_delfromsql_post;
struct HPMHookPoint *HP_npc_market_delfromsql_sub_pre;
struct HPMHookPoint *HP_npc_market_delfromsql_sub_post;
+ struct HPMHookPoint *HP_npc_barter_fromsql_pre;
+ struct HPMHookPoint *HP_npc_barter_fromsql_post;
+ struct HPMHookPoint *HP_npc_barter_tosql_pre;
+ struct HPMHookPoint *HP_npc_barter_tosql_post;
+ struct HPMHookPoint *HP_npc_barter_delfromsql_pre;
+ struct HPMHookPoint *HP_npc_barter_delfromsql_post;
+ struct HPMHookPoint *HP_npc_barter_delfromsql_sub_pre;
+ struct HPMHookPoint *HP_npc_barter_delfromsql_sub_post;
struct HPMHookPoint *HP_npc_db_checkid_pre;
struct HPMHookPoint *HP_npc_db_checkid_post;
struct HPMHookPoint *HP_npc_refresh_pre;
struct HPMHookPoint *HP_npc_refresh_post;
+ struct HPMHookPoint *HP_npc_questinfo_clear_pre;
+ struct HPMHookPoint *HP_npc_questinfo_clear_post;
struct HPMHookPoint *HP_npc_secure_timeout_timer_pre;
struct HPMHookPoint *HP_npc_secure_timeout_timer_post;
struct HPMHookPoint *HP_nullpo_assert_report_pre;
struct HPMHookPoint *HP_nullpo_assert_report_post;
+ struct HPMHookPoint *HP_packets_init_pre;
+ struct HPMHookPoint *HP_packets_init_post;
+ struct HPMHookPoint *HP_packets_final_pre;
+ struct HPMHookPoint *HP_packets_final_post;
+ struct HPMHookPoint *HP_packets_addLens_pre;
+ struct HPMHookPoint *HP_packets_addLens_post;
+ struct HPMHookPoint *HP_packets_addLen_pre;
+ struct HPMHookPoint *HP_packets_addLen_post;
struct HPMHookPoint *HP_party_init_pre;
struct HPMHookPoint *HP_party_init_post;
struct HPMHookPoint *HP_party_final_pre;
@@ -4824,6 +4980,8 @@ struct {
struct HPMHookPoint *HP_pc_isDeathPenaltyJob_post;
struct HPMHookPoint *HP_pc_has_second_costume_pre;
struct HPMHookPoint *HP_pc_has_second_costume_post;
+ struct HPMHookPoint *HP_pc_expandInventory_pre;
+ struct HPMHookPoint *HP_pc_expandInventory_post;
struct HPMHookPoint *HP_libpcre_compile_pre;
struct HPMHookPoint *HP_libpcre_compile_post;
struct HPMHookPoint *HP_libpcre_study_pre;
@@ -4978,8 +5136,38 @@ struct {
struct HPMHookPoint *HP_quest_questinfo_validate_homunculus_type_post;
struct HPMHookPoint *HP_quest_questinfo_validate_quests_pre;
struct HPMHookPoint *HP_quest_questinfo_validate_quests_post;
- struct HPMHookPoint *HP_quest_questinfo_vector_clear_pre;
- struct HPMHookPoint *HP_quest_questinfo_vector_clear_post;
+ struct HPMHookPoint *HP_quest_questinfo_validate_mercenary_class_pre;
+ struct HPMHookPoint *HP_quest_questinfo_validate_mercenary_class_post;
+ struct HPMHookPoint *HP_refine_init_pre;
+ struct HPMHookPoint *HP_refine_init_post;
+ struct HPMHookPoint *HP_refine_final_pre;
+ struct HPMHookPoint *HP_refine_final_post;
+ struct HPMHookPoint *HP_refine_get_refine_chance_pre;
+ struct HPMHookPoint *HP_refine_get_refine_chance_post;
+ struct HPMHookPoint *HP_refine_get_bonus_pre;
+ struct HPMHookPoint *HP_refine_get_bonus_post;
+ struct HPMHookPoint *HP_refine_get_randombonus_max_pre;
+ struct HPMHookPoint *HP_refine_get_randombonus_max_post;
+ struct HPMHookPoint *HP_refine_refinery_add_item_pre;
+ struct HPMHookPoint *HP_refine_refinery_add_item_post;
+ struct HPMHookPoint *HP_refine_refinery_refine_request_pre;
+ struct HPMHookPoint *HP_refine_refinery_refine_request_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refine_libconfig_sub_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refine_libconfig_sub_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refine_libconfig_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refine_libconfig_post;
+ struct HPMHookPoint *HP_PRIV__refine_announce_behavior_string2enum_pre;
+ struct HPMHookPoint *HP_PRIV__refine_announce_behavior_string2enum_post;
+ struct HPMHookPoint *HP_PRIV__refine_failure_behavior_string2enum_pre;
+ struct HPMHookPoint *HP_PRIV__refine_failure_behavior_string2enum_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_items_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_items_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_sub_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_sub_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_post;
+ struct HPMHookPoint *HP_PRIV__refine_is_refinable_pre;
+ struct HPMHookPoint *HP_PRIV__refine_is_refinable_post;
struct HPMHookPoint *HP_rnd_init_pre;
struct HPMHookPoint *HP_rnd_init_post;
struct HPMHookPoint *HP_rnd_final_pre;
@@ -5030,6 +5218,10 @@ struct {
struct HPMHookPoint *HP_rodex_delete_mail_post;
struct HPMHookPoint *HP_rodex_clean_pre;
struct HPMHookPoint *HP_rodex_clean_post;
+ struct HPMHookPoint *HP_rodex_getZenyAck_pre;
+ struct HPMHookPoint *HP_rodex_getZenyAck_post;
+ struct HPMHookPoint *HP_rodex_getItemsAck_pre;
+ struct HPMHookPoint *HP_rodex_getItemsAck_post;
struct HPMHookPoint *HP_script_init_pre;
struct HPMHookPoint *HP_script_init_post;
struct HPMHookPoint *HP_script_final_pre;
@@ -5684,6 +5876,8 @@ struct {
struct HPMHookPoint *HP_skill_cell_overlap_post;
struct HPMHookPoint *HP_skill_timerskill_pre;
struct HPMHookPoint *HP_skill_timerskill_post;
+ struct HPMHookPoint *HP_skill_trap_do_splash_pre;
+ struct HPMHookPoint *HP_skill_trap_do_splash_post;
struct HPMHookPoint *HP_skill_trap_splash_pre;
struct HPMHookPoint *HP_skill_trap_splash_post;
struct HPMHookPoint *HP_skill_check_condition_mercenary_pre;
@@ -5930,10 +6124,14 @@ struct {
struct HPMHookPoint *HP_sockt_realloc_writefifo_post;
struct HPMHookPoint *HP_sockt_wfifoset_pre;
struct HPMHookPoint *HP_sockt_wfifoset_post;
+ struct HPMHookPoint *HP_sockt_wfifohead_pre;
+ struct HPMHookPoint *HP_sockt_wfifohead_post;
struct HPMHookPoint *HP_sockt_rfifoskip_pre;
struct HPMHookPoint *HP_sockt_rfifoskip_post;
struct HPMHookPoint *HP_sockt_close_pre;
struct HPMHookPoint *HP_sockt_close_post;
+ struct HPMHookPoint *HP_sockt_validateWfifo_pre;
+ struct HPMHookPoint *HP_sockt_validateWfifo_post;
struct HPMHookPoint *HP_sockt_session_is_valid_pre;
struct HPMHookPoint *HP_sockt_session_is_valid_post;
struct HPMHookPoint *HP_sockt_session_is_active_pre;
@@ -5942,6 +6140,8 @@ struct {
struct HPMHookPoint *HP_sockt_flush_post;
struct HPMHookPoint *HP_sockt_flush_fifos_pre;
struct HPMHookPoint *HP_sockt_flush_fifos_post;
+ struct HPMHookPoint *HP_sockt_connect_client_pre;
+ struct HPMHookPoint *HP_sockt_connect_client_post;
struct HPMHookPoint *HP_sockt_set_nonblocking_pre;
struct HPMHookPoint *HP_sockt_set_nonblocking_post;
struct HPMHookPoint *HP_sockt_set_defaultparse_pre;
@@ -6036,8 +6236,6 @@ struct {
struct HPMHookPoint *HP_status_init_post;
struct HPMHookPoint *HP_status_final_pre;
struct HPMHookPoint *HP_status_final_post;
- struct HPMHookPoint *HP_status_get_refine_chance_pre;
- struct HPMHookPoint *HP_status_get_refine_chance_post;
struct HPMHookPoint *HP_status_skill2sc_pre;
struct HPMHookPoint *HP_status_skill2sc_post;
struct HPMHookPoint *HP_status_sc2skill_pre;
@@ -6202,6 +6400,10 @@ struct {
struct HPMHookPoint *HP_status_get_base_maxhp_post;
struct HPMHookPoint *HP_status_get_base_maxsp_pre;
struct HPMHookPoint *HP_status_get_base_maxsp_post;
+ struct HPMHookPoint *HP_status_get_restart_hp_pre;
+ struct HPMHookPoint *HP_status_get_restart_hp_post;
+ struct HPMHookPoint *HP_status_get_restart_sp_pre;
+ struct HPMHookPoint *HP_status_get_restart_sp_post;
struct HPMHookPoint *HP_status_calc_npc__pre;
struct HPMHookPoint *HP_status_calc_npc__post;
struct HPMHookPoint *HP_status_calc_str_pre;
@@ -6264,10 +6466,6 @@ struct {
struct HPMHookPoint *HP_status_readdb_job2_post;
struct HPMHookPoint *HP_status_readdb_sizefix_pre;
struct HPMHookPoint *HP_status_readdb_sizefix_post;
- struct HPMHookPoint *HP_status_readdb_refine_libconfig_pre;
- struct HPMHookPoint *HP_status_readdb_refine_libconfig_post;
- struct HPMHookPoint *HP_status_readdb_refine_libconfig_sub_pre;
- struct HPMHookPoint *HP_status_readdb_refine_libconfig_sub_post;
struct HPMHookPoint *HP_status_readdb_scconfig_pre;
struct HPMHookPoint *HP_status_readdb_scconfig_post;
struct HPMHookPoint *HP_status_read_job_db_pre;
@@ -6358,6 +6556,24 @@ struct {
struct HPMHookPoint *HP_strlib_strline__post;
struct HPMHookPoint *HP_strlib_bin2hex__pre;
struct HPMHookPoint *HP_strlib_bin2hex__post;
+ struct HPMHookPoint *HP_stylist_init_pre;
+ struct HPMHookPoint *HP_stylist_init_post;
+ struct HPMHookPoint *HP_stylist_final_pre;
+ struct HPMHookPoint *HP_stylist_final_post;
+ struct HPMHookPoint *HP_stylist_vector_init_pre;
+ struct HPMHookPoint *HP_stylist_vector_init_post;
+ struct HPMHookPoint *HP_stylist_vector_clear_pre;
+ struct HPMHookPoint *HP_stylist_vector_clear_post;
+ struct HPMHookPoint *HP_stylist_read_db_libconfig_pre;
+ struct HPMHookPoint *HP_stylist_read_db_libconfig_post;
+ struct HPMHookPoint *HP_stylist_read_db_libconfig_sub_pre;
+ struct HPMHookPoint *HP_stylist_read_db_libconfig_sub_post;
+ struct HPMHookPoint *HP_stylist_request_style_change_pre;
+ struct HPMHookPoint *HP_stylist_request_style_change_post;
+ struct HPMHookPoint *HP_stylist_validate_requirements_pre;
+ struct HPMHookPoint *HP_stylist_validate_requirements_post;
+ struct HPMHookPoint *HP_stylist_send_rodexitem_pre;
+ struct HPMHookPoint *HP_stylist_send_rodexitem_post;
struct HPMHookPoint *HP_sv_parse_next_pre;
struct HPMHookPoint *HP_sv_parse_next_post;
struct HPMHookPoint *HP_sv_parse_pre;
@@ -6701,6 +6917,10 @@ struct {
int HP_achievement_check_title_post;
int HP_achievement_get_rewards_pre;
int HP_achievement_get_rewards_post;
+ int HP_achievement_get_rewards_buffs_pre;
+ int HP_achievement_get_rewards_buffs_post;
+ int HP_achievement_get_rewards_items_pre;
+ int HP_achievement_get_rewards_items_post;
int HP_atcommand_init_pre;
int HP_atcommand_init_post;
int HP_atcommand_final_pre;
@@ -6797,6 +7017,8 @@ struct {
int HP_battle_drain_post;
int HP_battle_reflect_damage_pre;
int HP_battle_reflect_damage_post;
+ int HP_battle_reflect_trap_pre;
+ int HP_battle_reflect_trap_post;
int HP_battle_attr_ratio_pre;
int HP_battle_attr_ratio_post;
int HP_battle_attr_fix_pre;
@@ -7477,12 +7699,30 @@ struct {
int HP_clif_status_change_post;
int HP_clif_insert_card_pre;
int HP_clif_insert_card_post;
- int HP_clif_inventorylist_pre;
- int HP_clif_inventorylist_post;
- int HP_clif_equiplist_pre;
- int HP_clif_equiplist_post;
- int HP_clif_cartlist_pre;
- int HP_clif_cartlist_post;
+ int HP_clif_inventoryList_pre;
+ int HP_clif_inventoryList_post;
+ int HP_clif_inventoryItems_pre;
+ int HP_clif_inventoryItems_post;
+ int HP_clif_equipList_pre;
+ int HP_clif_equipList_post;
+ int HP_clif_equipItems_pre;
+ int HP_clif_equipItems_post;
+ int HP_clif_cartList_pre;
+ int HP_clif_cartList_post;
+ int HP_clif_cartItems_pre;
+ int HP_clif_cartItems_post;
+ int HP_clif_inventoryExpansionInfo_pre;
+ int HP_clif_inventoryExpansionInfo_post;
+ int HP_clif_inventoryExpandAck_pre;
+ int HP_clif_inventoryExpandAck_post;
+ int HP_clif_inventoryExpandResult_pre;
+ int HP_clif_inventoryExpandResult_post;
+ int HP_clif_pInventoryExpansion_pre;
+ int HP_clif_pInventoryExpansion_post;
+ int HP_clif_pInventoryExpansionConfirmed_pre;
+ int HP_clif_pInventoryExpansionConfirmed_post;
+ int HP_clif_pInventoryExpansionRejected_pre;
+ int HP_clif_pInventoryExpansionRejected_post;
int HP_clif_favorite_item_pre;
int HP_clif_favorite_item_post;
int HP_clif_clearcart_pre;
@@ -7509,8 +7749,32 @@ struct {
int HP_clif_mvp_noitem_post;
int HP_clif_changed_dir_pre;
int HP_clif_changed_dir_post;
- int HP_clif_charnameack_pre;
- int HP_clif_charnameack_post;
+ int HP_clif_blname_ack_pre;
+ int HP_clif_blname_ack_post;
+ int HP_clif_pcname_ack_pre;
+ int HP_clif_pcname_ack_post;
+ int HP_clif_homname_ack_pre;
+ int HP_clif_homname_ack_post;
+ int HP_clif_mername_ack_pre;
+ int HP_clif_mername_ack_post;
+ int HP_clif_petname_ack_pre;
+ int HP_clif_petname_ack_post;
+ int HP_clif_npcname_ack_pre;
+ int HP_clif_npcname_ack_post;
+ int HP_clif_mobname_ack_pre;
+ int HP_clif_mobname_ack_post;
+ int HP_clif_mobname_guardian_ack_pre;
+ int HP_clif_mobname_guardian_ack_post;
+ int HP_clif_mobname_additional_ack_pre;
+ int HP_clif_mobname_additional_ack_post;
+ int HP_clif_mobname_normal_ack_pre;
+ int HP_clif_mobname_normal_ack_post;
+ int HP_clif_chatname_ack_pre;
+ int HP_clif_chatname_ack_post;
+ int HP_clif_elemname_ack_pre;
+ int HP_clif_elemname_ack_post;
+ int HP_clif_unknownname_ack_pre;
+ int HP_clif_unknownname_ack_post;
int HP_clif_monster_hp_bar_pre;
int HP_clif_monster_hp_bar_post;
int HP_clif_hpmeter_pre;
@@ -7663,6 +7927,10 @@ struct {
int HP_clif_specialeffect_single_post;
int HP_clif_specialeffect_value_pre;
int HP_clif_specialeffect_value_post;
+ int HP_clif_removeSpecialEffect_pre;
+ int HP_clif_removeSpecialEffect_post;
+ int HP_clif_removeSpecialEffect_single_pre;
+ int HP_clif_removeSpecialEffect_single_post;
int HP_clif_millenniumshield_pre;
int HP_clif_millenniumshield_post;
int HP_clif_spiritcharm_pre;
@@ -7693,6 +7961,8 @@ struct {
int HP_clif_addchat_post;
int HP_clif_changechatowner_pre;
int HP_clif_changechatowner_post;
+ int HP_clif_chatRoleChange_pre;
+ int HP_clif_chatRoleChange_post;
int HP_clif_clearchat_pre;
int HP_clif_clearchat_post;
int HP_clif_leavechat_pre;
@@ -7713,6 +7983,8 @@ struct {
int HP_clif_messagecolor_self_post;
int HP_clif_messagecolor_pre;
int HP_clif_messagecolor_post;
+ int HP_clif_serviceMessageColor_pre;
+ int HP_clif_serviceMessageColor_post;
int HP_clif_disp_overhead_pre;
int HP_clif_disp_overhead_post;
int HP_clif_notify_playerchat_pre;
@@ -7777,8 +8049,16 @@ struct {
int HP_clif_openvendingAck_post;
int HP_clif_vendingreport_pre;
int HP_clif_vendingreport_post;
- int HP_clif_storagelist_pre;
- int HP_clif_storagelist_post;
+ int HP_clif_storageList_pre;
+ int HP_clif_storageList_post;
+ int HP_clif_guildStorageList_pre;
+ int HP_clif_guildStorageList_post;
+ int HP_clif_storageItems_pre;
+ int HP_clif_storageItems_post;
+ int HP_clif_inventoryStart_pre;
+ int HP_clif_inventoryStart_post;
+ int HP_clif_inventoryEnd_pre;
+ int HP_clif_inventoryEnd_post;
int HP_clif_updatestorageamount_pre;
int HP_clif_updatestorageamount_post;
int HP_clif_storageitemadded_pre;
@@ -8141,6 +8421,8 @@ struct {
int HP_clif_parse_roulette_db_post;
int HP_clif_roulette_generate_ack_pre;
int HP_clif_roulette_generate_ack_post;
+ int HP_clif_roulette_close_pre;
+ int HP_clif_roulette_close_post;
int HP_clif_openmergeitem_pre;
int HP_clif_openmergeitem_post;
int HP_clif_cancelmergeitem_pre;
@@ -8149,6 +8431,8 @@ struct {
int HP_clif_comparemergeitem_post;
int HP_clif_ackmergeitems_pre;
int HP_clif_ackmergeitems_post;
+ int HP_clif_mergeitems_pre;
+ int HP_clif_mergeitems_post;
int HP_clif_isdisguised_pre;
int HP_clif_isdisguised_post;
int HP_clif_navigate_to_pre;
@@ -8259,8 +8543,14 @@ struct {
int HP_clif_pStatusUp_post;
int HP_clif_pSkillUp_pre;
int HP_clif_pSkillUp_post;
+ int HP_clif_useSkillToIdReal_pre;
+ int HP_clif_useSkillToIdReal_post;
int HP_clif_pUseSkillToId_pre;
int HP_clif_pUseSkillToId_post;
+ int HP_clif_pStartUseSkillToId_pre;
+ int HP_clif_pStartUseSkillToId_post;
+ int HP_clif_pStopUseSkillToId_pre;
+ int HP_clif_pStopUseSkillToId_post;
int HP_clif_pUseSkillToId_homun_pre;
int HP_clif_pUseSkillToId_homun_post;
int HP_clif_pUseSkillToId_mercenary_pre;
@@ -8587,6 +8877,8 @@ struct {
int HP_clif_pPartyTick_post;
int HP_clif_pGuildInvite2_pre;
int HP_clif_pGuildInvite2_post;
+ int HP_clif_cashShopBuyAck_pre;
+ int HP_clif_cashShopBuyAck_post;
int HP_clif_pPartyBookingAddFilter_pre;
int HP_clif_pPartyBookingAddFilter_post;
int HP_clif_pPartyBookingSubFilter_pre;
@@ -8731,24 +9023,12 @@ struct {
int HP_clif_pPrivateAirshipRequest_post;
int HP_clif_PrivateAirshipResponse_pre;
int HP_clif_PrivateAirshipResponse_post;
- int HP_clif_stylist_vector_init_pre;
- int HP_clif_stylist_vector_init_post;
- int HP_clif_stylist_vector_clear_pre;
- int HP_clif_stylist_vector_clear_post;
- int HP_clif_stylist_read_db_libconfig_pre;
- int HP_clif_stylist_read_db_libconfig_post;
- int HP_clif_stylist_read_db_libconfig_sub_pre;
- int HP_clif_stylist_read_db_libconfig_sub_post;
- int HP_clif_style_change_validate_requirements_pre;
- int HP_clif_style_change_validate_requirements_post;
- int HP_clif_stylist_send_rodexitem_pre;
- int HP_clif_stylist_send_rodexitem_post;
int HP_clif_pReqStyleChange_pre;
int HP_clif_pReqStyleChange_post;
int HP_clif_pReqStyleChange2_pre;
int HP_clif_pReqStyleChange2_post;
- int HP_clif_cz_req_style_change_sub_pre;
- int HP_clif_cz_req_style_change_sub_post;
+ int HP_clif_pStyleClose_pre;
+ int HP_clif_pStyleClose_post;
int HP_clif_style_change_response_pre;
int HP_clif_style_change_response_post;
int HP_clif_pPetEvolution_pre;
@@ -8757,6 +9037,54 @@ struct {
int HP_clif_petEvolutionResult_post;
int HP_clif_party_dead_notification_pre;
int HP_clif_party_dead_notification_post;
+ int HP_clif_pMemorialDungeonCommand_pre;
+ int HP_clif_pMemorialDungeonCommand_post;
+ int HP_clif_camera_showWindow_pre;
+ int HP_clif_camera_showWindow_post;
+ int HP_clif_camera_change_pre;
+ int HP_clif_camera_change_post;
+ int HP_clif_pCameraInfo_pre;
+ int HP_clif_pCameraInfo_post;
+ int HP_clif_item_preview_pre;
+ int HP_clif_item_preview_post;
+ int HP_clif_enchant_equipment_pre;
+ int HP_clif_enchant_equipment_post;
+ int HP_clif_pReqRemainTime_pre;
+ int HP_clif_pReqRemainTime_post;
+ int HP_clif_npc_barter_open_pre;
+ int HP_clif_npc_barter_open_post;
+ int HP_clif_pNPCBarterClosed_pre;
+ int HP_clif_pNPCBarterClosed_post;
+ int HP_clif_pNPCBarterPurchase_pre;
+ int HP_clif_pNPCBarterPurchase_post;
+ int HP_clif_pClientVersion_pre;
+ int HP_clif_pClientVersion_post;
+ int HP_clif_pPing_pre;
+ int HP_clif_pPing_post;
+ int HP_clif_ping_pre;
+ int HP_clif_ping_post;
+ int HP_clif_pingTimer_pre;
+ int HP_clif_pingTimer_post;
+ int HP_clif_pingTimerSub_pre;
+ int HP_clif_pingTimerSub_post;
+ int HP_clif_pResetCooldown_pre;
+ int HP_clif_pResetCooldown_post;
+ int HP_clif_loadConfirm_pre;
+ int HP_clif_loadConfirm_post;
+ int HP_clif_send_selforarea_pre;
+ int HP_clif_send_selforarea_post;
+ int HP_clif_OpenRefineryUI_pre;
+ int HP_clif_OpenRefineryUI_post;
+ int HP_clif_pAddItemRefineryUI_pre;
+ int HP_clif_pAddItemRefineryUI_post;
+ int HP_clif_AddItemRefineryUIAck_pre;
+ int HP_clif_AddItemRefineryUIAck_post;
+ int HP_clif_pRefineryUIClose_pre;
+ int HP_clif_pRefineryUIClose_post;
+ int HP_clif_pRefineryUIRefine_pre;
+ int HP_clif_pRefineryUIRefine_post;
+ int HP_clif_announce_refine_status_pre;
+ int HP_clif_announce_refine_status_post;
int HP_cmdline_init_pre;
int HP_cmdline_init_post;
int HP_cmdline_final_pre;
@@ -9251,6 +9579,8 @@ struct {
int HP_instance_valid_post;
int HP_instance_destroy_timer_pre;
int HP_instance_destroy_timer_post;
+ int HP_instance_force_destroy_pre;
+ int HP_instance_force_destroy_post;
int HP_intif_parse_pre;
int HP_intif_parse_post;
int HP_intif_create_pet_pre;
@@ -9399,6 +9729,10 @@ struct {
int HP_intif_rodex_sendmail_post;
int HP_intif_rodex_checkname_pre;
int HP_intif_rodex_checkname_post;
+ int HP_intif_pGetZenyAck_pre;
+ int HP_intif_pGetZenyAck_post;
+ int HP_intif_pGetItemsAck_pre;
+ int HP_intif_pGetItemsAck_post;
int HP_intif_clan_kickoffline_pre;
int HP_intif_clan_kickoffline_post;
int HP_intif_clan_membercount_pre;
@@ -9717,6 +10051,8 @@ struct {
int HP_itemdb_lookup_const_post;
int HP_itemdb_lookup_const_mask_pre;
int HP_itemdb_lookup_const_mask_post;
+ int HP_itemdb_addname_sub_pre;
+ int HP_itemdb_addname_sub_post;
int HP_libconfig_read_pre;
int HP_libconfig_read_post;
int HP_libconfig_write_pre;
@@ -9919,6 +10255,8 @@ struct {
int HP_map_zone_init_post;
int HP_map_zone_remove_pre;
int HP_map_zone_remove_post;
+ int HP_map_zone_remove_all_pre;
+ int HP_map_zone_remove_all_post;
int HP_map_zone_apply_pre;
int HP_map_zone_apply_post;
int HP_map_zone_change_pre;
@@ -10395,6 +10733,8 @@ struct {
int HP_mob_ai_lazy_post;
int HP_mob_ai_hard_pre;
int HP_mob_ai_hard_post;
+ int HP_mob_setdropitem_options_pre;
+ int HP_mob_setdropitem_options_post;
int HP_mob_setdropitem_pre;
int HP_mob_setdropitem_post;
int HP_mob_setlootitem_pre;
@@ -10461,6 +10801,14 @@ struct {
int HP_mob_drop_adjust_post;
int HP_mob_item_dropratio_adjust_pre;
int HP_mob_item_dropratio_adjust_post;
+ int HP_mob_read_optdrops_option_pre;
+ int HP_mob_read_optdrops_option_post;
+ int HP_mob_read_optdrops_optslot_pre;
+ int HP_mob_read_optdrops_optslot_post;
+ int HP_mob_read_optdrops_group_pre;
+ int HP_mob_read_optdrops_group_post;
+ int HP_mob_read_optdrops_db_pre;
+ int HP_mob_read_optdrops_db_post;
int HP_mob_readdb_pre;
int HP_mob_readdb_post;
int HP_mob_lookup_const_pre;
@@ -10481,6 +10829,8 @@ struct {
int HP_mob_read_db_mvpdrops_sub_post;
int HP_mob_read_db_mode_sub_pre;
int HP_mob_read_db_mode_sub_post;
+ int HP_mob_read_db_drops_option_pre;
+ int HP_mob_read_db_drops_option_post;
int HP_mob_read_db_stats_sub_pre;
int HP_mob_read_db_stats_sub_post;
int HP_mob_name_constants_pre;
@@ -10511,6 +10861,8 @@ struct {
int HP_mob_final_ratio_sub_post;
int HP_mob_destroy_mob_db_pre;
int HP_mob_destroy_mob_db_post;
+ int HP_mob_destroy_drop_groups_pre;
+ int HP_mob_destroy_drop_groups_post;
int HP_mob_skill_db_libconfig_pre;
int HP_mob_skill_db_libconfig_post;
int HP_mob_skill_db_libconfig_sub_pre;
@@ -10761,6 +11113,8 @@ struct {
int HP_npc_trader_update_post;
int HP_npc_market_buylist_pre;
int HP_npc_market_buylist_post;
+ int HP_npc_barter_buylist_pre;
+ int HP_npc_barter_buylist_post;
int HP_npc_trader_open_pre;
int HP_npc_trader_open_post;
int HP_npc_market_fromsql_pre;
@@ -10771,14 +11125,32 @@ struct {
int HP_npc_market_delfromsql_post;
int HP_npc_market_delfromsql_sub_pre;
int HP_npc_market_delfromsql_sub_post;
+ int HP_npc_barter_fromsql_pre;
+ int HP_npc_barter_fromsql_post;
+ int HP_npc_barter_tosql_pre;
+ int HP_npc_barter_tosql_post;
+ int HP_npc_barter_delfromsql_pre;
+ int HP_npc_barter_delfromsql_post;
+ int HP_npc_barter_delfromsql_sub_pre;
+ int HP_npc_barter_delfromsql_sub_post;
int HP_npc_db_checkid_pre;
int HP_npc_db_checkid_post;
int HP_npc_refresh_pre;
int HP_npc_refresh_post;
+ int HP_npc_questinfo_clear_pre;
+ int HP_npc_questinfo_clear_post;
int HP_npc_secure_timeout_timer_pre;
int HP_npc_secure_timeout_timer_post;
int HP_nullpo_assert_report_pre;
int HP_nullpo_assert_report_post;
+ int HP_packets_init_pre;
+ int HP_packets_init_post;
+ int HP_packets_final_pre;
+ int HP_packets_final_post;
+ int HP_packets_addLens_pre;
+ int HP_packets_addLens_post;
+ int HP_packets_addLen_pre;
+ int HP_packets_addLen_post;
int HP_party_init_pre;
int HP_party_init_post;
int HP_party_final_pre;
@@ -11389,6 +11761,8 @@ struct {
int HP_pc_isDeathPenaltyJob_post;
int HP_pc_has_second_costume_pre;
int HP_pc_has_second_costume_post;
+ int HP_pc_expandInventory_pre;
+ int HP_pc_expandInventory_post;
int HP_libpcre_compile_pre;
int HP_libpcre_compile_post;
int HP_libpcre_study_pre;
@@ -11543,8 +11917,38 @@ struct {
int HP_quest_questinfo_validate_homunculus_type_post;
int HP_quest_questinfo_validate_quests_pre;
int HP_quest_questinfo_validate_quests_post;
- int HP_quest_questinfo_vector_clear_pre;
- int HP_quest_questinfo_vector_clear_post;
+ int HP_quest_questinfo_validate_mercenary_class_pre;
+ int HP_quest_questinfo_validate_mercenary_class_post;
+ int HP_refine_init_pre;
+ int HP_refine_init_post;
+ int HP_refine_final_pre;
+ int HP_refine_final_post;
+ int HP_refine_get_refine_chance_pre;
+ int HP_refine_get_refine_chance_post;
+ int HP_refine_get_bonus_pre;
+ int HP_refine_get_bonus_post;
+ int HP_refine_get_randombonus_max_pre;
+ int HP_refine_get_randombonus_max_post;
+ int HP_refine_refinery_add_item_pre;
+ int HP_refine_refinery_add_item_post;
+ int HP_refine_refinery_refine_request_pre;
+ int HP_refine_refinery_refine_request_post;
+ int HP_PRIV__refine_readdb_refine_libconfig_sub_pre;
+ int HP_PRIV__refine_readdb_refine_libconfig_sub_post;
+ int HP_PRIV__refine_readdb_refine_libconfig_pre;
+ int HP_PRIV__refine_readdb_refine_libconfig_post;
+ int HP_PRIV__refine_announce_behavior_string2enum_pre;
+ int HP_PRIV__refine_announce_behavior_string2enum_post;
+ int HP_PRIV__refine_failure_behavior_string2enum_pre;
+ int HP_PRIV__refine_failure_behavior_string2enum_post;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_items_pre;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_items_post;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_sub_pre;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_sub_post;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_pre;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_post;
+ int HP_PRIV__refine_is_refinable_pre;
+ int HP_PRIV__refine_is_refinable_post;
int HP_rnd_init_pre;
int HP_rnd_init_post;
int HP_rnd_final_pre;
@@ -11595,6 +11999,10 @@ struct {
int HP_rodex_delete_mail_post;
int HP_rodex_clean_pre;
int HP_rodex_clean_post;
+ int HP_rodex_getZenyAck_pre;
+ int HP_rodex_getZenyAck_post;
+ int HP_rodex_getItemsAck_pre;
+ int HP_rodex_getItemsAck_post;
int HP_script_init_pre;
int HP_script_init_post;
int HP_script_final_pre;
@@ -12249,6 +12657,8 @@ struct {
int HP_skill_cell_overlap_post;
int HP_skill_timerskill_pre;
int HP_skill_timerskill_post;
+ int HP_skill_trap_do_splash_pre;
+ int HP_skill_trap_do_splash_post;
int HP_skill_trap_splash_pre;
int HP_skill_trap_splash_post;
int HP_skill_check_condition_mercenary_pre;
@@ -12495,10 +12905,14 @@ struct {
int HP_sockt_realloc_writefifo_post;
int HP_sockt_wfifoset_pre;
int HP_sockt_wfifoset_post;
+ int HP_sockt_wfifohead_pre;
+ int HP_sockt_wfifohead_post;
int HP_sockt_rfifoskip_pre;
int HP_sockt_rfifoskip_post;
int HP_sockt_close_pre;
int HP_sockt_close_post;
+ int HP_sockt_validateWfifo_pre;
+ int HP_sockt_validateWfifo_post;
int HP_sockt_session_is_valid_pre;
int HP_sockt_session_is_valid_post;
int HP_sockt_session_is_active_pre;
@@ -12507,6 +12921,8 @@ struct {
int HP_sockt_flush_post;
int HP_sockt_flush_fifos_pre;
int HP_sockt_flush_fifos_post;
+ int HP_sockt_connect_client_pre;
+ int HP_sockt_connect_client_post;
int HP_sockt_set_nonblocking_pre;
int HP_sockt_set_nonblocking_post;
int HP_sockt_set_defaultparse_pre;
@@ -12601,8 +13017,6 @@ struct {
int HP_status_init_post;
int HP_status_final_pre;
int HP_status_final_post;
- int HP_status_get_refine_chance_pre;
- int HP_status_get_refine_chance_post;
int HP_status_skill2sc_pre;
int HP_status_skill2sc_post;
int HP_status_sc2skill_pre;
@@ -12767,6 +13181,10 @@ struct {
int HP_status_get_base_maxhp_post;
int HP_status_get_base_maxsp_pre;
int HP_status_get_base_maxsp_post;
+ int HP_status_get_restart_hp_pre;
+ int HP_status_get_restart_hp_post;
+ int HP_status_get_restart_sp_pre;
+ int HP_status_get_restart_sp_post;
int HP_status_calc_npc__pre;
int HP_status_calc_npc__post;
int HP_status_calc_str_pre;
@@ -12829,10 +13247,6 @@ struct {
int HP_status_readdb_job2_post;
int HP_status_readdb_sizefix_pre;
int HP_status_readdb_sizefix_post;
- int HP_status_readdb_refine_libconfig_pre;
- int HP_status_readdb_refine_libconfig_post;
- int HP_status_readdb_refine_libconfig_sub_pre;
- int HP_status_readdb_refine_libconfig_sub_post;
int HP_status_readdb_scconfig_pre;
int HP_status_readdb_scconfig_post;
int HP_status_read_job_db_pre;
@@ -12923,6 +13337,24 @@ struct {
int HP_strlib_strline__post;
int HP_strlib_bin2hex__pre;
int HP_strlib_bin2hex__post;
+ int HP_stylist_init_pre;
+ int HP_stylist_init_post;
+ int HP_stylist_final_pre;
+ int HP_stylist_final_post;
+ int HP_stylist_vector_init_pre;
+ int HP_stylist_vector_init_post;
+ int HP_stylist_vector_clear_pre;
+ int HP_stylist_vector_clear_post;
+ int HP_stylist_read_db_libconfig_pre;
+ int HP_stylist_read_db_libconfig_post;
+ int HP_stylist_read_db_libconfig_sub_pre;
+ int HP_stylist_read_db_libconfig_sub_post;
+ int HP_stylist_request_style_change_pre;
+ int HP_stylist_request_style_change_post;
+ int HP_stylist_validate_requirements_pre;
+ int HP_stylist_validate_requirements_post;
+ int HP_stylist_send_rodexitem_pre;
+ int HP_stylist_send_rodexitem_post;
int HP_sv_parse_next_pre;
int HP_sv_parse_next_post;
int HP_sv_parse_pre;
@@ -13196,6 +13628,7 @@ struct {
struct npc_chat_interface npc_chat;
struct npc_interface npc;
struct nullpo_interface nullpo;
+ struct packets_interface packets;
struct party_interface party;
struct path_interface path;
struct pc_groups_interface pcg;
@@ -13203,6 +13636,8 @@ struct {
struct pcre_interface libpcre;
struct pet_interface pet;
struct quest_interface quest;
+ struct refine_interface refine;
+ struct refine_interface_private PRIV__refine;
struct rnd_interface rnd;
struct rodex_interface rodex;
struct script_interface script;
@@ -13215,6 +13650,7 @@ struct {
struct storage_interface storage;
struct stringbuf_interface StrBuf;
struct strlib_interface strlib;
+ struct stylist_interface stylist;
struct sv_interface sv;
struct sysinfo_interface sysinfo;
struct thread_interface thread;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index 41e6f9208..a817b2023 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -83,6 +83,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(achievement->init_titles, HP_achievement_init_titles) },
{ HP_POP(achievement->check_title, HP_achievement_check_title) },
{ HP_POP(achievement->get_rewards, HP_achievement_get_rewards) },
+ { HP_POP(achievement->get_rewards_buffs, HP_achievement_get_rewards_buffs) },
+ { HP_POP(achievement->get_rewards_items, HP_achievement_get_rewards_items) },
/* atcommand_interface */
{ HP_POP(atcommand->init, HP_atcommand_init) },
{ HP_POP(atcommand->final, HP_atcommand_final) },
@@ -133,6 +135,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(battle->delay_damage, HP_battle_delay_damage) },
{ HP_POP(battle->drain, HP_battle_drain) },
{ HP_POP(battle->reflect_damage, HP_battle_reflect_damage) },
+ { HP_POP(battle->reflect_trap, HP_battle_reflect_trap) },
{ HP_POP(battle->attr_ratio, HP_battle_attr_ratio) },
{ HP_POP(battle->attr_fix, HP_battle_attr_fix) },
{ HP_POP(battle->calc_cardfix, HP_battle_calc_cardfix) },
@@ -480,9 +483,18 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->combo_delay, HP_clif_combo_delay) },
{ HP_POP(clif->status_change, HP_clif_status_change) },
{ HP_POP(clif->insert_card, HP_clif_insert_card) },
- { HP_POP(clif->inventorylist, HP_clif_inventorylist) },
- { HP_POP(clif->equiplist, HP_clif_equiplist) },
- { HP_POP(clif->cartlist, HP_clif_cartlist) },
+ { HP_POP(clif->inventoryList, HP_clif_inventoryList) },
+ { HP_POP(clif->inventoryItems, HP_clif_inventoryItems) },
+ { HP_POP(clif->equipList, HP_clif_equipList) },
+ { HP_POP(clif->equipItems, HP_clif_equipItems) },
+ { HP_POP(clif->cartList, HP_clif_cartList) },
+ { HP_POP(clif->cartItems, HP_clif_cartItems) },
+ { HP_POP(clif->inventoryExpansionInfo, HP_clif_inventoryExpansionInfo) },
+ { HP_POP(clif->inventoryExpandAck, HP_clif_inventoryExpandAck) },
+ { HP_POP(clif->inventoryExpandResult, HP_clif_inventoryExpandResult) },
+ { HP_POP(clif->pInventoryExpansion, HP_clif_pInventoryExpansion) },
+ { HP_POP(clif->pInventoryExpansionConfirmed, HP_clif_pInventoryExpansionConfirmed) },
+ { HP_POP(clif->pInventoryExpansionRejected, HP_clif_pInventoryExpansionRejected) },
{ HP_POP(clif->favorite_item, HP_clif_favorite_item) },
{ HP_POP(clif->clearcart, HP_clif_clearcart) },
{ HP_POP(clif->item_identify_list, HP_clif_item_identify_list) },
@@ -496,7 +508,19 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->mvp_exp, HP_clif_mvp_exp) },
{ HP_POP(clif->mvp_noitem, HP_clif_mvp_noitem) },
{ HP_POP(clif->changed_dir, HP_clif_changed_dir) },
- { HP_POP(clif->charnameack, HP_clif_charnameack) },
+ { HP_POP(clif->blname_ack, HP_clif_blname_ack) },
+ { HP_POP(clif->pcname_ack, HP_clif_pcname_ack) },
+ { HP_POP(clif->homname_ack, HP_clif_homname_ack) },
+ { HP_POP(clif->mername_ack, HP_clif_mername_ack) },
+ { HP_POP(clif->petname_ack, HP_clif_petname_ack) },
+ { HP_POP(clif->npcname_ack, HP_clif_npcname_ack) },
+ { HP_POP(clif->mobname_ack, HP_clif_mobname_ack) },
+ { HP_POP(clif->mobname_guardian_ack, HP_clif_mobname_guardian_ack) },
+ { HP_POP(clif->mobname_additional_ack, HP_clif_mobname_additional_ack) },
+ { HP_POP(clif->mobname_normal_ack, HP_clif_mobname_normal_ack) },
+ { HP_POP(clif->chatname_ack, HP_clif_chatname_ack) },
+ { HP_POP(clif->elemname_ack, HP_clif_elemname_ack) },
+ { HP_POP(clif->unknownname_ack, HP_clif_unknownname_ack) },
{ HP_POP(clif->monster_hp_bar, HP_clif_monster_hp_bar) },
{ HP_POP(clif->hpmeter, HP_clif_hpmeter) },
{ HP_POP(clif->hpmeter_single, HP_clif_hpmeter_single) },
@@ -573,6 +597,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->specialeffect, HP_clif_specialeffect) },
{ HP_POP(clif->specialeffect_single, HP_clif_specialeffect_single) },
{ HP_POP(clif->specialeffect_value, HP_clif_specialeffect_value) },
+ { HP_POP(clif->removeSpecialEffect, HP_clif_removeSpecialEffect) },
+ { HP_POP(clif->removeSpecialEffect_single, HP_clif_removeSpecialEffect_single) },
{ HP_POP(clif->millenniumshield, HP_clif_millenniumshield) },
{ HP_POP(clif->spiritcharm, HP_clif_spiritcharm) },
{ HP_POP(clif->charm_single, HP_clif_charm_single) },
@@ -588,6 +614,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->joinchatok, HP_clif_joinchatok) },
{ HP_POP(clif->addchat, HP_clif_addchat) },
{ HP_POP(clif->changechatowner, HP_clif_changechatowner) },
+ { HP_POP(clif->chatRoleChange, HP_clif_chatRoleChange) },
{ HP_POP(clif->clearchat, HP_clif_clearchat) },
{ HP_POP(clif->leavechat, HP_clif_leavechat) },
{ HP_POP(clif->changechatstatus, HP_clif_changechatstatus) },
@@ -598,6 +625,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->broadcast2, HP_clif_broadcast2) },
{ HP_POP(clif->messagecolor_self, HP_clif_messagecolor_self) },
{ HP_POP(clif->messagecolor, HP_clif_messagecolor) },
+ { HP_POP(clif->serviceMessageColor, HP_clif_serviceMessageColor) },
{ HP_POP(clif->disp_overhead, HP_clif_disp_overhead) },
{ HP_POP(clif->notify_playerchat, HP_clif_notify_playerchat) },
{ HP_POP(clif->msgtable, HP_clif_msgtable) },
@@ -630,7 +658,11 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->openvending, HP_clif_openvending) },
{ HP_POP(clif->openvendingAck, HP_clif_openvendingAck) },
{ HP_POP(clif->vendingreport, HP_clif_vendingreport) },
- { HP_POP(clif->storagelist, HP_clif_storagelist) },
+ { HP_POP(clif->storageList, HP_clif_storageList) },
+ { HP_POP(clif->guildStorageList, HP_clif_guildStorageList) },
+ { HP_POP(clif->storageItems, HP_clif_storageItems) },
+ { HP_POP(clif->inventoryStart, HP_clif_inventoryStart) },
+ { HP_POP(clif->inventoryEnd, HP_clif_inventoryEnd) },
{ HP_POP(clif->updatestorageamount, HP_clif_updatestorageamount) },
{ HP_POP(clif->storageitemadded, HP_clif_storageitemadded) },
{ HP_POP(clif->storageitemremoved, HP_clif_storageitemremoved) },
@@ -812,10 +844,12 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->npc_market_purchase_ack, HP_clif_npc_market_purchase_ack) },
{ HP_POP(clif->parse_roulette_db, HP_clif_parse_roulette_db) },
{ HP_POP(clif->roulette_generate_ack, HP_clif_roulette_generate_ack) },
+ { HP_POP(clif->roulette_close, HP_clif_roulette_close) },
{ HP_POP(clif->openmergeitem, HP_clif_openmergeitem) },
{ HP_POP(clif->cancelmergeitem, HP_clif_cancelmergeitem) },
{ HP_POP(clif->comparemergeitem, HP_clif_comparemergeitem) },
{ HP_POP(clif->ackmergeitems, HP_clif_ackmergeitems) },
+ { HP_POP(clif->mergeitems, HP_clif_mergeitems) },
{ HP_POP(clif->isdisguised, HP_clif_isdisguised) },
{ HP_POP(clif->navigate_to, HP_clif_navigate_to) },
{ HP_POP(clif->bl_type, HP_clif_bl_type) },
@@ -871,7 +905,10 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->pChangeCart, HP_clif_pChangeCart) },
{ HP_POP(clif->pStatusUp, HP_clif_pStatusUp) },
{ HP_POP(clif->pSkillUp, HP_clif_pSkillUp) },
+ { HP_POP(clif->useSkillToIdReal, HP_clif_useSkillToIdReal) },
{ HP_POP(clif->pUseSkillToId, HP_clif_pUseSkillToId) },
+ { HP_POP(clif->pStartUseSkillToId, HP_clif_pStartUseSkillToId) },
+ { HP_POP(clif->pStopUseSkillToId, HP_clif_pStopUseSkillToId) },
{ HP_POP(clif->pUseSkillToId_homun, HP_clif_pUseSkillToId_homun) },
{ HP_POP(clif->pUseSkillToId_mercenary, HP_clif_pUseSkillToId_mercenary) },
{ HP_POP(clif->pUseSkillToPos, HP_clif_pUseSkillToPos) },
@@ -1035,6 +1072,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->pCashShopBuy, HP_clif_pCashShopBuy) },
{ HP_POP(clif->pPartyTick, HP_clif_pPartyTick) },
{ HP_POP(clif->pGuildInvite2, HP_clif_pGuildInvite2) },
+ { HP_POP(clif->cashShopBuyAck, HP_clif_cashShopBuyAck) },
{ HP_POP(clif->pPartyBookingAddFilter, HP_clif_pPartyBookingAddFilter) },
{ HP_POP(clif->pPartyBookingSubFilter, HP_clif_pPartyBookingSubFilter) },
{ HP_POP(clif->pPartyBookingReqVolunteer, HP_clif_pPartyBookingReqVolunteer) },
@@ -1107,19 +1145,37 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->ui_action, HP_clif_ui_action) },
{ HP_POP(clif->pPrivateAirshipRequest, HP_clif_pPrivateAirshipRequest) },
{ HP_POP(clif->PrivateAirshipResponse, HP_clif_PrivateAirshipResponse) },
- { HP_POP(clif->stylist_vector_init, HP_clif_stylist_vector_init) },
- { HP_POP(clif->stylist_vector_clear, HP_clif_stylist_vector_clear) },
- { HP_POP(clif->stylist_read_db_libconfig, HP_clif_stylist_read_db_libconfig) },
- { HP_POP(clif->stylist_read_db_libconfig_sub, HP_clif_stylist_read_db_libconfig_sub) },
- { HP_POP(clif->style_change_validate_requirements, HP_clif_style_change_validate_requirements) },
- { HP_POP(clif->stylist_send_rodexitem, HP_clif_stylist_send_rodexitem) },
{ HP_POP(clif->pReqStyleChange, HP_clif_pReqStyleChange) },
{ HP_POP(clif->pReqStyleChange2, HP_clif_pReqStyleChange2) },
- { HP_POP(clif->cz_req_style_change_sub, HP_clif_cz_req_style_change_sub) },
+ { HP_POP(clif->pStyleClose, HP_clif_pStyleClose) },
{ HP_POP(clif->style_change_response, HP_clif_style_change_response) },
{ HP_POP(clif->pPetEvolution, HP_clif_pPetEvolution) },
{ HP_POP(clif->petEvolutionResult, HP_clif_petEvolutionResult) },
{ HP_POP(clif->party_dead_notification, HP_clif_party_dead_notification) },
+ { HP_POP(clif->pMemorialDungeonCommand, HP_clif_pMemorialDungeonCommand) },
+ { HP_POP(clif->camera_showWindow, HP_clif_camera_showWindow) },
+ { HP_POP(clif->camera_change, HP_clif_camera_change) },
+ { HP_POP(clif->pCameraInfo, HP_clif_pCameraInfo) },
+ { HP_POP(clif->item_preview, HP_clif_item_preview) },
+ { HP_POP(clif->enchant_equipment, HP_clif_enchant_equipment) },
+ { HP_POP(clif->pReqRemainTime, HP_clif_pReqRemainTime) },
+ { HP_POP(clif->npc_barter_open, HP_clif_npc_barter_open) },
+ { HP_POP(clif->pNPCBarterClosed, HP_clif_pNPCBarterClosed) },
+ { HP_POP(clif->pNPCBarterPurchase, HP_clif_pNPCBarterPurchase) },
+ { HP_POP(clif->pClientVersion, HP_clif_pClientVersion) },
+ { HP_POP(clif->pPing, HP_clif_pPing) },
+ { HP_POP(clif->ping, HP_clif_ping) },
+ { HP_POP(clif->pingTimer, HP_clif_pingTimer) },
+ { HP_POP(clif->pingTimerSub, HP_clif_pingTimerSub) },
+ { HP_POP(clif->pResetCooldown, HP_clif_pResetCooldown) },
+ { HP_POP(clif->loadConfirm, HP_clif_loadConfirm) },
+ { HP_POP(clif->send_selforarea, HP_clif_send_selforarea) },
+ { HP_POP(clif->OpenRefineryUI, HP_clif_OpenRefineryUI) },
+ { HP_POP(clif->pAddItemRefineryUI, HP_clif_pAddItemRefineryUI) },
+ { HP_POP(clif->AddItemRefineryUIAck, HP_clif_AddItemRefineryUIAck) },
+ { HP_POP(clif->pRefineryUIClose, HP_clif_pRefineryUIClose) },
+ { HP_POP(clif->pRefineryUIRefine, HP_clif_pRefineryUIRefine) },
+ { HP_POP(clif->announce_refine_status, HP_clif_announce_refine_status) },
/* cmdline_interface */
{ HP_POP(cmdline->init, HP_cmdline_init) },
{ HP_POP(cmdline->final, HP_cmdline_final) },
@@ -1379,6 +1435,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(instance->set_timeout, HP_instance_set_timeout) },
{ HP_POP(instance->valid, HP_instance_valid) },
{ HP_POP(instance->destroy_timer, HP_instance_destroy_timer) },
+ { HP_POP(instance->force_destroy, HP_instance_force_destroy) },
/* intif_interface */
{ HP_POP(intif->parse, HP_intif_parse) },
{ HP_POP(intif->create_pet, HP_intif_create_pet) },
@@ -1454,6 +1511,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(intif->rodex_updatemail, HP_intif_rodex_updatemail) },
{ HP_POP(intif->rodex_sendmail, HP_intif_rodex_sendmail) },
{ HP_POP(intif->rodex_checkname, HP_intif_rodex_checkname) },
+ { HP_POP(intif->pGetZenyAck, HP_intif_pGetZenyAck) },
+ { HP_POP(intif->pGetItemsAck, HP_intif_pGetItemsAck) },
{ HP_POP(intif->clan_kickoffline, HP_intif_clan_kickoffline) },
{ HP_POP(intif->clan_membercount, HP_intif_clan_membercount) },
{ HP_POP(intif->request_accinfo, HP_intif_request_accinfo) },
@@ -1615,6 +1674,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(itemdb->is_item_usable, HP_itemdb_is_item_usable) },
{ HP_POP(itemdb->lookup_const, HP_itemdb_lookup_const) },
{ HP_POP(itemdb->lookup_const_mask, HP_itemdb_lookup_const_mask) },
+ { HP_POP(itemdb->addname_sub, HP_itemdb_addname_sub) },
/* libconfig_interface */
{ HP_POP(libconfig->read, HP_libconfig_read) },
{ HP_POP(libconfig->write, HP_libconfig_write) },
@@ -1720,6 +1780,7 @@ struct HookingPointData HookingPoints[] = {
/* map_interface */
{ HP_POP(map->zone_init, HP_map_zone_init) },
{ HP_POP(map->zone_remove, HP_map_zone_remove) },
+ { HP_POP(map->zone_remove_all, HP_map_zone_remove_all) },
{ HP_POP(map->zone_apply, HP_map_zone_apply) },
{ HP_POP(map->zone_change, HP_map_zone_change) },
{ HP_POP(map->zone_change2, HP_map_zone_change2) },
@@ -1964,6 +2025,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mob->ai_sub_lazy, HP_mob_ai_sub_lazy) },
{ HP_POP(mob->ai_lazy, HP_mob_ai_lazy) },
{ HP_POP(mob->ai_hard, HP_mob_ai_hard) },
+ { HP_POP(mob->setdropitem_options, HP_mob_setdropitem_options) },
{ HP_POP(mob->setdropitem, HP_mob_setdropitem) },
{ HP_POP(mob->setlootitem, HP_mob_setlootitem) },
{ HP_POP(mob->delay_item_drop, HP_mob_delay_item_drop) },
@@ -1997,6 +2059,10 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mob->clone_delete, HP_mob_clone_delete) },
{ HP_POP(mob->drop_adjust, HP_mob_drop_adjust) },
{ HP_POP(mob->item_dropratio_adjust, HP_mob_item_dropratio_adjust) },
+ { HP_POP(mob->read_optdrops_option, HP_mob_read_optdrops_option) },
+ { HP_POP(mob->read_optdrops_optslot, HP_mob_read_optdrops_optslot) },
+ { HP_POP(mob->read_optdrops_group, HP_mob_read_optdrops_group) },
+ { HP_POP(mob->read_optdrops_db, HP_mob_read_optdrops_db) },
{ HP_POP(mob->readdb, HP_mob_readdb) },
{ HP_POP(mob->lookup_const, HP_mob_lookup_const) },
{ HP_POP(mob->get_const, HP_mob_get_const) },
@@ -2007,6 +2073,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mob->read_db_drops_sub, HP_mob_read_db_drops_sub) },
{ HP_POP(mob->read_db_mvpdrops_sub, HP_mob_read_db_mvpdrops_sub) },
{ HP_POP(mob->read_db_mode_sub, HP_mob_read_db_mode_sub) },
+ { HP_POP(mob->read_db_drops_option, HP_mob_read_db_drops_option) },
{ HP_POP(mob->read_db_stats_sub, HP_mob_read_db_stats_sub) },
{ HP_POP(mob->name_constants, HP_mob_name_constants) },
{ HP_POP(mob->readdb_mobavail, HP_mob_readdb_mobavail) },
@@ -2022,6 +2089,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mob->set_item_drop_ratio, HP_mob_set_item_drop_ratio) },
{ HP_POP(mob->final_ratio_sub, HP_mob_final_ratio_sub) },
{ HP_POP(mob->destroy_mob_db, HP_mob_destroy_mob_db) },
+ { HP_POP(mob->destroy_drop_groups, HP_mob_destroy_drop_groups) },
{ HP_POP(mob->skill_db_libconfig, HP_mob_skill_db_libconfig) },
{ HP_POP(mob->skill_db_libconfig_sub, HP_mob_skill_db_libconfig_sub) },
{ HP_POP(mob->skill_db_libconfig_sub_skill, HP_mob_skill_db_libconfig_sub_skill) },
@@ -2150,16 +2218,27 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(npc->trader_pay, HP_npc_trader_pay) },
{ HP_POP(npc->trader_update, HP_npc_trader_update) },
{ HP_POP(npc->market_buylist, HP_npc_market_buylist) },
+ { HP_POP(npc->barter_buylist, HP_npc_barter_buylist) },
{ HP_POP(npc->trader_open, HP_npc_trader_open) },
{ HP_POP(npc->market_fromsql, HP_npc_market_fromsql) },
{ HP_POP(npc->market_tosql, HP_npc_market_tosql) },
{ HP_POP(npc->market_delfromsql, HP_npc_market_delfromsql) },
{ HP_POP(npc->market_delfromsql_sub, HP_npc_market_delfromsql_sub) },
+ { HP_POP(npc->barter_fromsql, HP_npc_barter_fromsql) },
+ { HP_POP(npc->barter_tosql, HP_npc_barter_tosql) },
+ { HP_POP(npc->barter_delfromsql, HP_npc_barter_delfromsql) },
+ { HP_POP(npc->barter_delfromsql_sub, HP_npc_barter_delfromsql_sub) },
{ HP_POP(npc->db_checkid, HP_npc_db_checkid) },
{ HP_POP(npc->refresh, HP_npc_refresh) },
+ { HP_POP(npc->questinfo_clear, HP_npc_questinfo_clear) },
{ HP_POP(npc->secure_timeout_timer, HP_npc_secure_timeout_timer) },
/* nullpo_interface */
{ HP_POP(nullpo->assert_report, HP_nullpo_assert_report) },
+/* packets_interface */
+ { HP_POP(packets->init, HP_packets_init) },
+ { HP_POP(packets->final, HP_packets_final) },
+ { HP_POP(packets->addLens, HP_packets_addLens) },
+ { HP_POP(packets->addLen, HP_packets_addLen) },
/* party_interface */
{ HP_POP(party->init, HP_party_init) },
{ HP_POP(party->final, HP_party_final) },
@@ -2469,6 +2548,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->check_basicskill, HP_pc_check_basicskill) },
{ HP_POP(pc->isDeathPenaltyJob, HP_pc_isDeathPenaltyJob) },
{ HP_POP(pc->has_second_costume, HP_pc_has_second_costume) },
+ { HP_POP(pc->expandInventory, HP_pc_expandInventory) },
/* pcre_interface */
{ HP_POP(libpcre->compile, HP_libpcre_compile) },
{ HP_POP(libpcre->study, HP_libpcre_study) },
@@ -2549,7 +2629,24 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(quest->questinfo_validate_homunculus_level, HP_quest_questinfo_validate_homunculus_level) },
{ HP_POP(quest->questinfo_validate_homunculus_type, HP_quest_questinfo_validate_homunculus_type) },
{ HP_POP(quest->questinfo_validate_quests, HP_quest_questinfo_validate_quests) },
- { HP_POP(quest->questinfo_vector_clear, HP_quest_questinfo_vector_clear) },
+ { HP_POP(quest->questinfo_validate_mercenary_class, HP_quest_questinfo_validate_mercenary_class) },
+/* refine_interface */
+ { HP_POP(refine->init, HP_refine_init) },
+ { HP_POP(refine->final, HP_refine_final) },
+ { HP_POP(refine->get_refine_chance, HP_refine_get_refine_chance) },
+ { HP_POP(refine->get_bonus, HP_refine_get_bonus) },
+ { HP_POP(refine->get_randombonus_max, HP_refine_get_randombonus_max) },
+ { HP_POP(refine->refinery_add_item, HP_refine_refinery_add_item) },
+ { HP_POP(refine->refinery_refine_request, HP_refine_refinery_refine_request) },
+/* refine_interface_private */
+ { HP_POP(refine->p->readdb_refine_libconfig_sub, HP_PRIV__refine_readdb_refine_libconfig_sub) },
+ { HP_POP(refine->p->readdb_refine_libconfig, HP_PRIV__refine_readdb_refine_libconfig) },
+ { HP_POP(refine->p->announce_behavior_string2enum, HP_PRIV__refine_announce_behavior_string2enum) },
+ { HP_POP(refine->p->failure_behavior_string2enum, HP_PRIV__refine_failure_behavior_string2enum) },
+ { HP_POP(refine->p->readdb_refinery_ui_settings_items, HP_PRIV__refine_readdb_refinery_ui_settings_items) },
+ { HP_POP(refine->p->readdb_refinery_ui_settings_sub, HP_PRIV__refine_readdb_refinery_ui_settings_sub) },
+ { HP_POP(refine->p->readdb_refinery_ui_settings, HP_PRIV__refine_readdb_refinery_ui_settings) },
+ { HP_POP(refine->p->is_refinable, HP_PRIV__refine_is_refinable) },
/* rnd_interface */
{ HP_POP(rnd->init, HP_rnd_init) },
{ HP_POP(rnd->final, HP_rnd_final) },
@@ -2577,6 +2674,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(rodex->get_items, HP_rodex_get_items) },
{ HP_POP(rodex->delete_mail, HP_rodex_delete_mail) },
{ HP_POP(rodex->clean, HP_rodex_clean) },
+ { HP_POP(rodex->getZenyAck, HP_rodex_getZenyAck) },
+ { HP_POP(rodex->getItemsAck, HP_rodex_getItemsAck) },
/* script_interface */
{ HP_POP(script->init, HP_script_init) },
{ HP_POP(script->final, HP_script_final) },
@@ -2908,6 +3007,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->onskillusage, HP_skill_onskillusage) },
{ HP_POP(skill->cell_overlap, HP_skill_cell_overlap) },
{ HP_POP(skill->timerskill, HP_skill_timerskill) },
+ { HP_POP(skill->trap_do_splash, HP_skill_trap_do_splash) },
{ HP_POP(skill->trap_splash, HP_skill_trap_splash) },
{ HP_POP(skill->check_condition_mercenary, HP_skill_check_condition_mercenary) },
{ HP_POP(skill->locate_element_field, HP_skill_locate_element_field) },
@@ -3032,12 +3132,15 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(sockt->realloc_fifo, HP_sockt_realloc_fifo) },
{ HP_POP(sockt->realloc_writefifo, HP_sockt_realloc_writefifo) },
{ HP_POP(sockt->wfifoset, HP_sockt_wfifoset) },
+ { HP_POP(sockt->wfifohead, HP_sockt_wfifohead) },
{ HP_POP(sockt->rfifoskip, HP_sockt_rfifoskip) },
{ HP_POP(sockt->close, HP_sockt_close) },
+ { HP_POP(sockt->validateWfifo, HP_sockt_validateWfifo) },
{ HP_POP(sockt->session_is_valid, HP_sockt_session_is_valid) },
{ HP_POP(sockt->session_is_active, HP_sockt_session_is_active) },
{ HP_POP(sockt->flush, HP_sockt_flush) },
{ HP_POP(sockt->flush_fifos, HP_sockt_flush_fifos) },
+ { HP_POP(sockt->connect_client, HP_sockt_connect_client) },
{ HP_POP(sockt->set_nonblocking, HP_sockt_set_nonblocking) },
{ HP_POP(sockt->set_defaultparse, HP_sockt_set_defaultparse) },
{ HP_POP(sockt->host2ip, HP_sockt_host2ip) },
@@ -3087,7 +3190,6 @@ struct HookingPointData HookingPoints[] = {
/* status_interface */
{ HP_POP(status->init, HP_status_init) },
{ HP_POP(status->final, HP_status_final) },
- { HP_POP(status->get_refine_chance, HP_status_get_refine_chance) },
{ HP_POP(status->skill2sc, HP_status_skill2sc) },
{ HP_POP(status->sc2skill, HP_status_sc2skill) },
{ HP_POP(status->sc2scb_flag, HP_status_sc2scb_flag) },
@@ -3170,6 +3272,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(status->base_atk, HP_status_base_atk) },
{ HP_POP(status->get_base_maxhp, HP_status_get_base_maxhp) },
{ HP_POP(status->get_base_maxsp, HP_status_get_base_maxsp) },
+ { HP_POP(status->get_restart_hp, HP_status_get_restart_hp) },
+ { HP_POP(status->get_restart_sp, HP_status_get_restart_sp) },
{ HP_POP(status->calc_npc_, HP_status_calc_npc_) },
{ HP_POP(status->calc_str, HP_status_calc_str) },
{ HP_POP(status->calc_agi, HP_status_calc_agi) },
@@ -3201,8 +3305,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(status->natural_heal_timer, HP_status_natural_heal_timer) },
{ HP_POP(status->readdb_job2, HP_status_readdb_job2) },
{ HP_POP(status->readdb_sizefix, HP_status_readdb_sizefix) },
- { HP_POP(status->readdb_refine_libconfig, HP_status_readdb_refine_libconfig) },
- { HP_POP(status->readdb_refine_libconfig_sub, HP_status_readdb_refine_libconfig_sub) },
{ HP_POP(status->readdb_scconfig, HP_status_readdb_scconfig) },
{ HP_POP(status->read_job_db, HP_status_read_job_db) },
{ HP_POP(status->read_job_db_sub, HP_status_read_job_db_sub) },
@@ -3251,6 +3353,16 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(strlib->safestrnlen_, HP_strlib_safestrnlen_) },
{ HP_POP(strlib->strline_, HP_strlib_strline_) },
{ HP_POP(strlib->bin2hex_, HP_strlib_bin2hex_) },
+/* stylist_interface */
+ { HP_POP(stylist->init, HP_stylist_init) },
+ { HP_POP(stylist->final, HP_stylist_final) },
+ { HP_POP(stylist->vector_init, HP_stylist_vector_init) },
+ { HP_POP(stylist->vector_clear, HP_stylist_vector_clear) },
+ { HP_POP(stylist->read_db_libconfig, HP_stylist_read_db_libconfig) },
+ { HP_POP(stylist->read_db_libconfig_sub, HP_stylist_read_db_libconfig_sub) },
+ { HP_POP(stylist->request_style_change, HP_stylist_request_style_change) },
+ { HP_POP(stylist->validate_requirements, HP_stylist_validate_requirements) },
+ { HP_POP(stylist->send_rodexitem, HP_stylist_send_rodexitem) },
/* sv_interface */
{ HP_POP(sv->parse_next, HP_sv_parse_next) },
{ HP_POP(sv->parse, HP_sv_parse) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 5690e0735..9636d67c7 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -1459,27 +1459,80 @@ bool HP_achievement_check_title(struct map_session_data *sd, int title_id) {
}
return retVal___;
}
-void HP_achievement_get_rewards(struct map_session_data *sd, const struct achievement_data *ad) {
+bool HP_achievement_get_rewards(struct map_session_data *sd, const struct achievement_data *ad) {
int hIndex = 0;
+ bool retVal___ = false;
if (HPMHooks.count.HP_achievement_get_rewards_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, const struct achievement_data **ad);
+ bool (*preHookFunc) (struct map_session_data **sd, const struct achievement_data **ad);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_achievement_get_rewards_pre[hIndex].func;
- preHookFunc(&sd, &ad);
+ retVal___ = preHookFunc(&sd, &ad);
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return;
+ return retVal___;
}
}
{
- HPMHooks.source.achievement.get_rewards(sd, ad);
+ retVal___ = HPMHooks.source.achievement.get_rewards(sd, ad);
}
if (HPMHooks.count.HP_achievement_get_rewards_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, const struct achievement_data *ad);
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, const struct achievement_data *ad);
for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_achievement_get_rewards_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, ad);
+ }
+ }
+ return retVal___;
+}
+void HP_achievement_get_rewards_buffs(struct map_session_data *sd, const struct achievement_data *ad) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_achievement_get_rewards_buffs_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, const struct achievement_data **ad);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_buffs_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_achievement_get_rewards_buffs_pre[hIndex].func;
+ preHookFunc(&sd, &ad);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.achievement.get_rewards_buffs(sd, ad);
+ }
+ if (HPMHooks.count.HP_achievement_get_rewards_buffs_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, const struct achievement_data *ad);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_buffs_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_achievement_get_rewards_buffs_post[hIndex].func;
+ postHookFunc(sd, ad);
+ }
+ }
+ return;
+}
+void HP_achievement_get_rewards_items(struct map_session_data *sd, const struct achievement_data *ad) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_achievement_get_rewards_items_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, const struct achievement_data **ad);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_items_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_achievement_get_rewards_items_pre[hIndex].func;
+ preHookFunc(&sd, &ad);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.achievement.get_rewards_items(sd, ad);
+ }
+ if (HPMHooks.count.HP_achievement_get_rewards_items_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, const struct achievement_data *ad);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_items_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_achievement_get_rewards_items_post[hIndex].func;
postHookFunc(sd, ad);
}
}
@@ -2806,6 +2859,32 @@ void HP_battle_reflect_damage(struct block_list *target, struct block_list *src,
}
return;
}
+void HP_battle_reflect_trap(struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_battle_reflect_trap_pre > 0) {
+ void (*preHookFunc) (struct block_list **target, struct block_list **src, struct Damage **md, uint16 *skill_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_battle_reflect_trap_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_battle_reflect_trap_pre[hIndex].func;
+ preHookFunc(&target, &src, &md, &skill_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.battle.reflect_trap(target, src, md, skill_id);
+ }
+ if (HPMHooks.count.HP_battle_reflect_trap_post > 0) {
+ void (*postHookFunc) (struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_battle_reflect_trap_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_battle_reflect_trap_post[hIndex].func;
+ postHookFunc(target, src, md, skill_id);
+ }
+ }
+ return;
+}
int HP_battle_attr_ratio(int atk_elem, int def_type, int def_lv) {
int hIndex = 0;
int retVal___ = 0;
@@ -9707,10 +9786,10 @@ void HP_clif_item_drop_announce(struct map_session_data *sd, int nameid, char *m
}
return;
}
-void HP_clif_clearunit_single(int id, clr_type type, int fd) {
+void HP_clif_clearunit_single(int id, enum clr_type type, int fd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_clearunit_single_pre > 0) {
- void (*preHookFunc) (int *id, clr_type *type, int *fd);
+ void (*preHookFunc) (int *id, enum clr_type *type, int *fd);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_single_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_clearunit_single_pre[hIndex].func;
@@ -9725,7 +9804,7 @@ void HP_clif_clearunit_single(int id, clr_type type, int fd) {
HPMHooks.source.clif.clearunit_single(id, type, fd);
}
if (HPMHooks.count.HP_clif_clearunit_single_post > 0) {
- void (*postHookFunc) (int id, clr_type type, int fd);
+ void (*postHookFunc) (int id, enum clr_type type, int fd);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_single_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_clearunit_single_post[hIndex].func;
postHookFunc(id, type, fd);
@@ -9733,10 +9812,10 @@ void HP_clif_clearunit_single(int id, clr_type type, int fd) {
}
return;
}
-void HP_clif_clearunit_area(struct block_list *bl, clr_type type) {
+void HP_clif_clearunit_area(struct block_list *bl, enum clr_type type) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_clearunit_area_pre > 0) {
- void (*preHookFunc) (struct block_list **bl, clr_type *type);
+ void (*preHookFunc) (struct block_list **bl, enum clr_type *type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_area_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_clearunit_area_pre[hIndex].func;
@@ -9751,7 +9830,7 @@ void HP_clif_clearunit_area(struct block_list *bl, clr_type type) {
HPMHooks.source.clif.clearunit_area(bl, type);
}
if (HPMHooks.count.HP_clif_clearunit_area_post > 0) {
- void (*postHookFunc) (struct block_list *bl, clr_type type);
+ void (*postHookFunc) (struct block_list *bl, enum clr_type type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_area_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_clearunit_area_post[hIndex].func;
postHookFunc(bl, type);
@@ -9759,10 +9838,10 @@ void HP_clif_clearunit_area(struct block_list *bl, clr_type type) {
}
return;
}
-void HP_clif_clearunit_delayed(struct block_list *bl, clr_type type, int64 tick) {
+void HP_clif_clearunit_delayed(struct block_list *bl, enum clr_type type, int64 tick) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_clearunit_delayed_pre > 0) {
- void (*preHookFunc) (struct block_list **bl, clr_type *type, int64 *tick);
+ void (*preHookFunc) (struct block_list **bl, enum clr_type *type, int64 *tick);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_delayed_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_clearunit_delayed_pre[hIndex].func;
@@ -9777,7 +9856,7 @@ void HP_clif_clearunit_delayed(struct block_list *bl, clr_type type, int64 tick)
HPMHooks.source.clif.clearunit_delayed(bl, type, tick);
}
if (HPMHooks.count.HP_clif_clearunit_delayed_post > 0) {
- void (*postHookFunc) (struct block_list *bl, clr_type type, int64 tick);
+ void (*postHookFunc) (struct block_list *bl, enum clr_type type, int64 tick);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_delayed_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_clearunit_delayed_post[hIndex].func;
postHookFunc(bl, type, tick);
@@ -11890,13 +11969,65 @@ void HP_clif_insert_card(struct map_session_data *sd, int idx_equip, int idx_car
}
return;
}
-void HP_clif_inventorylist(struct map_session_data *sd) {
+void HP_clif_inventoryList(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryList_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryList_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryList_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.inventoryList(sd);
+ }
+ if (HPMHooks.count.HP_clif_inventoryList_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryList_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryList_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+void HP_clif_inventoryItems(struct map_session_data *sd, enum inventory_type type) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryItems_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum inventory_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryItems_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryItems_pre[hIndex].func;
+ preHookFunc(&sd, &type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.inventoryItems(sd, type);
+ }
+ if (HPMHooks.count.HP_clif_inventoryItems_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum inventory_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryItems_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryItems_post[hIndex].func;
+ postHookFunc(sd, type);
+ }
+ }
+ return;
+}
+void HP_clif_equipList(struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_inventorylist_pre > 0) {
+ if (HPMHooks.count.HP_clif_equipList_pre > 0) {
void (*preHookFunc) (struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventorylist_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_inventorylist_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_equipList_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_equipList_pre[hIndex].func;
preHookFunc(&sd);
}
if (*HPMforce_return) {
@@ -11905,24 +12036,50 @@ void HP_clif_inventorylist(struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.inventorylist(sd);
+ HPMHooks.source.clif.equipList(sd);
}
- if (HPMHooks.count.HP_clif_inventorylist_post > 0) {
+ if (HPMHooks.count.HP_clif_equipList_post > 0) {
void (*postHookFunc) (struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventorylist_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_inventorylist_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_equipList_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_equipList_post[hIndex].func;
postHookFunc(sd);
}
}
return;
}
-void HP_clif_equiplist(struct map_session_data *sd) {
+void HP_clif_equipItems(struct map_session_data *sd, enum inventory_type type) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_equiplist_pre > 0) {
+ if (HPMHooks.count.HP_clif_equipItems_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum inventory_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_equipItems_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_equipItems_pre[hIndex].func;
+ preHookFunc(&sd, &type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.equipItems(sd, type);
+ }
+ if (HPMHooks.count.HP_clif_equipItems_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum inventory_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_equipItems_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_equipItems_post[hIndex].func;
+ postHookFunc(sd, type);
+ }
+ }
+ return;
+}
+void HP_clif_cartList(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_cartList_pre > 0) {
void (*preHookFunc) (struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_equiplist_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_equiplist_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cartList_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_cartList_pre[hIndex].func;
preHookFunc(&sd);
}
if (*HPMforce_return) {
@@ -11931,24 +12088,50 @@ void HP_clif_equiplist(struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.equiplist(sd);
+ HPMHooks.source.clif.cartList(sd);
}
- if (HPMHooks.count.HP_clif_equiplist_post > 0) {
+ if (HPMHooks.count.HP_clif_cartList_post > 0) {
void (*postHookFunc) (struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_equiplist_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_equiplist_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cartList_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_cartList_post[hIndex].func;
postHookFunc(sd);
}
}
return;
}
-void HP_clif_cartlist(struct map_session_data *sd) {
+void HP_clif_cartItems(struct map_session_data *sd, enum inventory_type type) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_cartlist_pre > 0) {
+ if (HPMHooks.count.HP_clif_cartItems_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum inventory_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cartItems_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_cartItems_pre[hIndex].func;
+ preHookFunc(&sd, &type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.cartItems(sd, type);
+ }
+ if (HPMHooks.count.HP_clif_cartItems_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum inventory_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cartItems_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_cartItems_post[hIndex].func;
+ postHookFunc(sd, type);
+ }
+ }
+ return;
+}
+void HP_clif_inventoryExpansionInfo(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryExpansionInfo_pre > 0) {
void (*preHookFunc) (struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cartlist_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_cartlist_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpansionInfo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryExpansionInfo_pre[hIndex].func;
preHookFunc(&sd);
}
if (*HPMforce_return) {
@@ -11957,17 +12140,147 @@ void HP_clif_cartlist(struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.cartlist(sd);
+ HPMHooks.source.clif.inventoryExpansionInfo(sd);
}
- if (HPMHooks.count.HP_clif_cartlist_post > 0) {
+ if (HPMHooks.count.HP_clif_inventoryExpansionInfo_post > 0) {
void (*postHookFunc) (struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cartlist_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_cartlist_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpansionInfo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryExpansionInfo_post[hIndex].func;
postHookFunc(sd);
}
}
return;
}
+void HP_clif_inventoryExpandAck(struct map_session_data *sd, enum expand_inventory result, int itemId) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryExpandAck_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum expand_inventory *result, int *itemId);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpandAck_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryExpandAck_pre[hIndex].func;
+ preHookFunc(&sd, &result, &itemId);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.inventoryExpandAck(sd, result, itemId);
+ }
+ if (HPMHooks.count.HP_clif_inventoryExpandAck_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum expand_inventory result, int itemId);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpandAck_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryExpandAck_post[hIndex].func;
+ postHookFunc(sd, result, itemId);
+ }
+ }
+ return;
+}
+void HP_clif_inventoryExpandResult(struct map_session_data *sd, enum expand_inventory_result result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryExpandResult_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum expand_inventory_result *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpandResult_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryExpandResult_pre[hIndex].func;
+ preHookFunc(&sd, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.inventoryExpandResult(sd, result);
+ }
+ if (HPMHooks.count.HP_clif_inventoryExpandResult_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum expand_inventory_result result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpandResult_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryExpandResult_post[hIndex].func;
+ postHookFunc(sd, result);
+ }
+ }
+ return;
+}
+void HP_clif_pInventoryExpansion(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pInventoryExpansion_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansion_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pInventoryExpansion_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pInventoryExpansion(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pInventoryExpansion_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansion_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pInventoryExpansion_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pInventoryExpansionConfirmed(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pInventoryExpansionConfirmed_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansionConfirmed_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pInventoryExpansionConfirmed_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pInventoryExpansionConfirmed(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pInventoryExpansionConfirmed_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansionConfirmed_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pInventoryExpansionConfirmed_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pInventoryExpansionRejected(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pInventoryExpansionRejected_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansionRejected_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pInventoryExpansionRejected_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pInventoryExpansionRejected(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pInventoryExpansionRejected_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansionRejected_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pInventoryExpansionRejected_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
void HP_clif_favorite_item(struct map_session_data *sd, unsigned short index) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_favorite_item_pre > 0) {
@@ -12306,13 +12619,325 @@ void HP_clif_changed_dir(struct block_list *bl, enum send_target target) {
}
return;
}
-void HP_clif_charnameack(int fd, struct block_list *bl) {
+void HP_clif_blname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_blname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_blname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_blname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.blname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_blname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_blname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_blname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_pcname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pcname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pcname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pcname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pcname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_pcname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pcname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pcname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_homname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_homname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_homname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_homname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.homname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_homname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_homname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_homname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mername_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mername_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mername_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mername_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mername_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mername_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mername_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mername_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_petname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_petname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_petname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.petname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_petname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_petname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_npcname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_npcname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npcname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_npcname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.npcname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_npcname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npcname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_npcname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mobname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mobname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mobname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mobname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mobname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mobname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mobname_guardian_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mobname_guardian_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_guardian_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mobname_guardian_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mobname_guardian_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mobname_guardian_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_guardian_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mobname_guardian_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mobname_additional_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mobname_additional_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_additional_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mobname_additional_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mobname_additional_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mobname_additional_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_additional_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mobname_additional_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mobname_normal_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mobname_normal_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_normal_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mobname_normal_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mobname_normal_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mobname_normal_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_normal_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mobname_normal_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_chatname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_chatname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_chatname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_chatname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.chatname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_chatname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_chatname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_chatname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_elemname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_elemname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_elemname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_elemname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.elemname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_elemname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_elemname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_elemname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_unknownname_ack(int fd, struct block_list *bl) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_charnameack_pre > 0) {
+ if (HPMHooks.count.HP_clif_unknownname_ack_pre > 0) {
void (*preHookFunc) (int *fd, struct block_list **bl);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_charnameack_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_charnameack_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_unknownname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_unknownname_ack_pre[hIndex].func;
preHookFunc(&fd, &bl);
}
if (*HPMforce_return) {
@@ -12321,12 +12946,12 @@ void HP_clif_charnameack(int fd, struct block_list *bl) {
}
}
{
- HPMHooks.source.clif.charnameack(fd, bl);
+ HPMHooks.source.clif.unknownname_ack(fd, bl);
}
- if (HPMHooks.count.HP_clif_charnameack_post > 0) {
+ if (HPMHooks.count.HP_clif_unknownname_ack_post > 0) {
void (*postHookFunc) (int fd, struct block_list *bl);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_charnameack_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_charnameack_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_unknownname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_unknownname_ack_post[hIndex].func;
postHookFunc(fd, bl);
}
}
@@ -14325,6 +14950,58 @@ void HP_clif_specialeffect_value(struct block_list *bl, int effect_id, int num,
}
return;
}
+void HP_clif_removeSpecialEffect(struct block_list *bl, int effectId, enum send_target target) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_removeSpecialEffect_pre > 0) {
+ void (*preHookFunc) (struct block_list **bl, int *effectId, enum send_target *target);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_removeSpecialEffect_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_removeSpecialEffect_pre[hIndex].func;
+ preHookFunc(&bl, &effectId, &target);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.removeSpecialEffect(bl, effectId, target);
+ }
+ if (HPMHooks.count.HP_clif_removeSpecialEffect_post > 0) {
+ void (*postHookFunc) (struct block_list *bl, int effectId, enum send_target target);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_removeSpecialEffect_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_removeSpecialEffect_post[hIndex].func;
+ postHookFunc(bl, effectId, target);
+ }
+ }
+ return;
+}
+void HP_clif_removeSpecialEffect_single(struct block_list *bl, int effectId, struct block_list *targetBl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_removeSpecialEffect_single_pre > 0) {
+ void (*preHookFunc) (struct block_list **bl, int *effectId, struct block_list **targetBl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_removeSpecialEffect_single_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_removeSpecialEffect_single_pre[hIndex].func;
+ preHookFunc(&bl, &effectId, &targetBl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.removeSpecialEffect_single(bl, effectId, targetBl);
+ }
+ if (HPMHooks.count.HP_clif_removeSpecialEffect_single_post > 0) {
+ void (*postHookFunc) (struct block_list *bl, int effectId, struct block_list *targetBl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_removeSpecialEffect_single_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_removeSpecialEffect_single_post[hIndex].func;
+ postHookFunc(bl, effectId, targetBl);
+ }
+ }
+ return;
+}
void HP_clif_millenniumshield(struct block_list *bl, short shields) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_millenniumshield_pre > 0) {
@@ -14715,6 +15392,32 @@ void HP_clif_changechatowner(struct chat_data *cd, struct map_session_data *sd)
}
return;
}
+void HP_clif_chatRoleChange(struct chat_data *cd, struct map_session_data *sd, struct block_list *bl, int isNotOwner) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_chatRoleChange_pre > 0) {
+ void (*preHookFunc) (struct chat_data **cd, struct map_session_data **sd, struct block_list **bl, int *isNotOwner);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_chatRoleChange_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_chatRoleChange_pre[hIndex].func;
+ preHookFunc(&cd, &sd, &bl, &isNotOwner);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.chatRoleChange(cd, sd, bl, isNotOwner);
+ }
+ if (HPMHooks.count.HP_clif_chatRoleChange_post > 0) {
+ void (*postHookFunc) (struct chat_data *cd, struct map_session_data *sd, struct block_list *bl, int isNotOwner);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_chatRoleChange_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_chatRoleChange_post[hIndex].func;
+ postHookFunc(cd, sd, bl, isNotOwner);
+ }
+ }
+ return;
+}
void HP_clif_clearchat(struct chat_data *cd, int fd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_clearchat_pre > 0) {
@@ -14975,6 +15678,32 @@ void HP_clif_messagecolor(struct block_list *bl, uint32 color, const char *msg)
}
return;
}
+void HP_clif_serviceMessageColor(struct map_session_data *sd, uint32 color, const char *msg) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_serviceMessageColor_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, uint32 *color, const char **msg);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_serviceMessageColor_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_serviceMessageColor_pre[hIndex].func;
+ preHookFunc(&sd, &color, &msg);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.serviceMessageColor(sd, color, msg);
+ }
+ if (HPMHooks.count.HP_clif_serviceMessageColor_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, uint32 color, const char *msg);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_serviceMessageColor_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_serviceMessageColor_post[hIndex].func;
+ postHookFunc(sd, color, msg);
+ }
+ }
+ return;
+}
void HP_clif_disp_overhead(struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_disp_overhead_pre > 0) {
@@ -15367,14 +16096,14 @@ void HP_clif_PMIgnoreList(struct map_session_data *sd) {
}
return;
}
-void HP_clif_ShowScript(struct block_list *bl, const char *message) {
+void HP_clif_ShowScript(struct block_list *bl, const char *message, enum send_target target) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_ShowScript_pre > 0) {
- void (*preHookFunc) (struct block_list **bl, const char **message);
+ void (*preHookFunc) (struct block_list **bl, const char **message, enum send_target *target);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ShowScript_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_ShowScript_pre[hIndex].func;
- preHookFunc(&bl, &message);
+ preHookFunc(&bl, &message, &target);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -15382,13 +16111,13 @@ void HP_clif_ShowScript(struct block_list *bl, const char *message) {
}
}
{
- HPMHooks.source.clif.ShowScript(bl, message);
+ HPMHooks.source.clif.ShowScript(bl, message, target);
}
if (HPMHooks.count.HP_clif_ShowScript_post > 0) {
- void (*postHookFunc) (struct block_list *bl, const char *message);
+ void (*postHookFunc) (struct block_list *bl, const char *message, enum send_target target);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ShowScript_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_ShowScript_post[hIndex].func;
- postHookFunc(bl, message);
+ postHookFunc(bl, message, target);
}
}
return;
@@ -15809,13 +16538,39 @@ void HP_clif_vendingreport(struct map_session_data *sd, int index, int amount, u
}
return;
}
-void HP_clif_storagelist(struct map_session_data *sd, struct item *items, int items_length) {
+void HP_clif_storageList(struct map_session_data *sd, struct item *items, int items_length) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_storageList_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, struct item **items, int *items_length);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_storageList_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_storageList_pre[hIndex].func;
+ preHookFunc(&sd, &items, &items_length);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.storageList(sd, items, items_length);
+ }
+ if (HPMHooks.count.HP_clif_storageList_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct item *items, int items_length);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_storageList_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_storageList_post[hIndex].func;
+ postHookFunc(sd, items, items_length);
+ }
+ }
+ return;
+}
+void HP_clif_guildStorageList(struct map_session_data *sd, struct item *items, int items_length) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_storagelist_pre > 0) {
+ if (HPMHooks.count.HP_clif_guildStorageList_pre > 0) {
void (*preHookFunc) (struct map_session_data **sd, struct item **items, int *items_length);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_storagelist_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_storagelist_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_guildStorageList_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_guildStorageList_pre[hIndex].func;
preHookFunc(&sd, &items, &items_length);
}
if (*HPMforce_return) {
@@ -15824,17 +16579,95 @@ void HP_clif_storagelist(struct map_session_data *sd, struct item *items, int it
}
}
{
- HPMHooks.source.clif.storagelist(sd, items, items_length);
+ HPMHooks.source.clif.guildStorageList(sd, items, items_length);
}
- if (HPMHooks.count.HP_clif_storagelist_post > 0) {
+ if (HPMHooks.count.HP_clif_guildStorageList_post > 0) {
void (*postHookFunc) (struct map_session_data *sd, struct item *items, int items_length);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_storagelist_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_storagelist_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_guildStorageList_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_guildStorageList_post[hIndex].func;
postHookFunc(sd, items, items_length);
}
}
return;
}
+void HP_clif_storageItems(struct map_session_data *sd, enum inventory_type type, struct item *items, int items_length) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_storageItems_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum inventory_type *type, struct item **items, int *items_length);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_storageItems_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_storageItems_pre[hIndex].func;
+ preHookFunc(&sd, &type, &items, &items_length);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.storageItems(sd, type, items, items_length);
+ }
+ if (HPMHooks.count.HP_clif_storageItems_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum inventory_type type, struct item *items, int items_length);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_storageItems_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_storageItems_post[hIndex].func;
+ postHookFunc(sd, type, items, items_length);
+ }
+ }
+ return;
+}
+void HP_clif_inventoryStart(struct map_session_data *sd, enum inventory_type type, const char *name) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryStart_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum inventory_type *type, const char **name);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryStart_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryStart_pre[hIndex].func;
+ preHookFunc(&sd, &type, &name);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.inventoryStart(sd, type, name);
+ }
+ if (HPMHooks.count.HP_clif_inventoryStart_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum inventory_type type, const char *name);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryStart_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryStart_post[hIndex].func;
+ postHookFunc(sd, type, name);
+ }
+ }
+ return;
+}
+void HP_clif_inventoryEnd(struct map_session_data *sd, enum inventory_type type) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryEnd_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum inventory_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryEnd_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryEnd_pre[hIndex].func;
+ preHookFunc(&sd, &type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.inventoryEnd(sd, type);
+ }
+ if (HPMHooks.count.HP_clif_inventoryEnd_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum inventory_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryEnd_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryEnd_post[hIndex].func;
+ postHookFunc(sd, type);
+ }
+ }
+ return;
+}
void HP_clif_updatestorageamount(struct map_session_data *sd, int amount, int max_amount) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_updatestorageamount_pre > 0) {
@@ -20528,10 +21361,10 @@ bool HP_clif_parse_roulette_db(void) {
}
return retVal___;
}
-void HP_clif_roulette_generate_ack(struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, int bonusItemID) {
+void HP_clif_roulette_generate_ack(struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_roulette_generate_ack_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, unsigned char *result, short *stage, short *prizeIdx, int *bonusItemID);
+ void (*preHookFunc) (struct map_session_data **sd, enum GENERATE_ROULETTE_ACK *result, short *stage, short *prizeIdx, int *bonusItemID);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_roulette_generate_ack_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_roulette_generate_ack_pre[hIndex].func;
@@ -20546,7 +21379,7 @@ void HP_clif_roulette_generate_ack(struct map_session_data *sd, unsigned char re
HPMHooks.source.clif.roulette_generate_ack(sd, result, stage, prizeIdx, bonusItemID);
}
if (HPMHooks.count.HP_clif_roulette_generate_ack_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, int bonusItemID);
+ void (*postHookFunc) (struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_roulette_generate_ack_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_roulette_generate_ack_post[hIndex].func;
postHookFunc(sd, result, stage, prizeIdx, bonusItemID);
@@ -20554,6 +21387,32 @@ void HP_clif_roulette_generate_ack(struct map_session_data *sd, unsigned char re
}
return;
}
+void HP_clif_roulette_close(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_roulette_close_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_roulette_close_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_roulette_close_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.roulette_close(sd);
+ }
+ if (HPMHooks.count.HP_clif_roulette_close_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_roulette_close_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_roulette_close_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
void HP_clif_openmergeitem(int fd, struct map_session_data *sd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_openmergeitem_pre > 0) {
@@ -20659,6 +21518,32 @@ void HP_clif_ackmergeitems(int fd, struct map_session_data *sd) {
}
return;
}
+void HP_clif_mergeitems(int fd, struct map_session_data *sd, int index, int amount, enum mergeitem_reason reason) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mergeitems_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd, int *index, int *amount, enum mergeitem_reason *reason);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mergeitems_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mergeitems_pre[hIndex].func;
+ preHookFunc(&fd, &sd, &index, &amount, &reason);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mergeitems(fd, sd, index, amount, reason);
+ }
+ if (HPMHooks.count.HP_clif_mergeitems_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd, int index, int amount, enum mergeitem_reason reason);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mergeitems_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mergeitems_post[hIndex].func;
+ postHookFunc(fd, sd, index, amount, reason);
+ }
+ }
+ return;
+}
bool HP_clif_isdisguised(struct block_list *bl) {
int hIndex = 0;
bool retVal___ = false;
@@ -22091,6 +22976,32 @@ void HP_clif_pSkillUp(int fd, struct map_session_data *sd) {
}
return;
}
+void HP_clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_useSkillToIdReal_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd, int *skill_id, int *skill_lv, int *target_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_useSkillToIdReal_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_useSkillToIdReal_pre[hIndex].func;
+ preHookFunc(&fd, &sd, &skill_id, &skill_lv, &target_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.useSkillToIdReal(fd, sd, skill_id, skill_lv, target_id);
+ }
+ if (HPMHooks.count.HP_clif_useSkillToIdReal_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_useSkillToIdReal_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_useSkillToIdReal_post[hIndex].func;
+ postHookFunc(fd, sd, skill_id, skill_lv, target_id);
+ }
+ }
+ return;
+}
void HP_clif_pUseSkillToId(int fd, struct map_session_data *sd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_pUseSkillToId_pre > 0) {
@@ -22117,6 +23028,58 @@ void HP_clif_pUseSkillToId(int fd, struct map_session_data *sd) {
}
return;
}
+void HP_clif_pStartUseSkillToId(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pStartUseSkillToId_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStartUseSkillToId_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pStartUseSkillToId_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pStartUseSkillToId(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pStartUseSkillToId_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStartUseSkillToId_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pStartUseSkillToId_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pStopUseSkillToId(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pStopUseSkillToId_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStopUseSkillToId_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pStopUseSkillToId_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pStopUseSkillToId(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pStopUseSkillToId_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStopUseSkillToId_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pStopUseSkillToId_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
void HP_clif_pUseSkillToId_homun(struct homun_data *hd, struct map_session_data *sd, int64 tick, uint16 skill_id, uint16 skill_lv, int target_id) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_pUseSkillToId_homun_pre > 0) {
@@ -26355,6 +27318,32 @@ void HP_clif_pGuildInvite2(int fd, struct map_session_data *sd) {
}
return;
}
+void HP_clif_cashShopBuyAck(int fd, struct map_session_data *sd, int itemId, enum CASH_SHOP_BUY_RESULT result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_cashShopBuyAck_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd, int *itemId, enum CASH_SHOP_BUY_RESULT *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cashShopBuyAck_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_cashShopBuyAck_pre[hIndex].func;
+ preHookFunc(&fd, &sd, &itemId, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.cashShopBuyAck(fd, sd, itemId, result);
+ }
+ if (HPMHooks.count.HP_clif_cashShopBuyAck_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd, int itemId, enum CASH_SHOP_BUY_RESULT result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cashShopBuyAck_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_cashShopBuyAck_post[hIndex].func;
+ postHookFunc(fd, sd, itemId, result);
+ }
+ }
+ return;
+}
void HP_clif_pPartyBookingAddFilter(int fd, struct map_session_data *sd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_pPartyBookingAddFilter_pre > 0) {
@@ -27475,10 +28464,10 @@ void HP_clif_pRodexCheckName(int fd, struct map_session_data *sd) {
}
return;
}
-void HP_clif_rodex_checkname_result(struct map_session_data *sd, int char_id, short class_, int base_level, const char *name) {
+void HP_clif_rodex_checkname_result(struct map_session_data *sd, int char_id, int class_, int base_level, const char *name) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_rodex_checkname_result_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, int *char_id, short *class_, int *base_level, const char **name);
+ void (*preHookFunc) (struct map_session_data **sd, int *char_id, int *class_, int *base_level, const char **name);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_checkname_result_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_rodex_checkname_result_pre[hIndex].func;
@@ -27493,7 +28482,7 @@ void HP_clif_rodex_checkname_result(struct map_session_data *sd, int char_id, sh
HPMHooks.source.clif.rodex_checkname_result(sd, char_id, class_, base_level, name);
}
if (HPMHooks.count.HP_clif_rodex_checkname_result_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, int char_id, short class_, int base_level, const char *name);
+ void (*postHookFunc) (struct map_session_data *sd, int char_id, int class_, int base_level, const char *name);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_checkname_result_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_rodex_checkname_result_post[hIndex].func;
postHookFunc(sd, char_id, class_, base_level, name);
@@ -28233,14 +29222,14 @@ void HP_clif_PrivateAirshipResponse(struct map_session_data *sd, uint32 flag) {
}
return;
}
-void HP_clif_stylist_vector_init(void) {
+void HP_clif_pReqStyleChange(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_stylist_vector_init_pre > 0) {
- void (*preHookFunc) (void);
+ if (HPMHooks.count.HP_clif_pReqStyleChange_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_vector_init_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_vector_init_pre[hIndex].func;
- preHookFunc();
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pReqStyleChange_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28248,25 +29237,25 @@ void HP_clif_stylist_vector_init(void) {
}
}
{
- HPMHooks.source.clif.stylist_vector_init();
+ HPMHooks.source.clif.pReqStyleChange(fd, sd);
}
- if (HPMHooks.count.HP_clif_stylist_vector_init_post > 0) {
- void (*postHookFunc) (void);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_vector_init_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_vector_init_post[hIndex].func;
- postHookFunc();
+ if (HPMHooks.count.HP_clif_pReqStyleChange_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pReqStyleChange_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_stylist_vector_clear(void) {
+void HP_clif_pReqStyleChange2(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_stylist_vector_clear_pre > 0) {
- void (*preHookFunc) (void);
+ if (HPMHooks.count.HP_clif_pReqStyleChange2_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_vector_clear_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_vector_clear_pre[hIndex].func;
- preHookFunc();
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange2_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pReqStyleChange2_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28274,80 +29263,286 @@ void HP_clif_stylist_vector_clear(void) {
}
}
{
- HPMHooks.source.clif.stylist_vector_clear();
+ HPMHooks.source.clif.pReqStyleChange2(fd, sd);
}
- if (HPMHooks.count.HP_clif_stylist_vector_clear_post > 0) {
- void (*postHookFunc) (void);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_vector_clear_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_vector_clear_post[hIndex].func;
- postHookFunc();
+ if (HPMHooks.count.HP_clif_pReqStyleChange2_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange2_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pReqStyleChange2_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-bool HP_clif_stylist_read_db_libconfig(void) {
+void HP_clif_pStyleClose(int fd, struct map_session_data *sd) {
int hIndex = 0;
- bool retVal___ = false;
- if (HPMHooks.count.HP_clif_stylist_read_db_libconfig_pre > 0) {
- bool (*preHookFunc) (void);
+ if (HPMHooks.count.HP_clif_pStyleClose_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_read_db_libconfig_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_read_db_libconfig_pre[hIndex].func;
- retVal___ = preHookFunc();
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStyleClose_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pStyleClose_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return retVal___;
+ return;
}
}
{
- retVal___ = HPMHooks.source.clif.stylist_read_db_libconfig();
+ HPMHooks.source.clif.pStyleClose(fd, sd);
}
- if (HPMHooks.count.HP_clif_stylist_read_db_libconfig_post > 0) {
- bool (*postHookFunc) (bool retVal___);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_read_db_libconfig_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_read_db_libconfig_post[hIndex].func;
- retVal___ = postHookFunc(retVal___);
+ if (HPMHooks.count.HP_clif_pStyleClose_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStyleClose_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pStyleClose_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
- return retVal___;
+ return;
}
-bool HP_clif_stylist_read_db_libconfig_sub(struct config_setting_t *it, int idx, const char *source) {
+void HP_clif_style_change_response(struct map_session_data *sd, enum stylist_shop flag) {
int hIndex = 0;
- bool retVal___ = false;
- if (HPMHooks.count.HP_clif_stylist_read_db_libconfig_sub_pre > 0) {
- bool (*preHookFunc) (struct config_setting_t **it, int *idx, const char **source);
+ if (HPMHooks.count.HP_clif_style_change_response_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum stylist_shop *flag);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_read_db_libconfig_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_read_db_libconfig_sub_pre[hIndex].func;
- retVal___ = preHookFunc(&it, &idx, &source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_response_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_style_change_response_pre[hIndex].func;
+ preHookFunc(&sd, &flag);
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return retVal___;
+ return;
}
}
{
- retVal___ = HPMHooks.source.clif.stylist_read_db_libconfig_sub(it, idx, source);
+ HPMHooks.source.clif.style_change_response(sd, flag);
}
- if (HPMHooks.count.HP_clif_stylist_read_db_libconfig_sub_post > 0) {
- bool (*postHookFunc) (bool retVal___, struct config_setting_t *it, int idx, const char *source);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_read_db_libconfig_sub_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_read_db_libconfig_sub_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, it, idx, source);
+ if (HPMHooks.count.HP_clif_style_change_response_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum stylist_shop flag);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_response_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_style_change_response_post[hIndex].func;
+ postHookFunc(sd, flag);
}
}
- return retVal___;
+ return;
+}
+void HP_clif_pPetEvolution(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pPetEvolution_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPetEvolution_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pPetEvolution_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pPetEvolution(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pPetEvolution_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPetEvolution_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pPetEvolution_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_petEvolutionResult(int fd, enum pet_evolution_result result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_petEvolutionResult_pre > 0) {
+ void (*preHookFunc) (int *fd, enum pet_evolution_result *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petEvolutionResult_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_petEvolutionResult_pre[hIndex].func;
+ preHookFunc(&fd, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.petEvolutionResult(fd, result);
+ }
+ if (HPMHooks.count.HP_clif_petEvolutionResult_post > 0) {
+ void (*postHookFunc) (int fd, enum pet_evolution_result result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petEvolutionResult_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_petEvolutionResult_post[hIndex].func;
+ postHookFunc(fd, result);
+ }
+ }
+ return;
+}
+void HP_clif_party_dead_notification(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_party_dead_notification_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_party_dead_notification_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_party_dead_notification_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.party_dead_notification(sd);
+ }
+ if (HPMHooks.count.HP_clif_party_dead_notification_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_party_dead_notification_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_party_dead_notification_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+void HP_clif_pMemorialDungeonCommand(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pMemorialDungeonCommand_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pMemorialDungeonCommand_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pMemorialDungeonCommand_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pMemorialDungeonCommand(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pMemorialDungeonCommand_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pMemorialDungeonCommand_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pMemorialDungeonCommand_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_camera_showWindow(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_camera_showWindow_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_camera_showWindow_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_camera_showWindow_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.camera_showWindow(sd);
+ }
+ if (HPMHooks.count.HP_clif_camera_showWindow_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_camera_showWindow_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_camera_showWindow_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+void HP_clif_camera_change(struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_camera_change_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, float *range, float *rotation, float *latitude, enum send_target *target);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_camera_change_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_camera_change_pre[hIndex].func;
+ preHookFunc(&sd, &range, &rotation, &latitude, &target);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.camera_change(sd, range, rotation, latitude, target);
+ }
+ if (HPMHooks.count.HP_clif_camera_change_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_camera_change_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_camera_change_post[hIndex].func;
+ postHookFunc(sd, range, rotation, latitude, target);
+ }
+ }
+ return;
+}
+void HP_clif_pCameraInfo(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pCameraInfo_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCameraInfo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pCameraInfo_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pCameraInfo(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pCameraInfo_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCameraInfo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pCameraInfo_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_item_preview(struct map_session_data *sd, int n) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_item_preview_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *n);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_item_preview_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_item_preview_pre[hIndex].func;
+ preHookFunc(&sd, &n);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.item_preview(sd, n);
+ }
+ if (HPMHooks.count.HP_clif_item_preview_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int n);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_item_preview_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_item_preview_post[hIndex].func;
+ postHookFunc(sd, n);
+ }
+ }
+ return;
}
-bool HP_clif_style_change_validate_requirements(struct map_session_data *sd, int type, int16 idx) {
+bool HP_clif_enchant_equipment(struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId) {
int hIndex = 0;
bool retVal___ = false;
- if (HPMHooks.count.HP_clif_style_change_validate_requirements_pre > 0) {
- bool (*preHookFunc) (struct map_session_data **sd, int *type, int16 *idx);
+ if (HPMHooks.count.HP_clif_enchant_equipment_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, enum equip_pos *pos, int *cardSlot, int *cardId);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_validate_requirements_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_style_change_validate_requirements_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &type, &idx);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_enchant_equipment_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_enchant_equipment_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &pos, &cardSlot, &cardId);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28355,25 +29550,25 @@ bool HP_clif_style_change_validate_requirements(struct map_session_data *sd, int
}
}
{
- retVal___ = HPMHooks.source.clif.style_change_validate_requirements(sd, type, idx);
+ retVal___ = HPMHooks.source.clif.enchant_equipment(sd, pos, cardSlot, cardId);
}
- if (HPMHooks.count.HP_clif_style_change_validate_requirements_post > 0) {
- bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int type, int16 idx);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_validate_requirements_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_style_change_validate_requirements_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, type, idx);
+ if (HPMHooks.count.HP_clif_enchant_equipment_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_enchant_equipment_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_enchant_equipment_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, pos, cardSlot, cardId);
}
}
return retVal___;
}
-void HP_clif_stylist_send_rodexitem(struct map_session_data *sd, int itemid) {
+void HP_clif_pReqRemainTime(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_stylist_send_rodexitem_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, int *itemid);
+ if (HPMHooks.count.HP_clif_pReqRemainTime_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_send_rodexitem_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_send_rodexitem_pre[hIndex].func;
- preHookFunc(&sd, &itemid);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqRemainTime_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pReqRemainTime_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28381,24 +29576,50 @@ void HP_clif_stylist_send_rodexitem(struct map_session_data *sd, int itemid) {
}
}
{
- HPMHooks.source.clif.stylist_send_rodexitem(sd, itemid);
+ HPMHooks.source.clif.pReqRemainTime(fd, sd);
}
- if (HPMHooks.count.HP_clif_stylist_send_rodexitem_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, int itemid);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_send_rodexitem_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_send_rodexitem_post[hIndex].func;
- postHookFunc(sd, itemid);
+ if (HPMHooks.count.HP_clif_pReqRemainTime_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqRemainTime_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pReqRemainTime_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_pReqStyleChange(int fd, struct map_session_data *sd) {
+void HP_clif_npc_barter_open(struct map_session_data *sd, struct npc_data *nd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pReqStyleChange_pre > 0) {
+ if (HPMHooks.count.HP_clif_npc_barter_open_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, struct npc_data **nd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npc_barter_open_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_npc_barter_open_pre[hIndex].func;
+ preHookFunc(&sd, &nd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.npc_barter_open(sd, nd);
+ }
+ if (HPMHooks.count.HP_clif_npc_barter_open_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct npc_data *nd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npc_barter_open_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_npc_barter_open_post[hIndex].func;
+ postHookFunc(sd, nd);
+ }
+ }
+ return;
+}
+void HP_clif_pNPCBarterClosed(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pNPCBarterClosed_pre > 0) {
void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pReqStyleChange_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCBarterClosed_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pNPCBarterClosed_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -28407,24 +29628,24 @@ void HP_clif_pReqStyleChange(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pReqStyleChange(fd, sd);
+ HPMHooks.source.clif.pNPCBarterClosed(fd, sd);
}
- if (HPMHooks.count.HP_clif_pReqStyleChange_post > 0) {
+ if (HPMHooks.count.HP_clif_pNPCBarterClosed_post > 0) {
void (*postHookFunc) (int fd, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pReqStyleChange_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCBarterClosed_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pNPCBarterClosed_post[hIndex].func;
postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_pReqStyleChange2(int fd, struct map_session_data *sd) {
+void HP_clif_pNPCBarterPurchase(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pReqStyleChange2_pre > 0) {
+ if (HPMHooks.count.HP_clif_pNPCBarterPurchase_pre > 0) {
void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange2_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pReqStyleChange2_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCBarterPurchase_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pNPCBarterPurchase_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -28433,25 +29654,25 @@ void HP_clif_pReqStyleChange2(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pReqStyleChange2(fd, sd);
+ HPMHooks.source.clif.pNPCBarterPurchase(fd, sd);
}
- if (HPMHooks.count.HP_clif_pReqStyleChange2_post > 0) {
+ if (HPMHooks.count.HP_clif_pNPCBarterPurchase_post > 0) {
void (*postHookFunc) (int fd, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange2_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pReqStyleChange2_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCBarterPurchase_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pNPCBarterPurchase_post[hIndex].func;
postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_cz_req_style_change_sub(struct map_session_data *sd, int type, int16 idx, bool isitem) {
+void HP_clif_pClientVersion(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_cz_req_style_change_sub_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, int *type, int16 *idx, bool *isitem);
+ if (HPMHooks.count.HP_clif_pClientVersion_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cz_req_style_change_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_cz_req_style_change_sub_pre[hIndex].func;
- preHookFunc(&sd, &type, &idx, &isitem);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pClientVersion_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pClientVersion_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28459,25 +29680,25 @@ void HP_clif_cz_req_style_change_sub(struct map_session_data *sd, int type, int1
}
}
{
- HPMHooks.source.clif.cz_req_style_change_sub(sd, type, idx, isitem);
+ HPMHooks.source.clif.pClientVersion(fd, sd);
}
- if (HPMHooks.count.HP_clif_cz_req_style_change_sub_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, int type, int16 idx, bool isitem);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cz_req_style_change_sub_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_cz_req_style_change_sub_post[hIndex].func;
- postHookFunc(sd, type, idx, isitem);
+ if (HPMHooks.count.HP_clif_pClientVersion_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pClientVersion_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pClientVersion_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_style_change_response(struct map_session_data *sd, enum stylist_shop flag) {
+void HP_clif_pPing(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_style_change_response_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, enum stylist_shop *flag);
+ if (HPMHooks.count.HP_clif_pPing_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_response_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_style_change_response_pre[hIndex].func;
- preHookFunc(&sd, &flag);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPing_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pPing_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28485,24 +29706,110 @@ void HP_clif_style_change_response(struct map_session_data *sd, enum stylist_sho
}
}
{
- HPMHooks.source.clif.style_change_response(sd, flag);
+ HPMHooks.source.clif.pPing(fd, sd);
}
- if (HPMHooks.count.HP_clif_style_change_response_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, enum stylist_shop flag);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_response_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_style_change_response_post[hIndex].func;
- postHookFunc(sd, flag);
+ if (HPMHooks.count.HP_clif_pPing_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPing_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pPing_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_pPetEvolution(int fd, struct map_session_data *sd) {
+void HP_clif_ping(struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pPetEvolution_pre > 0) {
+ if (HPMHooks.count.HP_clif_ping_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ping_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_ping_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.ping(sd);
+ }
+ if (HPMHooks.count.HP_clif_ping_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ping_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_ping_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+int HP_clif_pingTimer(int tid, int64 tick, int id, intptr_t data) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_clif_pingTimer_pre > 0) {
+ int (*preHookFunc) (int *tid, int64 *tick, int *id, intptr_t *data);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pingTimer_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pingTimer_pre[hIndex].func;
+ retVal___ = preHookFunc(&tid, &tick, &id, &data);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.clif.pingTimer(tid, tick, id, data);
+ }
+ if (HPMHooks.count.HP_clif_pingTimer_post > 0) {
+ int (*postHookFunc) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pingTimer_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pingTimer_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, tid, tick, id, data);
+ }
+ }
+ return retVal___;
+}
+int HP_clif_pingTimerSub(struct map_session_data *sd, va_list ap) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_clif_pingTimerSub_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, va_list ap);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pingTimerSub_pre; hIndex++) {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ preHookFunc = HPMHooks.list.HP_clif_pingTimerSub_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, ap___copy);
+ va_end(ap___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ retVal___ = HPMHooks.source.clif.pingTimerSub(sd, ap___copy);
+ va_end(ap___copy);
+ }
+ if (HPMHooks.count.HP_clif_pingTimerSub_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, va_list ap);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pingTimerSub_post; hIndex++) {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ postHookFunc = HPMHooks.list.HP_clif_pingTimerSub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, ap___copy);
+ va_end(ap___copy);
+ }
+ }
+ return retVal___;
+}
+void HP_clif_pResetCooldown(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pResetCooldown_pre > 0) {
void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPetEvolution_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pPetEvolution_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pResetCooldown_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pResetCooldown_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -28511,25 +29818,25 @@ void HP_clif_pPetEvolution(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pPetEvolution(fd, sd);
+ HPMHooks.source.clif.pResetCooldown(fd, sd);
}
- if (HPMHooks.count.HP_clif_pPetEvolution_post > 0) {
+ if (HPMHooks.count.HP_clif_pResetCooldown_post > 0) {
void (*postHookFunc) (int fd, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPetEvolution_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pPetEvolution_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pResetCooldown_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pResetCooldown_post[hIndex].func;
postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_petEvolutionResult(int fd, enum pet_evolution_result result) {
+void HP_clif_loadConfirm(struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_petEvolutionResult_pre > 0) {
- void (*preHookFunc) (int *fd, enum pet_evolution_result *result);
+ if (HPMHooks.count.HP_clif_loadConfirm_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petEvolutionResult_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_petEvolutionResult_pre[hIndex].func;
- preHookFunc(&fd, &result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_loadConfirm_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_loadConfirm_pre[hIndex].func;
+ preHookFunc(&sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28537,24 +29844,50 @@ void HP_clif_petEvolutionResult(int fd, enum pet_evolution_result result) {
}
}
{
- HPMHooks.source.clif.petEvolutionResult(fd, result);
+ HPMHooks.source.clif.loadConfirm(sd);
}
- if (HPMHooks.count.HP_clif_petEvolutionResult_post > 0) {
- void (*postHookFunc) (int fd, enum pet_evolution_result result);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petEvolutionResult_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_petEvolutionResult_post[hIndex].func;
- postHookFunc(fd, result);
+ if (HPMHooks.count.HP_clif_loadConfirm_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_loadConfirm_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_loadConfirm_post[hIndex].func;
+ postHookFunc(sd);
}
}
return;
}
-void HP_clif_party_dead_notification(struct map_session_data *sd) {
+void HP_clif_send_selforarea(int fd, struct block_list *bl, const void *buf, int len) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_party_dead_notification_pre > 0) {
+ if (HPMHooks.count.HP_clif_send_selforarea_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl, const void **buf, int *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_send_selforarea_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_send_selforarea_pre[hIndex].func;
+ preHookFunc(&fd, &bl, &buf, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.send_selforarea(fd, bl, buf, len);
+ }
+ if (HPMHooks.count.HP_clif_send_selforarea_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl, const void *buf, int len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_send_selforarea_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_send_selforarea_post[hIndex].func;
+ postHookFunc(fd, bl, buf, len);
+ }
+ }
+ return;
+}
+void HP_clif_OpenRefineryUI(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_OpenRefineryUI_pre > 0) {
void (*preHookFunc) (struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_party_dead_notification_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_party_dead_notification_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_OpenRefineryUI_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_OpenRefineryUI_pre[hIndex].func;
preHookFunc(&sd);
}
if (*HPMforce_return) {
@@ -28563,17 +29896,147 @@ void HP_clif_party_dead_notification(struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.party_dead_notification(sd);
+ HPMHooks.source.clif.OpenRefineryUI(sd);
}
- if (HPMHooks.count.HP_clif_party_dead_notification_post > 0) {
+ if (HPMHooks.count.HP_clif_OpenRefineryUI_post > 0) {
void (*postHookFunc) (struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_party_dead_notification_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_party_dead_notification_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_OpenRefineryUI_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_OpenRefineryUI_post[hIndex].func;
postHookFunc(sd);
}
}
return;
}
+void HP_clif_pAddItemRefineryUI(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pAddItemRefineryUI_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pAddItemRefineryUI_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pAddItemRefineryUI_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pAddItemRefineryUI(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pAddItemRefineryUI_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pAddItemRefineryUI_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pAddItemRefineryUI_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_AddItemRefineryUIAck(struct map_session_data *sd, int item_index, struct s_refine_requirement *req) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_AddItemRefineryUIAck_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *item_index, struct s_refine_requirement **req);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_AddItemRefineryUIAck_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_AddItemRefineryUIAck_pre[hIndex].func;
+ preHookFunc(&sd, &item_index, &req);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.AddItemRefineryUIAck(sd, item_index, req);
+ }
+ if (HPMHooks.count.HP_clif_AddItemRefineryUIAck_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int item_index, struct s_refine_requirement *req);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_AddItemRefineryUIAck_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_AddItemRefineryUIAck_post[hIndex].func;
+ postHookFunc(sd, item_index, req);
+ }
+ }
+ return;
+}
+void HP_clif_pRefineryUIClose(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRefineryUIClose_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRefineryUIClose_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRefineryUIClose_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRefineryUIClose(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRefineryUIClose_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRefineryUIClose_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRefineryUIClose_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pRefineryUIRefine(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRefineryUIRefine_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRefineryUIRefine_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRefineryUIRefine_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRefineryUIRefine(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRefineryUIRefine_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRefineryUIRefine_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRefineryUIRefine_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_announce_refine_status(struct map_session_data *sd, int item_id, int refine_level, bool success, enum send_target target) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_announce_refine_status_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *item_id, int *refine_level, bool *success, enum send_target *target);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_announce_refine_status_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_announce_refine_status_pre[hIndex].func;
+ preHookFunc(&sd, &item_id, &refine_level, &success, &target);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.announce_refine_status(sd, item_id, refine_level, success, target);
+ }
+ if (HPMHooks.count.HP_clif_announce_refine_status_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int item_id, int refine_level, bool success, enum send_target target);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_announce_refine_status_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_announce_refine_status_post[hIndex].func;
+ postHookFunc(sd, item_id, refine_level, success, target);
+ }
+ }
+ return;
+}
/* cmdline_interface */
void HP_cmdline_init(void) {
int hIndex = 0;
@@ -31778,11 +33241,11 @@ int HP_guild_send_memberinfoshort(struct map_session_data *sd, int online) {
}
return retVal___;
}
-int HP_guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login) {
+int HP_guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_guild_recv_memberinfoshort_pre > 0) {
- int (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class, uint32 *last_login);
+ int (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class, uint32 *last_login);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_recv_memberinfoshort_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_guild_recv_memberinfoshort_pre[hIndex].func;
@@ -31797,7 +33260,7 @@ int HP_guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int
retVal___ = HPMHooks.source.guild.recv_memberinfoshort(guild_id, account_id, char_id, online, lv, class, last_login);
}
if (HPMHooks.count.HP_guild_recv_memberinfoshort_post > 0) {
- int (*postHookFunc) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login);
+ int (*postHookFunc) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login);
for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_recv_memberinfoshort_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_guild_recv_memberinfoshort_post[hIndex].func;
retVal___ = postHookFunc(retVal___, guild_id, account_id, char_id, online, lv, class, last_login);
@@ -33925,11 +35388,11 @@ bool HP_homun_levelup(struct homun_data *hd) {
}
return retVal___;
}
-int HP_homun_change_class(struct homun_data *hd, short class_) {
+int HP_homun_change_class(struct homun_data *hd, int class_) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_homun_change_class_pre > 0) {
- int (*preHookFunc) (struct homun_data **hd, short *class_);
+ int (*preHookFunc) (struct homun_data **hd, int *class_);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_change_class_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_homun_change_class_pre[hIndex].func;
@@ -33944,7 +35407,7 @@ int HP_homun_change_class(struct homun_data *hd, short class_) {
retVal___ = HPMHooks.source.homun.change_class(hd, class_);
}
if (HPMHooks.count.HP_homun_change_class_post > 0) {
- int (*postHookFunc) (int retVal___, struct homun_data *hd, short class_);
+ int (*postHookFunc) (int retVal___, struct homun_data *hd, int class_);
for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_change_class_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_homun_change_class_post[hIndex].func;
retVal___ = postHookFunc(retVal___, hd, class_);
@@ -35268,6 +36731,32 @@ int HP_instance_destroy_timer(int tid, int64 tick, int id, intptr_t data) {
}
return retVal___;
}
+void HP_instance_force_destroy(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_instance_force_destroy_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_instance_force_destroy_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_instance_force_destroy_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.instance.force_destroy(sd);
+ }
+ if (HPMHooks.count.HP_instance_force_destroy_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_instance_force_destroy_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_instance_force_destroy_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
/* intif_interface */
int HP_intif_parse(int fd) {
int hIndex = 0;
@@ -35296,11 +36785,11 @@ int HP_intif_parse(int fd) {
}
return retVal___;
}
-int HP_intif_create_pet(int account_id, int char_id, short pet_type, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name) {
+int HP_intif_create_pet(int account_id, int char_id, int pet_type, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_intif_create_pet_pre > 0) {
- int (*preHookFunc) (int *account_id, int *char_id, short *pet_type, short *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, char **pet_name);
+ int (*preHookFunc) (int *account_id, int *char_id, int *pet_type, int *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, char **pet_name);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_create_pet_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_intif_create_pet_pre[hIndex].func;
@@ -35315,7 +36804,7 @@ int HP_intif_create_pet(int account_id, int char_id, short pet_type, short pet_l
retVal___ = HPMHooks.source.intif.create_pet(account_id, char_id, pet_type, pet_lv, pet_egg_id, pet_equip, intimate, hungry, rename_flag, incubate, pet_name);
}
if (HPMHooks.count.HP_intif_create_pet_post > 0) {
- int (*postHookFunc) (int retVal___, int account_id, int char_id, short pet_type, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name);
+ int (*postHookFunc) (int retVal___, int account_id, int char_id, int pet_type, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name);
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_create_pet_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_intif_create_pet_post[hIndex].func;
retVal___ = postHookFunc(retVal___, account_id, char_id, pet_type, pet_lv, pet_egg_id, pet_equip, intimate, hungry, rename_flag, incubate, pet_name);
@@ -35969,11 +37458,11 @@ int HP_intif_guild_leave(int guild_id, int account_id, int char_id, int flag, co
}
return retVal___;
}
-int HP_intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int16 class) {
+int HP_intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int class) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_intif_guild_memberinfoshort_pre > 0) {
- int (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
+ int (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_guild_memberinfoshort_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_intif_guild_memberinfoshort_pre[hIndex].func;
@@ -35988,7 +37477,7 @@ int HP_intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, in
retVal___ = HPMHooks.source.intif.guild_memberinfoshort(guild_id, account_id, char_id, online, lv, class);
}
if (HPMHooks.count.HP_intif_guild_memberinfoshort_post > 0) {
- int (*postHookFunc) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ int (*postHookFunc) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_guild_memberinfoshort_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_intif_guild_memberinfoshort_post[hIndex].func;
retVal___ = postHookFunc(retVal___, guild_id, account_id, char_id, online, lv, class);
@@ -37182,15 +38671,15 @@ int HP_intif_rodex_checkhasnew(struct map_session_data *sd) {
}
return retVal___;
}
-int HP_intif_rodex_updatemail(int64 mail_id, int8 flag) {
+int HP_intif_rodex_updatemail(struct map_session_data *sd, int64 mail_id, uint8 opentype, int8 flag) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_intif_rodex_updatemail_pre > 0) {
- int (*preHookFunc) (int64 *mail_id, int8 *flag);
+ int (*preHookFunc) (struct map_session_data **sd, int64 *mail_id, uint8 *opentype, int8 *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_updatemail_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_intif_rodex_updatemail_pre[hIndex].func;
- retVal___ = preHookFunc(&mail_id, &flag);
+ retVal___ = preHookFunc(&sd, &mail_id, &opentype, &flag);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -37198,13 +38687,13 @@ int HP_intif_rodex_updatemail(int64 mail_id, int8 flag) {
}
}
{
- retVal___ = HPMHooks.source.intif.rodex_updatemail(mail_id, flag);
+ retVal___ = HPMHooks.source.intif.rodex_updatemail(sd, mail_id, opentype, flag);
}
if (HPMHooks.count.HP_intif_rodex_updatemail_post > 0) {
- int (*postHookFunc) (int retVal___, int64 mail_id, int8 flag);
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, int64 mail_id, uint8 opentype, int8 flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_updatemail_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_intif_rodex_updatemail_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, mail_id, flag);
+ retVal___ = postHookFunc(retVal___, sd, mail_id, opentype, flag);
}
}
return retVal___;
@@ -37263,6 +38752,58 @@ int HP_intif_rodex_checkname(struct map_session_data *sd, const char *name) {
}
return retVal___;
}
+void HP_intif_pGetZenyAck(int fd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_intif_pGetZenyAck_pre > 0) {
+ void (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pGetZenyAck_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_pGetZenyAck_pre[hIndex].func;
+ preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.intif.pGetZenyAck(fd);
+ }
+ if (HPMHooks.count.HP_intif_pGetZenyAck_post > 0) {
+ void (*postHookFunc) (int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pGetZenyAck_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_pGetZenyAck_post[hIndex].func;
+ postHookFunc(fd);
+ }
+ }
+ return;
+}
+void HP_intif_pGetItemsAck(int fd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_intif_pGetItemsAck_pre > 0) {
+ void (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pGetItemsAck_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_pGetItemsAck_pre[hIndex].func;
+ preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.intif.pGetItemsAck(fd);
+ }
+ if (HPMHooks.count.HP_intif_pGetItemsAck_post > 0) {
+ void (*postHookFunc) (int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pGetItemsAck_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_pGetItemsAck_post[hIndex].func;
+ postHookFunc(fd);
+ }
+ }
+ return;
+}
int HP_intif_clan_kickoffline(int clan_id, int kick_interval) {
int hIndex = 0;
int retVal___ = 0;
@@ -41483,6 +43024,39 @@ bool HP_itemdb_lookup_const_mask(const struct config_setting_t *it, const char *
}
return retVal___;
}
+int HP_itemdb_addname_sub(union DBKey key, struct DBData *data, va_list ap) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_itemdb_addname_sub_pre > 0) {
+ int (*preHookFunc) (union DBKey *key, struct DBData **data, va_list ap);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_addname_sub_pre; hIndex++) {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ preHookFunc = HPMHooks.list.HP_itemdb_addname_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&key, &data, ap___copy);
+ va_end(ap___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ retVal___ = HPMHooks.source.itemdb.addname_sub(key, data, ap___copy);
+ va_end(ap___copy);
+ }
+ if (HPMHooks.count.HP_itemdb_addname_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_addname_sub_post; hIndex++) {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ postHookFunc = HPMHooks.list.HP_itemdb_addname_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, key, data, ap___copy);
+ va_end(ap___copy);
+ }
+ }
+ return retVal___;
+}
/* libconfig_interface */
int HP_libconfig_read(struct config_t *config, FILE *stream) {
int hIndex = 0;
@@ -43860,15 +45434,15 @@ char HP_logs_chattype2char(e_log_chat_type type) {
}
return retVal___;
}
-bool HP_logs_should_log_item(int nameid, int amount, int refine, struct item_data *id) {
+bool HP_logs_should_log_item(int nameid, int amount, int refine_level, struct item_data *id) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_logs_should_log_item_pre > 0) {
- bool (*preHookFunc) (int *nameid, int *amount, int *refine, struct item_data **id);
+ bool (*preHookFunc) (int *nameid, int *amount, int *refine_level, struct item_data **id);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_logs_should_log_item_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_logs_should_log_item_pre[hIndex].func;
- retVal___ = preHookFunc(&nameid, &amount, &refine, &id);
+ retVal___ = preHookFunc(&nameid, &amount, &refine_level, &id);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -43876,13 +45450,13 @@ bool HP_logs_should_log_item(int nameid, int amount, int refine, struct item_dat
}
}
{
- retVal___ = HPMHooks.source.logs.should_log_item(nameid, amount, refine, id);
+ retVal___ = HPMHooks.source.logs.should_log_item(nameid, amount, refine_level, id);
}
if (HPMHooks.count.HP_logs_should_log_item_post > 0) {
- bool (*postHookFunc) (bool retVal___, int nameid, int amount, int refine, struct item_data *id);
+ bool (*postHookFunc) (bool retVal___, int nameid, int amount, int refine_level, struct item_data *id);
for (hIndex = 0; hIndex < HPMHooks.count.HP_logs_should_log_item_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_logs_should_log_item_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, nameid, amount, refine, id);
+ retVal___ = postHookFunc(retVal___, nameid, amount, refine_level, id);
}
}
return retVal___;
@@ -44181,6 +45755,32 @@ void HP_map_zone_remove(int m) {
}
return;
}
+void HP_map_zone_remove_all(int m) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_map_zone_remove_all_pre > 0) {
+ void (*preHookFunc) (int *m);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_map_zone_remove_all_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_map_zone_remove_all_pre[hIndex].func;
+ preHookFunc(&m);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.map.zone_remove_all(m);
+ }
+ if (HPMHooks.count.HP_map_zone_remove_all_post > 0) {
+ void (*postHookFunc) (int m);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_map_zone_remove_all_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_map_zone_remove_all_post[hIndex].func;
+ postHookFunc(m);
+ }
+ }
+ return;
+}
void HP_map_zone_apply(int m, struct map_zone_data *zone, const char *start, const char *buffer, const char *filepath) {
int hIndex = 0;
if (HPMHooks.count.HP_map_zone_apply_pre > 0) {
@@ -47779,31 +49379,32 @@ int HP_map_get_new_bonus_id(void) {
}
return retVal___;
}
-void HP_map_add_questinfo(int m, struct questinfo *qi) {
+bool HP_map_add_questinfo(int m, struct npc_data *nd) {
int hIndex = 0;
+ bool retVal___ = false;
if (HPMHooks.count.HP_map_add_questinfo_pre > 0) {
- void (*preHookFunc) (int *m, struct questinfo **qi);
+ bool (*preHookFunc) (int *m, struct npc_data **nd);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_add_questinfo_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_map_add_questinfo_pre[hIndex].func;
- preHookFunc(&m, &qi);
+ retVal___ = preHookFunc(&m, &nd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return;
+ return retVal___;
}
}
{
- HPMHooks.source.map.add_questinfo(m, qi);
+ retVal___ = HPMHooks.source.map.add_questinfo(m, nd);
}
if (HPMHooks.count.HP_map_add_questinfo_post > 0) {
- void (*postHookFunc) (int m, struct questinfo *qi);
+ bool (*postHookFunc) (bool retVal___, int m, struct npc_data *nd);
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_add_questinfo_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_map_add_questinfo_post[hIndex].func;
- postHookFunc(m, qi);
+ retVal___ = postHookFunc(retVal___, m, nd);
}
}
- return;
+ return retVal___;
}
bool HP_map_remove_questinfo(int m, struct npc_data *nd) {
int hIndex = 0;
@@ -50774,15 +52375,41 @@ int HP_mob_ai_hard(int tid, int64 tick, int id, intptr_t data) {
}
return retVal___;
}
-struct item_drop* HP_mob_setdropitem(int nameid, int qty, struct item_data *data) {
+void HP_mob_setdropitem_options(struct item *item, struct optdrop_group *options) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mob_setdropitem_options_pre > 0) {
+ void (*preHookFunc) (struct item **item, struct optdrop_group **options);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_setdropitem_options_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_setdropitem_options_pre[hIndex].func;
+ preHookFunc(&item, &options);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mob.setdropitem_options(item, options);
+ }
+ if (HPMHooks.count.HP_mob_setdropitem_options_post > 0) {
+ void (*postHookFunc) (struct item *item, struct optdrop_group *options);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_setdropitem_options_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_setdropitem_options_post[hIndex].func;
+ postHookFunc(item, options);
+ }
+ }
+ return;
+}
+struct item_drop* HP_mob_setdropitem(int nameid, struct optdrop_group *options, int qty, struct item_data *data) {
int hIndex = 0;
struct item_drop* retVal___ = NULL;
if (HPMHooks.count.HP_mob_setdropitem_pre > 0) {
- struct item_drop* (*preHookFunc) (int *nameid, int *qty, struct item_data **data);
+ struct item_drop* (*preHookFunc) (int *nameid, struct optdrop_group **options, int *qty, struct item_data **data);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_setdropitem_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_mob_setdropitem_pre[hIndex].func;
- retVal___ = preHookFunc(&nameid, &qty, &data);
+ retVal___ = preHookFunc(&nameid, &options, &qty, &data);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -50790,13 +52417,13 @@ struct item_drop* HP_mob_setdropitem(int nameid, int qty, struct item_data *data
}
}
{
- retVal___ = HPMHooks.source.mob.setdropitem(nameid, qty, data);
+ retVal___ = HPMHooks.source.mob.setdropitem(nameid, options, qty, data);
}
if (HPMHooks.count.HP_mob_setdropitem_post > 0) {
- struct item_drop* (*postHookFunc) (struct item_drop* retVal___, int nameid, int qty, struct item_data *data);
+ struct item_drop* (*postHookFunc) (struct item_drop* retVal___, int nameid, struct optdrop_group *options, int qty, struct item_data *data);
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_setdropitem_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_mob_setdropitem_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, nameid, qty, data);
+ retVal___ = postHookFunc(retVal___, nameid, options, qty, data);
}
}
return retVal___;
@@ -51689,6 +53316,114 @@ void HP_mob_item_dropratio_adjust(int nameid, int mob_id, int *rate_adjust) {
}
return;
}
+bool HP_mob_read_optdrops_option(struct config_setting_t *option, struct optdrop_group_optslot *entry, int *idx, bool *calc_rate, int slot, const char *group) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_mob_read_optdrops_option_pre > 0) {
+ bool (*preHookFunc) (struct config_setting_t **option, struct optdrop_group_optslot **entry, int **idx, bool **calc_rate, int *slot, const char **group);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_optdrops_option_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_read_optdrops_option_pre[hIndex].func;
+ retVal___ = preHookFunc(&option, &entry, &idx, &calc_rate, &slot, &group);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mob.read_optdrops_option(option, entry, idx, calc_rate, slot, group);
+ }
+ if (HPMHooks.count.HP_mob_read_optdrops_option_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct config_setting_t *option, struct optdrop_group_optslot *entry, int *idx, bool *calc_rate, int slot, const char *group);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_optdrops_option_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_read_optdrops_option_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, option, entry, idx, calc_rate, slot, group);
+ }
+ }
+ return retVal___;
+}
+bool HP_mob_read_optdrops_optslot(struct config_setting_t *optslot, int n, int group_id, const char *group) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_mob_read_optdrops_optslot_pre > 0) {
+ bool (*preHookFunc) (struct config_setting_t **optslot, int *n, int *group_id, const char **group);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_optdrops_optslot_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_read_optdrops_optslot_pre[hIndex].func;
+ retVal___ = preHookFunc(&optslot, &n, &group_id, &group);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mob.read_optdrops_optslot(optslot, n, group_id, group);
+ }
+ if (HPMHooks.count.HP_mob_read_optdrops_optslot_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct config_setting_t *optslot, int n, int group_id, const char *group);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_optdrops_optslot_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_read_optdrops_optslot_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, optslot, n, group_id, group);
+ }
+ }
+ return retVal___;
+}
+bool HP_mob_read_optdrops_group(struct config_setting_t *group, int n) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_mob_read_optdrops_group_pre > 0) {
+ bool (*preHookFunc) (struct config_setting_t **group, int *n);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_optdrops_group_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_read_optdrops_group_pre[hIndex].func;
+ retVal___ = preHookFunc(&group, &n);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mob.read_optdrops_group(group, n);
+ }
+ if (HPMHooks.count.HP_mob_read_optdrops_group_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct config_setting_t *group, int n);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_optdrops_group_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_read_optdrops_group_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, group, n);
+ }
+ }
+ return retVal___;
+}
+bool HP_mob_read_optdrops_db(void) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_mob_read_optdrops_db_pre > 0) {
+ bool (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_optdrops_db_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_read_optdrops_db_pre[hIndex].func;
+ retVal___ = preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mob.read_optdrops_db();
+ }
+ if (HPMHooks.count.HP_mob_read_optdrops_db_post > 0) {
+ bool (*postHookFunc) (bool retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_optdrops_db_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_read_optdrops_db_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
+ }
+ }
+ return retVal___;
+}
void HP_mob_readdb(void) {
int hIndex = 0;
if (HPMHooks.count.HP_mob_readdb_pre > 0) {
@@ -51955,6 +53690,33 @@ uint32 HP_mob_read_db_mode_sub(struct mob_db *entry, struct config_setting_t *t)
}
return retVal___;
}
+struct optdrop_group* HP_mob_read_db_drops_option(struct mob_db *entry, const char *item_name, struct config_setting_t *drop, int *drop_rate) {
+ int hIndex = 0;
+ struct optdrop_group* retVal___ = NULL;
+ if (HPMHooks.count.HP_mob_read_db_drops_option_pre > 0) {
+ struct optdrop_group* (*preHookFunc) (struct mob_db **entry, const char **item_name, struct config_setting_t **drop, int **drop_rate);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_db_drops_option_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_read_db_drops_option_pre[hIndex].func;
+ retVal___ = preHookFunc(&entry, &item_name, &drop, &drop_rate);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mob.read_db_drops_option(entry, item_name, drop, drop_rate);
+ }
+ if (HPMHooks.count.HP_mob_read_db_drops_option_post > 0) {
+ struct optdrop_group* (*postHookFunc) (struct optdrop_group* retVal___, struct mob_db *entry, const char *item_name, struct config_setting_t *drop, int *drop_rate);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_db_drops_option_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_read_db_drops_option_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, entry, item_name, drop, drop_rate);
+ }
+ }
+ return retVal___;
+}
void HP_mob_read_db_stats_sub(struct mob_db *entry, struct config_setting_t *t) {
int hIndex = 0;
if (HPMHooks.count.HP_mob_read_db_stats_sub_pre > 0) {
@@ -52358,6 +54120,32 @@ void HP_mob_destroy_mob_db(int index) {
}
return;
}
+void HP_mob_destroy_drop_groups(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mob_destroy_drop_groups_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_destroy_drop_groups_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_destroy_drop_groups_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mob.destroy_drop_groups();
+ }
+ if (HPMHooks.count.HP_mob_destroy_drop_groups_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_destroy_drop_groups_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_destroy_drop_groups_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
bool HP_mob_skill_db_libconfig(const char *filename, bool ignore_missing) {
int hIndex = 0;
bool retVal___ = false;
@@ -54660,11 +56448,11 @@ bool HP_npc_viewisid(const char *viewid) {
}
return retVal___;
}
-struct npc_data* HP_npc_create_npc(enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_) {
+struct npc_data* HP_npc_create_npc(enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_) {
int hIndex = 0;
struct npc_data* retVal___ = NULL;
if (HPMHooks.count.HP_npc_create_npc_pre > 0) {
- struct npc_data* (*preHookFunc) (enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int16 *class_);
+ struct npc_data* (*preHookFunc) (enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int *class_);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_create_npc_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_create_npc_pre[hIndex].func;
@@ -54679,7 +56467,7 @@ struct npc_data* HP_npc_create_npc(enum npc_subtype subtype, int m, int x, int y
retVal___ = HPMHooks.source.npc.create_npc(subtype, m, x, y, dir, class_);
}
if (HPMHooks.count.HP_npc_create_npc_post > 0) {
- struct npc_data* (*postHookFunc) (struct npc_data* retVal___, enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_);
+ struct npc_data* (*postHookFunc) (struct npc_data* retVal___, enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_create_npc_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_create_npc_post[hIndex].func;
retVal___ = postHookFunc(retVal___, subtype, m, x, y, dir, class_);
@@ -55200,10 +56988,10 @@ void HP_npc_setdisplayname(struct npc_data *nd, const char *newname) {
}
return;
}
-void HP_npc_setclass(struct npc_data *nd, short class_) {
+void HP_npc_setclass(struct npc_data *nd, int class_) {
int hIndex = 0;
if (HPMHooks.count.HP_npc_setclass_pre > 0) {
- void (*preHookFunc) (struct npc_data **nd, short *class_);
+ void (*preHookFunc) (struct npc_data **nd, int *class_);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_setclass_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_setclass_pre[hIndex].func;
@@ -55218,7 +57006,7 @@ void HP_npc_setclass(struct npc_data *nd, short class_) {
HPMHooks.source.npc.setclass(nd, class_);
}
if (HPMHooks.count.HP_npc_setclass_post > 0) {
- void (*postHookFunc) (struct npc_data *nd, short class_);
+ void (*postHookFunc) (struct npc_data *nd, int class_);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_setclass_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_setclass_post[hIndex].func;
postHookFunc(nd, class_);
@@ -55770,6 +57558,33 @@ int HP_npc_market_buylist(struct map_session_data *sd, struct itemlist *item_lis
}
return retVal___;
}
+int HP_npc_barter_buylist(struct map_session_data *sd, struct barteritemlist *item_list) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_npc_barter_buylist_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, struct barteritemlist **item_list);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_buylist_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_buylist_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &item_list);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.npc.barter_buylist(sd, item_list);
+ }
+ if (HPMHooks.count.HP_npc_barter_buylist_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, struct barteritemlist *item_list);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_buylist_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_buylist_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, item_list);
+ }
+ }
+ return retVal___;
+}
bool HP_npc_trader_open(struct map_session_data *sd, struct npc_data *nd) {
int hIndex = 0;
bool retVal___ = false;
@@ -55823,10 +57638,10 @@ void HP_npc_market_fromsql(void) {
}
return;
}
-void HP_npc_market_tosql(struct npc_data *nd, unsigned short index) {
+void HP_npc_market_tosql(struct npc_data *nd, int index) {
int hIndex = 0;
if (HPMHooks.count.HP_npc_market_tosql_pre > 0) {
- void (*preHookFunc) (struct npc_data **nd, unsigned short *index);
+ void (*preHookFunc) (struct npc_data **nd, int *index);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_tosql_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_market_tosql_pre[hIndex].func;
@@ -55841,7 +57656,7 @@ void HP_npc_market_tosql(struct npc_data *nd, unsigned short index) {
HPMHooks.source.npc.market_tosql(nd, index);
}
if (HPMHooks.count.HP_npc_market_tosql_post > 0) {
- void (*postHookFunc) (struct npc_data *nd, unsigned short index);
+ void (*postHookFunc) (struct npc_data *nd, int index);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_tosql_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_market_tosql_post[hIndex].func;
postHookFunc(nd, index);
@@ -55849,10 +57664,10 @@ void HP_npc_market_tosql(struct npc_data *nd, unsigned short index) {
}
return;
}
-void HP_npc_market_delfromsql(struct npc_data *nd, unsigned short index) {
+void HP_npc_market_delfromsql(struct npc_data *nd, int index) {
int hIndex = 0;
if (HPMHooks.count.HP_npc_market_delfromsql_pre > 0) {
- void (*preHookFunc) (struct npc_data **nd, unsigned short *index);
+ void (*preHookFunc) (struct npc_data **nd, int *index);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_delfromsql_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_market_delfromsql_pre[hIndex].func;
@@ -55867,7 +57682,7 @@ void HP_npc_market_delfromsql(struct npc_data *nd, unsigned short index) {
HPMHooks.source.npc.market_delfromsql(nd, index);
}
if (HPMHooks.count.HP_npc_market_delfromsql_post > 0) {
- void (*postHookFunc) (struct npc_data *nd, unsigned short index);
+ void (*postHookFunc) (struct npc_data *nd, int index);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_delfromsql_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_market_delfromsql_post[hIndex].func;
postHookFunc(nd, index);
@@ -55875,10 +57690,10 @@ void HP_npc_market_delfromsql(struct npc_data *nd, unsigned short index) {
}
return;
}
-void HP_npc_market_delfromsql_sub(const char *npcname, unsigned short index) {
+void HP_npc_market_delfromsql_sub(const char *npcname, int index) {
int hIndex = 0;
if (HPMHooks.count.HP_npc_market_delfromsql_sub_pre > 0) {
- void (*preHookFunc) (const char **npcname, unsigned short *index);
+ void (*preHookFunc) (const char **npcname, int *index);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_delfromsql_sub_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_market_delfromsql_sub_pre[hIndex].func;
@@ -55893,7 +57708,7 @@ void HP_npc_market_delfromsql_sub(const char *npcname, unsigned short index) {
HPMHooks.source.npc.market_delfromsql_sub(npcname, index);
}
if (HPMHooks.count.HP_npc_market_delfromsql_sub_post > 0) {
- void (*postHookFunc) (const char *npcname, unsigned short index);
+ void (*postHookFunc) (const char *npcname, int index);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_delfromsql_sub_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_market_delfromsql_sub_post[hIndex].func;
postHookFunc(npcname, index);
@@ -55901,6 +57716,110 @@ void HP_npc_market_delfromsql_sub(const char *npcname, unsigned short index) {
}
return;
}
+void HP_npc_barter_fromsql(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_barter_fromsql_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_fromsql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_fromsql_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.barter_fromsql();
+ }
+ if (HPMHooks.count.HP_npc_barter_fromsql_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_fromsql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_fromsql_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_npc_barter_tosql(struct npc_data *nd, int index) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_barter_tosql_pre > 0) {
+ void (*preHookFunc) (struct npc_data **nd, int *index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_tosql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_tosql_pre[hIndex].func;
+ preHookFunc(&nd, &index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.barter_tosql(nd, index);
+ }
+ if (HPMHooks.count.HP_npc_barter_tosql_post > 0) {
+ void (*postHookFunc) (struct npc_data *nd, int index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_tosql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_tosql_post[hIndex].func;
+ postHookFunc(nd, index);
+ }
+ }
+ return;
+}
+void HP_npc_barter_delfromsql(struct npc_data *nd, int index) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_barter_delfromsql_pre > 0) {
+ void (*preHookFunc) (struct npc_data **nd, int *index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_delfromsql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_delfromsql_pre[hIndex].func;
+ preHookFunc(&nd, &index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.barter_delfromsql(nd, index);
+ }
+ if (HPMHooks.count.HP_npc_barter_delfromsql_post > 0) {
+ void (*postHookFunc) (struct npc_data *nd, int index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_delfromsql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_delfromsql_post[hIndex].func;
+ postHookFunc(nd, index);
+ }
+ }
+ return;
+}
+void HP_npc_barter_delfromsql_sub(const char *npcname, int itemId, int itemId2, int amount2) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_barter_delfromsql_sub_pre > 0) {
+ void (*preHookFunc) (const char **npcname, int *itemId, int *itemId2, int *amount2);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_delfromsql_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_delfromsql_sub_pre[hIndex].func;
+ preHookFunc(&npcname, &itemId, &itemId2, &amount2);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.barter_delfromsql_sub(npcname, itemId, itemId2, amount2);
+ }
+ if (HPMHooks.count.HP_npc_barter_delfromsql_sub_post > 0) {
+ void (*postHookFunc) (const char *npcname, int itemId, int itemId2, int amount2);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_delfromsql_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_delfromsql_sub_post[hIndex].func;
+ postHookFunc(npcname, itemId, itemId2, amount2);
+ }
+ }
+ return;
+}
bool HP_npc_db_checkid(const int id) {
int hIndex = 0;
bool retVal___ = false;
@@ -55954,6 +57873,32 @@ void HP_npc_refresh(struct npc_data *nd) {
}
return;
}
+void HP_npc_questinfo_clear(struct npc_data *nd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_questinfo_clear_pre > 0) {
+ void (*preHookFunc) (struct npc_data **nd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_questinfo_clear_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_questinfo_clear_pre[hIndex].func;
+ preHookFunc(&nd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.questinfo_clear(nd);
+ }
+ if (HPMHooks.count.HP_npc_questinfo_clear_post > 0) {
+ void (*postHookFunc) (struct npc_data *nd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_questinfo_clear_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_questinfo_clear_post[hIndex].func;
+ postHookFunc(nd);
+ }
+ }
+ return;
+}
int HP_npc_secure_timeout_timer(int tid, int64 tick, int id, intptr_t data) {
int hIndex = 0;
int retVal___ = 0;
@@ -56008,6 +57953,111 @@ void HP_nullpo_assert_report(const char *file, int line, const char *func, const
}
return;
}
+/* packets_interface */
+void HP_packets_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.init();
+ }
+ if (HPMHooks.count.HP_packets_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.final();
+ }
+ if (HPMHooks.count.HP_packets_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLens(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLens_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLens_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLens();
+ }
+ if (HPMHooks.count.HP_packets_addLens_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLens_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLen(int id, int len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLen_pre > 0) {
+ void (*preHookFunc) (int *id, int *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLen_pre[hIndex].func;
+ preHookFunc(&id, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLen(id, len);
+ }
+ if (HPMHooks.count.HP_packets_addLen_post > 0) {
+ void (*postHookFunc) (int id, int len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLen_post[hIndex].func;
+ postHookFunc(id, len);
+ }
+ }
+ return;
+}
/* party_interface */
void HP_party_init(bool minimal) {
int hIndex = 0;
@@ -58122,10 +60172,10 @@ int HP_pc_makesavestatus(struct map_session_data *sd) {
}
return retVal___;
}
-void HP_pc_respawn(struct map_session_data *sd, clr_type clrtype) {
+void HP_pc_respawn(struct map_session_data *sd, enum clr_type clrtype) {
int hIndex = 0;
if (HPMHooks.count.HP_pc_respawn_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, clr_type *clrtype);
+ void (*preHookFunc) (struct map_session_data **sd, enum clr_type *clrtype);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_respawn_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_respawn_pre[hIndex].func;
@@ -58140,7 +60190,7 @@ void HP_pc_respawn(struct map_session_data *sd, clr_type clrtype) {
HPMHooks.source.pc.respawn(sd, clrtype);
}
if (HPMHooks.count.HP_pc_respawn_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, clr_type clrtype);
+ void (*postHookFunc) (struct map_session_data *sd, enum clr_type clrtype);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_respawn_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_respawn_post[hIndex].func;
postHookFunc(sd, clrtype);
@@ -58604,11 +60654,11 @@ int HP_pc_clean_skilltree(struct map_session_data *sd) {
}
return retVal___;
}
-int HP_pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, int y, clr_type clrtype) {
+int HP_pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, int y, enum clr_type clrtype) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_setpos_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, unsigned short *map_index, int *x, int *y, clr_type *clrtype);
+ int (*preHookFunc) (struct map_session_data **sd, unsigned short *map_index, int *x, int *y, enum clr_type *clrtype);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_setpos_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_setpos_pre[hIndex].func;
@@ -58623,7 +60673,7 @@ int HP_pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, i
retVal___ = HPMHooks.source.pc.setpos(sd, map_index, x, y, clrtype);
}
if (HPMHooks.count.HP_pc_setpos_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, unsigned short map_index, int x, int y, clr_type clrtype);
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, unsigned short map_index, int x, int y, enum clr_type clrtype);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_setpos_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_setpos_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, map_index, x, y, clrtype);
@@ -58658,11 +60708,11 @@ int HP_pc_setsavepoint(struct map_session_data *sd, short map_index, int x, int
}
return retVal___;
}
-int HP_pc_randomwarp(struct map_session_data *sd, clr_type type) {
+int HP_pc_randomwarp(struct map_session_data *sd, enum clr_type type) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_randomwarp_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, clr_type *type);
+ int (*preHookFunc) (struct map_session_data **sd, enum clr_type *type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_randomwarp_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_randomwarp_pre[hIndex].func;
@@ -58677,7 +60727,7 @@ int HP_pc_randomwarp(struct map_session_data *sd, clr_type type) {
retVal___ = HPMHooks.source.pc.randomwarp(sd, type);
}
if (HPMHooks.count.HP_pc_randomwarp_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, clr_type type);
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, enum clr_type type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_randomwarp_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_randomwarp_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, type);
@@ -58820,11 +60870,11 @@ int HP_pc_payzeny(struct map_session_data *sd, int zeny, enum e_log_pick_type ty
}
return retVal___;
}
-int HP_pc_additem(struct map_session_data *sd, struct item *item_data, int amount, e_log_pick_type log_type) {
+int HP_pc_additem(struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_additem_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, struct item **item_data, int *amount, e_log_pick_type *log_type);
+ int (*preHookFunc) (struct map_session_data **sd, const struct item **item_data, int *amount, e_log_pick_type *log_type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_additem_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_additem_pre[hIndex].func;
@@ -58839,7 +60889,7 @@ int HP_pc_additem(struct map_session_data *sd, struct item *item_data, int amoun
retVal___ = HPMHooks.source.pc.additem(sd, item_data, amount, log_type);
}
if (HPMHooks.count.HP_pc_additem_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, struct item *item_data, int amount, e_log_pick_type log_type);
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_additem_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_additem_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, item_data, amount, log_type);
@@ -61774,11 +63824,11 @@ int HP_pc_candrop(struct map_session_data *sd, struct item *item) {
}
return retVal___;
}
-int HP_pc_jobid2mapid(int16 class) {
+int HP_pc_jobid2mapid(int class) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_jobid2mapid_pre > 0) {
- int (*preHookFunc) (int16 *class);
+ int (*preHookFunc) (int *class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_jobid2mapid_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_jobid2mapid_pre[hIndex].func;
@@ -61793,7 +63843,7 @@ int HP_pc_jobid2mapid(int16 class) {
retVal___ = HPMHooks.source.pc.jobid2mapid(class);
}
if (HPMHooks.count.HP_pc_jobid2mapid_post > 0) {
- int (*postHookFunc) (int retVal___, int16 class);
+ int (*postHookFunc) (int retVal___, int class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_jobid2mapid_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_jobid2mapid_post[hIndex].func;
retVal___ = postHookFunc(retVal___, class);
@@ -61801,11 +63851,11 @@ int HP_pc_jobid2mapid(int16 class) {
}
return retVal___;
}
-int HP_pc_mapid2jobid(unsigned short class_, int sex) {
+int HP_pc_mapid2jobid(unsigned int class_, int sex) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_mapid2jobid_pre > 0) {
- int (*preHookFunc) (unsigned short *class_, int *sex);
+ int (*preHookFunc) (unsigned int *class_, int *sex);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_mapid2jobid_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_mapid2jobid_pre[hIndex].func;
@@ -61820,7 +63870,7 @@ int HP_pc_mapid2jobid(unsigned short class_, int sex) {
retVal___ = HPMHooks.source.pc.mapid2jobid(class_, sex);
}
if (HPMHooks.count.HP_pc_mapid2jobid_post > 0) {
- int (*postHookFunc) (int retVal___, unsigned short class_, int sex);
+ int (*postHookFunc) (int retVal___, unsigned int class_, int sex);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_mapid2jobid_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_mapid2jobid_post[hIndex].func;
retVal___ = postHookFunc(retVal___, class_, sex);
@@ -62930,15 +64980,15 @@ int HP_pc_bonus_addeff_onskill(struct s_addeffectonskill *effect, int max, enum
}
return retVal___;
}
-int HP_pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id, short group, int race, int rate) {
+int HP_pc_bonus_item_drop(struct s_add_drop *drop, const short max, int id, bool is_group, int race, int rate) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_bonus_item_drop_pre > 0) {
- int (*preHookFunc) (struct s_add_drop **drop, const short *max, short *id, short *group, int *race, int *rate);
+ int (*preHookFunc) (struct s_add_drop **drop, const short *max, int *id, bool *is_group, int *race, int *rate);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_bonus_item_drop_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_bonus_item_drop_pre[hIndex].func;
- retVal___ = preHookFunc(&drop, &max, &id, &group, &race, &rate);
+ retVal___ = preHookFunc(&drop, &max, &id, &is_group, &race, &rate);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -62946,13 +64996,13 @@ int HP_pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id, sh
}
}
{
- retVal___ = HPMHooks.source.pc.bonus_item_drop(drop, max, id, group, race, rate);
+ retVal___ = HPMHooks.source.pc.bonus_item_drop(drop, max, id, is_group, race, rate);
}
if (HPMHooks.count.HP_pc_bonus_item_drop_post > 0) {
- int (*postHookFunc) (int retVal___, struct s_add_drop *drop, const short max, short id, short group, int race, int rate);
+ int (*postHookFunc) (int retVal___, struct s_add_drop *drop, const short max, int id, bool is_group, int race, int rate);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_bonus_item_drop_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_bonus_item_drop_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, drop, max, id, group, race, rate);
+ retVal___ = postHookFunc(retVal___, drop, max, id, is_group, race, rate);
}
}
return retVal___;
@@ -64230,6 +66280,33 @@ bool HP_pc_has_second_costume(struct map_session_data *sd) {
}
return retVal___;
}
+bool HP_pc_expandInventory(struct map_session_data *sd, int adjustSize) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_pc_expandInventory_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, int *adjustSize);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_expandInventory_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_expandInventory_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &adjustSize);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.expandInventory(sd, adjustSize);
+ }
+ if (HPMHooks.count.HP_pc_expandInventory_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int adjustSize);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_expandInventory_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_expandInventory_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, adjustSize);
+ }
+ }
+ return retVal___;
+}
/* pcre_interface */
pcre* HP_libpcre_compile(const char *pattern, int options, const char **errptr, int *erroffset, const unsigned char *tableptr) {
int hIndex = 0;
@@ -64985,11 +67062,11 @@ int HP_pet_catch_process2(struct map_session_data *sd, int target_id) {
}
return retVal___;
}
-bool HP_pet_get_egg(int account_id, short pet_class, int pet_id) {
+bool HP_pet_get_egg(int account_id, int pet_class, int pet_id) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_pet_get_egg_pre > 0) {
- bool (*preHookFunc) (int *account_id, short *pet_class, int *pet_id);
+ bool (*preHookFunc) (int *account_id, int *pet_class, int *pet_id);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pet_get_egg_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pet_get_egg_pre[hIndex].func;
@@ -65004,7 +67081,7 @@ bool HP_pet_get_egg(int account_id, short pet_class, int pet_id) {
retVal___ = HPMHooks.source.pet.get_egg(account_id, pet_class, pet_id);
}
if (HPMHooks.count.HP_pet_get_egg_post > 0) {
- bool (*postHookFunc) (bool retVal___, int account_id, short pet_class, int pet_id);
+ bool (*postHookFunc) (bool retVal___, int account_id, int pet_class, int pet_id);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pet_get_egg_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pet_get_egg_post[hIndex].func;
retVal___ = postHookFunc(retVal___, account_id, pet_class, pet_id);
@@ -66318,14 +68395,69 @@ bool HP_quest_questinfo_validate_quests(struct map_session_data *sd, struct ques
}
return retVal___;
}
-void HP_quest_questinfo_vector_clear(int m) {
+bool HP_quest_questinfo_validate_mercenary_class(struct map_session_data *sd, struct questinfo *qi) {
int hIndex = 0;
- if (HPMHooks.count.HP_quest_questinfo_vector_clear_pre > 0) {
- void (*preHookFunc) (int *m);
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_quest_questinfo_validate_mercenary_class_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, struct questinfo **qi);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_quest_questinfo_vector_clear_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_quest_questinfo_vector_clear_pre[hIndex].func;
- preHookFunc(&m);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_quest_questinfo_validate_mercenary_class_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_quest_questinfo_validate_mercenary_class_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &qi);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.quest.questinfo_validate_mercenary_class(sd, qi);
+ }
+ if (HPMHooks.count.HP_quest_questinfo_validate_mercenary_class_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, struct questinfo *qi);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_quest_questinfo_validate_mercenary_class_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_quest_questinfo_validate_mercenary_class_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, qi);
+ }
+ }
+ return retVal___;
+}
+/* refine_interface */
+int HP_refine_init(bool minimal) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_refine_init_pre > 0) {
+ int (*preHookFunc) (bool *minimal);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_refine_init_pre[hIndex].func;
+ retVal___ = preHookFunc(&minimal);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.refine.init(minimal);
+ }
+ if (HPMHooks.count.HP_refine_init_post > 0) {
+ int (*postHookFunc) (int retVal___, bool minimal);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_refine_init_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, minimal);
+ }
+ }
+ return retVal___;
+}
+void HP_refine_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_refine_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_refine_final_pre[hIndex].func;
+ preHookFunc();
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -66333,17 +68465,367 @@ void HP_quest_questinfo_vector_clear(int m) {
}
}
{
- HPMHooks.source.quest.questinfo_vector_clear(m);
+ HPMHooks.source.refine.final();
}
- if (HPMHooks.count.HP_quest_questinfo_vector_clear_post > 0) {
- void (*postHookFunc) (int m);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_quest_questinfo_vector_clear_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_quest_questinfo_vector_clear_post[hIndex].func;
- postHookFunc(m);
+ if (HPMHooks.count.HP_refine_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_refine_final_post[hIndex].func;
+ postHookFunc();
}
}
return;
}
+int HP_refine_get_refine_chance(enum refine_type wlv, int refine_level, enum refine_chance_type type) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_refine_get_refine_chance_pre > 0) {
+ int (*preHookFunc) (enum refine_type *wlv, int *refine_level, enum refine_chance_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_get_refine_chance_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_refine_get_refine_chance_pre[hIndex].func;
+ retVal___ = preHookFunc(&wlv, &refine_level, &type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.refine.get_refine_chance(wlv, refine_level, type);
+ }
+ if (HPMHooks.count.HP_refine_get_refine_chance_post > 0) {
+ int (*postHookFunc) (int retVal___, enum refine_type wlv, int refine_level, enum refine_chance_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_get_refine_chance_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_refine_get_refine_chance_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, wlv, refine_level, type);
+ }
+ }
+ return retVal___;
+}
+int HP_refine_get_bonus(enum refine_type equipment_type, int refine_level) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_refine_get_bonus_pre > 0) {
+ int (*preHookFunc) (enum refine_type *equipment_type, int *refine_level);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_get_bonus_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_refine_get_bonus_pre[hIndex].func;
+ retVal___ = preHookFunc(&equipment_type, &refine_level);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.refine.get_bonus(equipment_type, refine_level);
+ }
+ if (HPMHooks.count.HP_refine_get_bonus_post > 0) {
+ int (*postHookFunc) (int retVal___, enum refine_type equipment_type, int refine_level);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_get_bonus_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_refine_get_bonus_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, equipment_type, refine_level);
+ }
+ }
+ return retVal___;
+}
+int HP_refine_get_randombonus_max(enum refine_type equipment_type, int refine_level) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_refine_get_randombonus_max_pre > 0) {
+ int (*preHookFunc) (enum refine_type *equipment_type, int *refine_level);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_get_randombonus_max_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_refine_get_randombonus_max_pre[hIndex].func;
+ retVal___ = preHookFunc(&equipment_type, &refine_level);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.refine.get_randombonus_max(equipment_type, refine_level);
+ }
+ if (HPMHooks.count.HP_refine_get_randombonus_max_post > 0) {
+ int (*postHookFunc) (int retVal___, enum refine_type equipment_type, int refine_level);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_get_randombonus_max_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_refine_get_randombonus_max_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, equipment_type, refine_level);
+ }
+ }
+ return retVal___;
+}
+void HP_refine_refinery_add_item(struct map_session_data *sd, int item_index) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_refine_refinery_add_item_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *item_index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_refinery_add_item_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_refine_refinery_add_item_pre[hIndex].func;
+ preHookFunc(&sd, &item_index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.refine.refinery_add_item(sd, item_index);
+ }
+ if (HPMHooks.count.HP_refine_refinery_add_item_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int item_index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_refinery_add_item_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_refine_refinery_add_item_post[hIndex].func;
+ postHookFunc(sd, item_index);
+ }
+ }
+ return;
+}
+void HP_refine_refinery_refine_request(struct map_session_data *sd, int item_index, int material_id, bool use_blacksmith_blessing) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_refine_refinery_refine_request_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *item_index, int *material_id, bool *use_blacksmith_blessing);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_refinery_refine_request_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_refine_refinery_refine_request_pre[hIndex].func;
+ preHookFunc(&sd, &item_index, &material_id, &use_blacksmith_blessing);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.refine.refinery_refine_request(sd, item_index, material_id, use_blacksmith_blessing);
+ }
+ if (HPMHooks.count.HP_refine_refinery_refine_request_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int item_index, int material_id, bool use_blacksmith_blessing);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_refinery_refine_request_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_refine_refinery_refine_request_post[hIndex].func;
+ postHookFunc(sd, item_index, material_id, use_blacksmith_blessing);
+ }
+ }
+ return;
+}
+/* refine_interface_private */
+int HP_PRIV__refine_readdb_refine_libconfig_sub(struct config_setting_t *r, const char *name, const char *source) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refine_libconfig_sub_pre > 0) {
+ int (*preHookFunc) (struct config_setting_t **r, const char **name, const char **source);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refine_libconfig_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refine_libconfig_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&r, &name, &source);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__refine.readdb_refine_libconfig_sub(r, name, source);
+ }
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refine_libconfig_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, struct config_setting_t *r, const char *name, const char *source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refine_libconfig_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refine_libconfig_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, r, name, source);
+ }
+ }
+ return retVal___;
+}
+int HP_PRIV__refine_readdb_refine_libconfig(const char *filename) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refine_libconfig_pre > 0) {
+ int (*preHookFunc) (const char **filename);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refine_libconfig_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refine_libconfig_pre[hIndex].func;
+ retVal___ = preHookFunc(&filename);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__refine.readdb_refine_libconfig(filename);
+ }
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refine_libconfig_post > 0) {
+ int (*postHookFunc) (int retVal___, const char *filename);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refine_libconfig_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refine_libconfig_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, filename);
+ }
+ }
+ return retVal___;
+}
+bool HP_PRIV__refine_announce_behavior_string2enum(const char *str, unsigned int *result) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_PRIV__refine_announce_behavior_string2enum_pre > 0) {
+ bool (*preHookFunc) (const char **str, unsigned int **result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_announce_behavior_string2enum_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__refine_announce_behavior_string2enum_pre[hIndex].func;
+ retVal___ = preHookFunc(&str, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__refine.announce_behavior_string2enum(str, result);
+ }
+ if (HPMHooks.count.HP_PRIV__refine_announce_behavior_string2enum_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const char *str, unsigned int *result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_announce_behavior_string2enum_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__refine_announce_behavior_string2enum_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, str, result);
+ }
+ }
+ return retVal___;
+}
+bool HP_PRIV__refine_failure_behavior_string2enum(const char *str, enum refine_ui_failure_behavior *result) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_PRIV__refine_failure_behavior_string2enum_pre > 0) {
+ bool (*preHookFunc) (const char **str, enum refine_ui_failure_behavior **result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_failure_behavior_string2enum_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__refine_failure_behavior_string2enum_pre[hIndex].func;
+ retVal___ = preHookFunc(&str, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__refine.failure_behavior_string2enum(str, result);
+ }
+ if (HPMHooks.count.HP_PRIV__refine_failure_behavior_string2enum_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const char *str, enum refine_ui_failure_behavior *result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_failure_behavior_string2enum_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__refine_failure_behavior_string2enum_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, str, result);
+ }
+ }
+ return retVal___;
+}
+bool HP_PRIV__refine_readdb_refinery_ui_settings_items(const struct config_setting_t *elem, struct s_refine_requirement *req, const char *name, const char *source) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_items_pre > 0) {
+ bool (*preHookFunc) (const struct config_setting_t **elem, struct s_refine_requirement **req, const char **name, const char **source);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_items_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refinery_ui_settings_items_pre[hIndex].func;
+ retVal___ = preHookFunc(&elem, &req, &name, &source);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__refine.readdb_refinery_ui_settings_items(elem, req, name, source);
+ }
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_items_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const struct config_setting_t *elem, struct s_refine_requirement *req, const char *name, const char *source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_items_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refinery_ui_settings_items_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, elem, req, name, source);
+ }
+ }
+ return retVal___;
+}
+bool HP_PRIV__refine_readdb_refinery_ui_settings_sub(const struct config_setting_t *elem, int type, const char *name, const char *source) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_sub_pre > 0) {
+ bool (*preHookFunc) (const struct config_setting_t **elem, int *type, const char **name, const char **source);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refinery_ui_settings_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&elem, &type, &name, &source);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__refine.readdb_refinery_ui_settings_sub(elem, type, name, source);
+ }
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_sub_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const struct config_setting_t *elem, int type, const char *name, const char *source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refinery_ui_settings_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, elem, type, name, source);
+ }
+ }
+ return retVal___;
+}
+int HP_PRIV__refine_readdb_refinery_ui_settings(const struct config_setting_t *r, int type, const char *name, const char *source) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_pre > 0) {
+ int (*preHookFunc) (const struct config_setting_t **r, int *type, const char **name, const char **source);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refinery_ui_settings_pre[hIndex].func;
+ retVal___ = preHookFunc(&r, &type, &name, &source);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__refine.readdb_refinery_ui_settings(r, type, name, source);
+ }
+ if (HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_post > 0) {
+ int (*postHookFunc) (int retVal___, const struct config_setting_t *r, int type, const char *name, const char *source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_readdb_refinery_ui_settings_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__refine_readdb_refinery_ui_settings_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, r, type, name, source);
+ }
+ }
+ return retVal___;
+}
+bool HP_PRIV__refine_is_refinable(struct map_session_data *sd, int item_index) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_PRIV__refine_is_refinable_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, int *item_index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_is_refinable_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__refine_is_refinable_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &item_index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__refine.is_refinable(sd, item_index);
+ }
+ if (HPMHooks.count.HP_PRIV__refine_is_refinable_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int item_index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__refine_is_refinable_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__refine_is_refinable_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, item_index);
+ }
+ }
+ return retVal___;
+}
/* rnd_interface */
void HP_rnd_init(void) {
int hIndex = 0;
@@ -66768,10 +69250,10 @@ void HP_rodex_remove_item(struct map_session_data *sd, int16 idx, int16 amount)
}
return;
}
-void HP_rodex_check_player(struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class) {
+void HP_rodex_check_player(struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class) {
int hIndex = 0;
if (HPMHooks.count.HP_rodex_check_player_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, short **class);
+ void (*preHookFunc) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, int **class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_check_player_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_rodex_check_player_pre[hIndex].func;
@@ -66786,7 +69268,7 @@ void HP_rodex_check_player(struct map_session_data *sd, const char *name, int *b
HPMHooks.source.rodex.check_player(sd, name, base_level, char_id, class);
}
if (HPMHooks.count.HP_rodex_check_player_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class);
+ void (*postHookFunc) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_check_player_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_rodex_check_player_post[hIndex].func;
postHookFunc(sd, name, base_level, char_id, class);
@@ -67004,6 +69486,58 @@ void HP_rodex_clean(struct map_session_data *sd, int8 flag) {
}
return;
}
+void HP_rodex_getZenyAck(struct map_session_data *sd, int64 mail_id, int8 opentype, int64 zeny) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_getZenyAck_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int64 *mail_id, int8 *opentype, int64 *zeny);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_getZenyAck_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_getZenyAck_pre[hIndex].func;
+ preHookFunc(&sd, &mail_id, &opentype, &zeny);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.getZenyAck(sd, mail_id, opentype, zeny);
+ }
+ if (HPMHooks.count.HP_rodex_getZenyAck_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int64 mail_id, int8 opentype, int64 zeny);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_getZenyAck_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_getZenyAck_post[hIndex].func;
+ postHookFunc(sd, mail_id, opentype, zeny);
+ }
+ }
+ return;
+}
+void HP_rodex_getItemsAck(struct map_session_data *sd, int64 mail_id, int8 opentype, int count, const struct rodex_item *items) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_getItemsAck_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int64 *mail_id, int8 *opentype, int *count, const struct rodex_item **items);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_getItemsAck_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_getItemsAck_pre[hIndex].func;
+ preHookFunc(&sd, &mail_id, &opentype, &count, &items);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.getItemsAck(sd, mail_id, opentype, count, items);
+ }
+ if (HPMHooks.count.HP_rodex_getItemsAck_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int64 mail_id, int8 opentype, int count, const struct rodex_item *items);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_getItemsAck_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_getItemsAck_post[hIndex].func;
+ postHookFunc(sd, mail_id, opentype, count, items);
+ }
+ }
+ return;
+}
/* script_interface */
void HP_script_init(bool minimal) {
int hIndex = 0;
@@ -72294,15 +74828,15 @@ void HP_searchstore_clearremote(struct map_session_data *sd) {
}
return;
}
-bool HP_searchstore_result(struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine, const struct item_option *option) {
+bool HP_searchstore_result(struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine_level, const struct item_option *option) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_searchstore_result_pre > 0) {
- bool (*preHookFunc) (struct map_session_data **sd, unsigned int *store_id, int *account_id, const char **store_name, int *nameid, unsigned short *amount, unsigned int *price, const int **card, unsigned char *refine, const struct item_option **option);
+ bool (*preHookFunc) (struct map_session_data **sd, unsigned int *store_id, int *account_id, const char **store_name, int *nameid, unsigned short *amount, unsigned int *price, const int **card, unsigned char *refine_level, const struct item_option **option);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_searchstore_result_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_searchstore_result_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &store_id, &account_id, &store_name, &nameid, &amount, &price, &card, &refine, &option);
+ retVal___ = preHookFunc(&sd, &store_id, &account_id, &store_name, &nameid, &amount, &price, &card, &refine_level, &option);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -72310,13 +74844,13 @@ bool HP_searchstore_result(struct map_session_data *sd, unsigned int store_id, i
}
}
{
- retVal___ = HPMHooks.source.searchstore.result(sd, store_id, account_id, store_name, nameid, amount, price, card, refine, option);
+ retVal___ = HPMHooks.source.searchstore.result(sd, store_id, account_id, store_name, nameid, amount, price, card, refine_level, option);
}
if (HPMHooks.count.HP_searchstore_result_post > 0) {
- bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine, const struct item_option *option);
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine_level, const struct item_option *option);
for (hIndex = 0; hIndex < HPMHooks.count.HP_searchstore_result_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_searchstore_result_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, store_id, account_id, store_name, nameid, amount, price, card, refine, option);
+ retVal___ = postHookFunc(retVal___, sd, store_id, account_id, store_name, nameid, amount, price, card, refine_level, option);
}
}
return retVal___;
@@ -75951,6 +78485,32 @@ int HP_skill_timerskill(int tid, int64 tick, int id, intptr_t data) {
}
return retVal___;
}
+void HP_skill_trap_do_splash(struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_trap_do_splash_pre > 0) {
+ void (*preHookFunc) (struct block_list **bl, uint16 *skill_id, uint16 *skill_lv, int *bl_flag, int64 *tick);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_trap_do_splash_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_trap_do_splash_pre[hIndex].func;
+ preHookFunc(&bl, &skill_id, &skill_lv, &bl_flag, &tick);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.trap_do_splash(bl, skill_id, skill_lv, bl_flag, tick);
+ }
+ if (HPMHooks.count.HP_skill_trap_do_splash_post > 0) {
+ void (*postHookFunc) (struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_trap_do_splash_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_trap_do_splash_post[hIndex].func;
+ postHookFunc(bl, skill_id, skill_lv, bl_flag, tick);
+ }
+ }
+ return;
+}
int HP_skill_trap_splash(struct block_list *bl, va_list ap) {
int hIndex = 0;
int retVal___ = 0;
@@ -79317,15 +81877,15 @@ int HP_sockt_realloc_writefifo(int fd, size_t addition) {
}
return retVal___;
}
-int HP_sockt_wfifoset(int fd, size_t len) {
+int HP_sockt_wfifoset(int fd, size_t len, bool validate) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_sockt_wfifoset_pre > 0) {
- int (*preHookFunc) (int *fd, size_t *len);
+ int (*preHookFunc) (int *fd, size_t *len, bool *validate);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_sockt_wfifoset_pre[hIndex].func;
- retVal___ = preHookFunc(&fd, &len);
+ retVal___ = preHookFunc(&fd, &len, &validate);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -79333,17 +81893,43 @@ int HP_sockt_wfifoset(int fd, size_t len) {
}
}
{
- retVal___ = HPMHooks.source.sockt.wfifoset(fd, len);
+ retVal___ = HPMHooks.source.sockt.wfifoset(fd, len, validate);
}
if (HPMHooks.count.HP_sockt_wfifoset_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, size_t len);
+ int (*postHookFunc) (int retVal___, int fd, size_t len, bool validate);
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_sockt_wfifoset_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd, len);
+ retVal___ = postHookFunc(retVal___, fd, len, validate);
}
}
return retVal___;
}
+void HP_sockt_wfifohead(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_wfifohead_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_wfifohead_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.wfifohead(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_wfifohead_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_wfifohead_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
int HP_sockt_rfifoskip(int fd, size_t len) {
int hIndex = 0;
int retVal___ = 0;
@@ -79397,6 +81983,32 @@ void HP_sockt_close(int fd) {
}
return;
}
+void HP_sockt_validateWfifo(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_validateWfifo_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_validateWfifo_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.validateWfifo(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_validateWfifo_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_validateWfifo_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
bool HP_sockt_session_is_valid(int fd) {
int hIndex = 0;
bool retVal___ = false;
@@ -79503,6 +82115,33 @@ void HP_sockt_flush_fifos(void) {
}
return;
}
+int HP_sockt_connect_client(int listen_fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_sockt_connect_client_pre > 0) {
+ int (*preHookFunc) (int *listen_fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_connect_client_pre[hIndex].func;
+ retVal___ = preHookFunc(&listen_fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.sockt.connect_client(listen_fd);
+ }
+ if (HPMHooks.count.HP_sockt_connect_client_post > 0) {
+ int (*postHookFunc) (int retVal___, int listen_fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_connect_client_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, listen_fd);
+ }
+ }
+ return retVal___;
+}
void HP_sockt_set_nonblocking(int fd, unsigned long yes) {
int hIndex = 0;
if (HPMHooks.count.HP_sockt_set_nonblocking_pre > 0) {
@@ -80775,33 +83414,6 @@ void HP_status_final(void) {
}
return;
}
-int HP_status_get_refine_chance(enum refine_type wlv, int refine, enum refine_chance_type type) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_status_get_refine_chance_pre > 0) {
- int (*preHookFunc) (enum refine_type *wlv, int *refine, enum refine_chance_type *type);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_refine_chance_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_status_get_refine_chance_pre[hIndex].func;
- retVal___ = preHookFunc(&wlv, &refine, &type);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.status.get_refine_chance(wlv, refine, type);
- }
- if (HPMHooks.count.HP_status_get_refine_chance_post > 0) {
- int (*postHookFunc) (int retVal___, enum refine_type wlv, int refine, enum refine_chance_type type);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_refine_chance_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_status_get_refine_chance_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, wlv, refine, type);
- }
- }
- return retVal___;
-}
sc_type HP_status_skill2sc(int skill_id) {
int hIndex = 0;
sc_type retVal___ = SC_NONE;
@@ -81018,11 +83630,11 @@ int HP_status_percent_change(struct block_list *src, struct block_list *target,
}
return retVal___;
}
-int HP_status_set_hp(struct block_list *bl, unsigned int hp, int flag) {
+int HP_status_set_hp(struct block_list *bl, unsigned int hp, enum status_heal_flag flag) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_status_set_hp_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, unsigned int *hp, int *flag);
+ int (*preHookFunc) (struct block_list **bl, unsigned int *hp, enum status_heal_flag *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_hp_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_set_hp_pre[hIndex].func;
@@ -81037,7 +83649,7 @@ int HP_status_set_hp(struct block_list *bl, unsigned int hp, int flag) {
retVal___ = HPMHooks.source.status.set_hp(bl, hp, flag);
}
if (HPMHooks.count.HP_status_set_hp_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned int hp, int flag);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned int hp, enum status_heal_flag flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_hp_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_set_hp_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, hp, flag);
@@ -81045,11 +83657,11 @@ int HP_status_set_hp(struct block_list *bl, unsigned int hp, int flag) {
}
return retVal___;
}
-int HP_status_set_sp(struct block_list *bl, unsigned int sp, int flag) {
+int HP_status_set_sp(struct block_list *bl, unsigned int sp, enum status_heal_flag flag) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_status_set_sp_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, unsigned int *sp, int *flag);
+ int (*preHookFunc) (struct block_list **bl, unsigned int *sp, enum status_heal_flag *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_sp_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_set_sp_pre[hIndex].func;
@@ -81064,7 +83676,7 @@ int HP_status_set_sp(struct block_list *bl, unsigned int sp, int flag) {
retVal___ = HPMHooks.source.status.set_sp(bl, sp, flag);
}
if (HPMHooks.count.HP_status_set_sp_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned int sp, int flag);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned int sp, enum status_heal_flag flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_sp_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_set_sp_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sp, flag);
@@ -81072,11 +83684,11 @@ int HP_status_set_sp(struct block_list *bl, unsigned int sp, int flag) {
}
return retVal___;
}
-int HP_status_heal(struct block_list *bl, int64 hp, int64 sp, int flag) {
+int HP_status_heal(struct block_list *bl, int64 hp, int64 sp, enum status_heal_flag flag) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_status_heal_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, int64 *hp, int64 *sp, int *flag);
+ int (*preHookFunc) (struct block_list **bl, int64 *hp, int64 *sp, enum status_heal_flag *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_heal_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_heal_pre[hIndex].func;
@@ -81091,7 +83703,7 @@ int HP_status_heal(struct block_list *bl, int64 hp, int64 sp, int flag) {
retVal___ = HPMHooks.source.status.heal(bl, hp, sp, flag);
}
if (HPMHooks.count.HP_status_heal_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, int64 hp, int64 sp, int flag);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, int64 hp, int64 sp, enum status_heal_flag flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_heal_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_heal_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, hp, sp, flag);
@@ -82634,11 +85246,11 @@ short HP_status_calc_mdef2(struct block_list *bl, struct status_change *sc, int
}
return retVal___;
}
-unsigned short HP_status_calc_batk(struct block_list *bl, struct status_change *sc, int batk, bool viewable) {
+int HP_status_calc_batk(struct block_list *bl, struct status_change *sc, int batk, bool viewable) {
int hIndex = 0;
- unsigned short retVal___ = 0;
+ int retVal___ = 0;
if (HPMHooks.count.HP_status_calc_batk_pre > 0) {
- unsigned short (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *batk, bool *viewable);
+ int (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *batk, bool *viewable);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_batk_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_calc_batk_pre[hIndex].func;
@@ -82653,7 +85265,7 @@ unsigned short HP_status_calc_batk(struct block_list *bl, struct status_change *
retVal___ = HPMHooks.source.status.calc_batk(bl, sc, batk, viewable);
}
if (HPMHooks.count.HP_status_calc_batk_post > 0) {
- unsigned short (*postHookFunc) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int batk, bool viewable);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, struct status_change *sc, int batk, bool viewable);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_batk_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_calc_batk_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sc, batk, viewable);
@@ -82661,11 +85273,11 @@ unsigned short HP_status_calc_batk(struct block_list *bl, struct status_change *
}
return retVal___;
}
-unsigned short HP_status_base_matk(struct block_list *bl, const struct status_data *st, int level) {
+int HP_status_base_matk(struct block_list *bl, const struct status_data *st, int level) {
int hIndex = 0;
- unsigned short retVal___ = 0;
+ int retVal___ = 0;
if (HPMHooks.count.HP_status_base_matk_pre > 0) {
- unsigned short (*preHookFunc) (struct block_list **bl, const struct status_data **st, int *level);
+ int (*preHookFunc) (struct block_list **bl, const struct status_data **st, int *level);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_base_matk_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_base_matk_pre[hIndex].func;
@@ -82680,7 +85292,7 @@ unsigned short HP_status_base_matk(struct block_list *bl, const struct status_da
retVal___ = HPMHooks.source.status.base_matk(bl, st, level);
}
if (HPMHooks.count.HP_status_base_matk_post > 0) {
- unsigned short (*postHookFunc) (unsigned short retVal___, struct block_list *bl, const struct status_data *st, int level);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, const struct status_data *st, int level);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_base_matk_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_base_matk_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, st, level);
@@ -82928,11 +85540,11 @@ int HP_status_base_amotion_pc(struct map_session_data *sd, struct status_data *s
}
return retVal___;
}
-unsigned short HP_status_base_atk(const struct block_list *bl, const struct status_data *st) {
+int HP_status_base_atk(const struct block_list *bl, const struct status_data *st) {
int hIndex = 0;
- unsigned short retVal___ = 0;
+ int retVal___ = 0;
if (HPMHooks.count.HP_status_base_atk_pre > 0) {
- unsigned short (*preHookFunc) (const struct block_list **bl, const struct status_data **st);
+ int (*preHookFunc) (const struct block_list **bl, const struct status_data **st);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_base_atk_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_base_atk_pre[hIndex].func;
@@ -82947,7 +85559,7 @@ unsigned short HP_status_base_atk(const struct block_list *bl, const struct stat
retVal___ = HPMHooks.source.status.base_atk(bl, st);
}
if (HPMHooks.count.HP_status_base_atk_post > 0) {
- unsigned short (*postHookFunc) (unsigned short retVal___, const struct block_list *bl, const struct status_data *st);
+ int (*postHookFunc) (int retVal___, const struct block_list *bl, const struct status_data *st);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_base_atk_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_base_atk_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, st);
@@ -83009,6 +85621,60 @@ unsigned int HP_status_get_base_maxsp(const struct map_session_data *sd, const s
}
return retVal___;
}
+unsigned int HP_status_get_restart_hp(const struct map_session_data *sd, const struct status_data *st) {
+ int hIndex = 0;
+ unsigned int retVal___ = 0;
+ if (HPMHooks.count.HP_status_get_restart_hp_pre > 0) {
+ unsigned int (*preHookFunc) (const struct map_session_data **sd, const struct status_data **st);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_restart_hp_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_get_restart_hp_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &st);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.status.get_restart_hp(sd, st);
+ }
+ if (HPMHooks.count.HP_status_get_restart_hp_post > 0) {
+ unsigned int (*postHookFunc) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_restart_hp_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_get_restart_hp_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, st);
+ }
+ }
+ return retVal___;
+}
+unsigned int HP_status_get_restart_sp(const struct map_session_data *sd, const struct status_data *st) {
+ int hIndex = 0;
+ unsigned int retVal___ = 0;
+ if (HPMHooks.count.HP_status_get_restart_sp_pre > 0) {
+ unsigned int (*preHookFunc) (const struct map_session_data **sd, const struct status_data **st);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_restart_sp_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_get_restart_sp_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &st);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.status.get_restart_sp(sd, st);
+ }
+ if (HPMHooks.count.HP_status_get_restart_sp_post > 0) {
+ unsigned int (*postHookFunc) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_restart_sp_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_get_restart_sp_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, st);
+ }
+ }
+ return retVal___;
+}
int HP_status_calc_npc_(struct npc_data *nd, enum e_status_calc_opt opt) {
int hIndex = 0;
int retVal___ = 0;
@@ -83198,11 +85864,11 @@ unsigned short HP_status_calc_luk(struct block_list *bl, struct status_change *s
}
return retVal___;
}
-unsigned short HP_status_calc_watk(struct block_list *bl, struct status_change *sc, int watk, bool viewable) {
+int HP_status_calc_watk(struct block_list *bl, struct status_change *sc, int watk, bool viewable) {
int hIndex = 0;
- unsigned short retVal___ = 0;
+ int retVal___ = 0;
if (HPMHooks.count.HP_status_calc_watk_pre > 0) {
- unsigned short (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *watk, bool *viewable);
+ int (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *watk, bool *viewable);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_watk_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_calc_watk_pre[hIndex].func;
@@ -83217,7 +85883,7 @@ unsigned short HP_status_calc_watk(struct block_list *bl, struct status_change *
retVal___ = HPMHooks.source.status.calc_watk(bl, sc, watk, viewable);
}
if (HPMHooks.count.HP_status_calc_watk_post > 0) {
- unsigned short (*postHookFunc) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int watk, bool viewable);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, struct status_change *sc, int watk, bool viewable);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_watk_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_calc_watk_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sc, watk, viewable);
@@ -83225,11 +85891,11 @@ unsigned short HP_status_calc_watk(struct block_list *bl, struct status_change *
}
return retVal___;
}
-unsigned short HP_status_calc_matk(struct block_list *bl, struct status_change *sc, int matk, bool viewable) {
+int HP_status_calc_matk(struct block_list *bl, struct status_change *sc, int matk, bool viewable) {
int hIndex = 0;
- unsigned short retVal___ = 0;
+ int retVal___ = 0;
if (HPMHooks.count.HP_status_calc_matk_pre > 0) {
- unsigned short (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *matk, bool *viewable);
+ int (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *matk, bool *viewable);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_matk_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_calc_matk_pre[hIndex].func;
@@ -83244,7 +85910,7 @@ unsigned short HP_status_calc_matk(struct block_list *bl, struct status_change *
retVal___ = HPMHooks.source.status.calc_matk(bl, sc, matk, viewable);
}
if (HPMHooks.count.HP_status_calc_matk_post > 0) {
- unsigned short (*postHookFunc) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int matk, bool viewable);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, struct status_change *sc, int matk, bool viewable);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_matk_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_calc_matk_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sc, matk, viewable);
@@ -83252,11 +85918,11 @@ unsigned short HP_status_calc_matk(struct block_list *bl, struct status_change *
}
return retVal___;
}
-signed short HP_status_calc_hit(struct block_list *bl, struct status_change *sc, int hit, bool viewable) {
+signed int HP_status_calc_hit(struct block_list *bl, struct status_change *sc, int hit, bool viewable) {
int hIndex = 0;
- signed short retVal___ = 0;
+ signed int retVal___ = 0;
if (HPMHooks.count.HP_status_calc_hit_pre > 0) {
- signed short (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *hit, bool *viewable);
+ signed int (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *hit, bool *viewable);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_hit_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_calc_hit_pre[hIndex].func;
@@ -83271,7 +85937,7 @@ signed short HP_status_calc_hit(struct block_list *bl, struct status_change *sc,
retVal___ = HPMHooks.source.status.calc_hit(bl, sc, hit, viewable);
}
if (HPMHooks.count.HP_status_calc_hit_post > 0) {
- signed short (*postHookFunc) (signed short retVal___, struct block_list *bl, struct status_change *sc, int hit, bool viewable);
+ signed int (*postHookFunc) (signed int retVal___, struct block_list *bl, struct status_change *sc, int hit, bool viewable);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_hit_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_calc_hit_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sc, hit, viewable);
@@ -83279,11 +85945,11 @@ signed short HP_status_calc_hit(struct block_list *bl, struct status_change *sc,
}
return retVal___;
}
-signed short HP_status_calc_critical(struct block_list *bl, struct status_change *sc, int critical, bool viewable) {
+signed int HP_status_calc_critical(struct block_list *bl, struct status_change *sc, int critical, bool viewable) {
int hIndex = 0;
- signed short retVal___ = 0;
+ signed int retVal___ = 0;
if (HPMHooks.count.HP_status_calc_critical_pre > 0) {
- signed short (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *critical, bool *viewable);
+ signed int (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *critical, bool *viewable);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_critical_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_calc_critical_pre[hIndex].func;
@@ -83298,7 +85964,7 @@ signed short HP_status_calc_critical(struct block_list *bl, struct status_change
retVal___ = HPMHooks.source.status.calc_critical(bl, sc, critical, viewable);
}
if (HPMHooks.count.HP_status_calc_critical_post > 0) {
- signed short (*postHookFunc) (signed short retVal___, struct block_list *bl, struct status_change *sc, int critical, bool viewable);
+ signed int (*postHookFunc) (signed int retVal___, struct block_list *bl, struct status_change *sc, int critical, bool viewable);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_critical_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_calc_critical_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sc, critical, viewable);
@@ -83306,11 +85972,11 @@ signed short HP_status_calc_critical(struct block_list *bl, struct status_change
}
return retVal___;
}
-signed short HP_status_calc_flee(struct block_list *bl, struct status_change *sc, int flee, bool viewable) {
+signed int HP_status_calc_flee(struct block_list *bl, struct status_change *sc, int flee, bool viewable) {
int hIndex = 0;
- signed short retVal___ = 0;
+ signed int retVal___ = 0;
if (HPMHooks.count.HP_status_calc_flee_pre > 0) {
- signed short (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *flee, bool *viewable);
+ signed int (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *flee, bool *viewable);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_flee_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_calc_flee_pre[hIndex].func;
@@ -83325,7 +85991,7 @@ signed short HP_status_calc_flee(struct block_list *bl, struct status_change *sc
retVal___ = HPMHooks.source.status.calc_flee(bl, sc, flee, viewable);
}
if (HPMHooks.count.HP_status_calc_flee_post > 0) {
- signed short (*postHookFunc) (signed short retVal___, struct block_list *bl, struct status_change *sc, int flee, bool viewable);
+ signed int (*postHookFunc) (signed int retVal___, struct block_list *bl, struct status_change *sc, int flee, bool viewable);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_flee_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_calc_flee_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sc, flee, viewable);
@@ -83333,11 +85999,11 @@ signed short HP_status_calc_flee(struct block_list *bl, struct status_change *sc
}
return retVal___;
}
-signed short HP_status_calc_flee2(struct block_list *bl, struct status_change *sc, int flee2, bool viewable) {
+signed int HP_status_calc_flee2(struct block_list *bl, struct status_change *sc, int flee2, bool viewable) {
int hIndex = 0;
- signed short retVal___ = 0;
+ signed int retVal___ = 0;
if (HPMHooks.count.HP_status_calc_flee2_pre > 0) {
- signed short (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *flee2, bool *viewable);
+ signed int (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *flee2, bool *viewable);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_flee2_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_calc_flee2_pre[hIndex].func;
@@ -83352,7 +86018,7 @@ signed short HP_status_calc_flee2(struct block_list *bl, struct status_change *s
retVal___ = HPMHooks.source.status.calc_flee2(bl, sc, flee2, viewable);
}
if (HPMHooks.count.HP_status_calc_flee2_post > 0) {
- signed short (*postHookFunc) (signed short retVal___, struct block_list *bl, struct status_change *sc, int flee2, bool viewable);
+ signed int (*postHookFunc) (signed int retVal___, struct block_list *bl, struct status_change *sc, int flee2, bool viewable);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_flee2_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_calc_flee2_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sc, flee2, viewable);
@@ -83630,11 +86296,11 @@ uint32 HP_status_calc_mode(const struct block_list *bl, const struct status_chan
}
return retVal___;
}
-unsigned short HP_status_calc_ematk(struct block_list *bl, struct status_change *sc, int matk) {
+int HP_status_calc_ematk(struct block_list *bl, struct status_change *sc, int matk) {
int hIndex = 0;
- unsigned short retVal___ = 0;
+ int retVal___ = 0;
if (HPMHooks.count.HP_status_calc_ematk_pre > 0) {
- unsigned short (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *matk);
+ int (*preHookFunc) (struct block_list **bl, struct status_change **sc, int *matk);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_ematk_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_calc_ematk_pre[hIndex].func;
@@ -83649,7 +86315,7 @@ unsigned short HP_status_calc_ematk(struct block_list *bl, struct status_change
retVal___ = HPMHooks.source.status.calc_ematk(bl, sc, matk);
}
if (HPMHooks.count.HP_status_calc_ematk_post > 0) {
- unsigned short (*postHookFunc) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int matk);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, struct status_change *sc, int matk);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_ematk_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_calc_ematk_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sc, matk);
@@ -83849,60 +86515,6 @@ bool HP_status_readdb_sizefix(char *fields[], int columns, int current) {
}
return retVal___;
}
-int HP_status_readdb_refine_libconfig(const char *filename) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_status_readdb_refine_libconfig_pre > 0) {
- int (*preHookFunc) (const char **filename);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_readdb_refine_libconfig_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_status_readdb_refine_libconfig_pre[hIndex].func;
- retVal___ = preHookFunc(&filename);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.status.readdb_refine_libconfig(filename);
- }
- if (HPMHooks.count.HP_status_readdb_refine_libconfig_post > 0) {
- int (*postHookFunc) (int retVal___, const char *filename);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_readdb_refine_libconfig_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_status_readdb_refine_libconfig_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, filename);
- }
- }
- return retVal___;
-}
-int HP_status_readdb_refine_libconfig_sub(struct config_setting_t *r, const char *name, const char *source) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_status_readdb_refine_libconfig_sub_pre > 0) {
- int (*preHookFunc) (struct config_setting_t **r, const char **name, const char **source);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_readdb_refine_libconfig_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_status_readdb_refine_libconfig_sub_pre[hIndex].func;
- retVal___ = preHookFunc(&r, &name, &source);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.status.readdb_refine_libconfig_sub(r, name, source);
- }
- if (HPMHooks.count.HP_status_readdb_refine_libconfig_sub_post > 0) {
- int (*postHookFunc) (int retVal___, struct config_setting_t *r, const char *name, const char *source);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_readdb_refine_libconfig_sub_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_status_readdb_refine_libconfig_sub_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, r, name, source);
- }
- }
- return retVal___;
-}
bool HP_status_readdb_scconfig(char *fields[], int columns, int current) {
int hIndex = 0;
bool retVal___ = false;
@@ -84034,11 +86646,11 @@ void HP_status_copy(struct status_data *a, const struct status_data *b) {
}
return;
}
-unsigned short HP_status_base_matk_min(const struct status_data *st) {
+int HP_status_base_matk_min(const struct status_data *st) {
int hIndex = 0;
- unsigned short retVal___ = 0;
+ int retVal___ = 0;
if (HPMHooks.count.HP_status_base_matk_min_pre > 0) {
- unsigned short (*preHookFunc) (const struct status_data **st);
+ int (*preHookFunc) (const struct status_data **st);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_base_matk_min_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_base_matk_min_pre[hIndex].func;
@@ -84053,7 +86665,7 @@ unsigned short HP_status_base_matk_min(const struct status_data *st) {
retVal___ = HPMHooks.source.status.base_matk_min(st);
}
if (HPMHooks.count.HP_status_base_matk_min_post > 0) {
- unsigned short (*postHookFunc) (unsigned short retVal___, const struct status_data *st);
+ int (*postHookFunc) (int retVal___, const struct status_data *st);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_base_matk_min_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_base_matk_min_post[hIndex].func;
retVal___ = postHookFunc(retVal___, st);
@@ -84061,11 +86673,11 @@ unsigned short HP_status_base_matk_min(const struct status_data *st) {
}
return retVal___;
}
-unsigned short HP_status_base_matk_max(const struct status_data *st) {
+int HP_status_base_matk_max(const struct status_data *st) {
int hIndex = 0;
- unsigned short retVal___ = 0;
+ int retVal___ = 0;
if (HPMHooks.count.HP_status_base_matk_max_pre > 0) {
- unsigned short (*preHookFunc) (const struct status_data **st);
+ int (*preHookFunc) (const struct status_data **st);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_base_matk_max_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_base_matk_max_pre[hIndex].func;
@@ -84080,7 +86692,7 @@ unsigned short HP_status_base_matk_max(const struct status_data *st) {
retVal___ = HPMHooks.source.status.base_matk_max(st);
}
if (HPMHooks.count.HP_status_base_matk_max_post > 0) {
- unsigned short (*postHookFunc) (unsigned short retVal___, const struct status_data *st);
+ int (*postHookFunc) (int retVal___, const struct status_data *st);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_base_matk_max_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_base_matk_max_post[hIndex].func;
retVal___ = postHookFunc(retVal___, st);
@@ -85121,6 +87733,244 @@ bool HP_strlib_bin2hex_(char *output, const unsigned char *input, size_t count)
}
return retVal___;
}
+/* stylist_interface */
+void HP_stylist_init(bool minimal) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_stylist_init_pre > 0) {
+ void (*preHookFunc) (bool *minimal);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_stylist_init_pre[hIndex].func;
+ preHookFunc(&minimal);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.stylist.init(minimal);
+ }
+ if (HPMHooks.count.HP_stylist_init_post > 0) {
+ void (*postHookFunc) (bool minimal);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_stylist_init_post[hIndex].func;
+ postHookFunc(minimal);
+ }
+ }
+ return;
+}
+void HP_stylist_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_stylist_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_stylist_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.stylist.final();
+ }
+ if (HPMHooks.count.HP_stylist_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_stylist_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_stylist_vector_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_stylist_vector_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_vector_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_stylist_vector_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.stylist.vector_init();
+ }
+ if (HPMHooks.count.HP_stylist_vector_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_vector_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_stylist_vector_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_stylist_vector_clear(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_stylist_vector_clear_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_vector_clear_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_stylist_vector_clear_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.stylist.vector_clear();
+ }
+ if (HPMHooks.count.HP_stylist_vector_clear_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_vector_clear_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_stylist_vector_clear_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+bool HP_stylist_read_db_libconfig(void) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_stylist_read_db_libconfig_pre > 0) {
+ bool (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_read_db_libconfig_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_stylist_read_db_libconfig_pre[hIndex].func;
+ retVal___ = preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.stylist.read_db_libconfig();
+ }
+ if (HPMHooks.count.HP_stylist_read_db_libconfig_post > 0) {
+ bool (*postHookFunc) (bool retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_read_db_libconfig_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_stylist_read_db_libconfig_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
+ }
+ }
+ return retVal___;
+}
+bool HP_stylist_read_db_libconfig_sub(struct config_setting_t *it, int idx, const char *source) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_stylist_read_db_libconfig_sub_pre > 0) {
+ bool (*preHookFunc) (struct config_setting_t **it, int *idx, const char **source);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_read_db_libconfig_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_stylist_read_db_libconfig_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&it, &idx, &source);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.stylist.read_db_libconfig_sub(it, idx, source);
+ }
+ if (HPMHooks.count.HP_stylist_read_db_libconfig_sub_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct config_setting_t *it, int idx, const char *source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_read_db_libconfig_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_stylist_read_db_libconfig_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, it, idx, source);
+ }
+ }
+ return retVal___;
+}
+void HP_stylist_request_style_change(struct map_session_data *sd, int type, int16 idx, bool isitem) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_stylist_request_style_change_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *type, int16 *idx, bool *isitem);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_request_style_change_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_stylist_request_style_change_pre[hIndex].func;
+ preHookFunc(&sd, &type, &idx, &isitem);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.stylist.request_style_change(sd, type, idx, isitem);
+ }
+ if (HPMHooks.count.HP_stylist_request_style_change_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int type, int16 idx, bool isitem);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_request_style_change_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_stylist_request_style_change_post[hIndex].func;
+ postHookFunc(sd, type, idx, isitem);
+ }
+ }
+ return;
+}
+bool HP_stylist_validate_requirements(struct map_session_data *sd, int type, int16 idx) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_stylist_validate_requirements_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, int *type, int16 *idx);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_validate_requirements_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_stylist_validate_requirements_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &type, &idx);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.stylist.validate_requirements(sd, type, idx);
+ }
+ if (HPMHooks.count.HP_stylist_validate_requirements_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int type, int16 idx);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_validate_requirements_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_stylist_validate_requirements_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, type, idx);
+ }
+ }
+ return retVal___;
+}
+void HP_stylist_send_rodexitem(struct map_session_data *sd, int itemid) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_stylist_send_rodexitem_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *itemid);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_send_rodexitem_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_stylist_send_rodexitem_pre[hIndex].func;
+ preHookFunc(&sd, &itemid);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.stylist.send_rodexitem(sd, itemid);
+ }
+ if (HPMHooks.count.HP_stylist_send_rodexitem_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int itemid);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_stylist_send_rodexitem_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_stylist_send_rodexitem_post[hIndex].func;
+ postHookFunc(sd, itemid);
+ }
+ }
+ return;
+}
/* sv_interface */
int HP_sv_parse_next(struct s_svstate *svstate) {
int hIndex = 0;
@@ -87187,11 +90037,11 @@ int HP_unit_blown(struct block_list *bl, int dx, int dy, int count, int flag) {
}
return retVal___;
}
-int HP_unit_warp(struct block_list *bl, short m, short x, short y, clr_type type) {
+int HP_unit_warp(struct block_list *bl, short m, short x, short y, enum clr_type type) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_unit_warp_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, short *m, short *x, short *y, clr_type *type);
+ int (*preHookFunc) (struct block_list **bl, short *m, short *x, short *y, enum clr_type *type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_warp_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_warp_pre[hIndex].func;
@@ -87206,7 +90056,7 @@ int HP_unit_warp(struct block_list *bl, short m, short x, short y, clr_type type
retVal___ = HPMHooks.source.unit.warp(bl, m, x, y, type);
}
if (HPMHooks.count.HP_unit_warp_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, short m, short x, short y, clr_type type);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, short m, short x, short y, enum clr_type type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_warp_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_warp_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, m, x, y, type);
@@ -87886,11 +90736,11 @@ int HP_unit_changeviewsize(struct block_list *bl, short size) {
}
return retVal___;
}
-int HP_unit_remove_map(struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func) {
+int HP_unit_remove_map(struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_unit_remove_map_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, clr_type *clrtype, const char **file, int *line, const char **func);
+ int (*preHookFunc) (struct block_list **bl, enum clr_type *clrtype, const char **file, int *line, const char **func);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_remove_map_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_remove_map_pre[hIndex].func;
@@ -87905,7 +90755,7 @@ int HP_unit_remove_map(struct block_list *bl, clr_type clrtype, const char *file
retVal___ = HPMHooks.source.unit.remove_map(bl, clrtype, file, line, func);
}
if (HPMHooks.count.HP_unit_remove_map_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_remove_map_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_remove_map_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, clrtype, file, line, func);
@@ -87913,10 +90763,10 @@ int HP_unit_remove_map(struct block_list *bl, clr_type clrtype, const char *file
}
return retVal___;
}
-void HP_unit_remove_map_pc(struct map_session_data *sd, clr_type clrtype) {
+void HP_unit_remove_map_pc(struct map_session_data *sd, enum clr_type clrtype) {
int hIndex = 0;
if (HPMHooks.count.HP_unit_remove_map_pc_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, clr_type *clrtype);
+ void (*preHookFunc) (struct map_session_data **sd, enum clr_type *clrtype);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_remove_map_pc_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_remove_map_pc_pre[hIndex].func;
@@ -87931,7 +90781,7 @@ void HP_unit_remove_map_pc(struct map_session_data *sd, clr_type clrtype) {
HPMHooks.source.unit.remove_map_pc(sd, clrtype);
}
if (HPMHooks.count.HP_unit_remove_map_pc_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, clr_type clrtype);
+ void (*postHookFunc) (struct map_session_data *sd, enum clr_type clrtype);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_remove_map_pc_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_remove_map_pc_post[hIndex].func;
postHookFunc(sd, clrtype);
@@ -87965,11 +90815,11 @@ void HP_unit_free_pc(struct map_session_data *sd) {
}
return;
}
-int HP_unit_free(struct block_list *bl, clr_type clrtype) {
+int HP_unit_free(struct block_list *bl, enum clr_type clrtype) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_unit_free_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, clr_type *clrtype);
+ int (*preHookFunc) (struct block_list **bl, enum clr_type *clrtype);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_free_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_free_pre[hIndex].func;
@@ -87984,7 +90834,7 @@ int HP_unit_free(struct block_list *bl, clr_type clrtype) {
retVal___ = HPMHooks.source.unit.free(bl, clrtype);
}
if (HPMHooks.count.HP_unit_free_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, clr_type clrtype);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, enum clr_type clrtype);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_free_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_free_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, clrtype);
diff --git a/src/plugins/HPMHooking/HPMHooking_map.sources.inc b/src/plugins/HPMHooking/HPMHooking_map.sources.inc
index 151a5d8a1..786b60288 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.sources.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -65,6 +65,7 @@ HPMHooks.source.mutex = *mutex;
HPMHooks.source.npc_chat = *npc_chat;
HPMHooks.source.npc = *npc;
HPMHooks.source.nullpo = *nullpo;
+HPMHooks.source.packets = *packets;
HPMHooks.source.party = *party;
HPMHooks.source.path = *path;
HPMHooks.source.pcg = *pcg;
@@ -72,6 +73,8 @@ HPMHooks.source.pc = *pc;
HPMHooks.source.libpcre = *libpcre;
HPMHooks.source.pet = *pet;
HPMHooks.source.quest = *quest;
+HPMHooks.source.refine = *refine;
+HPMHooks.source.PRIV__refine = *refine->p;
HPMHooks.source.rnd = *rnd;
HPMHooks.source.rodex = *rodex;
HPMHooks.source.script = *script;
@@ -84,6 +87,7 @@ HPMHooks.source.status = *status;
HPMHooks.source.storage = *storage;
HPMHooks.source.StrBuf = *StrBuf;
HPMHooks.source.strlib = *strlib;
+HPMHooks.source.stylist = *stylist;
HPMHooks.source.sv = *sv;
HPMHooks.source.sysinfo = *sysinfo;
HPMHooks.source.thread = *thread;
diff --git a/src/plugins/db2sql.c b/src/plugins/db2sql.c
index 57e68432e..159d4e2a6 100644
--- a/src/plugins/db2sql.c
+++ b/src/plugins/db2sql.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2015 Hercules Dev Team
+ * Copyright (C) 2013-2018 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -70,6 +70,10 @@ bool mobdb2sql_torun = false;
int (*itemdb_readdb_libconfig_sub) (struct config_setting_t *it, int n, const char *source);
/// Backup of the original mob_db parser function pointer.
int (*mob_read_db_sub) (struct config_setting_t *it, int n, const char *source);
+bool (*mob_skill_db_libconfig_sub_skill) (struct config_setting_t *it, int n, int mob_id);
+
+//
+void do_mobskilldb2sql(void);
/**
* Normalizes and appends a string to the output buffer.
@@ -811,6 +815,332 @@ void do_mobdb2sql(void)
if (tosql.buf[i].p)
aFree(tosql.buf[i].p);
}
+
+ // Run mob_skill_db converter
+ do_mobskilldb2sql();
+}
+
+/**
+ * Converts Mob Skill State constant to string
+ */
+const char* mob_skill_state_tostring(enum MobSkillState mss)
+{
+ switch(mss) {
+ case MSS_ANY:
+ return "any";
+ case MSS_IDLE:
+ return "idle";
+ case MSS_WALK:
+ return "walk";
+ case MSS_LOOT:
+ return "loot";
+ case MSS_DEAD:
+ return "dead";
+ case MSS_BERSERK:
+ return "attack";
+ case MSS_ANGRY:
+ return "angry";
+ case MSS_RUSH:
+ return "chase";
+ case MSS_FOLLOW:
+ return "follow";
+ case MSS_ANYTARGET:
+ return "anytarget";
+ }
+
+ return "unknown";
+}
+
+/**
+ * Converts Mob Skill Target constant to string
+ */
+const char* mob_skill_target_tostring(int target)
+{
+ switch(target) {
+ case MST_TARGET:
+ return "target";
+ case MST_RANDOM:
+ return "randomtarget";
+ case MST_SELF:
+ return "self";
+ case MST_FRIEND:
+ return "friend";
+ case MST_MASTER:
+ return "master";
+ case MST_AROUND1:
+ return "around1";
+ case MST_AROUND2:
+ return "around2";
+ case MST_AROUND3:
+ return "around3";
+ //case MST_AROUND: // same value as MST_AROUND4
+ case MST_AROUND4:
+ return "around4";
+ case MST_AROUND5:
+ return "around5";
+ case MST_AROUND6:
+ return "around6";
+ case MST_AROUND7:
+ return "around7";
+ case MST_AROUND8:
+ return "around8";
+ }
+ return "unknown";
+}
+
+/**
+ * Converts Mob Skill Condition constant to string
+ */
+const char* mob_skill_condition_tostring(int condition)
+{
+ switch(condition) {
+ case MSC_ALWAYS:
+ return "always";
+ case MSC_MYHPLTMAXRATE:
+ return "myhpltmaxrate";
+ case MSC_MYHPINRATE:
+ return "myhpinrate";
+ case MSC_FRIENDHPLTMAXRATE:
+ return "friendhpltmaxrate";
+ case MSC_FRIENDHPINRATE:
+ return "friendhpinrate";
+ case MSC_MYSTATUSON:
+ return "mystatuson";
+ case MSC_MYSTATUSOFF:
+ return "mystatusoff";
+ case MSC_FRIENDSTATUSON:
+ return "friendstatuson";
+ case MSC_FRIENDSTATUSOFF:
+ return "friendstatusoff";
+ case MSC_ATTACKPCGT:
+ return "attackpcgt";
+ case MSC_ATTACKPCGE:
+ return "attackpcge";
+ case MSC_SLAVELT:
+ return "slavelt";
+ case MSC_SLAVELE:
+ return "slavele";
+ case MSC_CLOSEDATTACKED:
+ return "closedattacked";
+ case MSC_LONGRANGEATTACKED:
+ return "longrangeattacked";
+ case MSC_AFTERSKILL:
+ return "afterskill";
+ case MSC_SKILLUSED:
+ return "skillused";
+ case MSC_CASTTARGETED:
+ return "casttargeted";
+ case MSC_RUDEATTACKED:
+ return "rudeattacked";
+ case MSC_MASTERHPLTMAXRATE:
+ return "masterhpltmaxrate";
+ case MSC_MASTERATTACKED:
+ return "masterattacked";
+ case MSC_ALCHEMIST:
+ return "alchemist";
+ case MSC_SPAWN:
+ return "onspawn";
+ }
+ return "unknown";
+}
+
+/**
+ * Converts a Mob Skill DB entry to SQL.
+ *
+ * @see mob_skill_db_libconfig_sub_skill.
+ */
+bool mobskilldb2sql_sub(struct config_setting_t *it, int n, int mob_id)
+{
+ int i32 = 0, i;
+ StringBuf buf;
+ struct mob_db *md = mob->db(mob_id);
+ char valname[15];
+ const char *name = config_setting_name(it);
+ char e_name[NAME_LENGTH*2+1];
+
+ nullpo_retr(false, it);
+ Assert_retr(false, mob_id <= 0 || md != mob->dummy);
+
+ StrBuf->Init(&buf);
+
+ // MonsterID
+ StrBuf->Printf(&buf, "%d,", mob_id);
+
+ // Info
+ SQL->EscapeString(NULL, e_name, md->name);
+ StrBuf->Printf(&buf, "'%s@%s',", e_name, name);
+
+ if (mob->lookup_const(it, "SkillState", &i32) && (i32 < MSS_ANY || i32 > MSS_ANYTARGET)) {
+ ShowWarning("mob_skill_db_libconfig_sub_skill: Invalid skill state %d for skill '%s' in monster %d, defaulting to MSS_ANY.\n", i32, name, mob_id);
+ i32 = MSS_ANY;
+ }
+ // State
+ StrBuf->Printf(&buf, "'%s',", mob_skill_state_tostring(i32));
+
+ // SkillID
+ if (!(i32 = skill->name2id(name))) {
+ ShowWarning("mob_skill_db_libconfig_sub_skill: Non existant skill id %d in monster %d, skipping.\n", i32, mob_id);
+ return false;
+ }
+ StrBuf->Printf(&buf, "%d,", i32);
+
+ // SkillLv
+ if (!libconfig->setting_lookup_int(it, "SkillLevel", &i32) || i32 <= 0)
+ i32 = 1;
+ StrBuf->Printf(&buf, "%d,", i32);
+
+ // Rate
+ i32 = 0;
+ libconfig->setting_lookup_int(it, "Rate", &i32);
+ StrBuf->Printf(&buf, "%d,", i32);
+
+ // CastTime
+ i32 = 0;
+ libconfig->setting_lookup_int(it, "CastTime", &i32);
+ StrBuf->Printf(&buf, "%d,", i32);
+
+ // Delay
+ i32 = 0;
+ libconfig->setting_lookup_int(it, "Delay", &i32);
+ StrBuf->Printf(&buf, "%d,", i32);
+
+ // Cancelable
+ if (libconfig->setting_lookup_bool(it, "Cancelable", &i32)) {
+ StrBuf->Printf(&buf, "'%s',", ((i32 == 0) ? "no" : "yes"));
+ } else {
+ StrBuf->Printf(&buf, "'no',");
+ }
+
+ // Target
+ if (mob->lookup_const(it, "SkillTarget", &i32) && (i32 < MST_TARGET || i32 > MST_AROUND)) {
+ i32 = MST_TARGET;
+ }
+ StrBuf->Printf(&buf, "'%s',", mob_skill_target_tostring(i32));
+
+ // Condition
+ if (mob->lookup_const(it, "CastCondition", &i32) && (i32 < MSC_ALWAYS || i32 > MSC_SPAWN)) {
+ i32 = MSC_ALWAYS;
+ }
+ StrBuf->Printf(&buf, "'%s',", mob_skill_condition_tostring(i32));
+
+ // ConditionValue
+ i32 = 0;
+ if (mob->lookup_const(it, "ConditionData", &i32)) {
+ StrBuf->Printf(&buf, "'%d',", i32);
+ } else {
+ StrBuf->Printf(&buf, "NULL,");
+ }
+
+ // Val1-Val5
+ for (i = 0; i < 5; i++) {
+ sprintf(valname, "val%1d", i);
+ if (libconfig->setting_lookup_int(it, valname, &i32)) {
+ StrBuf->Printf(&buf, "%d,", i32);
+ } else {
+ StrBuf->Printf(&buf, "NULL,");
+ }
+ }
+
+ // Emotion
+ if (libconfig->setting_lookup_int(it, "Emotion", &i32)) {
+ StrBuf->Printf(&buf, "'%d',", i32);
+ } else {
+ StrBuf->Printf(&buf, "NULL,");
+ }
+
+ if (libconfig->setting_lookup_int(it, "ChatMsgID", &i32) && i32 > 0 && i32 <= MAX_MOB_CHAT) {
+ StrBuf->Printf(&buf, "'%d'", i32);
+ } else {
+ StrBuf->Printf(&buf, "NULL");
+ }
+
+ fprintf(tosql.fp, "REPLACE INTO `%s` VALUES (%s);\n", tosql.db_name, StrBuf->Value(&buf));
+
+ StrBuf->Destroy(&buf);
+
+ return true;
+
+}
+
+
+/**
+ * Prints a SQL table header for the current mob_skill_db table.
+ */
+void mobskilldb2sql_tableheader(void)
+{
+ db2sql_fileheader();
+
+ fprintf(tosql.fp,
+ "--\n"
+ "-- Table structure for table `%s`\n"
+ "--\n"
+ "\n"
+ "DROP TABLE IF EXISTS `%s`;\n"
+ "CREATE TABLE `%s` (\n"
+ " `MOB_ID` SMALLINT(6) NOT NULL,\n"
+ " `INFO` TEXT NOT NULL,\n"
+ " `STATE` TEXT NOT NULL,\n"
+ " `SKILL_ID` SMALLINT(6) NOT NULL,\n"
+ " `SKILL_LV` TINYINT(4) NOT NULL,\n"
+ " `RATE` SMALLINT(4) NOT NULL,\n"
+ " `CASTTIME` MEDIUMINT(9) NOT NULL,\n"
+ " `DELAY` INT(9) NOT NULL,\n"
+ " `CANCELABLE` TEXT NOT NULL,\n"
+ " `TARGET` TEXT NOT NULL,\n"
+ " `CONDITION` TEXT NOT NULL,\n"
+ " `CONDITION_VALUE` TEXT,\n"
+ " `VAL1` INT(11) DEFAULT NULL,\n"
+ " `VAL2` INT(11) DEFAULT NULL,\n"
+ " `VAL3` INT(11) DEFAULT NULL,\n"
+ " `VAL4` INT(11) DEFAULT NULL,\n"
+ " `VAL5` INT(11) DEFAULT NULL,\n"
+ " `EMOTION` TEXT,\n"
+ " `CHAT` TEXT\n"
+ ") ENGINE=MyISAM;\n"
+ "\n", tosql.db_name, tosql.db_name, tosql.db_name);
+}
+
+/**
+ * Mob Skill DB Conversion
+ */
+void do_mobskilldb2sql(void)
+{
+ int i;
+ struct convert_db_files {
+ const char *name;
+ const char *source;
+ const char *destination;
+ } files[] = {
+ {"mob_skill_db", DBPATH"mob_skill_db.conf", "sql-files/mob_skill_db" DBSUFFIX ".sql"},
+ {"mob_skill_db2", "mob_skill_db2.conf", "sql-files/mob_skill_db2.sql"},
+ };
+
+ /* link */
+ mob_skill_db_libconfig_sub_skill = mob->skill_db_libconfig_sub_skill;
+ mob->skill_db_libconfig_sub_skill = mobskilldb2sql_sub;
+
+ memset(&tosql.buf, 0, sizeof(tosql.buf));
+ for (i = 0; i < ARRAYLENGTH(files); i++) {
+ if ((tosql.fp = fopen(files[i].destination, "wt+")) == NULL) {
+ ShowError("do_mobskilldb2sql: File not found \"%s\".\n", files[i].destination);
+ return;
+ }
+
+ tosql.db_name = files[i].name;
+ mobskilldb2sql_tableheader();
+
+ mob->skill_db_libconfig(files[i].source, false);
+
+ fclose(tosql.fp);
+ }
+
+ /* unlink */
+ mob->skill_db_libconfig_sub_skill = mob_skill_db_libconfig_sub_skill;
+
+ for (i = 0; i < ARRAYLENGTH(tosql.buf); i++) {
+ if (tosql.buf[i].p)
+ aFree(tosql.buf[i].p);
+ }
}
/**
diff --git a/src/plugins/sample.c b/src/plugins/sample.c
index b37f7c4f7..da29bd837 100644
--- a/src/plugins/sample.c
+++ b/src/plugins/sample.c
@@ -23,8 +23,11 @@
#include "common/hercules.h" /* Should always be the first Hercules file included! (if you don't make it first, you won't be able to use interfaces) */
#include "common/memmgr.h"
#include "common/mmo.h"
+#include "common/random.h"
#include "common/socket.h"
#include "common/strlib.h"
+#include "login/login.h"
+#include "login/lclif.p.h"
#include "map/clif.h"
#include "map/pc.h"
#include "map/script.h"
@@ -79,13 +82,13 @@ void sample_packet0f3(int fd) {
data->lastMSGPosition.map = sd->status.last_point.map;
data->lastMSGPosition.x = sd->status.last_point.x;
data->lastMSGPosition.y = sd->status.last_point.y;
- data->someNumber = rand()%777;
+ data->someNumber = rnd()%777;
ShowInfo("Created Appended sockt->session[] data, %d %d %d %u\n",data->lastMSGPosition.map,data->lastMSGPosition.x,data->lastMSGPosition.y,data->someNumber);
addToSession(sockt->session[fd],data,0,true);
} else {
ShowInfo("Existent Appended sockt->session[] data, %d %d %d %u\n",data->lastMSGPosition.map,data->lastMSGPosition.x,data->lastMSGPosition.y,data->someNumber);
- if( rand()%4 == 2 ) {
+ if (rnd()%4 == 2) {
ShowInfo("Removing Appended sockt->session[] data\n");
removeFromSession(sockt->session[fd],0);
}
@@ -98,13 +101,13 @@ void sample_packet0f3(int fd) {
data->lastMSGPosition.map = sd->status.last_point.map;
data->lastMSGPosition.x = sd->status.last_point.x;
data->lastMSGPosition.y = sd->status.last_point.y;
- data->someNumber = rand()%777;
+ data->someNumber = rnd()%777;
ShowInfo("Created Appended map_session_data data, %d %d %d %u\n",data->lastMSGPosition.map,data->lastMSGPosition.x,data->lastMSGPosition.y,data->someNumber);
addToMSD(sd,data,0,true);
} else {
ShowInfo("Existent Appended map_session_data data, %d %d %d %u\n",data->lastMSGPosition.map,data->lastMSGPosition.x,data->lastMSGPosition.y,data->someNumber);
- if( rand()%4 == 2 ) {
+ if (rnd()%4 == 2) {
ShowInfo("Removing Appended map_session_data data\n");
removeFromMSD(sd,0);
}
@@ -135,6 +138,19 @@ int my_pc_dropitem_post(int retVal, struct map_session_data *sd, int n, int amou
}
return 1;
}
+
+ /**
+ * pre-hook for lclif->p->parse_CA_CONNECT_INFO_CHANGED this is a private interface function and while in source it cannot be used
+ * outside of lclif.c since it's private, plugin can use it and hook to private interface functions if needed
+ * the pre-hook takes this currently unused packet and show a notice whenver a player sends it
+ **/
+enum parsefunc_rcode my_lclif_parse_CA_CONNECT_INFO_CHANGED_pre(int *fd, struct login_session_data **sd) __attribute__((nonnull(2)));
+enum parsefunc_rcode my_lclif_parse_CA_CONNECT_INFO_CHANGED_pre(int *fd, struct login_session_data **sd)
+{
+ ShowNotice("Player (AID: %d) has sent CA_CONNECT_INFO_CHANGED packet\n", (*sd)->account_id);
+ return PACKET_VALID;
+}
+
/*
* Key is the setting name in our example it's 'my_setting' while val is the value of it.
* this way you can manage more than one setting in one function instead of define multiable ones
@@ -211,6 +227,14 @@ HPExport void plugin_init (void) {
/* - by checking whether it was successful (retVal value) it allows for the originals conditions to take place */
addHookPost(pc, dropitem, my_pc_dropitem_post);
}
+
+ if (SERVER_TYPE == SERVER_TYPE_LOGIN) {
+ /**
+ * In this example we add a pre-hook to lclif->p->parse_CA_CONNECT_INFO_CHANGED
+ * It's similar to nomral hooks except it have it own hooking macros which ends with Priv
+ **/
+ addHookPrePriv(lclif, parse_CA_CONNECT_INFO_CHANGED, my_lclif_parse_CA_CONNECT_INFO_CHANGED_pre);
+ }
}
/* triggered when server starts loading, before any server-specific data is set */
HPExport void server_preinit(void)
diff --git a/src/tool/Makefile.in b/src/tool/Makefile.in
deleted file mode 100644
index d4c178218..000000000
--- a/src/tool/Makefile.in
+++ /dev/null
@@ -1,88 +0,0 @@
-# This file is part of Hercules.
-# http://herc.ws - http://github.com/HerculesWS/Hercules
-#
-# Copyright (C) 2012-2018 Hercules Dev Team
-# Copyright (C) Athena Dev Teams
-#
-# Hercules is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# @configure_input@
-
-CONFIG_D = ../config
-CONFIG_H = $(wildcard $(CONFIG_D)/*.h) $(wildcard $(CONFIG_D)/*/*.h)
-
-COMMON_D = ../common
-COMMON_H = $(filter-out %.p.h, $(wildcard $(COMMON_D)/*.h))
-SYSINFO_INC = $(COMMON_D)/sysinfo.inc
-COMMON_INCLUDE = -I..
-
-THIRDPARTY_D = ../../3rdparty
-THIRDPARTY_INCLUDE = -I$(THIRDPARTY_D)
-
-LIBCONFIG_D = $(THIRDPARTY_D)/libconfig
-LIBCONFIG_OBJ = $(addprefix $(LIBCONFIG_D)/, libconfig.o grammar.o scanctx.o \
- scanner.o strbuf.o)
-LIBCONFIG_H = $(addprefix $(LIBCONFIG_D)/, libconfig.h grammar.h parsectx.h \
- scanctx.h scanner.h strbuf.h wincompat.h)
-
-@SET_MAKE@
-
-CC = @CC@
-export CC
-
-#####################################################################
-.PHONY: all clean buildclean help
-
-all: Makefile
-
-buildclean:
- @echo " CLEAN tool (build temp files)"
- @rm -rf obj_all/*.o
-
-clean: buildclean
- @echo " CLEAN tool"
-
-help:
- @echo "possible targets are 'all' 'clean' 'help'"
- @echo "'all' - builds all above targets"
- @echo "'clean' - cleans builds and objects"
- @echo "'buildclean' - cleans build temporary (object) files, without deleting the"
- @echo " executables"
- @echo "'help' - outputs this message"
-
-#####################################################################
-
-Makefile: Makefile.in
- @$(MAKE) -C ../.. src/tool/Makefile
-
-$(SYSINFO_INC): $(COMMON_H) $(CONFIG_H) $(LIBCONFIG_H)
- @echo " MAKE $@"
- @$(MAKE) -C ../.. sysinfo
-
-obj_all:
- @echo " MKDIR obj_all"
- @-mkdir obj_all
-
-obj_all/%.o: %.c $(COMMON_H) $(CONFIG_H) $(LIBCONFIG_H) | obj_all
- @echo " CC $<"
- @$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-
-# missing common object files
-$(COMMON_D)/obj_all/common_mini.a:
- @echo " MAKE $@"
- @$(MAKE) -C $(COMMON_D) common_mini
-
-$(LIBCONFIG_OBJ):
- @echo " MAKE $@"
- @$(MAKE) -C $(LIBCONFIG_D)
diff --git a/tools/HPMHookGen/HPMHookGen.pl b/tools/HPMHookGen/HPMHookGen.pl
index e5a5c1914..46cae36cb 100755
--- a/tools/HPMHookGen/HPMHookGen.pl
+++ b/tools/HPMHookGen/HPMHookGen.pl
@@ -371,7 +371,8 @@ foreach my $file (@files) { # Loop through the xml files
$t = ')(int fd, struct login_session_data *sd)'; # typedef LoginParseFunc
$def =~ s/^LoginParseFunc\s*\*\s*(.*)$/enum parsefunc_rcode(* $1) (int fd, struct login_session_data *sd)/;
}
- next unless ref $t ne 'HASH' and $t =~ /^[^\[]/; # If it's not a string, or if it starts with an array subscript, we can skip it
+ next if ref $t eq 'HASH'; # Skip if it's not a string
+ next if $t =~ /^\)?\[.*\]$/; # Skip arrays or pointers to array
my $if = parse($t, $def);
next unless scalar keys %$if; # If it returns an empty hash reference, an error must've occurred
diff --git a/tools/HPMHookGen/doxygen.conf b/tools/HPMHookGen/doxygen.conf
index ec55967b1..c302f7f2f 100644
--- a/tools/HPMHookGen/doxygen.conf
+++ b/tools/HPMHookGen/doxygen.conf
@@ -269,7 +269,9 @@ INCLUDE_PATH = ../../src \
../../3rdparty
INCLUDE_FILE_PATTERNS =
PREDEFINED = __attribute__(x)= \
- HPMHOOKGEN
+ HPMHOOKGEN \
+ PACKETVER=20031028 \
+ PACKETVER_MAIN_NUM=20031028
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = NO
#---------------------------------------------------------------------------
diff --git a/tools/ci/travis.sh b/tools/ci/travis.sh
index fa7d5be93..22f523bdf 100755
--- a/tools/ci/travis.sh
+++ b/tools/ci/travis.sh
@@ -47,7 +47,8 @@ function aborterror {
function run_server {
echo "Running: $1 --run-once $2"
- $1 --run-once $2 2>runlog.txt
+ rm -rf core* || true
+ CRASH_PLEASE=1 $1 --run-once $2 2>runlog.txt
export errcode=$?
export teststr=$(head -c 10000 runlog.txt)
if [[ -n "${teststr}" ]]; then
@@ -59,12 +60,17 @@ function run_server {
fi
if [ ${errcode} -ne 0 ]; then
echo "server $1 terminated with exit code ${errcode}"
+ COREFILE=$(find . -maxdepth 1 -name "core*" | head -n 1)
+ if [[ -f "$COREFILE" ]]; then
+ gdb -c "$COREFILE" $1 -ex "thread apply all bt" -ex "set pagination 0" -batch
+ fi
aborterror "Test failed"
fi
}
function run_test {
echo "Running: test_$1"
+ sysctl -w kernel.core_pattern=core || true
./test_$1 2>runlog.txt
export errcode=$?
export teststr=$(head -c 10000 runlog.txt)
diff --git a/tools/itemdbconverter.pl b/tools/itemdbconverter.pl
index 58cb08bc1..fe30ce24e 100755
--- a/tools/itemdbconverter.pl
+++ b/tools/itemdbconverter.pl
@@ -109,9 +109,9 @@ sub parsedb (@) {
(?<eLV>[0-9]*)[^,:]*(?<hasmaxlv>:[\s\t]*(?<eLVmax>[0-9]*))?[^,]*,[\s\t]*
(?<Refineable>[0-9]*)[^,]*,[\s\t]*
(?<View>[0-9]*)[^,]*,[\s\t]*
- {(?<Script>.*)},
- {(?<OnEquip>.*)},
- {(?<OnUnequip>.*)}
+ \{(?<Script>.*)},
+ \{(?<OnEquip>.*)},
+ \{(?<OnUnequip>.*)}
/x ) {
my %cols = map { $_ => $+{$_} } keys %+;
print "/*\n" if $cols{prefix};
diff --git a/tools/mobdbconverter.py b/tools/mobdbconverter.py
index 78047aed9..683e28274 100755
--- a/tools/mobdbconverter.py
+++ b/tools/mobdbconverter.py
@@ -188,7 +188,7 @@ def convertFile(inFile, itemDb):
printField("ChaseRange", fields[21])
printField("Size", fields[22])
printField("Race", fields[23])
- print("\tElement: ({0}, {1})".format(int(fields[24]) % 10, int(fields[24]) / 20));
+ print("\tElement: ({0}, {1})".format(int(fields[24]) % 10, int(int(fields[24]) / 20)));
mode = int(fields[25], 0)
if mode != 0:
startGroup("Mode")
@@ -260,7 +260,7 @@ def readItemDB(inFile, itemDb):
elif line[:3] == "Id:":
try:
itemId = int(line[4:])
- except:
+ except ValueError:
started = False
if itemId != 0 and itemName != "":
# was need for remove wrong characters
diff --git a/tools/mobskilldbconverter.py b/tools/mobskilldbconverter.py
index 310331043..4ba042062 100644
--- a/tools/mobskilldbconverter.py
+++ b/tools/mobskilldbconverter.py
@@ -206,7 +206,7 @@ def LoadOldDB(mode, serverpath):
continue
try:
Db[MonsterId][skillidx]['val{}'.format(i)] = int(entry[12 + i])
- except:
+ except ValueError:
Db[MonsterId][skillidx]['val{}'.format(i)] = int(entry[12 + i], 16)
Db[MonsterId][skillidx]['Emotion'] = entry[17]
Db[MonsterId][skillidx]['ChatMsgID'] = entry[18]
diff --git a/tools/petdbconverter.py b/tools/petdbconverter.py
index 261c1e6ad..1b7d2e4d6 100644
--- a/tools/petdbconverter.py
+++ b/tools/petdbconverter.py
@@ -175,7 +175,7 @@ def readItemDB(inFile, itemDb):
elif line[:3] == "Id:":
try:
itemId = int(line[4:])
- except:
+ except ValueError:
started = False
if itemId != 0 and itemName != "":
# was need for remove wrong characters
diff --git a/tools/utils/common.py b/tools/utils/common.py
index 7b7811654..acceb9b30 100644
--- a/tools/utils/common.py
+++ b/tools/utils/common.py
@@ -35,13 +35,13 @@ def LoadDBConsts(DBname, mode, serverpath):
with io.open(filename) as f:
config = libconf.load(f)
db = config[DBname]
- if DBname is 'item_db':
+ if DBname == 'item_db':
for i, v in enumerate(db):
consts[db[i].Id] = db[i].AegisName
- elif DBname is 'mob_db':
+ elif DBname == 'mob_db':
for i, v in enumerate(db):
consts[db[i].Id] = db[i].SpriteName
- elif DBname is 'skill_db':
+ elif DBname == 'skill_db':
for i, v in enumerate(db):
consts[db[i].Id] = db[i].Name
else:
@@ -55,7 +55,6 @@ def LoadDB(DBname, mode, serverpath):
if os.path.isfile(serverpath + 'db/{}2.conf'.format(DBname)):
filenames.append(serverpath + 'db/{}2.conf'.format(DBname))
- consts = dict()
for filename in filenames:
with io.open(filename) as f:
config = libconf.load(f)
diff --git a/vcproj-12/char-server.vcxproj b/vcproj-12/char-server.vcxproj
index 411191400..284f38239 100644
--- a/vcproj-12/char-server.vcxproj
+++ b/vcproj-12/char-server.vcxproj
@@ -206,6 +206,7 @@
<ClCompile Include="..\src\char\int_rodex.c" />
<ClCompile Include="..\src\common\conf.c" />
<ClCompile Include="..\src\common\core.c" />
+ <ClCompile Include="..\src\common\packets.c" />
<ClCompile Include="..\src\common\console.c" />
<ClCompile Include="..\src\common\db.c" />
<ClCompile Include="..\src\common\des.c" />
diff --git a/vcproj-12/char-server.vcxproj.filters b/vcproj-12/char-server.vcxproj.filters
index 52d3bde16..ab023a77f 100644
--- a/vcproj-12/char-server.vcxproj.filters
+++ b/vcproj-12/char-server.vcxproj.filters
@@ -7,6 +7,9 @@
<ClCompile Include="..\src\common\core.c">
<Filter>common</Filter>
</ClCompile>
+ <ClCompile Include="..\src\common\packets.c">
+ <Filter>common</Filter>
+ </ClCompile>
<ClCompile Include="..\src\common\console.c">
<Filter>common</Filter>
</ClCompile>
diff --git a/vcproj-12/login-server.vcxproj b/vcproj-12/login-server.vcxproj
index 060460923..325fe53c8 100644
--- a/vcproj-12/login-server.vcxproj
+++ b/vcproj-12/login-server.vcxproj
@@ -203,6 +203,7 @@
<ClCompile Include="..\src\login\loginlog.c" />
<ClCompile Include="..\src\common\conf.c" />
<ClCompile Include="..\src\common\core.c" />
+ <ClCompile Include="..\src\common\packets.c" />
<ClCompile Include="..\src\common\console.c" />
<ClCompile Include="..\src\common\db.c" />
<ClCompile Include="..\src\common\ers.c" />
diff --git a/vcproj-12/login-server.vcxproj.filters b/vcproj-12/login-server.vcxproj.filters
index 1f3b6ba0f..301950f0d 100644
--- a/vcproj-12/login-server.vcxproj.filters
+++ b/vcproj-12/login-server.vcxproj.filters
@@ -22,6 +22,9 @@
<ClCompile Include="..\src\common\core.c">
<Filter>common</Filter>
</ClCompile>
+ <ClCompile Include="..\src\common\packets.c">
+ <Filter>common</Filter>
+ </ClCompile>
<ClCompile Include="..\src\common\console.c">
<Filter>common</Filter>
</ClCompile>
diff --git a/vcproj-12/map-server.vcxproj b/vcproj-12/map-server.vcxproj
index 4756cca2a..34f55be49 100644
--- a/vcproj-12/map-server.vcxproj
+++ b/vcproj-12/map-server.vcxproj
@@ -213,12 +213,15 @@
<ClInclude Include="..\src\config\renewal.h" />
<ClInclude Include="..\src\config\secure.h" />
<ClInclude Include="..\src\config\classes\general.h" />
+ <ClInclude Include="..\src\map\refine.h" />
+ <ClInclude Include="..\src\map\refine.p.h" />
<ClInclude Include="..\src\map\rodex.h" />
<ClInclude Include="..\src\map\script.h" />
<ClInclude Include="..\src\map\searchstore.h" />
<ClInclude Include="..\src\map\skill.h" />
<ClInclude Include="..\src\map\status.h" />
<ClInclude Include="..\src\map\storage.h" />
+ <ClInclude Include="..\src\map\stylist.h" />
<ClInclude Include="..\src\map\trade.h" />
<ClInclude Include="..\src\map\unit.h" />
<ClInclude Include="..\src\map\vending.h" />
@@ -232,6 +235,7 @@
<ClCompile Include="..\3rdparty\mt19937ar\mt19937ar.c" />
<ClCompile Include="..\src\common\conf.c" />
<ClCompile Include="..\src\common\core.c" />
+ <ClCompile Include="..\src\common\packets.c" />
<ClCompile Include="..\src\common\console.c" />
<ClCompile Include="..\src\common\db.c" />
<ClCompile Include="..\src\common\des.c" />
@@ -286,12 +290,14 @@
<ClCompile Include="..\src\map\pc_groups.c" />
<ClCompile Include="..\src\map\pet.c" />
<ClCompile Include="..\src\map\quest.c" />
+ <ClCompile Include="..\src\map\refine.c" />
<ClCompile Include="..\src\map\rodex.c" />
<ClCompile Include="..\src\map\script.c" />
<ClCompile Include="..\src\map\searchstore.c" />
<ClCompile Include="..\src\map\skill.c" />
<ClCompile Include="..\src\map\status.c" />
<ClCompile Include="..\src\map\storage.c" />
+ <ClCompile Include="..\src\map\stylist.c" />
<ClCompile Include="..\src\map\trade.c" />
<ClCompile Include="..\src\map\unit.c" />
<ClCompile Include="..\src\map\vending.c" />
diff --git a/vcproj-12/map-server.vcxproj.filters b/vcproj-12/map-server.vcxproj.filters
index e3bf78fb9..aae670525 100644
--- a/vcproj-12/map-server.vcxproj.filters
+++ b/vcproj-12/map-server.vcxproj.filters
@@ -112,6 +112,9 @@
<ClCompile Include="..\src\map\storage.c">
<Filter>map</Filter>
</ClCompile>
+ <ClCompile Include="..\src\map\stylist.c">
+ <Filter>map</Filter>
+ </ClCompile>
<ClCompile Include="..\src\map\trade.c">
<Filter>map</Filter>
</ClCompile>
@@ -124,6 +127,9 @@
<ClCompile Include="..\src\common\core.c">
<Filter>common</Filter>
</ClCompile>
+ <ClCompile Include="..\src\common\packets.c">
+ <Filter>common</Filter>
+ </ClCompile>
<ClCompile Include="..\src\common\console.c">
<Filter>common</Filter>
</ClCompile>
@@ -214,6 +220,9 @@
<ClCompile Include="..\src\map\rodex.c">
<Filter>map</Filter>
</ClCompile>
+ <ClCompile Include="..\src\map\refine.c">
+ <Filter>map</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\map\achievement.h">
@@ -342,6 +351,9 @@
<ClInclude Include="..\src\map\storage.h">
<Filter>map</Filter>
</ClInclude>
+ <ClInclude Include="..\src\map\stylist.h">
+ <Filter>map</Filter>
+ </ClInclude>
<ClInclude Include="..\src\map\trade.h">
<Filter>map</Filter>
</ClInclude>
@@ -492,6 +504,12 @@
<ClInclude Include="..\src\map\rodex.h">
<Filter>map</Filter>
</ClInclude>
+ <ClInclude Include="..\src\map\refine.p.h">
+ <Filter>map</Filter>
+ </ClInclude>
+ <ClInclude Include="..\src\map\refine.h">
+ <Filter>map</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="common">
diff --git a/vcproj-14/char-server.vcxproj b/vcproj-14/char-server.vcxproj
index 692210a15..bc5014b9c 100644
--- a/vcproj-14/char-server.vcxproj
+++ b/vcproj-14/char-server.vcxproj
@@ -205,6 +205,7 @@
<ClCompile Include="..\src\char\int_rodex.c" />
<ClCompile Include="..\src\common\conf.c" />
<ClCompile Include="..\src\common\core.c" />
+ <ClCompile Include="..\src\common\packets.c" />
<ClCompile Include="..\src\common\console.c" />
<ClCompile Include="..\src\common\db.c" />
<ClCompile Include="..\src\common\des.c" />
diff --git a/vcproj-14/char-server.vcxproj.filters b/vcproj-14/char-server.vcxproj.filters
index 52d3bde16..ab023a77f 100644
--- a/vcproj-14/char-server.vcxproj.filters
+++ b/vcproj-14/char-server.vcxproj.filters
@@ -7,6 +7,9 @@
<ClCompile Include="..\src\common\core.c">
<Filter>common</Filter>
</ClCompile>
+ <ClCompile Include="..\src\common\packets.c">
+ <Filter>common</Filter>
+ </ClCompile>
<ClCompile Include="..\src\common\console.c">
<Filter>common</Filter>
</ClCompile>
diff --git a/vcproj-14/login-server.vcxproj b/vcproj-14/login-server.vcxproj
index 42f71c1a0..3b5e13373 100644
--- a/vcproj-14/login-server.vcxproj
+++ b/vcproj-14/login-server.vcxproj
@@ -201,6 +201,7 @@
<ClCompile Include="..\src\login\loginlog.c" />
<ClCompile Include="..\src\common\conf.c" />
<ClCompile Include="..\src\common\core.c" />
+ <ClCompile Include="..\src\common\packets.c" />
<ClCompile Include="..\src\common\console.c" />
<ClCompile Include="..\src\common\db.c" />
<ClCompile Include="..\src\common\ers.c" />
diff --git a/vcproj-14/login-server.vcxproj.filters b/vcproj-14/login-server.vcxproj.filters
index 1f3b6ba0f..301950f0d 100644
--- a/vcproj-14/login-server.vcxproj.filters
+++ b/vcproj-14/login-server.vcxproj.filters
@@ -22,6 +22,9 @@
<ClCompile Include="..\src\common\core.c">
<Filter>common</Filter>
</ClCompile>
+ <ClCompile Include="..\src\common\packets.c">
+ <Filter>common</Filter>
+ </ClCompile>
<ClCompile Include="..\src\common\console.c">
<Filter>common</Filter>
</ClCompile>
diff --git a/vcproj-14/map-server.vcxproj b/vcproj-14/map-server.vcxproj
index ae834de75..ed91f231d 100644
--- a/vcproj-14/map-server.vcxproj
+++ b/vcproj-14/map-server.vcxproj
@@ -211,12 +211,15 @@
<ClInclude Include="..\src\config\renewal.h" />
<ClInclude Include="..\src\config\secure.h" />
<ClInclude Include="..\src\config\classes\general.h" />
+ <ClInclude Include="..\src\map\refine.h" />
+ <ClInclude Include="..\src\map\refine.p.h" />
<ClInclude Include="..\src\map\rodex.h" />
<ClInclude Include="..\src\map\script.h" />
<ClInclude Include="..\src\map\searchstore.h" />
<ClInclude Include="..\src\map\skill.h" />
<ClInclude Include="..\src\map\status.h" />
<ClInclude Include="..\src\map\storage.h" />
+ <ClInclude Include="..\src\map\stylist.h" />
<ClInclude Include="..\src\map\trade.h" />
<ClInclude Include="..\src\map\unit.h" />
<ClInclude Include="..\src\map\vending.h" />
@@ -230,6 +233,7 @@
<ClCompile Include="..\3rdparty\mt19937ar\mt19937ar.c" />
<ClCompile Include="..\src\common\conf.c" />
<ClCompile Include="..\src\common\core.c" />
+ <ClCompile Include="..\src\common\packets.c" />
<ClCompile Include="..\src\common\console.c" />
<ClCompile Include="..\src\common\db.c" />
<ClCompile Include="..\src\common\des.c" />
@@ -284,12 +288,14 @@
<ClCompile Include="..\src\map\pc_groups.c" />
<ClCompile Include="..\src\map\pet.c" />
<ClCompile Include="..\src\map\quest.c" />
+ <ClCompile Include="..\src\map\refine.c" />
<ClCompile Include="..\src\map\rodex.c" />
<ClCompile Include="..\src\map\script.c" />
<ClCompile Include="..\src\map\searchstore.c" />
<ClCompile Include="..\src\map\skill.c" />
<ClCompile Include="..\src\map\status.c" />
<ClCompile Include="..\src\map\storage.c" />
+ <ClCompile Include="..\src\map\stylist.c" />
<ClCompile Include="..\src\map\trade.c" />
<ClCompile Include="..\src\map\unit.c" />
<ClCompile Include="..\src\map\vending.c" />
diff --git a/vcproj-14/map-server.vcxproj.filters b/vcproj-14/map-server.vcxproj.filters
index 9bf13d9f7..3f1b6ca4b 100644
--- a/vcproj-14/map-server.vcxproj.filters
+++ b/vcproj-14/map-server.vcxproj.filters
@@ -109,6 +109,9 @@
<ClCompile Include="..\src\map\storage.c">
<Filter>map</Filter>
</ClCompile>
+ <ClCompile Include="..\src\map\stylist.c">
+ <Filter>map</Filter>
+ </ClCompile>
<ClCompile Include="..\src\map\trade.c">
<Filter>map</Filter>
</ClCompile>
@@ -121,6 +124,9 @@
<ClCompile Include="..\src\common\core.c">
<Filter>common</Filter>
</ClCompile>
+ <ClCompile Include="..\src\common\packets.c">
+ <Filter>common</Filter>
+ </ClCompile>
<ClCompile Include="..\src\common\console.c">
<Filter>common</Filter>
</ClCompile>
@@ -214,6 +220,9 @@
<ClCompile Include="..\src\map\clan.c">
<Filter>map</Filter>
</ClCompile>
+ <ClCompile Include="..\src\map\refine.c">
+ <Filter>map</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\map\achievement.h">
@@ -339,6 +348,9 @@
<ClInclude Include="..\src\map\storage.h">
<Filter>map</Filter>
</ClInclude>
+ <ClInclude Include="..\src\map\stylist.h">
+ <Filter>map</Filter>
+ </ClInclude>
<ClInclude Include="..\src\map\trade.h">
<Filter>map</Filter>
</ClInclude>
@@ -492,6 +504,12 @@
<ClInclude Include="..\src\map\clan.h">
<Filter>map</Filter>
</ClInclude>
+ <ClInclude Include="..\src\map\refine.h">
+ <Filter>map</Filter>
+ </ClInclude>
+ <ClInclude Include="..\src\map\refine.p.h">
+ <Filter>map</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="common">
diff --git a/vcproj-15/char-server.vcxproj b/vcproj-15/char-server.vcxproj
index ad4de5be4..6756fc25e 100644
--- a/vcproj-15/char-server.vcxproj
+++ b/vcproj-15/char-server.vcxproj
@@ -14,7 +14,7 @@
<ProjectGuid>{D356871D-58E1-450B-967A-E4E9646175AF}</ProjectGuid>
<RootNamespace>char-server</RootNamespace>
<Keyword>Win32Proj</Keyword>
- <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
@@ -205,6 +205,7 @@
<ClCompile Include="..\src\char\int_rodex.c" />
<ClCompile Include="..\src\common\conf.c" />
<ClCompile Include="..\src\common\core.c" />
+ <ClCompile Include="..\src\common\packets.c" />
<ClCompile Include="..\src\common\console.c" />
<ClCompile Include="..\src\common\db.c" />
<ClCompile Include="..\src\common\des.c" />
diff --git a/vcproj-15/char-server.vcxproj.filters b/vcproj-15/char-server.vcxproj.filters
index 52d3bde16..ab023a77f 100644
--- a/vcproj-15/char-server.vcxproj.filters
+++ b/vcproj-15/char-server.vcxproj.filters
@@ -7,6 +7,9 @@
<ClCompile Include="..\src\common\core.c">
<Filter>common</Filter>
</ClCompile>
+ <ClCompile Include="..\src\common\packets.c">
+ <Filter>common</Filter>
+ </ClCompile>
<ClCompile Include="..\src\common\console.c">
<Filter>common</Filter>
</ClCompile>
diff --git a/vcproj-15/login-server.vcxproj b/vcproj-15/login-server.vcxproj
index 0f03acabc..f045fa290 100644
--- a/vcproj-15/login-server.vcxproj
+++ b/vcproj-15/login-server.vcxproj
@@ -14,7 +14,7 @@
<ProjectGuid>{D356871D-58E1-450B-967A-E5E9646175AF}</ProjectGuid>
<RootNamespace>login-server</RootNamespace>
<Keyword>Win32Proj</Keyword>
- <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
@@ -202,6 +202,7 @@
<ClCompile Include="..\src\login\loginlog.c" />
<ClCompile Include="..\src\common\conf.c" />
<ClCompile Include="..\src\common\core.c" />
+ <ClCompile Include="..\src\common\packets.c" />
<ClCompile Include="..\src\common\console.c" />
<ClCompile Include="..\src\common\db.c" />
<ClCompile Include="..\src\common\ers.c" />
diff --git a/vcproj-15/login-server.vcxproj.filters b/vcproj-15/login-server.vcxproj.filters
index 1f3b6ba0f..301950f0d 100644
--- a/vcproj-15/login-server.vcxproj.filters
+++ b/vcproj-15/login-server.vcxproj.filters
@@ -22,6 +22,9 @@
<ClCompile Include="..\src\common\core.c">
<Filter>common</Filter>
</ClCompile>
+ <ClCompile Include="..\src\common\packets.c">
+ <Filter>common</Filter>
+ </ClCompile>
<ClCompile Include="..\src\common\console.c">
<Filter>common</Filter>
</ClCompile>
diff --git a/vcproj-15/map-server.vcxproj b/vcproj-15/map-server.vcxproj
index fb9d57e9c..8becb90cc 100644
--- a/vcproj-15/map-server.vcxproj
+++ b/vcproj-15/map-server.vcxproj
@@ -14,7 +14,7 @@
<ProjectGuid>{D356871D-58E1-450B-967A-E6E9646175AF}</ProjectGuid>
<RootNamespace>map-server</RootNamespace>
<Keyword>Win32Proj</Keyword>
- <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
@@ -212,12 +212,15 @@
<ClInclude Include="..\src\config\renewal.h" />
<ClInclude Include="..\src\config\secure.h" />
<ClInclude Include="..\src\config\classes\general.h" />
+ <ClInclude Include="..\src\map\refine.h" />
+ <ClInclude Include="..\src\map\refine.p.h" />
<ClInclude Include="..\src\map\rodex.h" />
<ClInclude Include="..\src\map\script.h" />
<ClInclude Include="..\src\map\searchstore.h" />
<ClInclude Include="..\src\map\skill.h" />
<ClInclude Include="..\src\map\status.h" />
<ClInclude Include="..\src\map\storage.h" />
+ <ClInclude Include="..\src\map\stylist.h" />
<ClInclude Include="..\src\map\trade.h" />
<ClInclude Include="..\src\map\unit.h" />
<ClInclude Include="..\src\map\vending.h" />
@@ -231,6 +234,7 @@
<ClCompile Include="..\3rdparty\mt19937ar\mt19937ar.c" />
<ClCompile Include="..\src\common\conf.c" />
<ClCompile Include="..\src\common\core.c" />
+ <ClCompile Include="..\src\common\packets.c" />
<ClCompile Include="..\src\common\console.c" />
<ClCompile Include="..\src\common\db.c" />
<ClCompile Include="..\src\common\des.c" />
@@ -285,12 +289,14 @@
<ClCompile Include="..\src\map\pc_groups.c" />
<ClCompile Include="..\src\map\pet.c" />
<ClCompile Include="..\src\map\quest.c" />
+ <ClCompile Include="..\src\map\refine.c" />
<ClCompile Include="..\src\map\rodex.c" />
<ClCompile Include="..\src\map\script.c" />
<ClCompile Include="..\src\map\searchstore.c" />
<ClCompile Include="..\src\map\skill.c" />
<ClCompile Include="..\src\map\status.c" />
<ClCompile Include="..\src\map\storage.c" />
+ <ClCompile Include="..\src\map\stylist.c" />
<ClCompile Include="..\src\map\trade.c" />
<ClCompile Include="..\src\map\unit.c" />
<ClCompile Include="..\src\map\vending.c" />
diff --git a/vcproj-15/map-server.vcxproj.filters b/vcproj-15/map-server.vcxproj.filters
index 8c91df7c7..087a700e9 100644
--- a/vcproj-15/map-server.vcxproj.filters
+++ b/vcproj-15/map-server.vcxproj.filters
@@ -2,7 +2,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\src\map\achievement.c">
- <Filter>map</Filter>
+ <Filter>map</Filter>
</ClCompile>
<ClCompile Include="..\src\map\atcommand.c">
<Filter>map</Filter>
@@ -109,6 +109,9 @@
<ClCompile Include="..\src\map\status.c">
<Filter>map</Filter>
</ClCompile>
+ <ClCompile Include="..\src\map\stylist.c">
+ <Filter>map</Filter>
+ </ClCompile>
<ClCompile Include="..\src\map\storage.c">
<Filter>map</Filter>
</ClCompile>
@@ -124,6 +127,9 @@
<ClCompile Include="..\src\common\core.c">
<Filter>common</Filter>
</ClCompile>
+ <ClCompile Include="..\src\common\packets.c">
+ <Filter>common</Filter>
+ </ClCompile>
<ClCompile Include="..\src\common\console.c">
<Filter>common</Filter>
</ClCompile>
@@ -214,6 +220,9 @@
<ClCompile Include="..\src\map\rodex.c">
<Filter>map</Filter>
</ClCompile>
+ <ClCompile Include="..\src\map\refine.c">
+ <Filter>map</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\map\achievement.h">
@@ -339,6 +348,9 @@
<ClInclude Include="..\src\map\status.h">
<Filter>map</Filter>
</ClInclude>
+ <ClInclude Include="..\src\map\stylist.h">
+ <Filter>map</Filter>
+ </ClInclude>
<ClInclude Include="..\src\map\storage.h">
<Filter>map</Filter>
</ClInclude>
@@ -492,6 +504,12 @@
<ClInclude Include="..\src\map\rodex.h">
<Filter>map</Filter>
</ClInclude>
+ <ClInclude Include="..\src\map\refine.p.h">
+ <Filter>map</Filter>
+ </ClInclude>
+ <ClInclude Include="..\src\map\refine.h">
+ <Filter>map</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="common">
diff --git a/vcproj-15/plugin-HPMHooking_char.vcxproj b/vcproj-15/plugin-HPMHooking_char.vcxproj
index 9632998d4..454276905 100644
--- a/vcproj-15/plugin-HPMHooking_char.vcxproj
+++ b/vcproj-15/plugin-HPMHooking_char.vcxproj
@@ -15,7 +15,7 @@
<RootNamespace>plugin-HPMHooking_char</RootNamespace>
<Keyword>Win32Proj</Keyword>
<ProjectName>plugin-HPMHooking_char</ProjectName>
- <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
diff --git a/vcproj-15/plugin-HPMHooking_login.vcxproj b/vcproj-15/plugin-HPMHooking_login.vcxproj
index e496847c1..98079d2be 100644
--- a/vcproj-15/plugin-HPMHooking_login.vcxproj
+++ b/vcproj-15/plugin-HPMHooking_login.vcxproj
@@ -15,7 +15,7 @@
<RootNamespace>plugin-HPMHooking_login</RootNamespace>
<Keyword>Win32Proj</Keyword>
<ProjectName>plugin-HPMHooking_login</ProjectName>
- <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
diff --git a/vcproj-15/plugin-HPMHooking_map.vcxproj b/vcproj-15/plugin-HPMHooking_map.vcxproj
index 753f1cdbc..c63dcffa4 100644
--- a/vcproj-15/plugin-HPMHooking_map.vcxproj
+++ b/vcproj-15/plugin-HPMHooking_map.vcxproj
@@ -15,7 +15,7 @@
<RootNamespace>plugin-HPMHooking_map</RootNamespace>
<Keyword>Win32Proj</Keyword>
<ProjectName>plugin-HPMHooking_map</ProjectName>
- <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
diff --git a/vcproj-15/plugin-sample.vcxproj b/vcproj-15/plugin-sample.vcxproj
index 85ceb0e43..3a77c655a 100644
--- a/vcproj-15/plugin-sample.vcxproj
+++ b/vcproj-15/plugin-sample.vcxproj
@@ -15,7 +15,7 @@
<RootNamespace>plugin-sample</RootNamespace>
<Keyword>Win32Proj</Keyword>
<ProjectName>plugin-sample</ProjectName>
- <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">